From 577a0e2d3616785140ce7bde43738f3d8ae5c3ab Mon Sep 17 00:00:00 2001 From: cnlohr Date: Thu, 6 Aug 2015 23:55:53 -0400 Subject: [PATCH] Major changes to enable much more wifi information --- embedded8266/common/commonservices.c | 142 ++- embedded8266/common/http.c | 5 +- embedded8266/common/http_custom.c | 2 +- embedded8266/common/mystuff.c | 2 +- embedded8266/common/mystuff.h | 2 +- embedded8266/image.elf | Bin 462118 -> 464634 bytes embedded8266/user/custom_commands.c | 116 ++- embedded8266/user/user_main.c | 53 +- embedded8266/web/Makefile | 5 +- embedded8266/web/execute_reflash.c | 3 +- embedded8266/web/page/colorchord.html | 103 --- embedded8266/web/page/colorchord.js | 477 ---------- embedded8266/web/page/index.html | 136 ++- embedded8266/web/page/jquery-2.1.4.min.js.gz | Bin 29379 -> 29379 bytes embedded8266/web/page/main.js | 884 +++++++++++++++++++ embedded8266/web/page/test.txt | 1 - embedded8266/web/page/wstest.html | 10 - embedded8266/web/page/wstest.js | 86 -- embedded8266/web/pushtodev.c | 36 +- 19 files changed, 1337 insertions(+), 726 deletions(-) delete mode 100644 embedded8266/web/page/colorchord.html delete mode 100644 embedded8266/web/page/colorchord.js create mode 100644 embedded8266/web/page/main.js delete mode 100644 embedded8266/web/page/test.txt delete mode 100644 embedded8266/web/page/wstest.html delete mode 100644 embedded8266/web/page/wstest.js diff --git a/embedded8266/common/commonservices.c b/embedded8266/common/commonservices.c index dc01a77..de80267 100644 --- a/embedded8266/common/commonservices.c +++ b/embedded8266/common/commonservices.c @@ -21,6 +21,7 @@ static struct espconn *pHTTPServer; struct espconn *pespconn; uint16_t g_gpiooutputmask = 0; +int ets_str2macaddr(void *, void *); static int need_to_switch_back_to_soft_ap = 0; //0 = no, 1 = will need to. 2 = do it now. #define MAX_STATIONS 20 @@ -156,12 +157,49 @@ int ICACHE_FLASH_ATTR issue_command(char * buffer, int retsize, char *pusrdata, flashchip->chip_size = 0x00080000; return buffend - buffer; } + case 'i': case 'I': //Respond with device info. + { + buffend += ets_sprintf(buffend, "I" ); + int i; + for( i = 0; i < 2 ;i++ ) + { + struct ip_info ipi; + wifi_get_ip_info( i, &ipi ); + buffend += ets_sprintf(buffend, "\t"IPSTR, IP2STR(&ipi.ip) ); + } + buffend += ets_sprintf(buffend, "\r\n" ); + return buffend - buffer; + } case 'w': case 'W': // (W1:SSID:PASSWORD) (To connect) or (W2) to be own base station. ...or WI, to get info... or WS to scan. { - char * colon = (char *) ets_strstr( (char*)&pusrdata[2], ":" ); - char * colon2 = (colon)?((char *)ets_strstr( (char*)(colon+1), ":" )):0; + int c1l = 0; + int c2l = 0; + char * colon = (char *) ets_strstr( (char*)&pusrdata[2], "\t" ); + char * colon2 = (colon)?((char *)ets_strstr( (char*)(colon+1), "\t" )):0; + char * colon3 = (colon2)?((char *)ets_strstr( (char*)(colon2+1), "\t" )):0; + char * colon4 = (colon3)?((char *)ets_strstr( (char*)(colon3+1), "\t" )):0; char * extra = colon2; + char mac[6] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }; + int bssid_set = 0; + if( colon ) { *colon = 0; colon++; } + if( colon2 ) { *colon2 = 0; colon2++; } + if( colon3 ) { *colon3 = 0; colon3++; } + if( colon4 ) { *colon4 = 0; colon4++; } + + if( colon ) { c1l = ets_strlen( colon ); } + if( colon2 ) { c2l = ets_strlen( colon2 ); } + if( colon3 ) + { + bssid_set = ets_str2macaddr( mac, colon3 )?1:0; + if( ( mac[0] == 0x00 || mac[0] == 0xff ) && + ( mac[1] == 0x00 || mac[1] == 0xff ) && + ( mac[2] == 0x00 || mac[2] == 0xff ) && + ( mac[3] == 0x00 || mac[3] == 0xff ) && + ( mac[4] == 0x00 || mac[4] == 0xff ) && + ( mac[5] == 0x00 || mac[5] == 0xff ) ) bssid_set = 0; + } + if( extra ) { for( ; *extra; extra++ ) @@ -178,79 +216,139 @@ int ICACHE_FLASH_ATTR issue_command(char * buffer, int retsize, char *pusrdata, { case '1': //Station mode case '2': //AP Mode - if( colon && colon2 ) + if( colon && colon2 && ets_strlen( colon ) > 1 ) { - int c1l = 0; - int c2l = 0; - *colon = 0; colon++; - *colon2 = 0; colon2++; - c1l = ets_strlen( colon ); - c2l = ets_strlen( colon2 ); - if( c1l > 32 ) c1l = 32; - if( c2l > 32 ) c2l = 32; + if( c1l > 31 ) c1l = 31; + if( c2l > 63 ) c2l = 63; - printf( "Switching to: \"%s\"/\"%s\".\n", colon, colon2 ); + printf( "Switching to: \"%s\"/\"%s\" (%d/%d). BSSID_SET: %d [%c]\n", colon, colon2, c1l, c2l, bssid_set, pusrdata[1] ); if( pusrdata[1] == '1' ) { struct station_config stationConf; - os_bzero( &stationConf, sizeof( stationConf ) ); + wifi_station_get_config(&stationConf); os_memcpy(&stationConf.ssid, colon, c1l); os_memcpy(&stationConf.password, colon2, c2l); + stationConf.ssid[c1l] = 0; + stationConf.password[c2l] = 0; + stationConf.bssid_set = bssid_set; + os_memcpy( stationConf.bssid, mac, 6 ); + + printf( "-->'%s'\n",stationConf.ssid); + printf( "-->'%s'\n",stationConf.password); + + EnterCritical(); +// wifi_station_set_config(&stationConf); wifi_set_opmode( 1 ); wifi_station_set_config(&stationConf); wifi_station_connect(); + ExitCritical(); + +// wifi_station_get_config( &stationConf ); + buffend += ets_sprintf( buffend, "W1\r\n" ); printf( "Switching.\n" ); } else { - wifi_set_opmode_current( 1 ); + struct softap_config config; + char macaddr[6]; + wifi_softap_get_config( &config ); + + wifi_get_macaddr(SOFTAP_IF, macaddr); + + os_memcpy( &config.ssid, colon, c1l ); + os_memcpy( &config.password, colon2, c2l ); + config.ssid_len = c1l; +#if 0 //We don't support encryption. + config.ssid[c1l] = 0; + config.password[c2l] = 0; + + config.authmode = 0; + if( colon3 ) + { + int k; + for( k = 0; enctypes[k]; k++ ) + { + if( strcmp( colon3, enctypes[k] ) == 0 ) + config.authmode = k; + } + } + +#endif + + int chan = (colon4)?my_atoi(colon4):config.channel; + if( chan == 0 || chan > 13 ) chan = 1; + config.channel = chan; + +// printf( "Mode now. %s %s %d %d %d %d %d\n", config.ssid, config.password, config.ssid_len, config.channel, config.authmode, config.max_connection ); +// printf( "Mode Set. %d\n", wifi_get_opmode() ); + + EnterCritical(); + wifi_softap_set_config(&config); wifi_set_opmode( 2 ); + ExitCritical(); + printf( "Switching SoftAP: %d %d.\n", chan, config.authmode ); + buffend += ets_sprintf( buffend, "W2\r\n" ); } } break; case 'I': { + char macmap[15]; int mode = wifi_get_opmode(); buffend += ets_sprintf( buffend, "WI%d", mode ); if( mode == 2 ) { + uint8_t mac[6]; struct softap_config ap; wifi_softap_get_config( &ap ); - buffend += ets_sprintf( buffend, "\t%s\t%s\t%s\t%d", ap.ssid, ap.password, enctypes[ap.authmode], ap.channel ); + wifi_get_macaddr( 1, mac ); + ets_sprintf( macmap, MACSTR, MAC2STR( mac ) ); + buffend += ets_sprintf( buffend, "\t%s\t%s\t%s\t%d", ap.ssid, ap.password, macmap, ap.channel ); } else { struct station_config sc; wifi_station_get_config( &sc ); - buffend += ets_sprintf( buffend, "\t%s\t%s\tna\t%d", sc.ssid, sc.password, wifi_get_channel() ); + if( sc.bssid_set ) + ets_sprintf( macmap, MACSTR, MAC2STR( sc.bssid ) ); + else + macmap[0] = 0; + buffend += ets_sprintf( buffend, "\t%s\t%s\t%s\t%d", sc.ssid, sc.password, macmap, wifi_get_channel() ); } } break; + case 'X': case 'x': + buffend += ets_sprintf( buffend, "WX%d", wifi_station_get_rssi() ); + break; case 'S': case 's': { int i, r; + struct scan_config sc; scanplace = 0; + sc.ssid = 0; + sc.bssid = 0; + sc.channel = 0; + sc.show_hidden = 1; + EnterCritical(); if( wifi_get_opmode() == SOFTAP_MODE ) { wifi_set_opmode_current( STATION_MODE ); need_to_switch_back_to_soft_ap = 1; - r = wifi_station_scan(0, scandone ); - } - else - { - r = wifi_station_scan(0, scandone ); } + r = wifi_station_scan(&sc, scandone ); + ExitCritical(); + buffend += ets_sprintf( buffend, "WS%d\n", r ); uart0_sendStr(buffer); @@ -386,7 +484,9 @@ void CSTick( int slowtick ) if( need_to_switch_back_to_soft_ap == 2 ) { need_to_switch_back_to_soft_ap = 0; + EnterCritical(); wifi_set_opmode_current( SOFTAP_MODE ); + ExitCritical(); } HTTPTick(0); diff --git a/embedded8266/common/http.c b/embedded8266/common/http.c index a889f3b..08545af 100644 --- a/embedded8266/common/http.c +++ b/embedded8266/common/http.c @@ -7,6 +7,9 @@ #define HTDEBUG( x... ) printf( x ) +//#define ISKEEPALIVE "keep-alive" +#define ISKEEPALIVE "close" + struct HTTPConnection HTTPConnections[HTTP_CONNECTIONS]; struct HTTPConnection * curhttp; uint8 * curdata; @@ -208,7 +211,7 @@ void ICACHE_FLASH_ATTR HTTPHandleInternalCallback( ) if( curhttp->bytesleft < 0xfffffffe ) { - PushString("Connection: keep-alive\r\nContent-Length: "); + PushString("Connection: "ISKEEPALIVE"\r\nContent-Length: "); Uint32To10Str( stto, curhttp->bytesleft ); PushBlob( stto, os_strlen( stto ) ); curhttp->keep_alive = 1; diff --git a/embedded8266/common/http_custom.c b/embedded8266/common/http_custom.c index ff69ac9..4a1ee9d 100644 --- a/embedded8266/common/http_custom.c +++ b/embedded8266/common/http_custom.c @@ -145,7 +145,7 @@ void ICACHE_FLASH_ATTR NewWebSocket() curhttp->rcb = 0; curhttp->rcbDat = (void*)&WSEvalData; } - else if( strcmp( (const char*)curhttp->pathbuffer, "/d/ws/issue" ) == 0 ) + else if( strncmp( (const char*)curhttp->pathbuffer, "/d/ws/issue", 11 ) == 0 ) { curhttp->rcb = 0; curhttp->rcbDat = (void*)&WSCommandData; diff --git a/embedded8266/common/mystuff.c b/embedded8266/common/mystuff.c index a9551ec..21a4aa4 100644 --- a/embedded8266/common/mystuff.c +++ b/embedded8266/common/mystuff.c @@ -4,7 +4,7 @@ #include "mystuff.h" -const char * enctypes[6] = { "open", "wep", "wpa", "wpa2", "wpa_wpa2", "max" }; +const char * enctypes[6] = { "open", "wep", "wpa", "wpa2", "wpa_wpa2", 0 }; char generic_print_buffer[384]; char generic_buffer[1500]; diff --git a/embedded8266/common/mystuff.h b/embedded8266/common/mystuff.h index 745fef7..122ca73 100644 --- a/embedded8266/common/mystuff.h +++ b/embedded8266/common/mystuff.h @@ -13,7 +13,7 @@ extern char generic_print_buffer[384]; -extern const char * enctypes[6];// = { "open", "wep", "wpa", "wpa2", "wpa_wpa2", "max" }; +extern const char * enctypes[6];// = { "open", "wep", "wpa", "wpa2", "wpa_wpa2", 0 }; #define printf( ... ) ets_sprintf( generic_print_buffer, __VA_ARGS__ ); uart0_sendStr( generic_print_buffer ); diff --git a/embedded8266/image.elf b/embedded8266/image.elf index d3807da83d7d8a18916903f412fa559e18f15b75..4bf4060f1a9e27feb2f57d1a40a998d9392c221b 100755 GIT binary patch delta 223514 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

