void CUIChangeWeather::Init(CUIXml& xml_doc){ CUIXmlInit::InitWindow(xml_doc, "change_weather", 0, this); CUIXmlInit::InitStatic(xml_doc, "change_weather:header", 0, header); CUIXmlInit::InitStatic(xml_doc, "change_weather:background", 0, bkgrnd); string256 _path; for (int i = 0; i<4; i++){ sprintf_s(_path, "change_weather:btn_%d", i + 1); CUIXmlInit::Init3tButton(xml_doc, _path, 0, btn[i]); sprintf_s(_path, "change_weather:txt_%d", i + 1); CUIXmlInit::InitStatic(xml_doc, _path, 0, m_data[i].m_static); } CUIXmlInit::Init3tButton(xml_doc, "change_weather:btn_cancel", 0, btn_cancel); ParseWeather(); }
int main(void){ char* lab_greeting = "Smart \"Mirror\"!"; DisableInterrupts(); PLL_Init(Bus80MHz); Output_Init(); // UART0 only used for debugging ST7735_Output_Init(); PortF_Init(); PortE_Init(); printf("\n\r-----------\n\rSystem starting...\n\r"); ESP8266_Init(115200); // connect to access point, set up as client ESP8266_GetVersionNumber(); while(1){ if(last_mode != mode){ refresh =1; last_mode = mode; memset(ResponseJson, 0, SERVER_RESPONSE_SIZE * sizeof(ResponseJson[0])); } if(mode==0&&refresh){ refresh = 0; ST7735_FillScreen(0); ST7735_DrawString(0,0, lab_greeting, ST7735_WHITE); ST7735_DrawString(0,1, "MODE: WEATHER", ST7735_GREEN); ESP8266_GetStatus(); if(ESP8266_MakeTCPConnection("kylepolansky.dyndns.org")){ // open socket in server LED_GreenOn(); ESP8266_SendTCP(Fetch_Kyle); } ESP8266_CloseTCPConnection(); ParseWeather(ResponseJson); printf("START RESPONSE\n"); printf(ResponseJson); printf("STOP RESPONSE\n"); } else if(mode==1&&refresh){ refresh = 0; ST7735_FillScreen(0); ST7735_DrawString(0,0, lab_greeting, ST7735_WHITE); ST7735_DrawString(0,1, "MODE: TIME", ST7735_GREEN); ESP8266_GetStatus(); if(ESP8266_MakeTCPConnection("kylepolansky.dyndns.org")){ // open socket in server LED_GreenOn(); ESP8266_SendTCP(Fetch_Kyle); } ESP8266_CloseTCPConnection(); ParseTime(ResponseJson); printf("START RESPONSE\n"); printf(ResponseJson); printf("STOP RESPONSE\n"); } else if(mode==2&&refresh){ refresh = 0; ST7735_FillScreen(0); ST7735_DrawString(0,0, lab_greeting, ST7735_WHITE); ST7735_DrawString(0,1, "MODE: REMINDERS", ST7735_GREEN); ESP8266_GetStatus(); if(ESP8266_MakeTCPConnection("kylepolansky.dyndns.org")){ // open socket in server LED_GreenOn(); ESP8266_SendTCP(Fetch_Kyle); } ESP8266_CloseTCPConnection(); ParseReminders(ResponseJson); printf("START RESPONSE\n"); printf(ResponseJson); printf("STOP RESPONSE\n"); } else if(mode==3&&refresh){ refresh = 0; ST7735_FillScreen(0); ST7735_DrawString(0,0, lab_greeting, ST7735_WHITE); ST7735_DrawString(0,1, "MODE: NEWS", ST7735_GREEN); ESP8266_GetStatus(); if(ESP8266_MakeTCPConnection("kylepolansky.dyndns.org")){ // open socket in server LED_GreenOn(); ESP8266_SendTCP(Fetch_Kyle); } ESP8266_CloseTCPConnection(); ParseHeadline(ResponseJson); printf("START RESPONSE\n"); printf(ResponseJson); printf("STOP RESPONSE\n"); } else if(mode==4&&refresh){ refresh = 0; ST7735_FillScreen(0); ST7735_DrawString(0,0, lab_greeting, ST7735_WHITE); ST7735_DrawString(0,1, "MODE: STOCK", ST7735_GREEN); ESP8266_GetStatus(); if(ESP8266_MakeTCPConnection("kylepolansky.dyndns.org")){ // open socket in server LED_GreenOn(); ESP8266_SendTCP(Fetch_Kyle); } ESP8266_CloseTCPConnection(); ParseStock(ResponseJson); printf("START RESPONSE\n"); printf(ResponseJson); printf("STOP RESPONSE\n"); } } }