#include /* PIP NEWFILE.C=MYFILE.C[Z] to remove high bit garbage */ char str1[255]; /* general purpose global string */ char str2[255]; /* yes pointers are better, but possibly */ char str3[255]; /* this is safer with stack overrun errors */ char strfilt[20]; int intfilt; char bargraph; main() { intfilt = 0; bargraph = 0x01; /* demo for the 8 leds */ incbar(); printf("ESP8266 Test Program\n"); resetESP(); listen1sec(); incbar(); /* AT(); */ /* listen1sec(); */ /* incbar(); */ CWMODE(); listen1sec(); incbar(); /* CWLAP(); listen1sec(); listen1sec(); listen1sec(); incbar(); */ CWJAP(); listen1sec(); listen1sec(); listen1sec(); incbar(); CIPMUX(); listen1sec(); /* listen1sec(); */ incbar(); /* now either call google, or xively or some other site */ /* XivelyPut(); */ /* XivelyGet(); */ /* Google(); */ telnet(); /* ftp(); */ } listen1sec() { int i; for (i=0;i<30000;i++) { port4term(); } } resetESP() { outp(0x7E,255); outp(0x7E,0); outp(0x7E,255); /* toggle the esp reset pin */ } port4term() { char c; int n; n = ac4in(); if (n != -1) { c = n; if (((c>31) && (c<128)) || (c==10) || (c==13)) { printf("%c",c); } } } incbar() { bargraph = (((bargraph+1) *2 ) -1); outp(0x7f,bargraph); } int ac0in() /* returns integer, not char, and -1 is no char */ { int n; char b,c; n = -1; b = inp(0x80); b = b & 0x01; if (b == 1) { c = inp(0x81); n = c; } return n; } int ac1in() /* returns integer, not char, and -1 is no char */ { int n; char b,c; n = -1; b = inp(0x82); b = b & 0x01; if (b == 1) { c = inp(0x83); n = c; } return n; } int ac4in() /* returns integer, not char, and -1 is no char */ { int n; char b,c; n = -1; b = inp(0x90); b = b & 0x01; if (b == 1) { c = inp(0x91); n = c; } return n; } ac4out(c) /* output c to port 4 esp8266 port */ char c; { char d; do { d = inp(0x90); d = d & 0x2; /* mask bit 1 */ } while (d != 2); outp(0x91,c); /* ok to output now */ } printf4() /* output str1 to port4 */ { int i; /* printf("Send: "); */ for(i=0;i0 ) { intfilt = intfilt - 1; returnval = c; /* pass through */ } if (intfilt == 0) { if(strfilt[0] != '+') { strfilt[0] = 0; } if (c == '+') { strfilt[0] = '+'; strfilt[1] = 0; } if ((strfilt[0] == '+') && (c != '+')) { i = strlen(strfilt); strfilt[i] = c; strfilt[i+1] = 0; } if (strlen(strfilt) >18) { strfilt[0] = 0; } if (c==':') { x = strlen(strfilt) - 2; while ((x>0) && (strfilt[x] != ',')) { intfilt = intfilt + ((strfilt[x]-48) * units); units = units * 10; x = x - 1; } strfilt[0] = 0; } } return returnval; }