{mEQhS*1UaG; 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 delta 220805 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 diff --git a/embedded8266/user/custom_commands.c b/embedded8266/user/custom_commands.c index 2bdfcbf..b49913f 100644 --- a/embedded8266/user/custom_commands.c +++ b/embedded8266/user/custom_commands.c @@ -2,6 +2,7 @@ #include #include #include +#include "mystuff.h" #include #include #include @@ -10,6 +11,8 @@ extern volatile uint8_t sounddata[]; extern volatile uint16_t soundhead; +#define CONFIGURABLES 16 //(plus1) + extern uint8_t RootNoteOffset; //Set to define what the root note is. 0 = A. uint8_t gDFTIIR = 6; uint8_t gFUZZ_IIR_BITS = 1; @@ -24,17 +27,37 @@ uint8_t gMINIMUM_AMP_FOR_NOTE_TO_DISAPPEAR = 64; uint8_t gNOTE_FINAL_AMP = 12; uint8_t gNERF_NOTE_PORP = 15; uint8_t gUSE_NUM_LIN_LEDS = NUM_LIN_LEDS; +uint8_t gCOLORCHORD_ACTIVE = 1; +struct SaveLoad +{ + uint8_t configs[CONFIGURABLES]; +} settings; -uint8_t * gConfigurables[] = { &RootNoteOffset, &gDFTIIR, &gFUZZ_IIR_BITS, &gFILTER_BLUR_PASSES, +uint8_t gConfigDefaults[CONFIGURABLES] = { 0, 6, 1, 2, 3, 4, 7, 4, 2, 80, 64, 12, 15, NUM_LIN_LEDS, 1, 0 }; + +uint8_t * gConfigurables[CONFIGURABLES] = { &RootNoteOffset, &gDFTIIR, &gFUZZ_IIR_BITS, &gFILTER_BLUR_PASSES, &gSEMIBITSPERBIN, &gMAX_JUMP_DISTANCE, &gMAX_COMBINE_DISTANCE, &gAMP_1_IIR_BITS, &gAMP_2_IIR_BITS, &gMIN_AMP_FOR_NOTE, &gMINIMUM_AMP_FOR_NOTE_TO_DISAPPEAR, &gNOTE_FINAL_AMP, - &gNERF_NOTE_PORP, &gUSE_NUM_LIN_LEDS, 0 }; + &gNERF_NOTE_PORP, &gUSE_NUM_LIN_LEDS, &gCOLORCHORD_ACTIVE, 0 }; -char * gConfigurableNames[] = { "gROOT_NOTE_OFFSET", "gDFTIIR", "gFUZZ_IIR_BITS", "gFILTER_BLUR_PASSES", +char * gConfigurableNames[CONFIGURABLES] = { "gROOT_NOTE_OFFSET", "gDFTIIR", "gFUZZ_IIR_BITS", "gFILTER_BLUR_PASSES", "gSEMIBITSPERBIN", "gMAX_JUMP_DISTANCE", "gMAX_COMBINE_DISTANCE", "gAMP_1_IIR_BITS", "gAMP_2_IIR_BITS", "gMIN_AMP_FOR_NOTE", "gMINIMUM_AMP_FOR_NOTE_TO_DISAPPEAR", "gNOTE_FINAL_AMP", - "gNERF_NOTE_PORP", "gUSE_NUM_LIN_LEDS", 0 }; + "gNERF_NOTE_PORP", "gUSE_NUM_LIN_LEDS", "gCOLORCHORD_ACTIVE", 0 }; + +void ICACHE_FLASH_ATTR CustomStart( ) +{ + int i; + spi_flash_read( 0x3D000, (uint32*)&settings, sizeof( settings ) ); + for( i = 0; i < CONFIGURABLES; i++ ) + { + if( gConfigurables[i] ) + { + *gConfigurables[i] = settings.configs[i]; + } + } +} int ICACHE_FLASH_ATTR CustomCommand(char * buffer, int retsize, char *pusrdata, unsigned short len) { @@ -50,6 +73,7 @@ int ICACHE_FLASH_ATTR CustomCommand(char * buffer, int retsize, char *pusrdata, int whichSel = my_atoi( &pusrdata[2] ); uint16_t * which = 0; + uint16_t qty = FIXBINS; switch( whichSel ) { case 0: @@ -57,13 +81,14 @@ int ICACHE_FLASH_ATTR CustomCommand(char * buffer, int retsize, char *pusrdata, case 1: which = fuzzed_bins; break; case 2: + qty = FIXBPERO; which = folded_bins; break; default: buffend += ets_sprintf( buffend, "!CB" ); return buffend-buffer; } - buffend += ets_sprintf( buffend, "CB%d:%d:", whichSel, FIXBINS ); + buffend += ets_sprintf( buffend, "CB%d:%d:", whichSel, qty ); for( i = 0; i < FIXBINS; i++ ) { uint16_t samp = which[i]; @@ -76,6 +101,22 @@ int ICACHE_FLASH_ATTR CustomCommand(char * buffer, int retsize, char *pusrdata, } + case 'l': case 'L': //LEDs + { + int i, it = 0; + buffend += ets_sprintf( buffend, "CL:%d:", gUSE_NUM_LIN_LEDS ); + uint16_t toledsvals = gUSE_NUM_LIN_LEDS*3; + if( toledsvals > 600 ) toledsvals = 600; + for( i = 0; i < toledsvals; i++ ) + { + uint8_t samp = ledOut[it++]; + *(buffend++) = tohex1( samp>>4 ); + *(buffend++) = tohex1( samp&0x0f ); + } + return buffend-buffer; + } + + case 'm': case 'M': //Oscilloscope { int i, it = soundhead; @@ -118,6 +159,61 @@ int ICACHE_FLASH_ATTR CustomCommand(char * buffer, int retsize, char *pusrdata, } + case 's': case 'S': + { + switch (pusrdata[2] ) + { + + case 'd': case 'D': + { + int i; + for( i = 0; i < CONFIGURABLES-1; i++ ) + { + if( gConfigurables[i] ) + *gConfigurables[i] = gConfigDefaults[i]; + } + buffend += ets_sprintf( buffend, "CD" ); + return buffend-buffer; + } + + case 'r': case 'R': + { + int i; + for( i = 0; i < CONFIGURABLES-1; i++ ) + { + if( gConfigurables[i] ) + *gConfigurables[i] = settings.configs[i]; + } + buffend += ets_sprintf( buffend, "CSR" ); + return buffend-buffer; + } + + case 's': case 'S': + { + int i; + + for( i = 0; i < CONFIGURABLES-1; i++ ) + { + if( gConfigurables[i] ) + settings.configs[i] = *gConfigurables[i]; + } + + EnterCritical(); + ets_intr_lock(); + spi_flash_erase_sector( 0x3D000/4096 ); + spi_flash_write( 0x3D000, (uint32*)&settings, ((sizeof( settings )-1)&(~0xf))+0x10 ); + ets_intr_unlock(); + ExitCritical(); + + buffend += ets_sprintf( buffend, "CS" ); + return buffend-buffer; + } + } + buffend += ets_sprintf( buffend, "!CS" ); + return buffend-buffer; + } + + case 'v': case 'V': //ColorChord Values { @@ -125,10 +221,7 @@ int ICACHE_FLASH_ATTR CustomCommand(char * buffer, int retsize, char *pusrdata, { int i; - buffend += ets_sprintf( buffend, "CVR:rBASE_FREQ=%d:rDFREQ=%d:rOCTAVES=%d:rFIXBPERO=%d:NOTERANGE=%d:", - (int)BASE_FREQ, (int)DFREQ, (int)OCTAVES, (int)FIXBPERO, (int)(NOTERANGE) ); - buffend += ets_sprintf( buffend, "CVR:rMAXNOTES=%d:rNUM_LIN_LEDS=%d:rLIN_WRAPAROUND=%d:rLIN_WRAPAROUND=%d:", - (int)MAXNOTES, (int)NUM_LIN_LEDS, (int)LIN_WRAPAROUND, (int)LIN_WRAPAROUND ); + buffend += ets_sprintf( buffend, "CVR:" ); i = 0; while( gConfigurableNames[i] ) @@ -137,6 +230,11 @@ int ICACHE_FLASH_ATTR CustomCommand(char * buffer, int retsize, char *pusrdata, i++; } + buffend += ets_sprintf( buffend, "rBASE_FREQ=%d:rDFREQ=%d:rOCTAVES=%d:rFIXBPERO=%d:rNOTERANGE=%d:rSORT_NOTES=%d:", + (int)BASE_FREQ, (int)DFREQ, (int)OCTAVES, (int)FIXBPERO, (int)(NOTERANGE),(int)SORT_NOTES ); + buffend += ets_sprintf( buffend, "rMAXNOTES=%d:rNUM_LIN_LEDS=%d:rLIN_WRAPAROUND=%d:rLIN_WRAPAROUND=%d:", + (int)MAXNOTES, (int)NUM_LIN_LEDS, (int)LIN_WRAPAROUND, (int)LIN_WRAPAROUND ); + return buffend-buffer; } else if( pusrdata[2] == 'W' || pusrdata[2] == 'w' ) diff --git a/embedded8266/user/user_main.c b/embedded8266/user/user_main.c index ef43fd9..80e3f04 100644 --- a/embedded8266/user/user_main.c +++ b/embedded8266/user/user_main.c @@ -31,10 +31,16 @@ static volatile os_timer_t some_timer; static struct espconn *pUdpServer; +void EnterCritical(); +void ExitCritical(); extern volatile uint8_t sounddata[HPABUFFSIZE]; extern volatile uint16_t soundhead; uint16_t soundtail; +extern uint8_t gCOLORCHORD_ACTIVE; +static uint8_t hpa_running = 0; + +void ICACHE_FLASH_ATTR CustomStart( ); void user_rf_pre_init() { @@ -43,6 +49,8 @@ void user_rf_pre_init() //Call this once we've stacked together one full colorchord frame. static void NewFrame() { + if( !gCOLORCHORD_ACTIVE ) return; + //uint8_t led_outs[NUM_LIN_LEDS*3]; int i; HandleFrameInfo(); @@ -63,6 +71,18 @@ static void procTask(os_event_t *events) { system_os_post(procTaskPrio, 0, 0 ); + if( gCOLORCHORD_ACTIVE && !hpa_running ) + { + ExitCritical(); + hpa_running = 1; + } + + if( !gCOLORCHORD_ACTIVE && hpa_running ) + { + EnterCritical(); + hpa_running = 0; + } + CSTick( 0 ); //For profiling so we can see how much CPU is spent in this loop. @@ -97,7 +117,7 @@ static void procTask(os_event_t *events) int stat = wifi_station_get_connect_status(); -// printf( "STAT: %d\n", stat ); + //printf( "STAT: %d %d\n", stat, wifi_get_opmode() ); if( stat == STATION_WRONG_PASSWORD || stat == STATION_NO_AP_FOUND || stat == STATION_CONNECT_FAIL ) { @@ -142,7 +162,7 @@ static void udpserver_recv(void *arg, char *pusrdata, unsigned short len) // uint8_t ledout[] = { 0x00, 0xff, 0xaa, 0x00, 0xff, 0xaa, }; uart0_sendStr("X"); - ws2812_push( pusrdata, len ); + ws2812_push( pusrdata+3, len ); } void ICACHE_FLASH_ATTR charrx( uint8_t c ) @@ -158,11 +178,37 @@ void ICACHE_FLASH_ATTR user_init(void) uart0_sendStr("\r\nCustom Server\r\n"); +// system_restore(); + CustomStart(); + #ifdef PROFILE GPIO_OUTPUT_SET(GPIO_ID_PIN(0), 0); #endif + int opmode = wifi_get_opmode(); + printf( "Opmode: %d\n", opmode ); + if( opmode == 1 ) + { + struct station_config sc; + wifi_station_get_config(&sc); + printf( "Station mode: \"%s\":\"%s\" (bssid_set:%d)\n", sc.ssid, sc.password, sc.bssid_set ); + if( sc.ssid[0] == 0 && !sc.bssid_set ) + { + wifi_set_opmode( 2 ); + opmode = 2; + } + else + { + wifi_station_connect(); + } + } + if( opmode == 2 ) + { + struct softap_config sc; + wifi_softap_get_config(&sc); + printf( "SoftAP mode: \"%s\":\"%s\"\n", sc.ssid, sc.password ); + } - wifi_set_opmode( 2 ); //We broadcast our ESSID, wait for peopel to join. +// wifi_set_opmode( 2 ); //We broadcast our ESSID, wait for peopel to join. /* struct station_config stationConf; @@ -202,6 +248,7 @@ void ICACHE_FLASH_ATTR user_init(void) InitColorChord(); //Init colorchord StartHPATimer(); //Init the high speed ADC timer. + hpa_running = 1; ws2812_init(); diff --git a/embedded8266/web/Makefile b/embedded8266/web/Makefile index bfeddb3..1c65988 100644 --- a/embedded8266/web/Makefile +++ b/embedded8266/web/Makefile @@ -1,9 +1,12 @@ all : execute_reflash page.dat push +IP?=192.168.4.1 + mfsmaker : mfsmaker.c gcc -o $@ $^ page.dat : mfsmaker page +# cat to_compress/*.js | gzip -9 > page/compressed.js.gz ./mfsmaker page page.dat pushtodev : pushtodev.c @@ -13,7 +16,7 @@ execute_reflash : execute_reflash.c md5.c gcc -o $@ $^ push : pushtodev page.dat - ./pushtodev 192.168.4.1 1048576 page.dat + ./pushtodev $(IP) 1048576 page.dat clean : rm -rf mfsmaker page.dat pushtodev execute_reflash diff --git a/embedded8266/web/execute_reflash.c b/embedded8266/web/execute_reflash.c index 652ccc6..ef83c67 100644 --- a/embedded8266/web/execute_reflash.c +++ b/embedded8266/web/execute_reflash.c @@ -127,7 +127,8 @@ uint32_t Push( uint32_t offset, const char * file ) fprintf( stderr, "Error: Timeout in communications.\n" ); exit( -6 ); } - devo += sendsize; + if( reads != 0 ) + devo += sendsize; } return devo; diff --git a/embedded8266/web/page/colorchord.html b/embedded8266/web/page/colorchord.html deleted file mode 100644 index e3c7494..0000000 --- a/embedded8266/web/page/colorchord.html +++ /dev/null @@ -1,103 +0,0 @@ - - -ColorChord Control Panel - - - - - - -

ColorChord: Embedded

-
- - - - - - - - - - - - - - - - - - - - - - -
- -
-
-
-
- -
-
-System Info...
line2
line3 -
- -
-
-Current Configuration:
- - - - - - - -
Type:Station (Connect to infrastructure)
AP (Broadcast a new AP)
SSID:
PASS:
Enc:Open
WPA2-PSK (Ignored in Station mode)
Chan: (Ignored in Station mode)
-Scanned Stations: -
- -
- -
-
-Command: -
- -
- -
- - - - - - - - - - - - -
012345...12131415
- -
-
- -
- -
-
- -
- - - - - - diff --git a/embedded8266/web/page/colorchord.js b/embedded8266/web/page/colorchord.js deleted file mode 100644 index 532447a..0000000 --- a/embedded8266/web/page/colorchord.js +++ /dev/null @@ -1,477 +0,0 @@ -var wsUri = "ws://" + location.host + "/d/ws/issue"; -var output; -var websocket; -var commsup = 0; - -//Push objects that have: -// .request -// .callback = function( ref (this object), data ); - -var workqueue = []; -var workarray = {}; -var lastitem; - -function QueueOperation( command, callback ) -{ - if( workarray[command] == 1 ) - { - return; - } - - workarray[command] = 1; - var vp = new Object(); - vp.callback = callback; - vp.request = command; - workqueue.push( vp ); -} - - -function init() -{ - $( ".collapsible" ).each(function( index ) { - if( localStorage["sh" + this.id] > 0.5 ) - { - $( this ).show().toggleClass( 'opened' ); -// console.log( "OPEN: " + this.id ); - } - }); - - $("#custom_command_response").val( "" ); - - - output = document.getElementById("output"); - Ticker(); - - KickWifiTicker(); - GPIODataTickerStart(); - KickOscilloscope(); - KickDFT(); -} - -function StartWebSocket() -{ - output.innerHTML = "Connecting..."; - if( websocket ) websocket.close(); - workqueue = []; - lastitem = null; - websocket = new WebSocket(wsUri); - websocket.onopen = function(evt) { onOpen(evt) }; - websocket.onclose = function(evt) { onClose(evt) }; - websocket.onmessage = function(evt) { onMessage(evt) }; - websocket.onerror = function(evt) { onError(evt) }; -} - -function onOpen(evt) -{ - doSend('e' ); -} - -function onClose(evt) -{ - $('#SystemStatusClicker').css("color", "red" ); - commsup = 0; -} - -var msg = 0; -var tickmessage = 0; -var lasthz = 0; - -function Ticker() -{ - lasthz = (msg - tickmessage); - tickmessage = msg; - if( lasthz == 0 ) - { - $('#SystemStatusClicker').css("color", "red" ); - commsup = 0; - StartWebSocket(); - } - - setTimeout( Ticker, 1000 ); -} - -function onMessage(evt) -{ - msg++; - output.innerHTML = "

Messages: " + msg + "

Hz:" + lasthz + "

"; - if( commsup != 1 ) - { - commsup = 1; - $('#SystemStatusClicker').css("color", "green" ); - } - - if( lastitem && lastitem.callback ) - { - lastitem.callback( lastitem, evt.data ); - lastitem = null; - } - - if( workqueue.length ) - { - var elem = workqueue.shift(); - delete workarray[elem.request]; - if( elem.request ) - { - doSend( elem.request ); - lastitem = elem; - return; - } - } - - - doSend('e'); -} - -function onError(evt) -{ - $('#SystemStatusClicker').css("color", "red" ); - commsup = 0; -} - -function doSend(message) -{ - websocket.send(message); -} - -function IsTabOpen( objname ) -{ - var obj = $( "#" + objname ); - var opened = obj.is( '.opened' ); - return opened != 0; -} - -function ShowHideEvent( objname ) -{ - var obj = $( "#" + objname ); - obj.slideToggle( 'fast' ).toggleClass( 'opened' ); - var opened = obj.is( '.opened' ); - localStorage["sh" + objname] = opened?1:0; - return opened!=0; -} - - -function IssueCustomCommand() -{ - QueueOperation( $("#custom_command").val(), function( req,data) { $("#custom_command_response").val( data ); } ); -} - - - -window.addEventListener("load", init, false); - - - - - - - -///////// Various functions that are not core appear down here. - -is_oscilloscope_running = false; -pause_oscilloscope = false; - -function KickOscilloscope() -{ - $( "#OScopePauseButton" ).css( "background-color", (is_oscilloscope_running&&pause_oscilloscope)?"green":"red" ); - if( !is_oscilloscope_running && !pause_oscilloscope) - OScopeDataTicker(); -} - -function ToggleOScopePause() -{ - pause_oscilloscope = !pause_oscilloscope; - KickOscilloscope(); -} - -function GotOScope(req,data) -{ - var canvas = document.getElementById('OScopeCanvas'); - var ctx = canvas.getContext('2d'); - var h = canvas.height; - var w = canvas.width; - if( ctx.canvas.width != canvas.clientWidth ) ctx.canvas.width = canvas.clientWidth; - if( ctx.canvas.height != canvas.clientHeight ) ctx.canvas.height = canvas.clientHeight; - - $( "#OScopePauseButton" ).css( "background-color", "green" ); - - var secs = data.split( ":" ); - - var samps = Number( secs[1] ); - var data = secs[2]; - var lastsamp = parseInt( data.substr(0,2),16 ); - ctx.clearRect( 0, 0, canvas.width, canvas.height ); - ctx.beginPath(); - for( var i = 0; i < samps; i++ ) - { - var x2 = (i+1) * canvas.clientWidth / samps; - var samp = parseInt( data.substr(i*2+2,2),16 ); - var y2 = ( 1.-samp / 255 ) * canvas.clientHeight; - - if( i == 0 ) - { - var x1 = i * canvas.clientWidth / samps; - var y1 = ( 1.-lastsamp / 255 ) * canvas.clientHeight; - ctx.moveTo( x1, y1 ); - } - - ctx.lineTo( x2, y2 ); - - lastsamp = samp; - } - ctx.stroke(); - - var samp = parseInt( data.substr(i*2,2),16 ); - - OScopeDataTicker(); -} - -function OScopeDataTicker() -{ - if( IsTabOpen('OScope') && !pause_oscilloscope ) - { - is_oscilloscope_running = true; - QueueOperation( "CM", GotOScope ); - } - else - { - is_oscilloscope_running = 0; - } - $( "#OScopePauseButton" ).css( "background-color", (is_oscilloscope_running&&!pause_oscilloscope)?"green":"red" ); -} - - - - - - - - - -is_dft_running = false; - -function KickDFT() -{ - if( !is_dft_running ) - DFTDataTicker(); - -} - -function GotDFT(req,data) -{ - var canvas = document.getElementById('DFTCanvas'); - var ctx = canvas.getContext('2d'); - var h = canvas.height; - var w = canvas.width; - if( ctx.canvas.width != canvas.clientWidth ) ctx.canvas.width = canvas.clientWidth; - if( ctx.canvas.height != canvas.clientHeight ) ctx.canvas.height = canvas.clientHeight; - - var secs = data.split( ":" ); - - var samps = Number( secs[1] ); - var data = secs[2]; - var lastsamp = parseInt( data.substr(0,4),16 ); - ctx.clearRect( 0, 0, canvas.width, canvas.height ); - ctx.beginPath(); - for( var i = 0; i < samps; i++ ) - { - var x2 = (i+1) * canvas.clientWidth / samps; - var samp = parseInt( data.substr(i*4+4,4),16 ); - var y2 = ( 1.-samp / 2047 ) * canvas.clientHeight; - - if( i == 0 ) - { - var x1 = i * canvas.clientWidth / samps; - var y1 = ( 1.-lastsamp / 2047 ) * canvas.clientHeight; - ctx.moveTo( x1, y1 ); - } - - ctx.lineTo( x2, y2 ); - - lastsamp = samp; - } - ctx.stroke(); - - var samp = parseInt( data.substr(i*2,2),16 ); - - DFTDataTicker(); -} - -function DFTDataTicker() -{ - if( IsTabOpen('DFT') ) - { - is_dft_running = true; - QueueOperation( "CB", GotDFT ); - } - else - { - is_dft_running = 0; - } -} - - - - - - - - - - - - - - -did_wifi_get_config = false; -is_data_ticker_running = false; - -function KickWifiTicker() -{ - if( !is_data_ticker_running ) - WifiDataTicker(); -} - -function WifiDataTicker() -{ - if( IsTabOpen('WifiSettings') ) - { - is_data_ticker_running = true; - - if( !did_wifi_get_config ) - { - QueueOperation( "WI", function(req,data) - { - var params = data.split( "\t" ); - - document.wifisection.wifitype.value = Number( params[0].substr(2) ); - document.wifisection.wificurname.value = params[1]; - document.wifisection.wificurpassword.value = params[2]; - document.wifisection.wificurenctype.value = params[3]; - document.wifisection.wificurchannel.value = Number( params[4] ); - - did_wifi_get_config = true; - } ); - } - - - QueueOperation( "WR", function(req,data) { - var lines = data.split( "\n" ); - var innerhtml; - if( lines.length < 3 ) - { - innerhtml = "No APs found. Did you scan?"; - } - else - { - innerhtml = "" - for( i = 1; i < lines.length-1; i++ ) - { - var dats = lines[i].split( "\t" ); - innerhtml += ""; - } - } - innerhtml += "
SSIDMACRSChEnc
" + dats[0] + "" + dats[1] + "" + dats[2] + "" + dats[3] + "" + dats[4] + "
"; - document.getElementById("WifiStations").innerHTML = innerhtml; - } ); - setTimeout( WifiDataTicker, 500 ); - } - else - { - is_data_ticker_running = 0; - } -} - -function ChangeWifiConfig() -{ - - var st = "W"; - st += document.wifisection.wifitype.value; - st += ":" + document.wifisection.wificurname.value; - st += ":" + document.wifisection.wificurpassword.value; - QueueOperation( st ); - did_wifi_get_config = false; -} - - - - -function TwiddleGPIO( gp ) -{ - var st = "GF"; - st += gp; - QueueOperation( st ); -} - -function GPIOInput( gp ) -{ - var st = "GI"; - st += gp; - QueueOperation( st ); -} - -function GPIOUpdate(req,data) { - var secs = data.split( ":" ); - var op = 0; - var n = Number(secs[2]); - var m = Number(secs[1]); - - for( op = 0; op < 16; op++ ) - { - var b = $( "#ButtonGPIO" + op ); - if( b ) - { - if( 1< - -Hello! This is a test page.
+ + +ColorChord Control Panel + + + + + + +

ColorChord: Embedded

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
+ +
+
+

Welcome to the ColorChord: Embedded ESP8266 Web-based GUI.

+

This GUI uses WebSockets, and has only been tested under the newest (as of August, 2015) Chrome and Firefox browsers.

+

For more information about ColorChord, visit it on github, here: https://github.com/cnlohr/colorchord

+
+ +
+
+Current Configuration: (May deviate from default configuration, reset here if in doubt)
+ + + + + + + +
Type:Station (Connect to infrastructure)
AP (Broadcast a new AP)
SSID:
PASS:
MAC: (Ignored in softAP mode)
Chan: (Ignored in Station mode)
(Automatically saves to flash)
+Scanned Stations: +
+ +
+ +
+
+Command: +
+ +
+ +
+ + + + + + + + + + + + +
012345...12131415
+ +
+
+ +
+ +
+
+ + +
+ +
+ +
+
+ +
+ +
+
+ +
+
+ +
+
+ + + + - - - diff --git a/embedded8266/web/page/jquery-2.1.4.min.js.gz b/embedded8266/web/page/jquery-2.1.4.min.js.gz index 23f28ab9460800c357bed33c33706161c222fb0f..b9125eb3b5fcff751b0b171d9d3c2d2b7cf00e9d 100644 GIT binary patch delta 18 acmX^7l=1LWMt1pb4u*MJM>ewWDFOgWQ3rki delta 18 acmX^7l=1LWMt1pb4u)9_J2$fLDFOgV0tZC^ diff --git a/embedded8266/web/page/main.js b/embedded8266/web/page/main.js new file mode 100644 index 0000000..c6e4619 --- /dev/null +++ b/embedded8266/web/page/main.js @@ -0,0 +1,884 @@ +var wsUri = "ws://" + location.host + "/d/ws/issue"; +var output; +var websocket; +var commsup = 0; +globalParams = {}; + +//Push objects that have: +// .request +// .callback = function( ref (this object), data ); + +var workqueue = []; +var wifilines = []; +var workarray = {}; +var lastitem; + +function QueueOperation( command, callback ) +{ + if( workarray[command] == 1 ) + { + return; + } + + workarray[command] = 1; + var vp = new Object(); + vp.callback = callback; + vp.request = command; + workqueue.push( vp ); +} + + +function init() +{ + $( ".collapsible" ).each(function( index ) { + if( localStorage["sh" + this.id] > 0.5 ) + { + $( this ).show().toggleClass( 'opened' ); +// console.log( "OPEN: " + this.id ); + } + }); + + $("#custom_command_response").val( "" ); + + + output = document.getElementById("output"); + Ticker(); + + KickWifiTicker(); + GPIODataTickerStart(); + KickOscilloscope(); + KickDFT(); + KickNotes(); + KickLEDs(); +} + +function StartWebSocket() +{ + output.innerHTML = "Connecting..."; + if( websocket ) websocket.close(); + workarray = {}; + workqueue = []; + lastitem = null; + websocket = new WebSocket(wsUri); + websocket.onopen = function(evt) { onOpen(evt) }; + websocket.onclose = function(evt) { onClose(evt) }; + websocket.onmessage = function(evt) { onMessage(evt) }; + websocket.onerror = function(evt) { onError(evt) }; +} + +function onOpen(evt) +{ + doSend('e' ); +} + +function onClose(evt) +{ + $('#SystemStatusClicker').css("color", "red" ); + commsup = 0; +} + +var msg = 0; +var tickmessage = 0; +var lasthz = 0; + +function Ticker() +{ + setTimeout( Ticker, 1000 ); + + lasthz = (msg - tickmessage); + tickmessage = msg; + if( lasthz == 0 ) + { + $('#SystemStatusClicker').css("color", "red" ); + $('#SystemStatusClicker').prop( "value", "System Offline" ); + commsup = 0; + StartWebSocket(); + } + else + { + $('#SystemStatusClicker').prop( "value", "System " + lasthz + "Hz" ); + } + + + QueueOperation( "CVR", ReceiveParameters ); +} + + +function onMessage(evt) +{ + msg++; + + + if( commsup != 1 ) + { + commsup = 1; + $('#SystemStatusClicker').css("color", "green" ); + } + + + if( lastitem ) + { + if( lastitem.callback ) + { + lastitem.callback( lastitem, evt.data ); + lastitem = null; + } + } + else + { + output.innerHTML = "

