int main(int argc, char **argv) { unsigned long data[1024]; int datalen = 0; int ret = 0; memmap_ctor(); printf("argc :%d %c\n",argc,argv[1][0]); if (argc >= 2 && argv[1][0] == 'l') { pinMode(P8_3, INPUT); ret = ir_receive(P8_3,data,1024,&datalen); if (!ret) { puts("ERROR!!"); return -1; } ir_save("ir1.dat",data,datalen); return 0; } if (argc >= 2 && argv[1][0] == 's') { pinMode(P8_4, OUTPUT); ret = ir_load("ir1.dat",data,1024,&datalen); if (!ret) { puts("ERROR!!"); return -1; } printf("load %d byte\n",datalen); ret = ir_send(P8_4,data,datalen); if (!ret) { puts("ERROR!!"); return -1; } return 0; } memmap_dtor(); return 0; }
// CGI to set settings int ICACHE_FLASH_ATTR saveCGI(HttpdConnData *connData) { int len; char buff[10]; //char bin[10]; if (connData->conn == NULL) { //Connection aborted. Clean up. return HTTPD_CGI_DONE; } len = httpdFindArg(connData->getArgs, "power", buff, sizeof(buff)); if (len != 0) ac_set_power(buff); len = httpdFindArg(connData->getArgs, "mode", buff, sizeof(buff)); if (len != 0) ac_set_mode(buff); len = httpdFindArg(connData->getArgs, "temp", buff, sizeof(buff)); if (len != 0) ac_set_temp(buff); len = httpdFindArg(connData->getArgs, "fan", buff, sizeof(buff)); if (len != 0) ac_set_fan(buff); len = httpdFindArg(connData->getArgs, "swing", buff, sizeof(buff)); if (len != 0) ac_set_swing(buff); ir_send(); mqttPublishSettings(0); CFG_Save(); httpdStartResponse(connData, 200); httpdHeader(connData, "Content-Type", "text/html"); httpdEndHeaders(connData); os_strcpy(buff, "OK"); httpdSend(connData, buff, -1); return HTTPD_CGI_DONE; }
void main() { badge_setup(); simpleterm_close(); ir_start(); ee_wipe(); // Connection to host routine (FORCE CONNECTION TO HOST) port = fdserial_open(31, 30, 0, 115200); char_size(SMALL); cursor(2, 4); display("Connecting..."); while(1) { dprint(port, "Propeller\n"); pause(1000); // We need this pause, since the host needs time to respond. 5 x 1 second = 10 second timeout if (fdserial_rxCount(port) == 0) { continue; } else if (fdserial_rxCount(port) < 5) { fdserial_rxFlush(port); continue; } else dscan(port, "%s", handshake); // Attempt handshake and listen to response if (strcmp(handshake, "H0st") == 0) { break; } } clear(); while(1) { rgb(L, OFF); rgb(R, OFF); char_size(BIG); cursor(0, 0); display("HOTSPOT!"); char_size(SMALL); cursor(4, 5); display("Start an"); cursor(1, 6); display("interaction to"); cursor(0, 7); display("upload your data"); memset(&their, 0, sizeof(info)); int t = CNT; int dt = CLKFREQ * 2; if (check_inbox() == 1) { clear(); message_get(&their); ir_send(&my); char_size(SMALL); cursor(2, 2); display("Receiving..."); while(1) { if (CNT - t > dt) { clear(); char_size(SMALL); cursor(5, 2); display("ERROR!"); cursor(0, 5); display("Please try again"); dprint(port, "txBegin\n"); dprint(port, "Timeout\n"); ee_wipe(); clear_inbox(); pause(2000); clear(); break; } if (check_inbox() == 1) { t = CNT; message_get(&their); if(!strcmp(their.name, "txDone")) { char_size(SMALL); cursor(0, 5); display("Upload complete"); dprint(port, "txBegin\n"); ee_uploadContacts(port); ee_wipe(); clear_inbox(); pause(1000); clear(); break; } ee_save(&their); dprint(port, "Name: %s\n", their.name); dprint(port, "Email: %s\n", their.email); } } } } }