/*********************************************************** *功能: 在OLED上显示信息 *形参: * 无 *返回: * 无 *说明: 前三行即DisplayDebug[0]到DisplayDebug[6],每行有两种信息,仅仅只是显示有关值,解释字符只可以有两个以内。 * 最后一行每次只可显示一种信息,可以根据按键调整显示信息的种类和其具有的值,可以有多个解释字符。 * 可以调整三种,分别位DisplayDebug[6],DisplayDbug[7]和ButtenDisplay.interval。 * 即前三行是输出信息,最后一行一般作为输入信息使用。 */ void DisplayOLED(void) { OLED_CLS(); OLED_Print_Str(0, 0, DisplayDebug[0].str); OLED_Print_Num(20, 0, DisplayDebug[0].num); //只可以有两个以内的解释字符 OLED_Print_Str(63, 0, DisplayDebug[1].str); OLED_Print_Num(85, 0, DisplayDebug[1].num); OLED_Print_Str(0, 2, DisplayDebug[2].str); OLED_Print_Num(20, 2, DisplayDebug[2].num); OLED_Print_Str(63, 2, DisplayDebug[3].str); OLED_Print_Num(85, 2, DisplayDebug[3].num); OLED_Print_Str(0, 4, DisplayDebug[4].str); OLED_Print_Num(20, 4, DisplayDebug[4].num); OLED_Print_Str(63, 4, DisplayDebug[5].str); OLED_Print_Num(85, 4, DisplayDebug[5].num); switch(ButtenDisplay.flag) { case 0: OLED_Print_Str(0, 6, DisplayDebug[6].str); OLED_Print_Num(85, 6, DisplayDebug[6].num); //最后一行可以有多个解释字符 break; case 1: OLED_Print_Str(0, 6, DisplayDebug[7].str); OLED_Print_Num(85, 6, DisplayDebug[7].num); break; case 2: OLED_Print_Str(0, 6, "interval:"); OLED_Print_Num(85, 6, ButtenDisplay.interval); //调整增减的步距 break; default: ; } }
void restoreFactorySettings() { wifi_station_disconnect(); wifi_set_opmode(0x3); //reset to STA+AP mode struct softap_config apConfig; wifi_softap_get_config(&apConfig); os_strncpy((char*)apConfig.ssid, "smartswitch", 18); apConfig.authmode = 0; //Disable security wifi_softap_set_config(&apConfig); struct station_config stconf; os_strncpy((char*)stconf.ssid, "", 2); os_strncpy((char*)stconf.password, "", 2); wifi_station_set_config(&stconf); OLED_CLS(); OLED_Print(2, 0, "RESET", 1); os_printf("Reset completed. Restarting system...\n"); ioOutput(0, GPIO_OUTPUT1); ioOutput(0, GPIO_OUTPUT2); while (!GPIO_INPUT_GET(GPIO_BUTTON1)) { os_printf("."); }; while (!GPIO_INPUT_GET(GPIO_BUTTON2)) { os_printf("."); }; system_restart(); }