From 3b00d9e08771db3112f72589a185ea15d6a2e08d Mon Sep 17 00:00:00 2001 From: cnlohr Date: Sat, 8 Aug 2015 00:20:22 -0400 Subject: [PATCH] Separate out code to handle web menu interface. --- embedded8266/common/http.c | 29 +- embedded8266/image.elf | Bin 464772 -> 465188 bytes embedded8266/user/user_main.c | 4 +- embedded8266/user/ws2812_i2s.c | 75 +++- embedded8266/user/ws2812_i2s.h | 12 +- embedded8266/web/page/index.html | 66 +--- embedded8266/web/page/main.js | 397 +-------------------- embedded8266/web/page/menuinterface.js | 473 +++++++++++++++++++++++++ 8 files changed, 597 insertions(+), 459 deletions(-) create mode 100644 embedded8266/web/page/menuinterface.js diff --git a/embedded8266/common/http.c b/embedded8266/common/http.c index 08545af..1cd79d0 100644 --- a/embedded8266/common/http.c +++ b/embedded8266/common/http.c @@ -23,8 +23,12 @@ ICACHE_FLASH_ATTR void HTTPHandleInternalCallback( ); ICACHE_FLASH_ATTR void HTTPClose( ) { - curhttp->state = HTTP_STATE_NONE; - espconn_disconnect( curhttp->socket ); + //This is dead code, but it is a testament to Charles. + //Do not do this here. Wait for the ESP to tell us the + //socket is successfully closed. + //curhttp->state = HTTP_STATE_NONE; + curhttp->state = HTTP_WAIT_CLOSE; + espconn_disconnect( curhttp->socket ); } @@ -32,7 +36,6 @@ void ICACHE_FLASH_ATTR HTTPGotData( ) { uint8 c; curhttp->timeout = 0; - while( curlen-- ) { c = HTTPPOP; @@ -109,7 +112,6 @@ void ICACHE_FLASH_ATTR HTTPGotData( ) } else { - //printf( "__HTTPCLose1\n" ); HTTPClose( ); } break; @@ -149,7 +151,6 @@ static void DoHTTP( uint8_t timed ) } else { - //printf( "HTTPCLose2\n"); HTTPClose( ); } } @@ -165,7 +166,6 @@ static void DoHTTP( uint8_t timed ) { if( curhttp->timeout++ > HTTP_SERVER_TIMEOUT ) { - //printf( "HTTPClose3\n" ); HTTPClose( ); } } @@ -177,8 +177,10 @@ void HTTPTick( uint8_t timed ) uint8_t i; for( i = 0; i < HTTP_CONNECTIONS; i++ ) { + if( curhttp ) { printf( "Unexpected Race Condition\n" );} curhttp = &HTTPConnections[i]; DoHTTP( timed ); + curhttp = 0; } } @@ -266,7 +268,7 @@ void ICACHE_FLASH_ATTR HTTPHandleInternalCallback( ) curhttp->isdone = 1; } -void InternalStartHTTP( ) +void ICACHE_FLASH_ATTR InternalStartHTTP( ) { int32_t clusterno; int8_t i; @@ -322,19 +324,24 @@ void InternalStartHTTP( ) LOCAL void ICACHE_FLASH_ATTR http_disconnetcb(void *arg) { struct espconn *pespconn = (struct espconn *) arg; - curhttp = (struct HTTPConnection * )pespconn->reverse; - curhttp->state = 0; + ((struct HTTPConnection * )pespconn->reverse)->state = 0; } -LOCAL void ICACHE_FLASH_ATTR -http_recvcb(void *arg, char *pusrdata, unsigned short length) +LOCAL void http_recvcb(void *arg, char *pusrdata, unsigned short length) { struct espconn *pespconn = (struct espconn *) arg; + //Though it might be possible for this to interrupt the other + //tick task, I don't know if this is actually a probelem. + //I'm adding this back-up-the-register just in case. + if( curhttp ) { printf( "Unexpected Race Condition\n" );} + curhttp = (struct HTTPConnection * )pespconn->reverse; curdata = (uint8*)pusrdata; curlen = length; HTTPGotData(); + curhttp = 0 ; + } void ICACHE_FLASH_ATTR diff --git a/embedded8266/image.elf b/embedded8266/image.elf index 9d72368acbae25c58728e4189d05eaf2d91efd6e..76d2887e394a8048e992e7cf30d9ed93a77faa67 100755 GIT binary patch delta 206566 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
  • knwtceg2lMt*q@Q9tdU2vJ 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 -z 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 T(2LUGD{$rhpS>UV&a(dl7Ona| diff --git a/embedded8266/user/user_main.c b/embedded8266/user/user_main.c index b04fa21..1d4b705 100644 --- a/embedded8266/user/user_main.c +++ b/embedded8266/user/user_main.c @@ -83,8 +83,6 @@ static void procTask(os_event_t *events) hpa_running = 0; } - CSTick( 0 ); - //For profiling so we can see how much CPU is spent in this loop. #ifdef PROFILE WRITE_PERI_REG( PERIPHS_GPIO_BASEADDR + GPIO_ID_PIN(0), 1 ); @@ -109,6 +107,8 @@ static void procTask(os_event_t *events) if( events->sig == 0 && events->par == 0 ) { + CSTick( 0 ); + //Idle Event. struct station_config wcfg; char stret[256]; diff --git a/embedded8266/user/ws2812_i2s.c b/embedded8266/user/ws2812_i2s.c index 88f8eb7..2953eea 100644 --- a/embedded8266/user/ws2812_i2s.c +++ b/embedded8266/user/ws2812_i2s.c @@ -45,8 +45,16 @@ Extra copyright info: //Creates an I2S SR of 93,750 Hz, or 3 MHz Bitclock (.333us/sample) // 12000000L/(div*bestbck*2) //It is likely you could speed this up a little. -#define WS_I2S_BCK 16 + +#ifdef WS2812_THREE_SAMPLE +#define WS_I2S_BCK 22 //Seems to work as low as 19, but is shakey at 18. #define WS_I2S_DIV 4 +#elif defined( WS2812_FOUR_SAMPLE ) +#define WS_I2S_BCK 17 //Seems to work as low as 14, shoddy at 13. +#define WS_I2S_DIV 4 +#else +#error You need to either define WS2812_THREE_SAMPLE or WS2812_FOUR_SAMPLE +#endif #ifndef i2c_bbpll #define i2c_bbpll 0x67 @@ -400,7 +408,16 @@ void ICACHE_FLASH_ATTR ws2812_init() //All functions below this line are Public Domain 2015 Charles Lohr. //this code may be used by anyone in any way without restriction or limitation. +#ifdef WS2812_THREE_SAMPLE +static const uint16_t bitpatterns[16] = { + 0b100100100100, 0b100100100110, 0b100100110100, 0b100100110110, + 0b100110100100, 0b100110100110, 0b100110110100, 0b100110110110, + 0b110100100100, 0b110100100110, 0b110100110100, 0b110100110110, + 0b110110100100, 0b110110100110, 0b110110110100, 0b110110110110, +}; + +#elif defined(WS2812_FOUR_SAMPLE) //Tricky, send out WS2812 bits with coded pulses, one nibble, then the other. static const uint16_t bitpatterns[16] = { 0b1000100010001000, 0b1000100010001110, 0b1000100011101000, 0b1000100011101110, @@ -408,14 +425,67 @@ static const uint16_t bitpatterns[16] = { 0b1110100010001000, 0b1110100010001110, 0b1110100011101000, 0b1110100011101110, 0b1110111010001000, 0b1110111010001110, 0b1110111011101000, 0b1110111011101110, }; +#endif void ws2812_push( uint8_t * buffer, uint16_t buffersize ) { - uint16_t * bufferpl = (uint16_t*)&i2sBlock[0]; uint16_t place; // while( !ws2812_dma_complete ); +#ifdef WS2812_THREE_SAMPLE + uint8_t * bufferpl = (uint8_t*)&i2sBlock[0]; + +// buffersize += 3; +// if( buffersize * 4 + 1 > WS_BLOCKSIZE ) return; + + int pl = 0; + int quit = 0; + + //Once for each led. + for( place = 0; !quit; place++ ) + { + uint8_t b; + b = buffer[pl++]; uint16_t c1a = bitpatterns[(b&0x0f)]; uint16_t c1b = bitpatterns[(b>>4)]; + b = buffer[pl++]; uint16_t c2a = bitpatterns[(b&0x0f)]; uint16_t c2b = bitpatterns[(b>>4)]; + b = buffer[pl++]; uint16_t c3a = bitpatterns[(b&0x0f)]; uint16_t c3b = bitpatterns[(b>>4)]; + b = buffer[pl++]; uint16_t c4a = bitpatterns[(b&0x0f)]; uint16_t c4b = bitpatterns[(b>>4)]; + + if( pl >= buffersize ) + { + quit = 1; + if( pl-1 >= buffersize ) c4a = c4b = 0; + if( pl-2 >= buffersize ) c3a = c3b = 0; + if( pl-3 >= buffersize ) c2a = c2b = 0; + if( pl-4 >= buffersize ) c1a = c1b = 0; + } + + //Order of bits on wire: Reverse from how they appear here. +#define STEP1(x) (c##x##b >> 4 ) +#define STEP2(x) ((c##x##b << 4 ) | ( c##x##a>>8 )) +#define STEP3(x) (c##x##a & 0xff ) + + *(bufferpl++) = STEP1(2); + *(bufferpl++) = STEP3(1); + *(bufferpl++) = STEP2(1); + *(bufferpl++) = STEP1(1); + + *(bufferpl++) = STEP2(3); + *(bufferpl++) = STEP1(3); + *(bufferpl++) = STEP3(2); + *(bufferpl++) = STEP2(2); + + *(bufferpl++) = STEP3(4); + *(bufferpl++) = STEP2(4); + *(bufferpl++) = STEP1(4); + *(bufferpl++) = STEP3(3); + } + + while( bufferpl < &((uint8_t*)i2sBlock)[WS_BLOCKSIZE] ) *(bufferpl++) = 0; + +#elif defined(WS2812_FOUR_SAMPLE) + uint16_t * bufferpl = (uint16_t*)&i2sBlock[0]; + if( buffersize * 4 > WS_BLOCKSIZE ) return; for( place = 0; place < buffersize; place++ ) @@ -424,6 +494,7 @@ void ws2812_push( uint8_t * buffer, uint16_t buffersize ) *(bufferpl++) = bitpatterns[(btosend&0x0f)]; *(bufferpl++) = bitpatterns[(btosend>>4)&0x0f]; } +#endif #ifdef USE_2812_INTERRUPTS diff --git a/embedded8266/user/ws2812_i2s.h b/embedded8266/user/ws2812_i2s.h index fff35cc..85609d7 100644 --- a/embedded8266/user/ws2812_i2s.h +++ b/embedded8266/user/ws2812_i2s.h @@ -13,9 +13,19 @@ //#define I2SDMABUFLEN (32*2) //Length of one buffer, in 32-bit words. //NOTE: Blocksize MUST be divisible by 4. Cannot exceed 4092 -//Each LED takes up 12 block bytes. +//Each LED takes up 12 block bytes in WS2812_FOUR_SAMPLE +//Or 9 block bytes in WS2812_THREE_SAMPLE #define WS_BLOCKSIZE 4000 +//You can either have 3 or 4 samples per bit for WS2812s. +//3 sample can't go quite as fast as 4. +//3 sample uses more processing when updating than 4. +//4 takes up more RAM per LED than 3. +//3 has slightly more restrictve timing requirements. +//4 has more DMA load when running. +#define WS2812_THREE_SAMPLE +//#define WS2812_FOUR_SAMPLE + void ICACHE_FLASH_ATTR ws2812_init(); void ws2812_push( uint8_t * buffer, uint16_t buffersize ); //Buffersize = Nr LEDs * 3 diff --git a/embedded8266/web/page/index.html b/embedded8266/web/page/index.html index 567515c..b0be515 100644 --- a/embedded8266/web/page/index.html +++ b/embedded8266/web/page/index.html @@ -1,7 +1,10 @@ + ColorChord Control Panel +

    ColorChord: Embedded


    - +
    - + - - -
    -
    -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
    - - -
    @@ -117,15 +70,16 @@ Command:
    - +
    - + - +

    Copyright (C) 2015 <>< Charles Lohr, See LICENSE file for more info.

    +
    ...
    diff --git a/embedded8266/web/page/main.js b/embedded8266/web/page/main.js index d89834b..7769d07 100644 --- a/embedded8266/web/page/main.js +++ b/embedded8266/web/page/main.js @@ -1,202 +1,27 @@ -var wsUri = "ws://" + location.host + "/d/ws/issue"; -var output; -var websocket; -var commsup = 0; +//Copyright (C) 2015 <>< Charles Lohr, see LICENSE file for more info. +// +//This particular file may be licensed under the MIT/x11, New BSD or ColorChord Licenses. + globalParams = {}; -//Push objects that have: -// .request -// .callback = function( ref (this object), data ); -var workqueue = []; -var wifilines = []; -var workarray = {}; -var lastitem; - -function QueueOperation( command, callback ) +function mainticker() { - if( workarray[command] == 1 ) - { - return; - } - - workarray[command] = 1; - var vp = new Object(); - vp.callback = callback; - vp.request = command; - workqueue.push( vp ); + QueueOperation( "CVR", ReceiveParameters ); + setTimeout( mainticker, 1000 ); } - -function init() +function maininit() { - $( ".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(); + setTimeout( mainticker, 1000 ); 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. - - - - - - +window.addEventListener("load", maininit, false); @@ -258,11 +83,6 @@ function ReceiveParameters(req,data) { - - - - - is_oscilloscope_running = false; pause_oscilloscope = false; @@ -585,203 +405,6 @@ function NotesTicker() - - -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; - - ClickOpmode( 1 ); - return false; -} - -function ClickOpmode( i ) -{ - if( i == 1 ) - { - document.wifisection.wificurname.disabled = false; - document.wifisection.wificurpassword.disabled = false; - document.wifisection.wifimac.disabled = false; - document.wifisection.wificurchannel.disabled = true; - } - else - { - document.wifisection.wificurname.disabled = false; - document.wifisection.wificurpassword.disabled = true; - document.wifisection.wificurpassword.value = ""; - document.wifisection.wifimac.disabled = true; - document.wifisection.wificurchannel.disabled = 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" ); - - var opmode = Number( params[0].substr(2) ); - document.wifisection.wifitype.value = opmode; - 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] ); - - ClickOpmode( opmode ); - 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<< Charles Lohr, see LICENSE file for more info. +// +//This particular file may be licensed under the MIT/x11, New BSD or ColorChord Licenses. +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 wifilines = []; +var workarray = {}; +var lastitem; + +var SystemMessageTimeout = null; +function IssueSystemMessage( msg ) +{ + var elem = $( "#SystemMessage" ); + elem.hide(); + elem.html( "" + msg + "" ); + elem.slideToggle( 'fast' ); + if( SystemMessageTimeout != null ) clearTimeout(SystemMessageTimeout); + SystemMessageTimeout = setTimeout( function() { SystemMessageTimeout = null; $( "#SystemMessage" ).fadeOut( 'slow' ) }, 3000 ); +} + +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() +{ + $('#MainMenu > tbody:first-child').before( "\ + \ + \ +
    \ +
    \ +
    \n
    " ); + + $('#MainMenu > tbody:last-child').after( "\ + \ + \ +
    \ +
    \ + 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
    "); + + + + + $( ".collapsible" ).each(function( index ) { + if( localStorage["sh" + this.id] > 0.5 ) + { + $( this ).show().toggleClass( 'opened' ); + } + }); + + $("#custom_command_response").val( "" ); + + + output = document.getElementById("output"); + Ticker(); + + KickWifiTicker(); + GPIODataTickerStart(); +} + +window.addEventListener("load", init, false); + + +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" ); + if( commsup != 0 && !is_waiting_on_stations ) IssueSystemMessage( "Comms Lost." ); + commsup = 0; + StartWebSocket(); + } + else + { + $('#SystemStatusClicker').prop( "value", "System " + lasthz + "Hz" ); + } +} + + +function onMessage(evt) +{ + msg++; + + + if( commsup != 1 ) + { + commsup = 1; + $('#SystemStatusClicker').css("color", "green" ); + IssueSystemMessage( "Comms Established." ); + } + + + 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 ); } ); +} + + + + + + + +did_wifi_get_config = false; +is_data_ticker_running = false; +is_waiting_on_stations = false; + +function ScanForWifi() +{ + QueueOperation('WS', null); + is_waiting_on_stations=true; + IssueSystemMessage( "Scanning for Wifi..." ); +} + +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; + + ClickOpmode( 1 ); + return false; +} + +function ClickOpmode( i ) +{ + if( i == 1 ) + { + document.wifisection.wificurname.disabled = false; + document.wifisection.wificurpassword.disabled = false; + document.wifisection.wifimac.disabled = false; + document.wifisection.wificurchannel.disabled = true; + } + else + { + document.wifisection.wificurname.disabled = false; + document.wifisection.wificurpassword.disabled = true; + document.wifisection.wificurpassword.value = ""; + document.wifisection.wifimac.disabled = true; + document.wifisection.wificurchannel.disabled = 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" ); + + var opmode = Number( params[0].substr(2) ); + document.wifisection.wifitype.value = opmode; + 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] ); + + ClickOpmode( opmode ); + 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?"; + if( is_waiting_on_stations ) + { + IssueSystemMessage( "No APs found." ); + is_waiting_on_stations = false; + } + } + else + { + if( is_waiting_on_stations ) + { + IssueSystemMessage( "Scan Complete." ); + is_waiting_on_stations = false; + } + + 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<