Version 1.4.4.
This commit is contained in:
parent
3af2b8d778
commit
f60c09907a
@ -1,9 +1,6 @@
|
||||
#ifndef DEFINES_GSR_H
|
||||
#define DEFINES_GSR_H
|
||||
|
||||
//debug
|
||||
#define USEDEBUG 0 // !0 is on, will not setup Serial OR print output if zero.
|
||||
|
||||
// WiFi
|
||||
#define WiFi_AP_SSID "Watchy Connect"
|
||||
#define WiFi_AP_PSWD "Watchy123"
|
||||
@ -16,7 +13,7 @@
|
||||
#define WiFi_DEF_PASS ""
|
||||
|
||||
// Battery
|
||||
#define MaxBattery 4.37
|
||||
#define GSR_MaxBattery 4.37
|
||||
|
||||
// functions
|
||||
#define roller(v,lo,hi) (((v)<(lo))?(hi):((v)>(hi))?(lo):(v))
|
||||
@ -24,71 +21,72 @@
|
||||
#define golow(v,hi) ((v)<(hi)?(v):(hi))
|
||||
|
||||
// Watch face states.
|
||||
#define WATCHON 0
|
||||
#define MENUON 1
|
||||
#define GSR_WATCHON 0
|
||||
#define GSR_MENUON 1
|
||||
|
||||
// Maximum styles possible.
|
||||
#define MaxStyles 25
|
||||
#define GSR_MaxStyles 25
|
||||
|
||||
// Nenu size defines.
|
||||
#define MenuWidth 200
|
||||
#define MenuHeight 83
|
||||
#define GSR_MenuWidth 200
|
||||
#define GSR_MenuHeight 83
|
||||
|
||||
// Menu offsets so I don't have to statically entere them everywhere.
|
||||
#define MENU_STEPS 0
|
||||
#define MENU_ALARMS 1
|
||||
#define MENU_TIMERS 2
|
||||
#define MENU_OPTIONS 3
|
||||
#define MENU_ALARM1 4
|
||||
#define MENU_ALARM2 5
|
||||
#define MENU_ALARM3 6
|
||||
#define MENU_ALARM4 7
|
||||
#define MENU_TONES 8
|
||||
#define MENU_TIMEDN 9
|
||||
#define MENU_TIMEUP 10
|
||||
#define MENU_STYL 11
|
||||
#define MENU_DISP 12
|
||||
#define MENU_BRDR 13
|
||||
#define MENU_SIDE 14
|
||||
#define MENU_SWAP 15
|
||||
#define MENU_ORNT 16
|
||||
#define MENU_MODE 17
|
||||
#define MENU_FEED 18
|
||||
#define MENU_TRBO 19
|
||||
#define MENU_DARK 20
|
||||
#define MENU_SAVE 21
|
||||
#define MENU_TPWR 22
|
||||
#define MENU_INFO 23
|
||||
#define MENU_TRBL 24
|
||||
#define MENU_SYNC 25
|
||||
#define MENU_WIFI 26
|
||||
#define MENU_OTAU 27
|
||||
#define MENU_OTAM 28
|
||||
#define MENU_SCRN 29
|
||||
#define MENU_RSET 30
|
||||
#define MENU_TOFF 31 // Time Diff offset.
|
||||
#define MENU_UNVS 32
|
||||
#define GSR_MENU_STEPS 0
|
||||
#define GSR_MENU_ALARMS 1
|
||||
#define GSR_MENU_TIMERS 2
|
||||
#define GSR_MENU_OPTIONS 3
|
||||
#define GSR_MENU_ALARM1 4
|
||||
#define GSR_MENU_ALARM2 5
|
||||
#define GSR_MENU_ALARM3 6
|
||||
#define GSR_MENU_ALARM4 7
|
||||
#define GSR_MENU_TONES 8
|
||||
#define GSR_MENU_TIMEDN 9
|
||||
#define GSR_MENU_TIMEUP 10
|
||||
#define GSR_MENU_STYL 11
|
||||
#define GSR_MENU_LANG 12
|
||||
#define GSR_MENU_DISP 13
|
||||
#define GSR_MENU_BRDR 14
|
||||
#define GSR_MENU_SIDE 15
|
||||
#define GSR_MENU_SWAP 16
|
||||
#define GSR_MENU_ORNT 17
|
||||
#define GSR_MENU_MODE 18
|
||||
#define GSR_MENU_FEED 19
|
||||
#define GSR_MENU_TRBO 20
|
||||
#define GSR_MENU_DARK 21
|
||||
#define GSR_MENU_SAVE 22
|
||||
#define GSR_MENU_TPWR 23
|
||||
#define GSR_MENU_INFO 24
|
||||
#define GSR_MENU_TRBL 25
|
||||
#define GSR_MENU_SYNC 26
|
||||
#define GSR_MENU_WIFI 27
|
||||
#define GSR_MENU_OTAU 28
|
||||
#define GSR_MENU_OTAM 29
|
||||
#define GSR_MENU_SCRN 30
|
||||
#define GSR_MENU_RSET 31
|
||||
#define GSR_MENU_TOFF 32 // Time Diff offset.
|
||||
#define GSR_MENU_UNVS 33
|
||||
|
||||
// Menu segments.
|
||||
#define MENU_INNORMAL 0
|
||||
#define MENU_INALARMS 1
|
||||
#define MENU_INTIMERS 2
|
||||
#define MENU_INOPTIONS 3
|
||||
#define MENU_INTROUBLE 4
|
||||
#define GSR_MENU_INNORMAL 0
|
||||
#define GSR_MENU_INALARMS 1
|
||||
#define GSR_MENU_INTIMERS 2
|
||||
#define GSR_MENU_INOPTIONS 3
|
||||
#define GSR_MENU_INTROUBLE 4
|
||||
|
||||
// Button debounce.
|
||||
#define KEYPAUSE 728
|
||||
#define GSR_KEYPAUSE 728
|
||||
|
||||
//ALARM flags.
|
||||
#define ALARM_REPEAT 128
|
||||
#define ALARM_ACTIVE 256
|
||||
#define ALARM_NOTRIGGER 511
|
||||
#define ALARM_TRIGGERED 512
|
||||
#define ALARM_DAYS 127
|
||||
#define ALARM_ALL 1023
|
||||
#define GSR_ALARM_REPEAT 128
|
||||
#define GSR_ALARM_ACTIVE 256
|
||||
#define GSR_ALARM_NOTRIGGER 511
|
||||
#define GSR_ALARM_TRIGGERED 512
|
||||
#define GSR_ALARM_DAYS 127
|
||||
#define GSR_ALARM_ALL 1023
|
||||
|
||||
// Setup lengths.
|
||||
#define AlarmSetup 1234567890
|
||||
#define GSR_AlarmSetup 1234567890
|
||||
|
||||
//pins
|
||||
#define RTC_INT_PIN GPIO_NUM_27
|
||||
@ -97,16 +95,16 @@
|
||||
#define EPD_RESET 9
|
||||
#define EPD_BUSY 19
|
||||
#define VIB_MOTOR_PIN 13
|
||||
#define MENU_PIN 26
|
||||
#define BACK_PIN 25
|
||||
#define DOWN_PIN 4
|
||||
#define MENU_MASK GPIO_SEL_26
|
||||
#define BACK_MASK GPIO_SEL_25
|
||||
#define DOWN_MASK GPIO_SEL_4
|
||||
#define GSR_MENU_PIN 26
|
||||
#define GSR_BACK_PIN 25
|
||||
#define GSR_DOWN_PIN 4
|
||||
#define GSR_MENU_MASK GPIO_SEL_26
|
||||
#define GSR_BACK_MASK GPIO_SEL_25
|
||||
#define GSR_DOWN_MASK GPIO_SEL_4
|
||||
#define ACC_INT_MASK GPIO_SEL_14
|
||||
|
||||
//SetCPU defines.
|
||||
#define CPUMAX 65280
|
||||
#define CPUDEF 65281
|
||||
#define CPUMID 65282
|
||||
#define GSR_CPUMAX 65280
|
||||
#define GSR_CPUDEF 65281
|
||||
#define GSR_CPUMID 65282
|
||||
#endif
|
||||
|
||||
3425
src/Fonts_GSR.h
Normal file
3425
src/Fonts_GSR.h
Normal file
File diff suppressed because it is too large
Load Diff
514
src/Locale_GSR.h
Normal file
514
src/Locale_GSR.h
Normal file
@ -0,0 +1,514 @@
|
||||
#ifndef Locale_GSR_H
|
||||
#define Locale_GSR_H
|
||||
/* This code is designed to allow for multi-lingual setup to happen with Watchy GSR.
|
||||
*/
|
||||
|
||||
class LocaleGSR {
|
||||
public:
|
||||
LocaleGSR() {};
|
||||
|
||||
/*
|
||||
* MaxLangID holds the maximum ID for language, done when more are added.
|
||||
*/
|
||||
|
||||
virtual uint8_t MaxLangID() final { return 0; };
|
||||
|
||||
/*
|
||||
* LangString:
|
||||
*
|
||||
* Values starting with 0 are encased in {% %} so they look like {%0%} and are replaced
|
||||
* with the language ID's id, calls for LangString will replace those with the values of
|
||||
* the stored strings, use the StartID and LastID to minimize the workload on specific
|
||||
* strings.
|
||||
*/
|
||||
|
||||
virtual String LangString(String Input, bool Web, uint8_t LangID = 0, uint8_t StartID = 0, uint8_t LastID = 0) final{
|
||||
String S = Input;
|
||||
S.replace("{%LANG%}",GetWebLang(LangID));
|
||||
if (LastID < StartID || (LastID + StartID) == 0) LastID = LocaleGSR::MaxLangID();
|
||||
for (int I = StartID; I <= LastID; I++) S.replace("{%" + String(I) + "%}",(Web ? LocaleGSR::GetWebID(LangID,I) : LocaleGSR::GetID(LangID,I)));
|
||||
return S;
|
||||
};
|
||||
|
||||
/*
|
||||
* GetFormatID is used to retrieve format information for specific watch face fields
|
||||
* by regional changes.
|
||||
*/
|
||||
|
||||
String GetFormatID(uint8_t LangID, uint8_t ID){
|
||||
switch(LangID){
|
||||
case 0:{
|
||||
switch(ID){
|
||||
case 0:
|
||||
return "{W}"; // Weekday.
|
||||
case 1:
|
||||
return "{M} {D}"; // Month & Date
|
||||
}
|
||||
}
|
||||
}
|
||||
return "None";
|
||||
};
|
||||
|
||||
/*
|
||||
* GetID, GetWebID are used by the LangString to retrieve those language changes per entry.
|
||||
* WebIDs are different from normal IDs as they're used in the OTA Website and are not limited
|
||||
* to the font limitations in the system.
|
||||
*/
|
||||
|
||||
String GetID(uint8_t LangID, uint8_t ID){
|
||||
switch(LangID){
|
||||
case 0:{
|
||||
switch(ID){
|
||||
case 0:
|
||||
return "Classic GSR"; // Watchface 0.
|
||||
case 1:
|
||||
return "--"; // Placeholder
|
||||
case 2:
|
||||
return "Tomorrow";
|
||||
case 3:
|
||||
return "Reset Today";
|
||||
case 4:
|
||||
return "Steps";
|
||||
case 5:
|
||||
return "Alarms";
|
||||
case 6:
|
||||
return "Timers";
|
||||
case 7:
|
||||
return "Options";
|
||||
case 8:
|
||||
return "Alarm 1 Time";
|
||||
case 9:
|
||||
return "A1 Tone Repeats";
|
||||
case 10:
|
||||
return "Alarm 1 Options";
|
||||
case 11:
|
||||
return "Alarm 1";
|
||||
case 12:
|
||||
return "Alarm 2 Time";
|
||||
case 13:
|
||||
return "A2 Tone Repeats";
|
||||
case 14:
|
||||
return "Alarm 2 Options";
|
||||
case 15:
|
||||
return "Alarm 2";
|
||||
case 16:
|
||||
return "Alarm 3 Time";
|
||||
case 17:
|
||||
return "A3 Tone Repeats";
|
||||
case 18:
|
||||
return "Alarm 3 Options";
|
||||
case 19:
|
||||
return "Alarm 3";
|
||||
case 20:
|
||||
return "Alarm 4 Time";
|
||||
case 21:
|
||||
return "A4 Tone Repeats";
|
||||
case 22:
|
||||
return "Alarm 4 Options";
|
||||
case 23:
|
||||
return "Alarm 4";
|
||||
case 24:
|
||||
return "Tone Repeats";
|
||||
case 25:
|
||||
return "Countdown Timer";
|
||||
case 26:
|
||||
return "Elapsed Timer";
|
||||
case 27:
|
||||
return "Watch Style";
|
||||
case 28:
|
||||
return "Display Style";
|
||||
case 29:
|
||||
return "Language";
|
||||
case 30:
|
||||
return "Border Mode";
|
||||
case 31:
|
||||
return "Dexterity";
|
||||
case 32:
|
||||
return "Menu & Back";
|
||||
case 33:
|
||||
return "Orientation";
|
||||
case 34:
|
||||
return "Time Mode";
|
||||
case 35:
|
||||
return "Feedback";
|
||||
case 36:
|
||||
return "Turbo Time";
|
||||
case 37:
|
||||
return "Screen Off";
|
||||
case 38:
|
||||
return "Screen Blanking";
|
||||
case 39:
|
||||
return "Screen Auto-Off";
|
||||
case 40:
|
||||
return "Sleeping Begins";
|
||||
case 41:
|
||||
return "Sleeping Ends";
|
||||
case 42:
|
||||
return "Orientation";
|
||||
case 43:
|
||||
return "Performance";
|
||||
case 44:
|
||||
return "WiFi Tx Power";
|
||||
case 45:
|
||||
return "Information";
|
||||
case 46:
|
||||
return "Troubleshoot";
|
||||
case 47:
|
||||
return "Sync Watchy";
|
||||
case 48:
|
||||
return "Watchy Connect";
|
||||
case 49:
|
||||
return "Upload Firmware";
|
||||
case 50:
|
||||
return "OTA Update";
|
||||
case 51:
|
||||
return "Visit Website";
|
||||
case 52:
|
||||
return "OTA Website";
|
||||
case 53:
|
||||
return "Reset Screen";
|
||||
case 54:
|
||||
return "Watchy Reboot";
|
||||
case 55:
|
||||
return "Return to RTC";
|
||||
case 56:
|
||||
return "Detect Travel";
|
||||
case 57:
|
||||
return "Storage Settings";
|
||||
case 58:
|
||||
return "Change Storage";
|
||||
case 59:
|
||||
return "Delete and Reboot";
|
||||
case 60:
|
||||
return "MENU to Reset";
|
||||
case 61:
|
||||
return "MENU to Select";
|
||||
case 62:
|
||||
return "MENU to Edit";
|
||||
case 63:
|
||||
return "Repeat";
|
||||
case 64:
|
||||
return "Active";
|
||||
case 65:
|
||||
return "repeats";
|
||||
case 66:
|
||||
return "MENU to Select";
|
||||
case 67:
|
||||
return "MENU to Change";
|
||||
case 68:
|
||||
return "Off";
|
||||
case 69:
|
||||
return "On";
|
||||
case 70:
|
||||
return "MENU to Enter";
|
||||
case 71:
|
||||
return "Light";
|
||||
case 72:
|
||||
return "Dark";
|
||||
case 73:
|
||||
return "Left-handed";
|
||||
case 74:
|
||||
return "Right-handed";
|
||||
case 75:
|
||||
return "Swapped";
|
||||
case 76:
|
||||
return "Normal";
|
||||
case 77:
|
||||
return "Watchy UP";
|
||||
case 78:
|
||||
return "Ignore";
|
||||
case 79:
|
||||
return "24 Hour";
|
||||
case 80:
|
||||
return "AM/PM";
|
||||
case 81:
|
||||
return "Enabled";
|
||||
case 82:
|
||||
return "Locked";
|
||||
case 83:
|
||||
return "Disabled";
|
||||
case 84:
|
||||
return "Always";
|
||||
case 85:
|
||||
return "Bed Time";
|
||||
case 86:
|
||||
return "Double Tap On";
|
||||
case 87:
|
||||
return "Double Tap Only";
|
||||
case 88:
|
||||
return "to";
|
||||
case 89:
|
||||
return "Version";
|
||||
case 90:
|
||||
return "Battery";
|
||||
case 91:
|
||||
return "Battery Saving";
|
||||
case 92:
|
||||
return "Turbo";
|
||||
case 93:
|
||||
return "MENU to Start";
|
||||
case 94:
|
||||
return "Time";
|
||||
case 95:
|
||||
return "TimeZone";
|
||||
case 96:
|
||||
return "TimeZone & Time";
|
||||
case 97:
|
||||
return "MENU to Begin";
|
||||
case 98:
|
||||
return "Starting AP";
|
||||
case 99:
|
||||
return "BACK to End";
|
||||
case 100:
|
||||
return "MENU to Connect";
|
||||
case 101:
|
||||
return "Connecting...";
|
||||
case 102:
|
||||
return "MENU to Agree";
|
||||
case 103:
|
||||
return "MENU to Reboot";
|
||||
case 104:
|
||||
return "Time Sync";
|
||||
case 105:
|
||||
return "Calculating";
|
||||
case 106:
|
||||
return "Bad RTC";
|
||||
case 107:
|
||||
return "No Drift";
|
||||
case 108:
|
||||
return "Menu to Disable";
|
||||
case 109:
|
||||
return "Menu to Enable";
|
||||
case 110:
|
||||
return "MENU to Keep";
|
||||
case 111:
|
||||
return "Delete and Reboot";
|
||||
case 112:
|
||||
return "seconds";
|
||||
case 113:
|
||||
return "second";
|
||||
case 114:
|
||||
return "PM";
|
||||
case 115:
|
||||
return "AM";
|
||||
case 116:
|
||||
return "Full";
|
||||
}
|
||||
}
|
||||
}
|
||||
return "None";
|
||||
};
|
||||
|
||||
String GetWebID(uint8_t LangID, uint8_t ID){
|
||||
switch(LangID){
|
||||
case 0:{
|
||||
switch(ID){
|
||||
case 0:
|
||||
return "Watchy WiFi TX Power"; // Why did I do this?
|
||||
case 1:
|
||||
return "Watchy Connect Options"; // 1 to 4 Index page
|
||||
case 2:
|
||||
return "Backup & Restore Settings";
|
||||
case 3:
|
||||
return "Edit Additional WiFi Access Points";
|
||||
case 4:
|
||||
return "Upload New Firmware";
|
||||
case 5:
|
||||
return "Watchy Backup & Restore Settings"; // 5 to 6 Settings page
|
||||
case 6:
|
||||
return "Store"; // WiFi D
|
||||
case 7:
|
||||
return "Watchy settings restored! OTA Website Off"; // 5 to 7 for Settings Done
|
||||
case 8:
|
||||
return "Watchy Upload New Firmware"; // 8 to 13 Upgrade
|
||||
case 9:
|
||||
return "Upload";
|
||||
case 10:
|
||||
return "Waiting";
|
||||
case 11:
|
||||
return "You must select a firmware [bin] to upload!";
|
||||
case 12:
|
||||
return "Progress";
|
||||
case 13:
|
||||
return "Success";
|
||||
case 14:
|
||||
return "Watchy Additional WiFi Access Point Settings"; // WiFi A
|
||||
case 15:
|
||||
return "PASS"; // WiFi C
|
||||
case 16:
|
||||
return "Watchy Additional APs updated! OTA Website Off";
|
||||
}
|
||||
}
|
||||
}
|
||||
return "None";
|
||||
};
|
||||
|
||||
/*
|
||||
* GetWebLang retrieves the current language for the OTA website (2 letters usually).
|
||||
*/
|
||||
|
||||
String GetWebLang(uint8_t LangID){
|
||||
switch(LangID){
|
||||
case 0:
|
||||
return "en";
|
||||
case 1:
|
||||
return "None";
|
||||
case 2:
|
||||
return "None";
|
||||
}
|
||||
return "None";
|
||||
};
|
||||
|
||||
/*
|
||||
* GetLangName retrieves the current language (typically written in that language).
|
||||
*/
|
||||
|
||||
String GetLangName(uint8_t LangID){
|
||||
switch(LangID){
|
||||
case 0:
|
||||
return "English";
|
||||
case 1:
|
||||
return "None";
|
||||
case 2:
|
||||
return "None";
|
||||
}
|
||||
return "None";
|
||||
};
|
||||
|
||||
/*
|
||||
* GetWeekday retrieves the current day of week in language (0 to 6 input starting from
|
||||
* Sunday)..
|
||||
*/
|
||||
|
||||
String GetWeekday(uint8_t LangID, uint8_t ID){
|
||||
switch(LangID){
|
||||
case 0:{
|
||||
switch(ID){
|
||||
case 0:
|
||||
return "Sunday";
|
||||
case 1:
|
||||
return "Monday";
|
||||
case 2:
|
||||
return "Tuesday";
|
||||
case 3:
|
||||
return "Wednesday";
|
||||
case 4:
|
||||
return "Thursday";
|
||||
case 5:
|
||||
return "Friday";
|
||||
case 6:
|
||||
return "Saturday";
|
||||
}
|
||||
}
|
||||
}
|
||||
return "None";
|
||||
};
|
||||
|
||||
/*
|
||||
* GetShortWeekday retrieves the current day of week in language (0 to 6 input starting from
|
||||
* Sunday)..
|
||||
*/
|
||||
|
||||
String GetShortWeekday(uint8_t LangID, uint8_t ID){
|
||||
switch(LangID){
|
||||
case 0:{
|
||||
switch(ID){
|
||||
case 0:
|
||||
return "Sun";
|
||||
case 1:
|
||||
return "Mon";
|
||||
case 2:
|
||||
return "Tue";
|
||||
case 3:
|
||||
return "Wed";
|
||||
case 4:
|
||||
return "Thu";
|
||||
case 5:
|
||||
return "Fri";
|
||||
case 6:
|
||||
return "Sat";
|
||||
}
|
||||
}
|
||||
}
|
||||
return "Non";
|
||||
};
|
||||
|
||||
/*
|
||||
* GetMonth retrieves the current month in the language (0 to 11 input starting from the
|
||||
* first month January).
|
||||
*/
|
||||
|
||||
String GetMonth(uint8_t LangID, uint8_t ID){
|
||||
switch(LangID){
|
||||
case 0:{
|
||||
switch(ID){
|
||||
case 0:
|
||||
return "January";
|
||||
case 1:
|
||||
return "February";
|
||||
case 2:
|
||||
return "March";
|
||||
case 3:
|
||||
return "April";
|
||||
case 4:
|
||||
return "May";
|
||||
case 5:
|
||||
return "June";
|
||||
case 6:
|
||||
return "July";
|
||||
case 7:
|
||||
return "August";
|
||||
case 8:
|
||||
return "September";
|
||||
case 9:
|
||||
return "October";
|
||||
case 10:
|
||||
return "November";
|
||||
case 11:
|
||||
return "December";
|
||||
}
|
||||
}
|
||||
}
|
||||
return "None";
|
||||
};
|
||||
|
||||
/*
|
||||
* GetShortMonth retrieves the current month in the language (0 to 11 input starting from the
|
||||
* first month January).
|
||||
*/
|
||||
|
||||
String GetShortMonth(uint8_t LangID, uint8_t ID){
|
||||
switch(LangID){
|
||||
case 0:{
|
||||
switch(ID){
|
||||
case 0:
|
||||
return "Jan";
|
||||
case 1:
|
||||
return "Feb";
|
||||
case 2:
|
||||
return "Mar";
|
||||
case 3:
|
||||
return "Apr";
|
||||
case 4:
|
||||
return "May";
|
||||
case 5:
|
||||
return "Jun";
|
||||
case 6:
|
||||
return "Jul";
|
||||
case 7:
|
||||
return "Aug";
|
||||
case 8:
|
||||
return "Sep";
|
||||
case 9:
|
||||
return "Oct";
|
||||
case 10:
|
||||
return "Nov";
|
||||
case 11:
|
||||
return "Dec";
|
||||
}
|
||||
}
|
||||
}
|
||||
return "Non";
|
||||
};
|
||||
};
|
||||
#endif
|
||||
1019
src/Watchy_GSR.cpp
1019
src/Watchy_GSR.cpp
File diff suppressed because it is too large
Load Diff
@ -12,35 +12,27 @@
|
||||
#include <WiFiClient.h>
|
||||
#include <ArduinoOTA.h>
|
||||
#include <Update.h>
|
||||
#include <WiFiManager.h>
|
||||
#include <WebServer.h>
|
||||
#include <esp_wifi.h>
|
||||
#include <HTTPClient.h>
|
||||
#include <SmallRTC.h>
|
||||
#include <SmallNTP.h>
|
||||
#include <Olson2POSIX.h>
|
||||
#include "GxEPD2_BW.h"
|
||||
#include <GxEPD2_BW.h>
|
||||
#include "Locale_GSR.h"
|
||||
#include <mbedtls/base64.h>
|
||||
#include <Wire.h>
|
||||
#include <StableBMA.h>
|
||||
|
||||
#include "Fonts_GSR.h"
|
||||
#include "Icons_GSR.h"
|
||||
#include "ArduinoNvs.h"
|
||||
|
||||
#include "Bronova_Regular13pt7b.h"
|
||||
#include "aAntiCorona10pt7b.h"
|
||||
#include "aAntiCorona11pt7b.h"
|
||||
#include "aAntiCorona12pt7b.h"
|
||||
#include "aAntiCorona13pt7b.h"
|
||||
#include "aAntiCorona14pt7b.h"
|
||||
#include "aAntiCorona15pt7b.h"
|
||||
#include "aAntiCorona16pt7b.h"
|
||||
#include "aAntiCorona36pt7b.h"
|
||||
|
||||
class WatchyGSR{
|
||||
public:
|
||||
static SmallRTC SRTC;
|
||||
static SmallNTP SNTP;
|
||||
static GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display;
|
||||
static constexpr const char* Build = "1.4.3J";
|
||||
static constexpr const char* Build = "1.4.4";
|
||||
enum DesOps {dSTATIC, dLEFT, dRIGHT, dCENTER};
|
||||
|
||||
public:
|
||||
@ -49,20 +41,23 @@ class WatchyGSR{
|
||||
virtual void StartWeb() final;
|
||||
virtual void showWatchFace();
|
||||
virtual void drawWatchFace(); //override this method for different watch faces
|
||||
virtual void drawTime();
|
||||
virtual void drawTime(uint8_t Flags = 0); // 32 means no AM/PM, 64 means add padding to <10 hour.
|
||||
virtual void drawDay();
|
||||
virtual void drawDate();
|
||||
virtual void drawDate(bool Short = false); // Short month can be used.
|
||||
virtual void drawYear();
|
||||
virtual void handleButtonPress(uint8_t Pressed) final;
|
||||
virtual void deepSleep() final;
|
||||
virtual float getBatteryVoltage() final;
|
||||
virtual float BatteryRead() final;
|
||||
virtual bool IsDark() final;
|
||||
virtual bool IsAM() final;
|
||||
virtual bool IsPM() final;
|
||||
virtual String GetLangWebID() final;
|
||||
IRAM_ATTR virtual void handleInterrupt() final;
|
||||
void drawChargeMe(bool Dark = false);
|
||||
void drawStatus();
|
||||
virtual void VibeTo(bool Mode) final;
|
||||
virtual String MakeTime(int Hour, int Minutes, bool& Alarm) final;
|
||||
virtual String MakeTime(int Hour, int Minutes, bool& Alarm) final; // For Hour | 32 means no AM/PM, | 64 means add padding to <10 hour.
|
||||
virtual String MakeHour(uint8_t Hour) final;
|
||||
virtual String MakeMinutes(uint8_t Minutes) final;
|
||||
virtual uint16_t ForeColor() final;
|
||||
@ -78,6 +73,8 @@ class WatchyGSR{
|
||||
virtual void InsertDrawWatchStyle(uint8_t StyleID);
|
||||
virtual void InsertInitWatchStyle(uint8_t StyleID);
|
||||
virtual bool InsertHandlePressed(uint8_t SwitchNumber, bool &Haptic, bool &Refresh);
|
||||
virtual void OverrideDefaultMenu(bool Override);
|
||||
virtual void ShowDefaultMenu() final;
|
||||
virtual uint8_t AddWatchStyle(String StyleName) final;
|
||||
virtual String InsertNTPServer();
|
||||
virtual void AllowDefaultWatchStyles(bool Allow = true) final;
|
||||
@ -223,4 +220,5 @@ struct TimeData final {
|
||||
extern Designing Design;
|
||||
extern TimeData WatchTime;
|
||||
extern StableBMA SBMA;
|
||||
extern LocaleGSR LGSR;
|
||||
#endif
|
||||
|
||||
321
src/Web-HTML.h
321
src/Web-HTML.h
@ -1,6 +1,7 @@
|
||||
//0x3e, 0x3f, 0x3f, 0x3c (separator for settings)
|
||||
static const char basicIndex[] = {
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||
@ -29,28 +30,24 @@ static const char basicIndex[] = {
|
||||
0x27, 0x32, 0x30, 0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E,
|
||||
0x74, 0x65, 0x72, 0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65,
|
||||
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
||||
0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x43,
|
||||
0x6F, 0x6E, 0x6E, 0x65, 0x63, 0x74, 0x20, 0x4F, 0x70, 0x74, 0x69, 0x6F, 0x6E, 0x73, 0x3C, 0x2F,
|
||||
0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63,
|
||||
0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C,
|
||||
0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E,
|
||||
0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61,
|
||||
0x63, 0x74, 0x69, 0x6F, 0x6E, 0x3D, 0x27, 0x2F, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73,
|
||||
0x27, 0x3E, 0x3C, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27,
|
||||
0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x3E, 0x42, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x26,
|
||||
0x20, 0x52, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67,
|
||||
0x73, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D,
|
||||
0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74,
|
||||
0x72, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20,
|
||||
0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63, 0x74,
|
||||
0x69, 0x6F, 0x6E, 0x20, 0x3D, 0x27, 0x2F, 0x77, 0x69, 0x66, 0x69, 0x27, 0x3E, 0x3C, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69,
|
||||
0x74, 0x27, 0x3E, 0x45, 0x64, 0x69, 0x74, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6F, 0x6E,
|
||||
0x61, 0x6C, 0x20, 0x57, 0x69, 0x46, 0x69, 0x20, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x50,
|
||||
0x6F, 0x69, 0x6E, 0x74, 0x73, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F,
|
||||
0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
||||
0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x5E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C,
|
||||
0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||
0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25, 0x31, 0x25, 0x7D, 0x3C, 0x2F, 0x75,
|
||||
0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65,
|
||||
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F,
|
||||
0x74, 0x72, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74,
|
||||
0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63,
|
||||
0x74, 0x69, 0x6F, 0x6E, 0x3D, 0x27, 0x2F, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27,
|
||||
0x3E, 0x3C, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73,
|
||||
0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x3E, 0x7B, 0x25, 0x32, 0x25, 0x7D, 0x3C, 0x2F, 0x62, 0x75,
|
||||
0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F,
|
||||
0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x72,
|
||||
0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
||||
0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x3D,
|
||||
0x27, 0x2F, 0x77, 0x69, 0x66, 0x69, 0x27, 0x3E, 0x3C, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x20,
|
||||
0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x3E, 0x7B, 0x25,
|
||||
0x33, 0x25, 0x7D, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F, 0x66, 0x6F,
|
||||
0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C,
|
||||
0x2F, 0x74, 0x72, 0x3E, 0x7B, 0x25, 0x5E, 0x25, 0x7D, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65,
|
||||
0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||
};
|
||||
|
||||
static const char basicOTA[] = {
|
||||
@ -58,14 +55,14 @@ static const char basicOTA[] = {
|
||||
0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6F,
|
||||
0x6E, 0x3D, 0x27, 0x2F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x27, 0x3E, 0x3C, 0x62, 0x75, 0x74,
|
||||
0x74, 0x6F, 0x6E, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74,
|
||||
0x27, 0x3E, 0x55, 0x70, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x4E, 0x65, 0x77, 0x20, 0x46, 0x69, 0x72,
|
||||
0x6D, 0x77, 0x61, 0x72, 0x65, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E, 0x3C, 0x2F,
|
||||
0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
||||
0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x00
|
||||
0x27, 0x3E, 0x7B, 0x25, 0x34, 0x25, 0x7D, 0x3C, 0x2F, 0x62, 0x75, 0x74, 0x74, 0x6F, 0x6E, 0x3E,
|
||||
0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F,
|
||||
0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x00
|
||||
};
|
||||
|
||||
static const char settingsA[] = {
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
static const char settingsIndex[] = {
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||
@ -104,35 +101,32 @@ static const char settingsA[] = {
|
||||
0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27,
|
||||
0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E,
|
||||
0x3D, 0x32, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74,
|
||||
0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61,
|
||||
0x74, 0x63, 0x68, 0x79, 0x20, 0x42, 0x61, 0x63, 0x6B, 0x75, 0x70, 0x20, 0x26, 0x20, 0x52, 0x65,
|
||||
0x73, 0x74, 0x6F, 0x72, 0x65, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x3C, 0x2F,
|
||||
0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63,
|
||||
0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C,
|
||||
0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C,
|
||||
0x65, 0x66, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74,
|
||||
0x74, 0x6F, 0x6D, 0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
||||
0x32, 0x3E, 0x3C, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61, 0x20, 0x69, 0x64, 0x3D, 0x27,
|
||||
0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x27,
|
||||
0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27, 0x20, 0x72, 0x6F, 0x77, 0x73, 0x3D, 0x27,
|
||||
0x35, 0x32, 0x27, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x3D, 0x27, 0x34, 0x30, 0x27, 0x3E, 0x00
|
||||
};
|
||||
|
||||
static const char settingsB[] = {
|
||||
0x3C, 0x2F, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||
0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E,
|
||||
0x3D, 0x27, 0x72, 0x69, 0x67, 0x68, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D,
|
||||
0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D, 0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73,
|
||||
0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70,
|
||||
0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65,
|
||||
0x3D, 0x27, 0x53, 0x74, 0x6F, 0x72, 0x65, 0x27, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66,
|
||||
0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F,
|
||||
0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62,
|
||||
0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||
0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25,
|
||||
0x35, 0x25, 0x7D, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||
0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C,
|
||||
0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69,
|
||||
0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E,
|
||||
0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D, 0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20,
|
||||
0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65, 0x61,
|
||||
0x20, 0x69, 0x64, 0x3D, 0x27, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27, 0x20, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x3D, 0x27, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x27, 0x20, 0x72,
|
||||
0x6F, 0x77, 0x73, 0x3D, 0x27, 0x35, 0x32, 0x27, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x3D, 0x27, 0x34,
|
||||
0x30, 0x27, 0x3E, 0x7B, 0x3F, 0x3F, 0x7D, 0x3C, 0x2F, 0x74, 0x65, 0x78, 0x74, 0x61, 0x72, 0x65,
|
||||
0x61, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x74,
|
||||
0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x72, 0x69, 0x67, 0x68, 0x74, 0x27, 0x20,
|
||||
0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D, 0x27, 0x3E,
|
||||
0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x69, 0x6E,
|
||||
0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74,
|
||||
0x27, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x7B, 0x25, 0x36, 0x25, 0x7D, 0x27, 0x3E,
|
||||
0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E,
|
||||
0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x66,
|
||||
0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D,
|
||||
0x6C, 0x3E, 0x00
|
||||
};
|
||||
|
||||
static const char settingsDone[] = {
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||
@ -169,22 +163,19 @@ static const char settingsDone[] = {
|
||||
0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72,
|
||||
0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65,
|
||||
0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C,
|
||||
0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x42, 0x61, 0x63, 0x6B,
|
||||
0x75, 0x70, 0x20, 0x26, 0x20, 0x52, 0x65, 0x73, 0x74, 0x6F, 0x72, 0x65, 0x20, 0x53, 0x65, 0x74,
|
||||
0x74, 0x69, 0x6E, 0x67, 0x73, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66,
|
||||
0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72,
|
||||
0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C,
|
||||
0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x33, 0x3E, 0x57, 0x61, 0x74, 0x63,
|
||||
0x68, 0x79, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x20, 0x72, 0x65, 0x73, 0x74,
|
||||
0x6F, 0x72, 0x65, 0x64, 0x21, 0x20, 0x20, 0x4F, 0x54, 0x41, 0x20, 0x57, 0x65, 0x62, 0x73, 0x69,
|
||||
0x74, 0x65, 0x20, 0x4F, 0x66, 0x66, 0x2E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||
0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25, 0x35, 0x25, 0x7D, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F,
|
||||
0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65,
|
||||
0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E,
|
||||
0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x33,
|
||||
0x3E, 0x7B, 0x25, 0x37, 0x25, 0x7D, 0x2E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||
0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61,
|
||||
0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D,
|
||||
0x6C, 0x3E, 0x00
|
||||
};
|
||||
|
||||
static const char updateIndex[] = {
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x20, 0x73, 0x72, 0x63, 0x3D, 0x27, 0x68, 0x74, 0x74, 0x70,
|
||||
@ -224,78 +215,75 @@ static const char updateIndex[] = {
|
||||
0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27, 0x3E,
|
||||
0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E, 0x3D,
|
||||
0x32, 0x3E, 0x0D, 0x0A, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E,
|
||||
0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57,
|
||||
0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x55, 0x70, 0x6C, 0x6F, 0x61, 0x64, 0x20, 0x4E, 0x65, 0x77,
|
||||
0x20, 0x46, 0x69, 0x72, 0x6D, 0x77, 0x61, 0x72, 0x65, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62,
|
||||
0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72,
|
||||
0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x0D,
|
||||
0x0A, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74,
|
||||
0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x3D, 0x20, 0x32,
|
||||
0x3E, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x66, 0x69,
|
||||
0x6C, 0x65, 0x27, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x27, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x27, 0x20, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, 0x3D, 0x27, 0x2E, 0x62, 0x69, 0x6E, 0x27, 0x3E,
|
||||
0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x74, 0x64, 0x20,
|
||||
0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3E, 0x3C, 0x66,
|
||||
0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x3D, 0x32, 0x3E, 0x3C, 0x69, 0x6E, 0x70,
|
||||
0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27,
|
||||
0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x55, 0x70, 0x6C, 0x6F, 0x61, 0x64, 0x27, 0x3E,
|
||||
0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E,
|
||||
0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x0D, 0x0A, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63,
|
||||
0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E, 0x3D, 0x32, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x63, 0x65,
|
||||
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3D, 0x27, 0x70, 0x72,
|
||||
0x67, 0x27, 0x3E, 0x57, 0x61, 0x69, 0x74, 0x69, 0x6E, 0x67, 0x2E, 0x2E, 0x2E, 0x3C, 0x2F, 0x64,
|
||||
0x69, 0x76, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
||||
0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F,
|
||||
0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x0D, 0x0A, 0x3C, 0x73,
|
||||
0x63, 0x72, 0x69, 0x70, 0x74, 0x3E, 0x0D, 0x0A, 0x24, 0x28, 0x27, 0x66, 0x6F, 0x72, 0x6D, 0x27,
|
||||
0x29, 0x2E, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x28, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F,
|
||||
0x6E, 0x28, 0x65, 0x29, 0x7B, 0x0D, 0x0A, 0x65, 0x2E, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6E, 0x74,
|
||||
0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x69, 0x66, 0x28, 0x21,
|
||||
0x24, 0x28, 0x27, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5B, 0x74, 0x79,
|
||||
0x70, 0x65, 0x3D, 0x66, 0x69, 0x6C, 0x65, 0x5D, 0x27, 0x29, 0x2E, 0x76, 0x61, 0x6C, 0x28, 0x29,
|
||||
0x29, 0x20, 0x7B, 0x20, 0x61, 0x6C, 0x65, 0x72, 0x74, 0x28, 0x27, 0x59, 0x6F, 0x75, 0x20, 0x6D,
|
||||
0x75, 0x73, 0x74, 0x20, 0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x61, 0x20, 0x66, 0x69, 0x72,
|
||||
0x6D, 0x77, 0x61, 0x72, 0x65, 0x20, 0x5B, 0x62, 0x69, 0x6E, 0x5D, 0x20, 0x74, 0x6F, 0x20, 0x75,
|
||||
0x70, 0x6C, 0x6F, 0x61, 0x64, 0x21, 0x27, 0x29, 0x3B, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6E,
|
||||
0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x3B, 0x20, 0x7D, 0x0D, 0x0A, 0x76, 0x61, 0x72, 0x20, 0x66,
|
||||
0x6F, 0x72, 0x6D, 0x20, 0x3D, 0x20, 0x24, 0x28, 0x27, 0x23, 0x75, 0x70, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x27, 0x29, 0x5B, 0x30, 0x5D, 0x3B, 0x0D, 0x0A, 0x76, 0x61, 0x72,
|
||||
0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x3D, 0x20, 0x6E, 0x65, 0x77, 0x20, 0x46, 0x6F, 0x72, 0x6D,
|
||||
0x44, 0x61, 0x74, 0x61, 0x28, 0x66, 0x6F, 0x72, 0x6D, 0x29, 0x3B, 0x0D, 0x0A, 0x24, 0x2E, 0x61,
|
||||
0x6A, 0x61, 0x78, 0x28, 0x7B, 0x0D, 0x0A, 0x75, 0x72, 0x6C, 0x3A, 0x20, 0x27, 0x2F, 0x75, 0x70,
|
||||
0x64, 0x61, 0x74, 0x65, 0x27, 0x2C, 0x0D, 0x0A, 0x74, 0x79, 0x70, 0x65, 0x3A, 0x20, 0x27, 0x50,
|
||||
0x4F, 0x53, 0x54, 0x27, 0x2C, 0x0D, 0x0A, 0x64, 0x61, 0x74, 0x61, 0x3A, 0x20, 0x64, 0x61, 0x74,
|
||||
0x61, 0x2C, 0x0D, 0x0A, 0x63, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x54, 0x79, 0x70, 0x65, 0x3A,
|
||||
0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x2C, 0x0D, 0x0A, 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73,
|
||||
0x44, 0x61, 0x74, 0x61, 0x3A, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x2C, 0x0D, 0x0A, 0x78, 0x68, 0x72,
|
||||
0x3A, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x29, 0x20, 0x7B, 0x0D, 0x0A,
|
||||
0x76, 0x61, 0x72, 0x20, 0x78, 0x68, 0x72, 0x20, 0x3D, 0x20, 0x6E, 0x65, 0x77, 0x20, 0x77, 0x69,
|
||||
0x6E, 0x64, 0x6F, 0x77, 0x2E, 0x58, 0x4D, 0x4C, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x78, 0x68, 0x72, 0x2E, 0x75, 0x70, 0x6C, 0x6F,
|
||||
0x61, 0x64, 0x2E, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6E, 0x74, 0x4C, 0x69, 0x73, 0x74, 0x65,
|
||||
0x6E, 0x65, 0x72, 0x28, 0x27, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x65, 0x73, 0x73, 0x27, 0x2C, 0x20,
|
||||
0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x65, 0x76, 0x74, 0x29, 0x20, 0x7B, 0x0D,
|
||||
0x0A, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x74, 0x2E, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x43,
|
||||
0x6F, 0x6D, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x29, 0x20, 0x7B, 0x0D, 0x0A, 0x76, 0x61,
|
||||
0x72, 0x20, 0x70, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x65, 0x76, 0x74, 0x2E, 0x6C, 0x6F, 0x61, 0x64,
|
||||
0x65, 0x64, 0x20, 0x2F, 0x20, 0x65, 0x76, 0x74, 0x2E, 0x74, 0x6F, 0x74, 0x61, 0x6C, 0x3B, 0x0D,
|
||||
0x0A, 0x24, 0x28, 0x27, 0x23, 0x70, 0x72, 0x67, 0x27, 0x29, 0x2E, 0x68, 0x74, 0x6D, 0x6C, 0x28,
|
||||
0x27, 0x50, 0x72, 0x6F, 0x67, 0x72, 0x65, 0x73, 0x73, 0x3A, 0x20, 0x27, 0x20, 0x2B, 0x20, 0x4D,
|
||||
0x61, 0x74, 0x68, 0x2E, 0x72, 0x6F, 0x75, 0x6E, 0x64, 0x28, 0x70, 0x65, 0x72, 0x2A, 0x31, 0x30,
|
||||
0x30, 0x29, 0x20, 0x2B, 0x20, 0x27, 0x25, 0x27, 0x29, 0x3B, 0x0D, 0x0A, 0x7D, 0x0D, 0x0A, 0x7D,
|
||||
0x2C, 0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x29, 0x3B, 0x0D, 0x0A, 0x72, 0x65, 0x74, 0x75, 0x72,
|
||||
0x6E, 0x20, 0x78, 0x68, 0x72, 0x3B, 0x0D, 0x0A, 0x7D, 0x2C, 0x0D, 0x0A, 0x73, 0x75, 0x63, 0x63,
|
||||
0x65, 0x73, 0x73, 0x3A, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x64, 0x2C, 0x20,
|
||||
0x73, 0x29, 0x20, 0x7B, 0x0D, 0x0A, 0x63, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x2E, 0x6C, 0x6F,
|
||||
0x67, 0x28, 0x27, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x21, 0x27, 0x29, 0x0D, 0x0A, 0x7D,
|
||||
0x2C, 0x0D, 0x0A, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69,
|
||||
0x6F, 0x6E, 0x20, 0x28, 0x61, 0x2C, 0x20, 0x62, 0x2C, 0x20, 0x63, 0x29, 0x20, 0x7B, 0x0D, 0x0A,
|
||||
0x7D, 0x0D, 0x0A, 0x7D, 0x29, 0x3B, 0x0D, 0x0A, 0x7D, 0x29, 0x3B, 0x0D, 0x0A, 0x3C, 0x2F, 0x73,
|
||||
0x63, 0x72, 0x69, 0x70, 0x74, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||
0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B,
|
||||
0x25, 0x38, 0x25, 0x7D, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F,
|
||||
0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E,
|
||||
0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x0D, 0x0A, 0x3C, 0x74, 0x64, 0x20,
|
||||
0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27, 0x3E, 0x3C, 0x66, 0x6F,
|
||||
0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x20, 0x3D, 0x20, 0x32, 0x3E, 0x3C, 0x69, 0x6E, 0x70,
|
||||
0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x66, 0x69, 0x6C, 0x65, 0x27, 0x20, 0x6E,
|
||||
0x61, 0x6D, 0x65, 0x3D, 0x27, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x27, 0x20, 0x61, 0x63, 0x63,
|
||||
0x65, 0x70, 0x74, 0x3D, 0x27, 0x2E, 0x62, 0x69, 0x6E, 0x27, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||
0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E,
|
||||
0x3D, 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x22, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73,
|
||||
0x69, 0x7A, 0x65, 0x20, 0x3D, 0x32, 0x3E, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79,
|
||||
0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D, 0x69, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x75,
|
||||
0x65, 0x3D, 0x27, 0x7B, 0x25, 0x39, 0x25, 0x7D, 0x27, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F,
|
||||
0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x0D,
|
||||
0x0A, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E,
|
||||
0x3D, 0x32, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C,
|
||||
0x64, 0x69, 0x76, 0x20, 0x69, 0x64, 0x3D, 0x27, 0x70, 0x72, 0x67, 0x27, 0x3E, 0x7B, 0x25, 0x31,
|
||||
0x30, 0x25, 0x7D, 0x2E, 0x2E, 0x2E, 0x3C, 0x2F, 0x64, 0x69, 0x76, 0x3E, 0x3C, 0x2F, 0x63, 0x65,
|
||||
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C,
|
||||
0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F,
|
||||
0x62, 0x6F, 0x64, 0x79, 0x3E, 0x0D, 0x0A, 0x3C, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3E, 0x0D,
|
||||
0x0A, 0x24, 0x28, 0x27, 0x66, 0x6F, 0x72, 0x6D, 0x27, 0x29, 0x2E, 0x73, 0x75, 0x62, 0x6D, 0x69,
|
||||
0x74, 0x28, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x65, 0x29, 0x7B, 0x0D, 0x0A,
|
||||
0x65, 0x2E, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6E, 0x74, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6C, 0x74,
|
||||
0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x69, 0x66, 0x28, 0x21, 0x24, 0x28, 0x27, 0x66, 0x6F, 0x72, 0x6D,
|
||||
0x20, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x5B, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x66, 0x69, 0x6C, 0x65,
|
||||
0x5D, 0x27, 0x29, 0x2E, 0x76, 0x61, 0x6C, 0x28, 0x29, 0x29, 0x20, 0x7B, 0x20, 0x61, 0x6C, 0x65,
|
||||
0x72, 0x74, 0x28, 0x27, 0x7B, 0x25, 0x31, 0x31, 0x25, 0x7D, 0x27, 0x29, 0x3B, 0x20, 0x72, 0x65,
|
||||
0x74, 0x75, 0x72, 0x6E, 0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x3B, 0x20, 0x7D, 0x0D, 0x0A, 0x76,
|
||||
0x61, 0x72, 0x20, 0x66, 0x6F, 0x72, 0x6D, 0x20, 0x3D, 0x20, 0x24, 0x28, 0x27, 0x23, 0x75, 0x70,
|
||||
0x6C, 0x6F, 0x61, 0x64, 0x5F, 0x66, 0x6F, 0x72, 0x6D, 0x27, 0x29, 0x5B, 0x30, 0x5D, 0x3B, 0x0D,
|
||||
0x0A, 0x76, 0x61, 0x72, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x3D, 0x20, 0x6E, 0x65, 0x77, 0x20,
|
||||
0x46, 0x6F, 0x72, 0x6D, 0x44, 0x61, 0x74, 0x61, 0x28, 0x66, 0x6F, 0x72, 0x6D, 0x29, 0x3B, 0x0D,
|
||||
0x0A, 0x24, 0x2E, 0x61, 0x6A, 0x61, 0x78, 0x28, 0x7B, 0x0D, 0x0A, 0x75, 0x72, 0x6C, 0x3A, 0x20,
|
||||
0x27, 0x2F, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x27, 0x2C, 0x0D, 0x0A, 0x74, 0x79, 0x70, 0x65,
|
||||
0x3A, 0x20, 0x27, 0x50, 0x4F, 0x53, 0x54, 0x27, 0x2C, 0x0D, 0x0A, 0x64, 0x61, 0x74, 0x61, 0x3A,
|
||||
0x20, 0x64, 0x61, 0x74, 0x61, 0x2C, 0x0D, 0x0A, 0x63, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x54,
|
||||
0x79, 0x70, 0x65, 0x3A, 0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x2C, 0x0D, 0x0A, 0x70, 0x72, 0x6F,
|
||||
0x63, 0x65, 0x73, 0x73, 0x44, 0x61, 0x74, 0x61, 0x3A, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x2C, 0x0D,
|
||||
0x0A, 0x78, 0x68, 0x72, 0x3A, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x29,
|
||||
0x20, 0x7B, 0x0D, 0x0A, 0x76, 0x61, 0x72, 0x20, 0x78, 0x68, 0x72, 0x20, 0x3D, 0x20, 0x6E, 0x65,
|
||||
0x77, 0x20, 0x77, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x2E, 0x58, 0x4D, 0x4C, 0x48, 0x74, 0x74, 0x70,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28, 0x29, 0x3B, 0x0D, 0x0A, 0x78, 0x68, 0x72, 0x2E,
|
||||
0x75, 0x70, 0x6C, 0x6F, 0x61, 0x64, 0x2E, 0x61, 0x64, 0x64, 0x45, 0x76, 0x65, 0x6E, 0x74, 0x4C,
|
||||
0x69, 0x73, 0x74, 0x65, 0x6E, 0x65, 0x72, 0x28, 0x27, 0x70, 0x72, 0x6F, 0x67, 0x72, 0x65, 0x73,
|
||||
0x73, 0x27, 0x2C, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x65, 0x76, 0x74,
|
||||
0x29, 0x20, 0x7B, 0x0D, 0x0A, 0x69, 0x66, 0x20, 0x28, 0x65, 0x76, 0x74, 0x2E, 0x6C, 0x65, 0x6E,
|
||||
0x67, 0x74, 0x68, 0x43, 0x6F, 0x6D, 0x70, 0x75, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x29, 0x20, 0x7B,
|
||||
0x0D, 0x0A, 0x76, 0x61, 0x72, 0x20, 0x70, 0x65, 0x72, 0x20, 0x3D, 0x20, 0x65, 0x76, 0x74, 0x2E,
|
||||
0x6C, 0x6F, 0x61, 0x64, 0x65, 0x64, 0x20, 0x2F, 0x20, 0x65, 0x76, 0x74, 0x2E, 0x74, 0x6F, 0x74,
|
||||
0x61, 0x6C, 0x3B, 0x0D, 0x0A, 0x24, 0x28, 0x27, 0x23, 0x70, 0x72, 0x67, 0x27, 0x29, 0x2E, 0x68,
|
||||
0x74, 0x6D, 0x6C, 0x28, 0x27, 0x7B, 0x25, 0x31, 0x32, 0x25, 0x7D, 0x3A, 0x20, 0x27, 0x20, 0x2B,
|
||||
0x20, 0x4D, 0x61, 0x74, 0x68, 0x2E, 0x72, 0x6F, 0x75, 0x6E, 0x64, 0x28, 0x70, 0x65, 0x72, 0x2A,
|
||||
0x31, 0x30, 0x30, 0x29, 0x20, 0x2B, 0x20, 0x27, 0x25, 0x27, 0x29, 0x3B, 0x0D, 0x0A, 0x7D, 0x0D,
|
||||
0x0A, 0x7D, 0x2C, 0x20, 0x66, 0x61, 0x6C, 0x73, 0x65, 0x29, 0x3B, 0x0D, 0x0A, 0x72, 0x65, 0x74,
|
||||
0x75, 0x72, 0x6E, 0x20, 0x78, 0x68, 0x72, 0x3B, 0x0D, 0x0A, 0x7D, 0x2C, 0x0D, 0x0A, 0x73, 0x75,
|
||||
0x63, 0x63, 0x65, 0x73, 0x73, 0x3A, 0x66, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x28, 0x64,
|
||||
0x2C, 0x20, 0x73, 0x29, 0x20, 0x7B, 0x0D, 0x0A, 0x63, 0x6F, 0x6E, 0x73, 0x6F, 0x6C, 0x65, 0x2E,
|
||||
0x6C, 0x6F, 0x67, 0x28, 0x27, 0x7B, 0x25, 0x31, 0x33, 0x25, 0x7D, 0x21, 0x27, 0x29, 0x0D, 0x0A,
|
||||
0x7D, 0x2C, 0x0D, 0x0A, 0x65, 0x72, 0x72, 0x6F, 0x72, 0x3A, 0x20, 0x66, 0x75, 0x6E, 0x63, 0x74,
|
||||
0x69, 0x6F, 0x6E, 0x20, 0x28, 0x61, 0x2C, 0x20, 0x62, 0x2C, 0x20, 0x63, 0x29, 0x20, 0x7B, 0x0D,
|
||||
0x0A, 0x7D, 0x0D, 0x0A, 0x7D, 0x29, 0x3B, 0x0D, 0x0A, 0x7D, 0x29, 0x3B, 0x0D, 0x0A, 0x3C, 0x2F,
|
||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||
};
|
||||
|
||||
static const char wifiIndexA[] = {
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||
@ -348,12 +336,10 @@ static const char wifiIndexA[] = {
|
||||
0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74,
|
||||
0x64, 0x20, 0x63, 0x6F, 0x6C, 0x73, 0x70, 0x61, 0x6E, 0x3D, 0x35, 0x3E, 0x3C, 0x63, 0x65, 0x6E,
|
||||
0x74, 0x65, 0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34,
|
||||
0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x41, 0x64,
|
||||
0x64, 0x69, 0x74, 0x69, 0x6F, 0x6E, 0x61, 0x6C, 0x20, 0x57, 0x69, 0x46, 0x69, 0x20, 0x41, 0x63,
|
||||
0x63, 0x65, 0x73, 0x73, 0x20, 0x50, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69,
|
||||
0x6E, 0x67, 0x73, 0x3C, 0x2F, 0x75, 0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E,
|
||||
0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C,
|
||||
0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x00
|
||||
0x3E, 0x3C, 0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25, 0x31, 0x34, 0x25, 0x7D, 0x3C, 0x2F, 0x75,
|
||||
0x3E, 0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65,
|
||||
0x6E, 0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F,
|
||||
0x74, 0x72, 0x3E, 0x00
|
||||
};
|
||||
|
||||
static const char wifiIndexB[] = {
|
||||
@ -369,23 +355,23 @@ static const char wifiIndexB[] = {
|
||||
|
||||
static const char wifiIndexC[] = {
|
||||
0x3C, 0x74, 0x64, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27,
|
||||
0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x50, 0x41,
|
||||
0x53, 0x53, 0x3A, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27,
|
||||
0x70, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x27, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x27,
|
||||
0x50, 0x41, 0x23, 0x27, 0x20, 0x69, 0x64, 0x3D, 0x27, 0x50, 0x41, 0x23, 0x27, 0x20, 0x73, 0x69,
|
||||
0x7A, 0x65, 0x3D, 0x36, 0x33, 0x20, 0x6D, 0x61, 0x78, 0x6C, 0x65, 0x6E, 0x67, 0x74, 0x68, 0x3D,
|
||||
0x36, 0x33, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x24, 0x27, 0x3E, 0x3C, 0x2F, 0x69,
|
||||
0x6E, 0x70, 0x75, 0x74, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
||||
0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x7B, 0x25,
|
||||
0x31, 0x35, 0x25, 0x7D, 0x3A, 0x3C, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65,
|
||||
0x3D, 0x27, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6F, 0x72, 0x64, 0x27, 0x20, 0x6E, 0x61, 0x6D, 0x65,
|
||||
0x3D, 0x27, 0x50, 0x41, 0x23, 0x27, 0x20, 0x69, 0x64, 0x3D, 0x27, 0x50, 0x41, 0x23, 0x27, 0x20,
|
||||
0x73, 0x69, 0x7A, 0x65, 0x3D, 0x36, 0x33, 0x20, 0x6D, 0x61, 0x78, 0x6C, 0x65, 0x6E, 0x67, 0x74,
|
||||
0x68, 0x3D, 0x36, 0x33, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x24, 0x27, 0x3E, 0x3C,
|
||||
0x2F, 0x69, 0x6E, 0x70, 0x75, 0x74, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F,
|
||||
0x74, 0x64, 0x3E, 0x3C, 0x74, 0x64, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62,
|
||||
0x6F, 0x74, 0x74, 0x6F, 0x6D, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65,
|
||||
0x66, 0x74, 0x27, 0x3E, 0x3C, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x20, 0x6F, 0x6E, 0x63, 0x6C, 0x69,
|
||||
0x63, 0x6B, 0x3D, 0x22, 0x74, 0x6F, 0x67, 0x67, 0x6C, 0x65, 0x28, 0x27, 0x50, 0x41, 0x23, 0x27,
|
||||
0x29, 0x22, 0x3E, 0x3F, 0x3C, 0x2F, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x3E, 0x3C, 0x2F, 0x74, 0x64,
|
||||
0x3E, 0x3C, 0x74, 0x64, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74,
|
||||
0x74, 0x6F, 0x6D, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74,
|
||||
0x27, 0x3E, 0x3C, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x20, 0x6F, 0x6E, 0x63, 0x6C, 0x69, 0x63, 0x6B,
|
||||
0x3D, 0x22, 0x74, 0x6F, 0x67, 0x67, 0x6C, 0x65, 0x28, 0x27, 0x50, 0x41, 0x23, 0x27, 0x29, 0x22,
|
||||
0x3E, 0x3F, 0x3C, 0x2F, 0x6C, 0x61, 0x62, 0x65, 0x6C, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C,
|
||||
0x74, 0x64, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F,
|
||||
0x6D, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x6C, 0x65, 0x66, 0x74, 0x27, 0x3E,
|
||||
0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C, 0x73, 0x65,
|
||||
0x6C, 0x65, 0x63, 0x74, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x54, 0x58, 0x23, 0x22, 0x20,
|
||||
0x69, 0x64, 0x3D, 0x22, 0x54, 0x58, 0x23, 0x22, 0x3E, 0x00
|
||||
0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C,
|
||||
0x73, 0x65, 0x6C, 0x65, 0x63, 0x74, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x54, 0x58, 0x23,
|
||||
0x22, 0x20, 0x69, 0x64, 0x3D, 0x22, 0x54, 0x58, 0x23, 0x22, 0x3E, 0x00
|
||||
};
|
||||
|
||||
static const char wifiIndexC1[] = {
|
||||
@ -403,7 +389,7 @@ static const char wifiIndexD[] = {
|
||||
0x27, 0x20, 0x76, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x62, 0x6F, 0x74, 0x74, 0x6F, 0x6D,
|
||||
0x27, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x32, 0x3E, 0x3C,
|
||||
0x69, 0x6E, 0x70, 0x75, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x27, 0x73, 0x75, 0x62, 0x6D,
|
||||
0x69, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x53, 0x74, 0x6F, 0x72, 0x65,
|
||||
0x69, 0x74, 0x27, 0x20, 0x76, 0x61, 0x6C, 0x75, 0x65, 0x3D, 0x27, 0x7B, 0x25, 0x36, 0x25, 0x7D,
|
||||
0x27, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74,
|
||||
0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C,
|
||||
0x2F, 0x66, 0x6F, 0x72, 0x6D, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68,
|
||||
@ -411,7 +397,8 @@ static const char wifiIndexD[] = {
|
||||
};
|
||||
|
||||
static const char wifiDone[] = {
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x3C, 0x68, 0x74, 0x6D, 0x6C, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x3D, 0x22, 0x7B, 0x25, 0x4C, 0x41,
|
||||
0x4E, 0x47, 0x25, 0x7D, 0x22, 0x3E, 0x3C, 0x62, 0x6F, 0x64, 0x79, 0x20, 0x62, 0x67, 0x63, 0x6F,
|
||||
0x6C, 0x6F, 0x72, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x20, 0x66, 0x67, 0x63,
|
||||
0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x3D, 0x22, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x22, 0x3E, 0x3C,
|
||||
0x73, 0x74, 0x79, 0x6C, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x61,
|
||||
@ -448,16 +435,12 @@ static const char wifiDone[] = {
|
||||
0x25, 0x27, 0x20, 0x61, 0x6C, 0x69, 0x67, 0x6E, 0x3D, 0x27, 0x63, 0x65, 0x6E, 0x74, 0x65, 0x72,
|
||||
0x27, 0x3E, 0x3C, 0x74, 0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x63, 0x65, 0x6E, 0x74, 0x65,
|
||||
0x72, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D, 0x34, 0x3E, 0x3C,
|
||||
0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x41, 0x64, 0x64, 0x69,
|
||||
0x74, 0x69, 0x6F, 0x6E, 0x61, 0x6C, 0x20, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x50, 0x6F,
|
||||
0x69, 0x6E, 0x74, 0x20, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x3C, 0x2F, 0x75, 0x3E,
|
||||
0x3C, 0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E,
|
||||
0x74, 0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74,
|
||||
0x72, 0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65,
|
||||
0x3D, 0x33, 0x3E, 0x57, 0x61, 0x74, 0x63, 0x68, 0x79, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69,
|
||||
0x6F, 0x6E, 0x61, 0x6C, 0x20, 0x41, 0x50, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64,
|
||||
0x21, 0x20, 0x20, 0x4F, 0x54, 0x41, 0x20, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x20, 0x4F,
|
||||
0x66, 0x66, 0x2E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F,
|
||||
0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E,
|
||||
0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||
0x62, 0x3E, 0x3C, 0x75, 0x3E, 0x7B, 0x25, 0x31, 0x34, 0x25, 0x7D, 0x3C, 0x2F, 0x75, 0x3E, 0x3C,
|
||||
0x2F, 0x62, 0x3E, 0x3C, 0x2F, 0x66, 0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x63, 0x65, 0x6E, 0x74,
|
||||
0x65, 0x72, 0x3E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72,
|
||||
0x3E, 0x3C, 0x74, 0x64, 0x3E, 0x3C, 0x66, 0x6F, 0x6E, 0x74, 0x20, 0x73, 0x69, 0x7A, 0x65, 0x3D,
|
||||
0x33, 0x3E, 0x7B, 0x25, 0x31, 0x36, 0x25, 0x7D, 0x2E, 0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x2F, 0x66,
|
||||
0x6F, 0x6E, 0x74, 0x3E, 0x3C, 0x2F, 0x74, 0x64, 0x3E, 0x3C, 0x2F, 0x74, 0x72, 0x3E, 0x3C, 0x2F,
|
||||
0x74, 0x61, 0x62, 0x6C, 0x65, 0x3E, 0x3C, 0x2F, 0x62, 0x6F, 0x64, 0x79, 0x3E, 0x3C, 0x2F, 0x68,
|
||||
0x74, 0x6D, 0x6C, 0x3E, 0x00
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user