Version 1.3.7.
This commit is contained in:
parent
d72f753da8
commit
581c7259c8
324
src/Icons_GSR.h
Normal file
324
src/Icons_GSR.h
Normal file
@ -0,0 +1,324 @@
|
|||||||
|
// 'ChargeMe' 40x17px
|
||||||
|
const unsigned char ChargeMe[] PROGMEM = {
|
||||||
|
0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0xF8, 0x00, 0xFF, 0xF0, 0x00, 0x18, 0x00,
|
||||||
|
0xFF, 0xF0, 0x00, 0x18, 0x00, 0xC0, 0x30, 0x00, 0x18, 0x00, 0xC0, 0x30, 0x00, 0x18, 0x00,
|
||||||
|
0xCE, 0x30, 0x00, 0x18, 0x00, 0xCE, 0x30, 0x00, 0x18, 0x00, 0xC0, 0x30, 0x00, 0x1F, 0xFF,
|
||||||
|
0xCE, 0x30, 0x00, 0x18, 0x00, 0xCE, 0x30, 0x00, 0x18, 0x00, 0xC0, 0x30, 0x00, 0x18, 0x00,
|
||||||
|
0xC0, 0x30, 0x00, 0x18, 0x00, 0xFF, 0xF0, 0x00, 0x18, 0x00, 0xFF, 0xF0, 0x00, 0x18, 0x00,
|
||||||
|
0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0xF8, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
// 'ChargeMeBad', 40x17px
|
||||||
|
const unsigned char ChargeMeBad [] PROGMEM = {
|
||||||
|
0x00, 0x3f, 0xff, 0xf8, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00, 0xff, 0xf0, 0x00, 0x18, 0x00, 0xff,
|
||||||
|
0xf0, 0x38, 0x18, 0x00, 0xc0, 0x30, 0x38, 0x18, 0x00, 0xc0, 0x30, 0x38, 0x18, 0x00, 0xce, 0x30,
|
||||||
|
0x38, 0x18, 0x00, 0xce, 0x30, 0x38, 0x18, 0x00, 0xc0, 0x30, 0x38, 0x1f, 0xff, 0xce, 0x30, 0x38,
|
||||||
|
0x18, 0x00, 0xce, 0x30, 0x00, 0x18, 0x00, 0xc0, 0x30, 0x38, 0x18, 0x00, 0xc0, 0x30, 0x38, 0x18,
|
||||||
|
0x00, 0xff, 0xf0, 0x38, 0x18, 0x00, 0xff, 0xf0, 0x00, 0x18, 0x00, 0x00, 0x3f, 0xff, 0xf8, 0x00,
|
||||||
|
0x00, 0x3f, 0xff, 0xf8, 0x00
|
||||||
|
};
|
||||||
|
// 'Charging' 40x17px
|
||||||
|
const unsigned char Charging[] PROGMEM = {
|
||||||
|
0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0xF8, 0x00, 0xFF, 0xF0, 0x00, 0x18, 0x00,
|
||||||
|
0xFF, 0xF0, 0x00, 0x18, 0x00, 0xC0, 0x30, 0x00, 0x18, 0x00, 0xC0, 0x37, 0xC0, 0x18, 0x00,
|
||||||
|
0xCE, 0x30, 0xFE, 0x18, 0x00, 0xCE, 0x30, 0x1C, 0x18, 0x00, 0xC0, 0x30, 0x38, 0x1F, 0xFF,
|
||||||
|
0xCE, 0x30, 0x78, 0x18, 0x00, 0xCE, 0x30, 0xFE, 0x18, 0x00, 0xC0, 0x30, 0x07, 0xD8, 0x00,
|
||||||
|
0xC0, 0x30, 0x00, 0x18, 0x00, 0xFF, 0xF0, 0x00, 0x18, 0x00, 0xFF, 0xF0, 0x00, 0x18, 0x00,
|
||||||
|
0x00, 0x3F, 0xFF, 0xF8, 0x00, 0x00, 0x3F, 0xFF, 0xF8, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
// Menu Background.
|
||||||
|
// 'Watchy-Menu', 200x83px
|
||||||
|
const unsigned char MenuBackground[] PROGMEM = {
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x80,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x56, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
|
||||||
|
0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21
|
||||||
|
};
|
||||||
|
|
||||||
|
// 'Watchy-Options-Menu', 200x83px
|
||||||
|
const unsigned char OptionsMenuBackground [] PROGMEM = {
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0x80, 0x07, 0xff, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xff, 0x80, 0x07, 0xff, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0x00, 0x07, 0xff, 0xea,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xff, 0x00, 0x07, 0xff, 0xfd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xff, 0x00, 0x0f,
|
||||||
|
0xff, 0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xff, 0x00, 0x0f, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xfe,
|
||||||
|
0x00, 0x0f, 0xff, 0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xf8, 0x00, 0x0f, 0xff, 0xff, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0x80, 0x00, 0x0f, 0xff, 0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0x80, 0x00, 0x1f, 0xff, 0xfd, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x80, 0x00, 0x1f, 0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0x80, 0x00, 0x3f, 0xfd,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0x80, 0x00, 0x7f, 0xfa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0x80, 0x00,
|
||||||
|
0x7f, 0xfd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x80, 0x00, 0xff, 0xfa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0x80, 0x01, 0xff, 0xf5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0x80, 0x03, 0xff, 0xfa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0x80, 0x0f, 0xff, 0xfd, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x80, 0x1f, 0xff, 0xfe, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0x80, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xff, 0xff, 0xff,
|
||||||
|
0xfe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xff, 0xff, 0xff, 0xff, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xff, 0xff, 0xfb, 0xff, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xff, 0xff, 0xf5, 0x7f, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xff, 0xff, 0xea, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xff, 0xff, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xff, 0xff,
|
||||||
|
0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xff, 0xff, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xd5, 0xff, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xff, 0xea, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xd5, 0x7f, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xbf, 0xea, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x5f, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xbe, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x80,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x54, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae, 0xd5, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
|
||||||
|
0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xae,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||||
|
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
|
||||||
|
0x55, 0x56, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
|
||||||
|
0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x21
|
||||||
|
};
|
||||||
|
|
||||||
|
// 'Watchy-PM', 6x6px
|
||||||
|
const unsigned char PMIndicator [] PROGMEM = {
|
||||||
|
0x78, 0xfc, 0xfc, 0xfc, 0xfc, 0x78
|
||||||
|
};
|
||||||
|
|
||||||
|
// 'Sync', 19x19px
|
||||||
|
const unsigned char iSync [] PROGMEM = {
|
||||||
|
0x07, 0xfc, 0x00, 0x1f, 0xff, 0x00, 0x3c, 0x07, 0x80, 0x70, 0x41, 0xc0, 0x60, 0xe0, 0xc0, 0xe0,
|
||||||
|
0xe0, 0xe0, 0xc0, 0xe0, 0x60, 0xc0, 0xe0, 0x60, 0xc0, 0xe0, 0x60, 0xc0, 0xe0, 0x60, 0xc0, 0x70,
|
||||||
|
0x60, 0xc0, 0x38, 0x60, 0xc0, 0x1c, 0x60, 0xe0, 0x0e, 0xe0, 0x60, 0x00, 0xc0, 0x70, 0x01, 0xc0,
|
||||||
|
0x3c, 0x07, 0x80, 0x1f, 0xff, 0x00, 0x07, 0xfc, 0x00
|
||||||
|
};
|
||||||
|
// 'TZ', 19x19px
|
||||||
|
const unsigned char iTZ [] PROGMEM = {
|
||||||
|
0x07, 0xfc, 0x00, 0x1f, 0xff, 0x00, 0x3c, 0x47, 0x80, 0x70, 0xa1, 0xc0, 0x61, 0x10, 0xc0, 0xe2,
|
||||||
|
0x08, 0xe0, 0xc2, 0x08, 0x60, 0xff, 0xff, 0xe0, 0xc2, 0x08, 0x60, 0xc2, 0x08, 0x60, 0xc2, 0x08,
|
||||||
|
0x60, 0xff, 0xff, 0xe0, 0xc2, 0x08, 0x60, 0xe2, 0x08, 0xe0, 0x61, 0x10, 0xc0, 0x70, 0xa1, 0xc0,
|
||||||
|
0x3c, 0x47, 0x80, 0x1f, 0xff, 0x00, 0x07, 0xfc, 0x00
|
||||||
|
};
|
||||||
|
// 'WiFi', 19x19px
|
||||||
|
const unsigned char iWiFi [] PROGMEM = {
|
||||||
|
0x22, 0x08, 0x80, 0x44, 0x44, 0x40, 0x44, 0xe4, 0x40, 0x44, 0xe4, 0x40, 0x44, 0xe4, 0x40, 0x44,
|
||||||
|
0x44, 0x40, 0x22, 0x48, 0x80, 0x00, 0x40, 0x00, 0x00, 0x40, 0x00, 0x00, 0xe0, 0x00, 0x00, 0xe0,
|
||||||
|
0x00, 0x00, 0xe0, 0x00, 0x01, 0xf0, 0x00, 0x01, 0x10, 0x00, 0x03, 0x18, 0x00, 0x02, 0x08, 0x00,
|
||||||
|
0x06, 0x0c, 0x00, 0x0c, 0x06, 0x00, 0x18, 0x03, 0x00
|
||||||
|
};
|
||||||
@ -16,7 +16,7 @@ const float Reduce[5] = {1.0,0.8,0.6,0.4,0.2};
|
|||||||
#define GSettings "GSR-Options"
|
#define GSettings "GSR-Options"
|
||||||
#define GTZ "GSR-TZ"
|
#define GTZ "GSR-TZ"
|
||||||
|
|
||||||
RTC_DATA_ATTR struct GSRWireless {
|
RTC_DATA_ATTR struct GSRWireless final {
|
||||||
bool Requested; // Request WiFi.
|
bool Requested; // Request WiFi.
|
||||||
bool Working; // Working on getting WiFi.
|
bool Working; // Working on getting WiFi.
|
||||||
bool Results; // Results of WiFi, found an AP?
|
bool Results; // Results of WiFi, found an AP?
|
||||||
@ -33,19 +33,19 @@ RTC_DATA_ATTR struct GSRWireless {
|
|||||||
wifi_event_id_t WiFiEventID;
|
wifi_event_id_t WiFiEventID;
|
||||||
} GSRWiFi;
|
} GSRWiFi;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct CPUWork {
|
RTC_DATA_ATTR struct CPUWork final {
|
||||||
uint32_t Freq;
|
uint32_t Freq;
|
||||||
bool Locked;
|
bool Locked;
|
||||||
} CPUSet;
|
} CPUSet;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct Stepping {
|
RTC_DATA_ATTR struct Stepping final {
|
||||||
uint8_t Hour;
|
uint8_t Hour;
|
||||||
uint8_t Minutes;
|
uint8_t Minutes;
|
||||||
bool Reset;
|
bool Reset;
|
||||||
uint32_t Yesterday;
|
uint32_t Yesterday;
|
||||||
} Steps;
|
} Steps;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct Optional {
|
RTC_DATA_ATTR struct Optional final {
|
||||||
bool TwentyFour; // If the face shows 24 hour or Am/Pm.
|
bool TwentyFour; // If the face shows 24 hour or Am/Pm.
|
||||||
bool LightMode; // Light/Dark mode.
|
bool LightMode; // Light/Dark mode.
|
||||||
bool Feedback; // Haptic Feedback on buttons.
|
bool Feedback; // Haptic Feedback on buttons.
|
||||||
@ -66,7 +66,7 @@ RTC_DATA_ATTR struct Optional {
|
|||||||
bool BedTimeOrientation; // Make Buttons only work while Watch is in normal orientation.
|
bool BedTimeOrientation; // Make Buttons only work while Watch is in normal orientation.
|
||||||
} Options;
|
} Options;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct Designing {
|
RTC_DATA_ATTR struct Designing final {
|
||||||
struct MenuPOS {
|
struct MenuPOS {
|
||||||
byte Top; // MenuTop 72
|
byte Top; // MenuTop 72
|
||||||
byte Header; // HeaderY 97
|
byte Header; // HeaderY 97
|
||||||
@ -74,9 +74,18 @@ RTC_DATA_ATTR struct Designing {
|
|||||||
} Menu;
|
} Menu;
|
||||||
struct FacePOS {
|
struct FacePOS {
|
||||||
byte Time; // TimeY 56
|
byte Time; // TimeY 56
|
||||||
|
byte TimeHeight; // 45
|
||||||
|
uint16_t TimeColor; // Font Color.
|
||||||
|
const GFXfont *TimeFont; // Font.
|
||||||
byte Day; // DayY 101
|
byte Day; // DayY 101
|
||||||
|
uint16_t DayColor; // Font Color.
|
||||||
|
const GFXfont *DayFont; // Font.
|
||||||
byte Date; // DateY 143
|
byte Date; // DateY 143
|
||||||
|
uint16_t DateColor; // Font Color.
|
||||||
|
const GFXfont *DateFont; // Font.
|
||||||
byte Year; // YearY 186
|
byte Year; // YearY 186
|
||||||
|
uint16_t YearColor; // Font Color.
|
||||||
|
const GFXfont *YearFont; // Font.
|
||||||
} Face;
|
} Face;
|
||||||
struct StatusPOS {
|
struct StatusPOS {
|
||||||
byte WIFIx; // NTPX 5
|
byte WIFIx; // NTPX 5
|
||||||
@ -90,7 +99,7 @@ RTC_DATA_ATTR int GuiMode;
|
|||||||
RTC_DATA_ATTR bool VibeMode; // Vibe Motor is On=True/Off=False, used for the Haptic and Alarms.
|
RTC_DATA_ATTR bool VibeMode; // Vibe Motor is On=True/Off=False, used for the Haptic and Alarms.
|
||||||
RTC_DATA_ATTR String WatchyStatus; // Used for the indicator in the bottom left, so when it changes, it asks for a screen refresh, if not, it doesn't.
|
RTC_DATA_ATTR String WatchyStatus; // Used for the indicator in the bottom left, so when it changes, it asks for a screen refresh, if not, it doesn't.
|
||||||
|
|
||||||
RTC_DATA_ATTR struct TimeData {
|
RTC_DATA_ATTR struct TimeData final {
|
||||||
time_t UTC_RAW; // Copy of the UTC on init.
|
time_t UTC_RAW; // Copy of the UTC on init.
|
||||||
tmElements_t UTC; // Copy of UTC only split up for usage.
|
tmElements_t UTC; // Copy of UTC only split up for usage.
|
||||||
tmElements_t Local; // Copy of the Local time on init.
|
tmElements_t Local; // Copy of the Local time on init.
|
||||||
@ -103,7 +112,7 @@ RTC_DATA_ATTR struct TimeData {
|
|||||||
bool DeadRTC; // Set when Drift fails to get a good count less than 30 seconds.
|
bool DeadRTC; // Set when Drift fails to get a good count less than 30 seconds.
|
||||||
} WatchTime;
|
} WatchTime;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct Countdown {
|
RTC_DATA_ATTR struct Countdown final {
|
||||||
bool Active;
|
bool Active;
|
||||||
uint8_t Hours;
|
uint8_t Hours;
|
||||||
uint8_t Mins;
|
uint8_t Mins;
|
||||||
@ -115,13 +124,13 @@ RTC_DATA_ATTR struct Countdown {
|
|||||||
time_t LastUTC;
|
time_t LastUTC;
|
||||||
} TimerDown;
|
} TimerDown;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct CountUp {
|
RTC_DATA_ATTR struct CountUp final {
|
||||||
bool Active;
|
bool Active;
|
||||||
time_t SetAt;
|
time_t SetAt;
|
||||||
time_t StopAt;
|
time_t StopAt;
|
||||||
} TimerUp;
|
} TimerUp;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct BatteryUse {
|
RTC_DATA_ATTR struct BatteryUse final {
|
||||||
float Last; // Used to track battery changes, only updates past 0.01 in change.
|
float Last; // Used to track battery changes, only updates past 0.01 in change.
|
||||||
int8_t Direction; // -1 for draining, 1 for charging.
|
int8_t Direction; // -1 for draining, 1 for charging.
|
||||||
int8_t DarkDirection; // Direction copy for Options.SleepMode.
|
int8_t DarkDirection; // Direction copy for Options.SleepMode.
|
||||||
@ -130,14 +139,14 @@ RTC_DATA_ATTR struct BatteryUse {
|
|||||||
int8_t LastState; // 0=not visible, 1= showing chargeme, 2=showing charging.
|
int8_t LastState; // 0=not visible, 1= showing chargeme, 2=showing charging.
|
||||||
} Battery;
|
} Battery;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct MenuUse {
|
RTC_DATA_ATTR struct MenuUse final {
|
||||||
int8_t Style; // MENU_INNORMAL or MENU_INOPTIONS
|
int8_t Style; // MENU_INNORMAL or MENU_INOPTIONS
|
||||||
int8_t Item; // What Menu Item is being viewed.
|
int8_t Item; // What Menu Item is being viewed.
|
||||||
int8_t SubItem; // Used for menus that have sub items, like alarms and Sync Time.
|
int8_t SubItem; // Used for menus that have sub items, like alarms and Sync Time.
|
||||||
int8_t SubSubItem; // Used mostly in the alarm to offset choice.
|
int8_t SubSubItem; // Used mostly in the alarm to offset choice.
|
||||||
} Menu;
|
} Menu;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct NTPUse {
|
RTC_DATA_ATTR struct NTPUse final {
|
||||||
uint8_t State; // State = 0=Off, 1=Start WiFi, 2=Wait for WiFi, TZ, send NTP request, etc, Finish. See function ProcessNTP();
|
uint8_t State; // State = 0=Off, 1=Start WiFi, 2=Wait for WiFi, TZ, send NTP request, etc, Finish. See function ProcessNTP();
|
||||||
uint8_t Wait; // Counts up to 3 minutes, then fails.
|
uint8_t Wait; // Counts up to 3 minutes, then fails.
|
||||||
uint8_t Pause; // How many 50ms to pause for.
|
uint8_t Pause; // How many 50ms to pause for.
|
||||||
@ -149,12 +158,12 @@ RTC_DATA_ATTR struct NTPUse {
|
|||||||
bool NTPDone; // Sets it to Done when an NTP has happened in the past.
|
bool NTPDone; // Sets it to Done when an NTP has happened in the past.
|
||||||
} NTPData;
|
} NTPData;
|
||||||
|
|
||||||
RTC_DATA_ATTR struct GoneDark {
|
RTC_DATA_ATTR struct GoneDark final {
|
||||||
bool Went;
|
bool Went;
|
||||||
unsigned long Last;
|
unsigned long Last;
|
||||||
} Darkness; // Whether or not the screen is darkened.
|
} Darkness; // Whether or not the screen is darkened.
|
||||||
|
|
||||||
RTC_DATA_ATTR struct dispUpdate {
|
RTC_DATA_ATTR struct dispUpdate final {
|
||||||
bool Full;
|
bool Full;
|
||||||
bool Drawn;
|
bool Drawn;
|
||||||
bool Init;
|
bool Init;
|
||||||
@ -222,6 +231,7 @@ void WatchyGSR::setupDefaults(){
|
|||||||
GSRWiFi.TransmitPower = WiFi.getTxPower();
|
GSRWiFi.TransmitPower = WiFi.getTxPower();
|
||||||
Steps.Hour = 6;
|
Steps.Hour = 6;
|
||||||
Steps.Minutes = 0;
|
Steps.Minutes = 0;
|
||||||
|
InsertDefaults();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WatchyGSR::init(String datetime){
|
void WatchyGSR::init(String datetime){
|
||||||
@ -281,6 +291,7 @@ void WatchyGSR::init(String datetime){
|
|||||||
Darkness.Last=millis(); UpdateDisp = true; // Do this anyways, always.
|
Darkness.Last=millis(); UpdateDisp = true; // Do this anyways, always.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
InsertOnMinute();
|
||||||
break;
|
break;
|
||||||
default: //reset
|
default: //reset
|
||||||
SRTC.init();
|
SRTC.init();
|
||||||
@ -298,6 +309,8 @@ void WatchyGSR::init(String datetime){
|
|||||||
UpdateUTC();
|
UpdateUTC();
|
||||||
UpdateClock();
|
UpdateClock();
|
||||||
AlarmIndex=0;
|
AlarmIndex=0;
|
||||||
|
UpdateFonts();
|
||||||
|
InsertPost();
|
||||||
AlarmsOn=false;
|
AlarmsOn=false;
|
||||||
WaitForNext=false;
|
WaitForNext=false;
|
||||||
Updates.Full=true;
|
Updates.Full=true;
|
||||||
@ -327,7 +340,7 @@ void WatchyGSR::init(String datetime){
|
|||||||
|
|
||||||
CalculateTones(); monitorSteps();
|
CalculateTones(); monitorSteps();
|
||||||
AlarmsOn =(Alarms_Times[0] > 0 || Alarms_Times[1] > 0 || Alarms_Times[2] > 0 || Alarms_Times[3] > 0 || TimerDown.ToneLeft > 0);
|
AlarmsOn =(Alarms_Times[0] > 0 || Alarms_Times[1] > 0 || Alarms_Times[2] > 0 || Alarms_Times[3] > 0 || TimerDown.ToneLeft > 0);
|
||||||
ActiveMode = (InTurbo() || DarkWait() || NTPData.State > 0 || AlarmsOn || WatchyAPOn || OTAUpdate || NTPData.TimeTest || WatchTime.DeadRTC);
|
ActiveMode = (InTurbo() || DarkWait() || NTPData.State > 0 || AlarmsOn || WatchyAPOn || OTAUpdate || NTPData.TimeTest || WatchTime.DeadRTC || GSRWiFi.Requested);
|
||||||
Sensitive = ((OTAUpdate && Menu.SubItem == 3) || (NTPData.TimeTest && Menu.SubItem == 2));
|
Sensitive = ((OTAUpdate && Menu.SubItem == 3) || (NTPData.TimeTest && Menu.SubItem == 2));
|
||||||
|
|
||||||
RefreshCPU();
|
RefreshCPU();
|
||||||
@ -343,6 +356,7 @@ void WatchyGSR::init(String datetime){
|
|||||||
ManageTime(); // Handle Time method.
|
ManageTime(); // Handle Time method.
|
||||||
processWiFiRequest(); // Process any WiFi requests.
|
processWiFiRequest(); // Process any WiFi requests.
|
||||||
if (!Sensitive){
|
if (!Sensitive){
|
||||||
|
if (currentWiFi() == WL_CONNECTED) InsertWiFi();
|
||||||
if (NTPData.State > 0 && !WatchyAPOn && !OTAUpdate){
|
if (NTPData.State > 0 && !WatchyAPOn && !OTAUpdate){
|
||||||
if (NTPData.Pause == 0) ProcessNTP(); else NTPData.Pause--;
|
if (NTPData.Pause == 0) ProcessNTP(); else NTPData.Pause--;
|
||||||
if (WatchTime.NewMinute){
|
if (WatchTime.NewMinute){
|
||||||
@ -601,7 +615,7 @@ void WatchyGSR::init(String datetime){
|
|||||||
|
|
||||||
CalculateTones(); monitorSteps();
|
CalculateTones(); monitorSteps();
|
||||||
AlarmsOn =(Alarms_Times[0] > 0 || Alarms_Times[1] > 0 || Alarms_Times[2] > 0 || Alarms_Times[3] > 0 || TimerDown.ToneLeft > 0);
|
AlarmsOn =(Alarms_Times[0] > 0 || Alarms_Times[1] > 0 || Alarms_Times[2] > 0 || Alarms_Times[3] > 0 || TimerDown.ToneLeft > 0);
|
||||||
ActiveMode = (InTurbo() || DarkWait() || NTPData.State > 0 || AlarmsOn || WatchyAPOn || OTAUpdate || NTPData.TimeTest || WatchTime.DeadRTC);
|
ActiveMode = (InTurbo() || DarkWait() || NTPData.State > 0 || AlarmsOn || WatchyAPOn || OTAUpdate || NTPData.TimeTest || WatchTime.DeadRTC || GSRWiFi.Requested);
|
||||||
|
|
||||||
if (WatchTime.DeadRTC && Options.NeedsSaving) RecordSettings();
|
if (WatchTime.DeadRTC && Options.NeedsSaving) RecordSettings();
|
||||||
RefreshCPU(CPUDEF);
|
RefreshCPU(CPUDEF);
|
||||||
@ -648,8 +662,9 @@ void WatchyGSR::showWatchFace(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
void WatchyGSR::drawWatchFace(){
|
void WatchyGSR::drawWatchFace(){
|
||||||
display.fillScreen(Options.LightMode ? GxEPD_WHITE : GxEPD_BLACK);
|
display.fillScreen(BackColor());
|
||||||
display.setTextColor(FontColor());
|
InsertBitmap();
|
||||||
|
display.setTextColor(ForeColor());
|
||||||
|
|
||||||
if (!(OTAUpdate || WatchyAPOn || (Menu.Item == MENU_TOFF && Menu.SubItem == 2))){
|
if (!(OTAUpdate || WatchyAPOn || (Menu.Item == MENU_TOFF && Menu.SubItem == 2))){
|
||||||
drawTime();
|
drawTime();
|
||||||
@ -671,8 +686,8 @@ void WatchyGSR::drawTime(){
|
|||||||
bool PM;
|
bool PM;
|
||||||
PM = false;
|
PM = false;
|
||||||
O = MakeTime(WatchTime.Local.Hour, WatchTime.Local.Minute, PM);
|
O = MakeTime(WatchTime.Local.Hour, WatchTime.Local.Minute, PM);
|
||||||
display.setFont(&aAntiCorona36pt7b);
|
display.setFont(Design.Face.TimeFont);
|
||||||
display.setTextColor(FontColor());
|
display.setTextColor(Design.Face.TimeColor);
|
||||||
|
|
||||||
display.getTextBounds(O, 0, Design.Face.Time, &x1, &y1, &w, &h);
|
display.getTextBounds(O, 0, Design.Face.Time, &x1, &y1, &w, &h);
|
||||||
tw = (200 - w) /2;
|
tw = (200 - w) /2;
|
||||||
@ -681,8 +696,7 @@ void WatchyGSR::drawTime(){
|
|||||||
|
|
||||||
if (PM){
|
if (PM){
|
||||||
tw=constrain(tw + w + 6, 0, 184);
|
tw=constrain(tw + w + 6, 0, 184);
|
||||||
display.drawBitmap(tw, Design.Face.Time - 45, PMIndicator, 6, 6, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
display.drawBitmap(tw, Design.Face.Time - Design.Face.TimeHeight, PMIndicator, 6, 6, ForeColor());
|
||||||
// display.fillRect(tw, TimeY - 45 ,6 ,6, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -692,8 +706,8 @@ void WatchyGSR::drawDay(){
|
|||||||
String O;
|
String O;
|
||||||
|
|
||||||
O = dayStr(WatchTime.Local.Wday + 1);
|
O = dayStr(WatchTime.Local.Wday + 1);
|
||||||
display.setFont(&aAntiCorona16pt7b);
|
display.setFont(Design.Face.DayFont);
|
||||||
display.setTextColor(FontColor());
|
display.setTextColor(Design.Face.DayColor);
|
||||||
display.getTextBounds(O, 0, Design.Face.Day, &x1, &y1, &w, &h);
|
display.getTextBounds(O, 0, Design.Face.Day, &x1, &y1, &w, &h);
|
||||||
w = (200 - w) /2;
|
w = (200 - w) /2;
|
||||||
display.setCursor(w, Design.Face.Day);
|
display.setCursor(w, Design.Face.Day);
|
||||||
@ -705,8 +719,8 @@ void WatchyGSR::drawDate(){
|
|||||||
uint16_t w, h;
|
uint16_t w, h;
|
||||||
String O;
|
String O;
|
||||||
|
|
||||||
display.setFont(&aAntiCorona15pt7b); //Shahd_Serif17pt7b);
|
display.setFont(Design.Face.DateFont);
|
||||||
display.setTextColor(FontColor());
|
display.setTextColor(Design.Face.DateColor);
|
||||||
O = String(monthStr(WatchTime.Local.Month)) + " " + String(WatchTime.Local.Day);
|
O = String(monthStr(WatchTime.Local.Month)) + " " + String(WatchTime.Local.Day);
|
||||||
//O="September 30";
|
//O="September 30";
|
||||||
display.getTextBounds(O, 0, Design.Face.Date, &x1, &y1, &w, &h);
|
display.getTextBounds(O, 0, Design.Face.Date, &x1, &y1, &w, &h);
|
||||||
@ -720,8 +734,8 @@ void WatchyGSR::drawYear(){
|
|||||||
uint16_t w, h, tw;
|
uint16_t w, h, tw;
|
||||||
String O;
|
String O;
|
||||||
|
|
||||||
display.setFont(&aAntiCorona16pt7b);
|
display.setFont(Design.Face.YearFont);
|
||||||
display.setTextColor(FontColor());
|
display.setTextColor(Design.Face.YearColor);
|
||||||
O = String(WatchTime.Local.Year + RTC_LOCALYEAR_OFFSET); //1900
|
O = String(WatchTime.Local.Year + RTC_LOCALYEAR_OFFSET); //1900
|
||||||
display.getTextBounds(O, 0, Design.Face.Year, &x1, &y1, &w, &h);
|
display.getTextBounds(O, 0, Design.Face.Year, &x1, &y1, &w, &h);
|
||||||
w = (200 - w) /2;
|
w = (200 - w) /2;
|
||||||
@ -735,8 +749,8 @@ void WatchyGSR::drawMenu(){
|
|||||||
String O, S;
|
String O, S;
|
||||||
|
|
||||||
display.setFont(&aAntiCorona12pt7b);
|
display.setFont(&aAntiCorona12pt7b);
|
||||||
display.fillRect(0, Design.Menu.Top, MenuWidth, MenuHeight, Options.LightMode ? GxEPD_WHITE : GxEPD_BLACK);
|
display.fillRect(0, Design.Menu.Top, MenuWidth, MenuHeight, BackColor());
|
||||||
display.drawBitmap(0, Design.Menu.Top, (Menu.Style == MENU_INOPTIONS) ? OptionsMenuBackground : MenuBackground, MenuWidth, MenuHeight, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
display.drawBitmap(0, Design.Menu.Top, (Menu.Style == MENU_INOPTIONS) ? OptionsMenuBackground : MenuBackground, MenuWidth, MenuHeight, ForeColor());
|
||||||
display.setTextColor(Options.LightMode && Menu.Style != MENU_INNORMAL ? GxEPD_WHITE : GxEPD_BLACK);
|
display.setTextColor(Options.LightMode && Menu.Style != MENU_INNORMAL ? GxEPD_WHITE : GxEPD_BLACK);
|
||||||
switch (Menu.Item){
|
switch (Menu.Item){
|
||||||
case MENU_STEPS:
|
case MENU_STEPS:
|
||||||
@ -1378,32 +1392,32 @@ void WatchyGSR::drawChargeMe(){
|
|||||||
int8_t D = 0;
|
int8_t D = 0;
|
||||||
if (Battery.Direction == 1){
|
if (Battery.Direction == 1){
|
||||||
// Show Battery charging bitmap.
|
// Show Battery charging bitmap.
|
||||||
display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, Charging, 40, 17, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, Charging, 40, 17, ForeColor());
|
||||||
D = 2;
|
D = 2;
|
||||||
}else if (Battery.Last < MinBattery){
|
}else if (Battery.Last < MinBattery){
|
||||||
// Show Battery needs charging bitmap.
|
// Show Battery needs charging bitmap.
|
||||||
display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, (Battery.Last < LowBattery ? ChargeMeBad : ChargeMe), 40, 17, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
display.drawBitmap(Design.Status.BATTx, Design.Status.BATTy, (Battery.Last < LowBattery ? ChargeMeBad : ChargeMe), 40, 17, ForeColor());
|
||||||
D = 1;
|
D = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void WatchyGSR::drawStatus(){
|
void WatchyGSR::drawStatus(){
|
||||||
if (WatchyStatus > ""){
|
if (WatchyStatus > ""){
|
||||||
display.fillRect(Design.Status.WIFIx, Design.Status.WIFIy - 19, 60, 20, Options.LightMode ? GxEPD_WHITE : GxEPD_BLACK);
|
display.fillRect(Design.Status.WIFIx, Design.Status.WIFIy - 19, 60, 20, BackColor());
|
||||||
display.setFont(&Bronova_Regular13pt7b);
|
display.setFont(&Bronova_Regular13pt7b);
|
||||||
if (WatchyStatus.startsWith("WiFi")){
|
if (WatchyStatus.startsWith("WiFi")){
|
||||||
display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iWiFi, 19, 19, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iWiFi, 19, 19, ForeColor());
|
||||||
if (WatchyStatus.length() > 4){
|
if (WatchyStatus.length() > 4){
|
||||||
display.setCursor(Design.Status.WIFIx + 17, Design.Status.WIFIy);
|
display.setCursor(Design.Status.WIFIx + 17, Design.Status.WIFIy);
|
||||||
display.setTextColor(Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
display.setTextColor(ForeColor());
|
||||||
display.print(WatchyStatus.substring(4));
|
display.print(WatchyStatus.substring(4));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (WatchyStatus == "TZ") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iTZ, 19, 19, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
else if (WatchyStatus == "TZ") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iTZ, 19, 19, ForeColor());
|
||||||
else if (WatchyStatus == "NTP") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iSync, 19, 19, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
else if (WatchyStatus == "NTP") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iSync, 19, 19, ForeColor());
|
||||||
else if (WatchyStatus == "ESP") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iSync, 19, 19, Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
else if (WatchyStatus == "ESP") display.drawBitmap(Design.Status.WIFIx, Design.Status.WIFIy - 18, iSync, 19, 19, ForeColor());
|
||||||
else{
|
else{
|
||||||
display.setTextColor(Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE);
|
display.setTextColor(ForeColor());
|
||||||
display.setCursor(Design.Status.WIFIx, Design.Status.WIFIy);
|
display.setCursor(Design.Status.WIFIx, Design.Status.WIFIy);
|
||||||
display.print(WatchyStatus);
|
display.print(WatchyStatus);
|
||||||
}
|
}
|
||||||
@ -2366,11 +2380,6 @@ void WatchyGSR::UpdateBMA(){
|
|||||||
|
|
||||||
float WatchyGSR::getBatteryVoltage(){ return ((BatteryRead() - 0.0125) + (BatteryRead() - 0.0125) + (BatteryRead() - 0.0125) + (BatteryRead() - 0.0125)) / 4; }
|
float WatchyGSR::getBatteryVoltage(){ return ((BatteryRead() - 0.0125) + (BatteryRead() - 0.0125) + (BatteryRead() - 0.0125) + (BatteryRead() - 0.0125)) / 4; }
|
||||||
float WatchyGSR::BatteryRead(){ return analogReadMilliVolts(SRTC.getADCPin()) / 500.0f; } // Battery voltage goes through a 1/2 divider.
|
float WatchyGSR::BatteryRead(){ return analogReadMilliVolts(SRTC.getADCPin()) / 500.0f; } // Battery voltage goes through a 1/2 divider.
|
||||||
//float WatchyGSR::BatteryRead(){
|
|
||||||
// if (SRTC.rtcType == DS3231) return analogReadMilliVolts(V10_ADC_PIN) / 500.0f;
|
|
||||||
// return analogReadMilliVolts(V15_ADC_PIN) / 500.0f;
|
|
||||||
//}
|
|
||||||
|
|
||||||
|
|
||||||
uint16_t WatchyGSR::_readRegister(uint8_t address, uint8_t reg, uint8_t *data, uint16_t len) {
|
uint16_t WatchyGSR::_readRegister(uint8_t address, uint8_t reg, uint8_t *data, uint16_t len) {
|
||||||
Wire.beginTransmission(address);
|
Wire.beginTransmission(address);
|
||||||
@ -2391,7 +2400,26 @@ uint16_t WatchyGSR::_writeRegister(uint8_t address, uint8_t reg, uint8_t *data,
|
|||||||
return (0 != Wire.endTransmission());
|
return (0 != Wire.endTransmission());
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16_t WatchyGSR::FontColor(){ return (Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE); }
|
void WatchyGSR::UpdateFonts(){
|
||||||
|
Design.Face.TimeColor = ForeColor();
|
||||||
|
Design.Face.DayColor = ForeColor();
|
||||||
|
Design.Face.DateColor = ForeColor();
|
||||||
|
Design.Face.YearColor = ForeColor();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Override functions.
|
||||||
|
uint16_t WatchyGSR::ForeColor(){ return (Options.LightMode ? GxEPD_BLACK : GxEPD_WHITE); }
|
||||||
|
|
||||||
|
uint16_t WatchyGSR::BackColor(){ return (Options.LightMode ? GxEPD_WHITE : GxEPD_BLACK); }
|
||||||
|
|
||||||
|
void WatchyGSR::InsertPost() {}
|
||||||
|
void WatchyGSR::InsertBitmap() {}
|
||||||
|
void WatchyGSR::InsertDefaults() {}
|
||||||
|
void WatchyGSR::InsertOnMinute() {}
|
||||||
|
void WatchyGSR::InsertWiFi() {}
|
||||||
|
void WatchyGSR::InsertWiFiEnding() {}
|
||||||
|
|
||||||
|
bool WatchyGSR::IsDark(){ return Darkness.Went; }
|
||||||
|
|
||||||
String WatchyGSR::MakeTime(int Hour, int Minutes, bool& Alarm){ // Use variable with Alarm, if set to False on the way in, returns PM indication.
|
String WatchyGSR::MakeTime(int Hour, int Minutes, bool& Alarm){ // Use variable with Alarm, if set to False on the way in, returns PM indication.
|
||||||
int H;
|
int H;
|
||||||
@ -2625,6 +2653,7 @@ void WatchyGSR::endWiFi(){
|
|||||||
WiFi.removeEvent(GSRWiFi.WiFiEventID);
|
WiFi.removeEvent(GSRWiFi.WiFiEventID);
|
||||||
GSRWiFi.WiFiEventID = 0;
|
GSRWiFi.WiFiEventID = 0;
|
||||||
WiFi.mode(WIFI_OFF);
|
WiFi.mode(WIFI_OFF);
|
||||||
|
InsertWiFiEnding();
|
||||||
}else if (GSRWiFi.Requests > 0) GSRWiFi.Requests--;
|
}else if (GSRWiFi.Requests > 0) GSRWiFi.Requests--;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2805,9 +2834,18 @@ void WatchyGSR::initZeros(){
|
|||||||
Design.Menu.Header = 97;
|
Design.Menu.Header = 97;
|
||||||
Design.Menu.Data = 138;
|
Design.Menu.Data = 138;
|
||||||
Design.Face.Time = 56;
|
Design.Face.Time = 56;
|
||||||
|
Design.Face.TimeHeight = 45;
|
||||||
|
Design.Face.TimeColor = GxEPD_BLACK;
|
||||||
|
Design.Face.TimeFont = &aAntiCorona36pt7b;
|
||||||
Design.Face.Day = 101;
|
Design.Face.Day = 101;
|
||||||
|
Design.Face.DayColor = GxEPD_BLACK;
|
||||||
|
Design.Face.DayFont = &aAntiCorona16pt7b;
|
||||||
Design.Face.Date = 143;
|
Design.Face.Date = 143;
|
||||||
|
Design.Face.DateColor = GxEPD_BLACK;
|
||||||
|
Design.Face.DateFont = &aAntiCorona15pt7b;
|
||||||
Design.Face.Year = 186;
|
Design.Face.Year = 186;
|
||||||
|
Design.Face.YearColor = GxEPD_BLACK;
|
||||||
|
Design.Face.YearFont = &aAntiCorona16pt7b;
|
||||||
Design.Status.WIFIx = 5;
|
Design.Status.WIFIx = 5;
|
||||||
Design.Status.WIFIy = 193;
|
Design.Status.WIFIy = 193;
|
||||||
Design.Status.BATTx = 155;
|
Design.Status.BATTx = 155;
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
#include <Wire.h>
|
#include <Wire.h>
|
||||||
#include <bma.h>
|
#include <bma.h>
|
||||||
|
|
||||||
#include "icons.h"
|
#include "Icons_GSR.h"
|
||||||
#include "ArduinoNvs.h"
|
#include "ArduinoNvs.h"
|
||||||
|
|
||||||
#include "aAntiCorona15pt7b.h"
|
#include "aAntiCorona15pt7b.h"
|
||||||
@ -34,32 +34,44 @@
|
|||||||
class WatchyGSR{
|
class WatchyGSR{
|
||||||
public:
|
public:
|
||||||
static SmallRTC SRTC;
|
static SmallRTC SRTC;
|
||||||
// static WatchyRTC SRTC;
|
|
||||||
static SmallNTP SNTP;
|
static SmallNTP SNTP;
|
||||||
static GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display;
|
static GxEPD2_BW<GxEPD2_154_D67, GxEPD2_154_D67::HEIGHT> display;
|
||||||
static constexpr const char* Build = "1.3.6";
|
static constexpr const char* Build = "1.3.7";
|
||||||
public:
|
public:
|
||||||
WatchyGSR();
|
WatchyGSR();
|
||||||
void init(String datetime = "");
|
virtual void init(String datetime = "") final;
|
||||||
void showWatchFace();
|
void showWatchFace();
|
||||||
void drawWatchFace(); //override this method for different watch faces
|
void drawWatchFace(); //override this method for different watch faces
|
||||||
void drawTime();
|
void drawTime();
|
||||||
void drawDay();
|
void drawDay();
|
||||||
void drawDate();
|
void drawDate();
|
||||||
void drawYear();
|
void drawYear();
|
||||||
void handleButtonPress(uint8_t Pressed);
|
virtual void handleButtonPress(uint8_t Pressed) final;
|
||||||
virtual void deepSleep();
|
virtual void deepSleep() final;
|
||||||
float getBatteryVoltage();
|
virtual float getBatteryVoltage() final;
|
||||||
float BatteryRead();
|
virtual float BatteryRead() final;
|
||||||
bool IsDark();
|
virtual bool IsDark() final;
|
||||||
IRAM_ATTR void handleInterrupt();
|
IRAM_ATTR virtual void handleInterrupt() final;
|
||||||
private:
|
|
||||||
void drawChargeMe();
|
void drawChargeMe();
|
||||||
void drawStatus();
|
void drawStatus();
|
||||||
|
virtual void VibeTo(bool Mode) final;
|
||||||
|
virtual String MakeTime(int Hour, int Minutes, bool& Alarm) final;
|
||||||
|
virtual String MakeHour(uint8_t Hour) final;
|
||||||
|
virtual String MakeMinutes(uint8_t Minutes) final;
|
||||||
|
virtual uint16_t ForeColor() final;
|
||||||
|
virtual uint16_t BackColor() final;
|
||||||
|
void InsertPost();
|
||||||
|
void InsertBitmap();
|
||||||
|
void InsertDefaults();
|
||||||
|
void InsertOnMinute();
|
||||||
|
void InsertWiFi();
|
||||||
|
void InsertWiFiEnding();
|
||||||
|
virtual void AskForWiFi() final;
|
||||||
|
virtual wl_status_t currentWiFi() final;
|
||||||
|
virtual void endWiFi() final;
|
||||||
|
private:
|
||||||
void setStatus(String Status);
|
void setStatus(String Status);
|
||||||
void drawMenu();
|
void drawMenu();
|
||||||
void VibeTo(bool Mode);
|
|
||||||
//void handleAccelerometer();
|
|
||||||
void GoDark();
|
void GoDark();
|
||||||
void detectBattery();
|
void detectBattery();
|
||||||
void ProcessNTP();
|
void ProcessNTP();
|
||||||
@ -71,12 +83,9 @@ class WatchyGSR{
|
|||||||
void UpdateBMA();
|
void UpdateBMA();
|
||||||
static uint16_t _readRegister(uint8_t address, uint8_t reg, uint8_t *data, uint16_t len);
|
static uint16_t _readRegister(uint8_t address, uint8_t reg, uint8_t *data, uint16_t len);
|
||||||
static uint16_t _writeRegister(uint8_t address, uint8_t reg, uint8_t *data, uint16_t len);
|
static uint16_t _writeRegister(uint8_t address, uint8_t reg, uint8_t *data, uint16_t len);
|
||||||
uint16_t FontColor();
|
void UpdateFonts();
|
||||||
String MakeTime(int Hour, int Minutes, bool& Alarm);
|
|
||||||
String MakeHour(uint8_t Hour);
|
|
||||||
String MakeSeconds(uint8_t Seconds);
|
|
||||||
String MakeTOD(uint8_t Hour, bool AddZeros);
|
String MakeTOD(uint8_t Hour, bool AddZeros);
|
||||||
String MakeMinutes(uint8_t Minutes);
|
String MakeSeconds(uint8_t Seconds);
|
||||||
String MakeSteps(uint32_t uSteps);
|
String MakeSteps(uint32_t uSteps);
|
||||||
void CheckAlarm(int I);
|
void CheckAlarm(int I);
|
||||||
void CheckCD();
|
void CheckCD();
|
||||||
@ -88,14 +97,11 @@ class WatchyGSR{
|
|||||||
uint8_t getButtonPins();
|
uint8_t getButtonPins();
|
||||||
uint8_t getButtonMaskToID(uint64_t HW);
|
uint8_t getButtonMaskToID(uint64_t HW);
|
||||||
uint8_t getSwapped(uint8_t pIn);
|
uint8_t getSwapped(uint8_t pIn);
|
||||||
void AskForWiFi();
|
|
||||||
void processWiFiRequest();
|
void processWiFiRequest();
|
||||||
String WiFiIndicator(uint8_t Index);
|
String WiFiIndicator(uint8_t Index);
|
||||||
void UpdateWiFiPower(String SSID, String PSK);
|
void UpdateWiFiPower(String SSID, String PSK);
|
||||||
void UpdateWiFiPower(String SSID);
|
void UpdateWiFiPower(String SSID);
|
||||||
void UpdateWiFiPower(uint8_t PWRIndex = 0);
|
void UpdateWiFiPower(uint8_t PWRIndex = 0);
|
||||||
wl_status_t currentWiFi();
|
|
||||||
void endWiFi();
|
|
||||||
static void WiFiStationDisconnected(WiFiEvent_t event, WiFiEventInfo_t info);
|
static void WiFiStationDisconnected(WiFiEvent_t event, WiFiEventInfo_t info);
|
||||||
String buildWiFiAPPage();
|
String buildWiFiAPPage();
|
||||||
void parseWiFiPageArg(String ARG, String DATA);
|
void parseWiFiPageArg(String ARG, String DATA);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user