Messages: " + msg + "

RSSI: " + evt.data.substr(2) + "

"; + } + + + if( workqueue.length ) + { + var elem = workqueue.shift(); + delete workarray[elem.request]; + + if( elem.request ) + { + doSend( elem.request ); + lastitem = elem; + return; + } + } + + doSend('wx'); //Request RSSI. +} + +function onError(evt) +{ + $('#SystemStatusClicker').css("color", "red" ); + commsup = 0; +} + +function doSend(message) +{ + websocket.send(message); +} + +function IsTabOpen( objname ) +{ + var obj = $( "#" + objname ); + var opened = obj.is( '.opened' ); + return opened != 0; +} + +function ShowHideEvent( objname ) +{ + var obj = $( "#" + objname ); + obj.slideToggle( 'fast' ).toggleClass( 'opened' ); + var opened = obj.is( '.opened' ); + localStorage["sh" + objname] = opened?1:0; + return opened!=0; +} + + +function IssueCustomCommand() +{ + QueueOperation( $("#custom_command").val(), function( req,data) { $("#custom_command_response").val( data ); } ); +} + + + +window.addEventListener("load", init, false); + + + + + + + +///////// Various functions that are not core appear down here. + + + + + + + + + + + +function ChangeParam( p ) +{ + var num = Number( p.value ); + var elem = p.id.substr( 5 ); + QueueOperation( "CVW:" + elem + ":" + num ); +} + + +var hasCreateParams = false; +function ReceiveParameters(req,data) { + var elems = data.split( ":" ); + + for( var v = 0; v < elems.length; v++ ) + { + var pair = elems[v].split( "=" ); + if( pair.length == 2 ) + { + globalParams[pair[0]] = Number( pair[1] ); + } + } + + if( !hasCreateParams ) + { + hasCreateParams = true; + var htv = ""; + + for( var v in globalParams ) + { + var vp = globalParams[v]; + htv += ""; + } + + $("#InnerParameters").html( htv + "
ValueParameter
" + v + "
" ); + + for( var v in globalParams ) + { + if( v.substr(0,1) == 'r' ) + { + $("#param" + v).prop( "disabled", true ); + } + } + + } + + for( var v in globalParams ) + { + var vp = globalParams[v]; + var p = $("#param"+v); + if( !p.is(":focus" ) ) + p.val(vp); + } + +} + + + + + + + + + +is_oscilloscope_running = false; +pause_oscilloscope = false; + +function KickOscilloscope() +{ + $( "#OScopePauseButton" ).css( "background-color", (is_oscilloscope_running&&pause_oscilloscope)?"green":"red" ); + if( !is_oscilloscope_running && !pause_oscilloscope) + OScopeDataTicker(); +} + +function ToggleOScopePause() +{ + pause_oscilloscope = !pause_oscilloscope; + KickOscilloscope(); +} + +function GotOScope(req,data) +{ + var canvas = document.getElementById('OScopeCanvas'); + var ctx = canvas.getContext('2d'); + var h = canvas.height; + var w = canvas.width; + if( ctx.canvas.width != canvas.clientWidth ) ctx.canvas.width = canvas.clientWidth; + if( ctx.canvas.height != canvas.clientHeight ) ctx.canvas.height = canvas.clientHeight; + + $( "#OScopePauseButton" ).css( "background-color", "green" ); + + var secs = data.split( ":" ); + + var samps = Number( secs[1] ); + var data = secs[2]; + var lastsamp = parseInt( data.substr(0,2),16 ); + ctx.clearRect( 0, 0, canvas.width, canvas.height ); + ctx.beginPath(); + for( var i = 0; i < samps; i++ ) + { + var x2 = (i+1) * canvas.clientWidth / samps; + var samp = parseInt( data.substr(i*2+2,2),16 ); + var y2 = ( 1.-samp / 255 ) * canvas.clientHeight; + + if( i == 0 ) + { + var x1 = i * canvas.clientWidth / samps; + var y1 = ( 1.-lastsamp / 255 ) * canvas.clientHeight; + ctx.moveTo( x1, y1 ); + } + + ctx.lineTo( x2, y2 ); + + lastsamp = samp; + } + ctx.stroke(); + + var samp = parseInt( data.substr(i*2,2),16 ); + + OScopeDataTicker(); +} + +function OScopeDataTicker() +{ + if( IsTabOpen('OScope') && !pause_oscilloscope ) + { + is_oscilloscope_running = true; + QueueOperation( "CM", GotOScope ); + } + else + { + is_oscilloscope_running = 0; + } + $( "#OScopePauseButton" ).css( "background-color", (is_oscilloscope_running&&!pause_oscilloscope)?"green":"red" ); +} + + + + + + + + + +is_dft_running = false; +pause_dft = false; + +function KickDFT() +{ + $( "#DFTPauseButton" ).css( "background-color", (is_dft_running&&!pause_dft)?"green":"red" ); + if( !is_dft_running && !pause_dft ) + DFTDataTicker(); +} + + + +function ToggleDFTPause() +{ + pause_dft = !pause_dft; + KickDFT(); +} + +function GotDFT(req,data) +{ + var canvas = document.getElementById('DFTCanvas'); + var ctx = canvas.getContext('2d'); + var h = canvas.height; + var w = canvas.width; + if( ctx.canvas.width != canvas.clientWidth ) ctx.canvas.width = canvas.clientWidth; + if( ctx.canvas.height != canvas.clientHeight ) ctx.canvas.height = canvas.clientHeight; + + var secs = data.split( ":" ); + + $( "#DFTPauseButton" ).css( "background-color", "green" ); + + var samps = Number( secs[1] ); + var data = secs[2]; + var lastsamp = parseInt( data.substr(0,4),16 ); + ctx.clearRect( 0, 0, canvas.width, canvas.height ); + ctx.beginPath(); + + for( var i = 0; i < samps; i++ ) + { + var x2 = i * canvas.clientWidth / samps; + var samp = parseInt( data.substr(i*4,4),16 ); + var y2 = ( 1.-samp / 2047 ) * canvas.clientHeight; + + ctx.fillStyle = CCColor( i % globalParams["rFIXBPERO"] ); + ctx.fillRect( x2, y2, canvas.clientWidth / samps, canvas.clientHeight-y2 ); + + ctx.strokeStyle = "#000000"; + ctx.strokeRect( x2, y2, canvas.clientWidth / samps, canvas.clientHeight-y2 ); + } + ctx.stroke(); + + var samp = parseInt( data.substr(i*2,2),16 ); + + DFTDataTicker(); +} + +function DFTDataTicker() +{ + if( IsTabOpen('DFT') && !pause_dft ) + { + is_dft_running = true; + QueueOperation( "CB" + $("#WhichCanvas").val(), GotDFT ); + } + else + { + is_dft_running = 0; + } + $( "#DFTPauseButton" ).css( "background-color", (is_dft_running&&!pause_dft)?"green":"red" ); +} + + + + + + + +is_leds_running = false; +pause_led = false; + +function KickLEDs() +{ + $( "#LEDPauseButton" ).css( "background-color", (is_leds_running&&!pause_led)?"green":"red" ); + + if( !is_leds_running && !pause_led ) + LEDDataTicker(); + +} + +function ToggleLEDPause() +{ + pause_led = !pause_led; + KickLEDs(); +} + + +function GotLED(req,data) +{ + var ls = document.getElementById('LEDCanvasHolder'); + var canvas = document.getElementById('LEDCanvas'); + var ctx = canvas.getContext('2d'); + var h = ls.height; + var w = ls.width; + if( canvas.width != ls.clientWidth-10 ) canvas.width = ls.clientWidth-10; + if( ctx.canvas.width != canvas.clientWidth ) ctx.canvas.width = canvas.clientWidth; + + var secs = data.split( ":" ); + + $( "#LEDPauseButton" ).css( "background-color", "green" ); + + var samps = Number( secs[1] ); + var data = secs[2]; + var lastsamp = parseInt( data.substr(0,4),16 ); + ctx.clearRect( 0, 0, canvas.width, canvas.height ); + + for( var i = 0; i < samps; i++ ) + { + var x2 = i * canvas.clientWidth / samps; + var samp = data.substr(i*6,6); + var y2 = ( 1.-samp / 2047 ) * canvas.clientHeight; + + ctx.fillStyle = "#" + samp.substr( 2, 2 ) + samp.substr( 0, 2 ) + samp.substr( 4, 2 ); + ctx.lineWidth = 0; + ctx.fillRect( x2, 0, canvas.clientWidth / samps+1, canvas.clientHeight ); + } + + var samp = parseInt( data.substr(i*2,2),16 ); + + LEDDataTicker(); +} + +function LEDDataTicker() +{ + if( IsTabOpen('LEDs') && !pause_led ) + { + is_leds_running = true; + QueueOperation( "CL", GotLED ); + } + else + { + is_leds_running = 0; + } + $( "#LEDPauseButton" ).css( "background-color", (is_leds_running&&!pause_led)?"green":"red" ); + +} + + + + + + + + + + +is_notes_running = false; +pause_notes = false; + +function KickNotes() +{ + $( "#NotesPauseButton" ).css( "background-color", (is_notes_running&&!pause_notes)?"green":"red" ); + + if( !is_notes_running && !pause_notes ) + NotesTicker(); +} + + + +function ToggleNotesPause() +{ + pause_notes = !pause_notes; + KickNotes(); +} + +function GotNotes(req,data) +{ + var canvas = document.getElementById('NotesCanvas'); + var ctx = canvas.getContext('2d'); + + var secs = data.split( ":" ); + + var elems = Number(secs[1] ); + + ctx.canvas.width = 400; + ctx.canvas.height = elems*25; + + + $( "#NotesPauseButton" ).css( "background-color", "green" ); + + var data = secs[2]; + ctx.fillStyle = "#000000"; + ctx.font = "18px serif" + ctx.fillRect( 0, 0, canvas.width, canvas.height ); + + for( var i = 0; i < elems; i++ ) + { + var peak = parseInt( data.substr(i*12+0,2),16 ); + var amped = parseInt( data.substr(i*12+2,4),16 ); + var amped2 = parseInt( data.substr(i*12+6,4),16 ); + var jump = parseInt( data.substr(i*12+10,2),16 ); + + if( peak == 255 ) + { + ctx.fillStyle = "#ffffff"; + ctx.fillText( jump, 10, i*25 + 20 ); + continue; + } + + ctx.fillStyle = CCColorDetail( peak ); + ctx.lineWidth = 0; + ctx.fillRect( 0, i*25, 100,25); + ctx.fillRect( 101, i*25, amped/200,25); + ctx.fillRect( 229, i*25, amped2/200,25); + + ctx.fillStyle = "#000000"; + ctx.fillText( peak, 10, i*25 + 20 ); + ctx.fillStyle = "#ffffff"; + ctx.fillText( amped, 121, i*25 + 20 ); + ctx.fillText( amped2, 240, i*25 + 20 ); + } + + var samp = parseInt( data.substr(i*2,2),16 ); + + NotesTicker(); +} + +function NotesTicker() +{ + if( IsTabOpen('Notes')&& !pause_notes ) + { + is_notes_running = true; + QueueOperation( "CN", GotNotes ); + } + else + { + is_notes_running = 0; + } + $( "#NotesPauseButton" ).css( "background-color", (is_notes_running&&!pause_notes)?"green":"red" ); +} + + + + + + +did_wifi_get_config = false; +is_data_ticker_running = false; + +function KickWifiTicker() +{ + if( !is_data_ticker_running ) + WifiDataTicker(); +} + +function BSSIDClick( i ) +{ + var tlines = wifilines[i]; + document.wifisection.wifitype.value = 1; + document.wifisection.wificurname.value = tlines[0].substr(1); + document.wifisection.wificurpassword.value = ""; + document.wifisection.wifimac.value = tlines[1]; + document.wifisection.wificurchannel.value = 0; + + return false; +} + +function WifiDataTicker() +{ + if( IsTabOpen('WifiSettings') ) + { + is_data_ticker_running = true; + + if( !did_wifi_get_config ) + { + QueueOperation( "WI", function(req,data) + { + var params = data.split( "\t" ); + + document.wifisection.wifitype.value = Number( params[0].substr(2) ); + document.wifisection.wificurname.value = params[1]; + document.wifisection.wificurpassword.value = params[2]; + document.wifisection.wifimac.value = params[3]; + document.wifisection.wificurchannel.value = Number( params[4] ); + + did_wifi_get_config = true; + } ); + } + + QueueOperation( "WR", function(req,data) { + var lines = data.split( "\n" ); + var innerhtml; + if( lines.length < 3 ) + { + innerhtml = "No APs found. Did you scan?"; + } + else + { + innerhtml = "" + wifilines = []; + for( i = 1; i < lines.length-1; i++ ) + { + tlines = lines[i].split( "\t" ); + wifilines.push(tlines); + var bssidval = "" + tlines[1]; + innerhtml += ""; + } + } + innerhtml += "
SSIDMACRSChEnc
" + tlines[0].substr(1) + "" + bssidval + "" + tlines[2] + "" + tlines[3] + "" + tlines[4] + "
"; + document.getElementById("WifiStations").innerHTML = innerhtml; + } ); + setTimeout( WifiDataTicker, 500 ); + } + else + { + is_data_ticker_running = 0; + } +} + +function ChangeWifiConfig() +{ + + var st = "W"; + st += document.wifisection.wifitype.value; + st += "\t" + document.wifisection.wificurname.value; + st += "\t" + document.wifisection.wificurpassword.value; + st += "\t" + document.wifisection.wifimac.value; + st += "\t" + document.wifisection.wificurchannel.value; + QueueOperation( st ); + did_wifi_get_config = false; +} + + + + +function TwiddleGPIO( gp ) +{ + var st = "GF"; + st += gp; + QueueOperation( st ); +} + +function GPIOInput( gp ) +{ + var st = "GI"; + st += gp; + QueueOperation( st ); +} + +function GPIOUpdate(req,data) { + var secs = data.split( ":" ); + var op = 0; + var n = Number(secs[2]); + var m = Number(secs[1]); + + for( op = 0; op < 16; op++ ) + { + var b = $( "#ButtonGPIO" + op ); + if( b ) + { + if( 1<> 1; + } + else if( renote < (third<<1) ) + { + //Red to Blue + hue = (third-renote); + } + else + { + //hue = ((((65535-renote)>>8) * (uint32_t)(third>>8)) >> 1) + (third<<1); + hue = (((65536-renote)<<16) / (third<<1)) + (third>>1); // ((((65535-renote)>>8) * (uint32_t)(third>>8)) >> 1) + (third<<1); + } + hue >>= 8; + + return EHSVtoHEX( hue, sat, val ); +} + +function EHSVtoHEX( hue, sat, val ) //0..255 for all +{ + var SIXTH1 = 43; + var SIXTH2 = 85; + var SIXTH3 = 128; + var SIXTH4 = 171; + var SIXTH5 = 213; + + var or = 0, og = 0, ob = 0; + + hue -= SIXTH1; //Off by 60 degrees. + + hue = (hue+256)%256; + //TODO: There are colors that overlap here, consider + //tweaking this to make the best use of the colorspace. + + if( hue < SIXTH1 ) //Ok: Yellow->Red. + { + or = 255; + og = 255 - (hue * 255) / (SIXTH1); + } + else if( hue < SIXTH2 ) //Ok: Red->Purple + { + or = 255; + ob = hue*255 / SIXTH1 - 255; + } + else if( hue < SIXTH3 ) //Ok: Purple->Blue + { + ob = 255; + or = ((SIXTH3-hue) * 255) / (SIXTH1); + } + else if( hue < SIXTH4 ) //Ok: Blue->Cyan + { + ob = 255; + og = (hue - SIXTH3)*255 / SIXTH1; + } + else if( hue < SIXTH5 ) //Ok: Cyan->Green. + { + og = 255; + ob = ((SIXTH5-hue)*255) / SIXTH1; + } + else //Green->Yellow + { + og = 255; + or = (hue - SIXTH5) * 255 / SIXTH1; + } + + var rv = val; + if( rv > 128 ) rv++; + var rs = sat; + if( rs > 128 ) rs++; + + //or, og, ob range from 0...255 now. + //Need to apply saturation and value. + + or = (or * val)>>8; + og = (og * val)>>8; + ob = (ob * val)>>8; + + //OR..OB == 0..65025 + or = or * rs + 255 * (256-rs); + og = og * rs + 255 * (256-rs); + ob = ob * rs + 255 * (256-rs); +//printf( "__%d %d %d =-> %d\n", or, og, ob, rs ); + + or >>= 8; + og >>= 8; + ob >>= 8; + + if( or > 255 ) or = 255; + if( og > 255 ) og = 255; + if( ob > 255 ) ob = 255; + + return "#" + tohex8(og) + tohex8(or) + tohex8(ob); +} + +function tohex8( c ) +{ + var hex = c.toString(16); + return hex.length == 1 ? "0" + hex : hex; +} diff --git a/embedded8266/web/page/test.txt b/embedded8266/web/page/test.txt deleted file mode 100644 index 9daeafb..0000000 --- a/embedded8266/web/page/test.txt +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/embedded8266/web/page/wstest.html b/embedded8266/web/page/wstest.html deleted file mode 100644 index cbc343c..0000000 --- a/embedded8266/web/page/wstest.html +++ /dev/null @@ -1,10 +0,0 @@ - - -WebSocket Test - - - -

