Fixes in command sending

pull/183/head
Karai Csaba 9 years ago committed by cskarai
parent 86c5614446
commit 70a002c04a
  1. 2
      examples/arduino/EspLinkSample/EspLink.cpp
  2. 8
      examples/arduino/EspLinkSample/EspLinkSample.ino
  3. 25
      web-server/web-server.c

@ -71,7 +71,7 @@ void EspLink::sendPacketArg(uint16_t len, uint8_t * data)
writeBuf((uint8_t*)&len, 2); writeBuf((uint8_t*)&len, 2);
writeBuf(data, len); writeBuf(data, len);
uint16_t pad = (4-((len+2)&3))&3; // get to multiple of 4 uint16_t pad = ((len+3)&~3) - len; // get to multiple of 4
if (pad > 0) { if (pad > 0) {
uint32_t temp = 0; uint32_t temp = 0;
writeBuf((uint8_t*)&temp, pad); writeBuf((uint8_t*)&temp, pad);

@ -53,6 +53,14 @@ void packetReceived(CmdRequest *req)
break; break;
} }
char * json = "{'last_name': 'helloka'}";
espLink.sendPacketStart(CMD_WEB_JSON_DATA, 100, 3);
espLink.sendPacketArg(4, ip);
espLink.sendPacketArg(2, (uint8_t *)&port);
espLink.sendPacketArg(strlen(json), (uint8_t *)json);
espLink.sendPacketEnd();
} }
void setup() { void setup() {

@ -177,10 +177,33 @@ int ICACHE_FLASH_ATTR WEB_CgiJsonHook(HttpdConnData *connData)
connData->cgiData = (void *)1; connData->cgiData = (void *)1;
} }
// TODO
return HTTPD_CGI_MORE; return HTTPD_CGI_MORE;
} }
void ICACHE_FLASH_ATTR WEB_JsonData(CmdPacket *cmd) void ICACHE_FLASH_ATTR WEB_JsonData(CmdPacket *cmd)
{ {
CmdRequest req;
cmdRequest(&req, cmd);
os_printf("JSON data\n"); // TODO
if (cmdGetArgc(&req) != 3) return;
uint8_t ip[4];
cmdPopArg(&req, ip, 4);
os_printf("IP:%d.%d.%d.%d\n", ip[0], ip[1], ip[2], ip[3]); // TODO
uint16_t port;
cmdPopArg(&req, &port, 2);
os_printf("Port:%d\n", port); // TODO
int16_t len = cmdArgLen(&req);
os_printf("Len:%d\n", len); // TODO
uint8_t json[len+1];
json[len] = 0;
cmdPopArg(&req, json, len);
os_printf("%s\n", json); // TODO
// TODO
} }
Loading…
Cancel
Save