#include "rca.h" #include "ESP8266.h" #include #include #include "../examples_gdef.h" #define WMODE_STATION bool setup_done = false; void setup() { int ret; Serial.println("Echo Server : Start!"); ret = WiFi.begin(Serial5, 115200); if(ret == 1) { Serial.print("Cannot communicate with ESP8266."); while(1); } else if(ret == 2) { Serial.println("FW Version mismatch."); Serial.print("FW Version:"); Serial.println(WiFi.getVersion().c_str()); Serial.print("Supported FW Version:"); Serial.print(ESP8266_SUPPORT_VERSION); while(1); } else { Serial.print("begin ok\r\n"); } Serial.print("FW Version:"); Serial.println(WiFi.getVersion().c_str()); #ifdef WMODE_STATION if (WiFi.setOprToStation()) { Serial.print("to station ok\r\n"); } else { Serial.print("to station err\r\n"); } if (WiFi.joinAP(STA_SSID, STA_PASSWORD)) { Serial.print("Join AP success\r\n"); Serial.print("IP: "); Serial.println(WiFi.getLocalIP().c_str()); } else { Serial.print("Join AP failure\r\n"); while(1); } #else /* !WMODE_STATION */ if (WiFi.setOprToSoftAP()) { Serial.print("to softap ok\r\n"); } else { Serial.print("to softap err\r\n"); } if(WiFi.setSoftAPParam(AP_SSID, AP_PASSWORD, 7, 0)){ Serial.print("Set SoftAP success\r\n"); Serial.print("IP: "); Serial.println(WiFi.getLocalIP().c_str()); } else { Serial.print("Set SoftAP failure\r\n"); } #endif /* WMODE_STATION */ if (WiFi.enableMUX()) { Serial.print("multiple ok\r\n"); } else { Serial.print("multiple err\r\n"); while(1); } if (WiFi.startTCPServer(80)) { Serial.print("start tcp server ok\r\n"); } else { Serial.print("start tcp server err\r\n"); while(1); } if (WiFi.setTCPServerTimeout(60)) { Serial.print("set tcp server timout 60 seconds\r\n"); } else { Serial.print("set tcp server timout err\r\n"); while(1); } Serial.print("setup end\r\n"); setup_done = true; } #define MUX_NULL 0xff uint8_t mux_id_ptn; uint8_t mux_id = MUX_NULL; uint8_t task1_mux_id = MUX_NULL; uint16_t pixy_blocks = 0; char pixy_buf[16][128]; void loop() { char buf[128]; uint8_t pre_mux_id_ptn; delay(1); /* Check Connection Status */ pre_mux_id_ptn = mux_id_ptn; if(!WiFi.getMuxCStatus(&mux_id_ptn)) { Serial.println("getMuxCStatus(&mux_id_ptn) : Error!"); } else { if (pre_mux_id_ptn != mux_id_ptn) { Serial.print("Connection Status changed! : 0x"); Serial.println(mux_id_ptn, HEX); if (mux_id_ptn & 0x01) { mux_id = 0; } if (mux_id_ptn & 0x02) { task1_mux_id = 1; } } } if (mux_id == MUX_NULL) { return; } if (!WiFi.isConnected(mux_id)) { Serial.print("Echo Server : Port is closed: "); Serial.println(mux_id); mux_id = MUX_NULL; return; } if(pixy_blocks != 0) { sprintf(buf, "Detected %d:\n", pixy_blocks); WiFi.send(mux_id, (uint8_t*)buf, strlen(buf)); for (int j=0; j>10; //sprintf(buf, "%ld\n", vel); //Serial.print(buf); m_pos += vel; if (m_pos>PIXY_RCS_MAX_POS) m_pos = PIXY_RCS_MAX_POS; else if (m_pos 16) { blocks = 16; } pixy_blocks = blocks; for (j=0; j