WebSocket Test

-
- - diff --git a/embedded8266/web/page/wstest.js b/embedded8266/web/page/wstest.js deleted file mode 100644 index 661ed2c..0000000 --- a/embedded8266/web/page/wstest.js +++ /dev/null @@ -1,86 +0,0 @@ -var wsUri = "ws://" + location.host + "/d/ws/echo"; - -var output; - -function init() -{ - output = document.getElementById("output"); - console.log( wsUri ); - testWebSocket(); -} - -function testWebSocket() -{ - websocket = new WebSocket(wsUri); - websocket.onopen = function(evt) { onOpen(evt) }; - websocket.onclose = function(evt) { onClose(evt) }; - websocket.onmessage = function(evt) { onMessage(evt) }; - websocket.onerror = function(evt) { onError(evt) }; -} - -function repeatsend() -{ - doSend('Hello!' ); - setTimeout( repeatsend, 1000 ); -} - -function onOpen(evt) -{ - writeToScreen("CONNECTED"); - doSend('Hello.' ); - //repeatsend(); - // doSend('{"args": ["entity", 1000], "kwargs": {}, "op": "ClientUpdater__requestUpdates", "seq": 1, "context": ["ClientUpdater", 0]}'); -} - -function onClose(evt) -{ - writeToScreen("DISCONNECTED"); -} - -var msg = 0; -var tickmessage = 0; -var lasthz = 0; - -function Ticker() -{ - lasthz = msg - tickmessage; - tickmessage = msg; - setTimeout( Ticker, 1000 ); -} - -function onMessage(evt) -{ -// eval( evt.data ); - - output.innerHTML = msg++ + " " + lasthz; - doSend('x' ); - - // obj = JSON.parse(evt.data); - // console.log( obj ); - // writeToScreen('RESPONSE: ' + evt.data+''); - // websocket.close(); -} - -function onError(evt) -{ - writeToScreen('ERROR: ' + evt.data); -} - -function doSend(message) -{ - writeToScreen("SENT: " + message); - websocket.send(message); -} - -function writeToScreen(message) -{ - var pre = document.createElement("p"); - pre.style.wordWrap = "break-word"; - pre.innerHTML = message; - output.appendChild(pre); -} - -window.addEventListener("load", init, false); - -Ticker(); - diff --git a/embedded8266/web/pushtodev.c b/embedded8266/web/pushtodev.c index 615db44..6373b1b 100644 --- a/embedded8266/web/pushtodev.c +++ b/embedded8266/web/pushtodev.c @@ -84,7 +84,7 @@ int main(int argc, char**argv) servaddr.sin_port=htons(7878); int devo = 0; - int lastsector = -1; + int lastsector_block = -1; int resend_times = 0; int r; while( !feof( f ) ) @@ -96,9 +96,10 @@ int main(int argc, char**argv) int reads = fread( buffer, 1, 1024, f ); int sendplace = offset + devo; int sendsize = reads; - int sector = sendplace / sector_SIZE; - if( sector != lastsector ) +#ifdef SECTOR + int sector = sendplace / sector_SIZE; + if( sector != lastsector_block ) { char se[64]; int sel = sprintf( se, "FE%d\r\n", sector ); @@ -120,9 +121,36 @@ int main(int argc, char**argv) exit( -6 ); } - lastsector = sector; + lastsector_block = sector; } +#else //block + int block = sendplace / 65536; + if( block != lastsector_block ) + { + char se[64]; + int sel = sprintf( se, "FB%d\r\n", block ); + + thissuccess = 0; + for( tries = 0; tries < 10; tries++ ) + { + char match[75]; + printf( "Erase: %d\n", block ); + sendto( sockfd, se, sel, MSG_NOSIGNAL, (struct sockaddr *)&servaddr,sizeof(servaddr)); + sprintf( match, "FB%d", block ); + + if( PushMatch(match) == 0 ) { thissuccess = 1; break; } + printf( "Retry.\n" ); + } + if( !thissuccess ) + { + fprintf( stderr, "Error: Timeout in communications.\n" ); + exit( -6 ); + } + + lastsector_block = block; + } +#endif resend_times = 0; resend: r = sprintf( bufferout, "FW%d:%d:", sendplace, sendsize );