Animated icons (#866)
* Add animation Icons * 2D dimensional array * Added animation to GUI * Added Adnimation Speed setting * Added loop * Added Loop switch * Use Checkbox instead of +/- * Animations can now be turned off * Optimize animation code * Move animation options to UI settings
This commit is contained in:
@@ -147,224 +147,694 @@ const uint8_t disconnectedTipIcon[] = {
|
||||
|
||||
/*
|
||||
* 16x16 icons
|
||||
* 32 * 3 = Frame size * Frame count
|
||||
* */
|
||||
const uint8_t SettingsMenuIcons[] = {
|
||||
const uint8_t SettingsMenuIcons[][32 * 3] = {
|
||||
|
||||
// Power
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
0xC0,
|
||||
0xB0,
|
||||
0x8C,
|
||||
0x83,
|
||||
0x01,
|
||||
0x01,
|
||||
0x21,
|
||||
0x31,
|
||||
0xA9,
|
||||
0x65,
|
||||
0x03,
|
||||
0x42,
|
||||
0x62,
|
||||
0x52,
|
||||
0xCA,
|
||||
0x06,
|
||||
0x60,
|
||||
0x58,
|
||||
0x26,
|
||||
0x11,
|
||||
0x08,
|
||||
0xC4,
|
||||
0xB2,
|
||||
0x4D,
|
||||
0x23,
|
||||
0x10,
|
||||
0x08,
|
||||
0x04,
|
||||
0x02,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
{
|
||||
// Power 1 frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0xC0,
|
||||
0xB0,
|
||||
0x8C,
|
||||
0x83,
|
||||
0x01,
|
||||
0x01,
|
||||
0x21,
|
||||
0x31,
|
||||
0xB9,
|
||||
0xFD,
|
||||
0xFF,
|
||||
0xFE,
|
||||
0xFE,
|
||||
0xDE,
|
||||
0xCE,
|
||||
0x06,
|
||||
0x60,
|
||||
0x58,
|
||||
0x26,
|
||||
0x11,
|
||||
0x08,
|
||||
0xC4,
|
||||
0xF2,
|
||||
0x7D,
|
||||
0x3F,
|
||||
0x1F,
|
||||
0x0F,
|
||||
0x07,
|
||||
0x03,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Power 2 frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0xC0,
|
||||
0xF0,
|
||||
0xFC,
|
||||
0xFF,
|
||||
0xFF,
|
||||
0xFF,
|
||||
0xFF,
|
||||
0xFF,
|
||||
0xEF,
|
||||
0x67,
|
||||
0x03,
|
||||
0x42,
|
||||
0x62,
|
||||
0x52,
|
||||
0xCA,
|
||||
0x06,
|
||||
0x60,
|
||||
0x78,
|
||||
0x3E,
|
||||
0x1F,
|
||||
0x0F,
|
||||
0xC7,
|
||||
0xB3,
|
||||
0x4D,
|
||||
0x23,
|
||||
0x10,
|
||||
0x08,
|
||||
0x04,
|
||||
0x02,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Power final frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0xC0,
|
||||
0xB0,
|
||||
0x8C,
|
||||
0x83,
|
||||
0x01,
|
||||
0x01,
|
||||
0x21,
|
||||
0x31,
|
||||
0xA9,
|
||||
0x65,
|
||||
0x03,
|
||||
0x42,
|
||||
0x62,
|
||||
0x52,
|
||||
0xCA,
|
||||
0x06,
|
||||
0x60,
|
||||
0x58,
|
||||
0x26,
|
||||
0x11,
|
||||
0x08,
|
||||
0xC4,
|
||||
0xB2,
|
||||
0x4D,
|
||||
0x23,
|
||||
0x10,
|
||||
0x08,
|
||||
0x04,
|
||||
0x02,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
},
|
||||
|
||||
// Soldering
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x02,
|
||||
0x04,
|
||||
0x08,
|
||||
0x12,
|
||||
0x24,
|
||||
0xC4,
|
||||
0x42,
|
||||
0x82,
|
||||
0x04,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x01,
|
||||
0x02,
|
||||
0x07,
|
||||
0x0A,
|
||||
0x14,
|
||||
0x28,
|
||||
0x50,
|
||||
0x60,
|
||||
0x00,
|
||||
{
|
||||
// Soldering 1 frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x80,
|
||||
0x40,
|
||||
0xE0,
|
||||
0x50,
|
||||
0x28,
|
||||
0x14,
|
||||
0x0A,
|
||||
0x06,
|
||||
0x00,
|
||||
0x00,
|
||||
0x40,
|
||||
0x20,
|
||||
0x10,
|
||||
0x08,
|
||||
0x04,
|
||||
0x03,
|
||||
0x02,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Soldering 2 frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x80,
|
||||
0x40,
|
||||
0xE0,
|
||||
0x50,
|
||||
0x28,
|
||||
0x14,
|
||||
0x0A,
|
||||
0x06,
|
||||
0x00,
|
||||
0x00,
|
||||
0x48,
|
||||
0x26,
|
||||
0x10,
|
||||
0x08,
|
||||
0x04,
|
||||
0x03,
|
||||
0x02,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Soldering final frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x80,
|
||||
0x40,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x80,
|
||||
0x40,
|
||||
0xE0,
|
||||
0x50,
|
||||
0x28,
|
||||
0x14,
|
||||
0x0A,
|
||||
0x06,
|
||||
0x00,
|
||||
0x00,
|
||||
0x49,
|
||||
0x26,
|
||||
0x10,
|
||||
0x08,
|
||||
0x04,
|
||||
0x03,
|
||||
0x02,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
},
|
||||
|
||||
// Sleep
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0xC6,
|
||||
0xE6,
|
||||
0xF6,
|
||||
0xBE,
|
||||
0x9E,
|
||||
0x8E,
|
||||
0x86,
|
||||
0x00,
|
||||
0x00,
|
||||
0x40,
|
||||
0x40,
|
||||
0xC0,
|
||||
0xC0,
|
||||
0xC0,
|
||||
0x00,
|
||||
0x00,
|
||||
0x01,
|
||||
0x01,
|
||||
0x01,
|
||||
0x45,
|
||||
0x65,
|
||||
0x75,
|
||||
0x5D,
|
||||
0x4C,
|
||||
0x00,
|
||||
0x06,
|
||||
0x07,
|
||||
0x07,
|
||||
0x05,
|
||||
0x04,
|
||||
0x00,
|
||||
{
|
||||
// Sleep 1 frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x44,
|
||||
0x64,
|
||||
0x74,
|
||||
0x5C,
|
||||
0x4C,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Sleep 2 frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x40,
|
||||
0x40,
|
||||
0xC0,
|
||||
0xC0,
|
||||
0xC0,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x44,
|
||||
0x64,
|
||||
0x74,
|
||||
0x5C,
|
||||
0x4C,
|
||||
0x00,
|
||||
0x06,
|
||||
0x07,
|
||||
0x07,
|
||||
0x05,
|
||||
0x04,
|
||||
0x00,
|
||||
|
||||
// Sleep final frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0xC6,
|
||||
0xE6,
|
||||
0xF6,
|
||||
0xBE,
|
||||
0x9E,
|
||||
0x8E,
|
||||
0x86,
|
||||
0x00,
|
||||
0x00,
|
||||
0x40,
|
||||
0x40,
|
||||
0xC0,
|
||||
0xC0,
|
||||
0xC0,
|
||||
0x00,
|
||||
0x00,
|
||||
0x01,
|
||||
0x01,
|
||||
0x01,
|
||||
0x45,
|
||||
0x65,
|
||||
0x75,
|
||||
0x5D,
|
||||
0x4C,
|
||||
0x00,
|
||||
0x06,
|
||||
0x07,
|
||||
0x07,
|
||||
0x05,
|
||||
0x04,
|
||||
0x00,
|
||||
},
|
||||
|
||||
// Menu
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x80,
|
||||
0x06,
|
||||
0x86,
|
||||
0x46,
|
||||
0x06,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x61,
|
||||
0x60,
|
||||
0x00,
|
||||
0x00,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x00,
|
||||
{
|
||||
// Menu 1 frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x80,
|
||||
0x06,
|
||||
0x06,
|
||||
0x06,
|
||||
0x06,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x60,
|
||||
0x60,
|
||||
0x00,
|
||||
0x00,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x00,
|
||||
|
||||
// Menu 2 frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x80,
|
||||
0x06,
|
||||
0x06,
|
||||
0x06,
|
||||
0x06,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x61,
|
||||
0x60,
|
||||
0x00,
|
||||
0x00,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x00,
|
||||
|
||||
// Menu final frame
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x80,
|
||||
0x06,
|
||||
0x86,
|
||||
0x46,
|
||||
0x06,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x86,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x61,
|
||||
0x60,
|
||||
0x00,
|
||||
0x00,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x61,
|
||||
0x00,
|
||||
},
|
||||
|
||||
// Wrench
|
||||
// 3 frames
|
||||
/// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x18,
|
||||
0x30,
|
||||
0x32,
|
||||
0x7E,
|
||||
0x7C,
|
||||
0xF0,
|
||||
0xC0,
|
||||
0x80,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x01,
|
||||
0x03,
|
||||
0x0F,
|
||||
0x3E,
|
||||
0x7E,
|
||||
0x4C,
|
||||
0x0C,
|
||||
0x18,
|
||||
0x00,
|
||||
{
|
||||
// Wrench 1 frame
|
||||
/// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x18,
|
||||
0x30,
|
||||
0x32,
|
||||
0x7E,
|
||||
0x7C,
|
||||
0xF0,
|
||||
0xC0,
|
||||
|
||||
// Wrench 2 frame
|
||||
/// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0xC0,
|
||||
0x80,
|
||||
0x90,
|
||||
0xF0,
|
||||
0xE0,
|
||||
0x80,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x01,
|
||||
0x01,
|
||||
0x03,
|
||||
0x03,
|
||||
0x07,
|
||||
0x0E,
|
||||
0x1C,
|
||||
0x78,
|
||||
0xF0,
|
||||
0xF0,
|
||||
0x60,
|
||||
|
||||
// Wrench final frame
|
||||
/// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x18,
|
||||
0x30,
|
||||
0x32,
|
||||
0x7E,
|
||||
0x7C,
|
||||
0xF0,
|
||||
0xC0,
|
||||
0x80,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x01,
|
||||
0x03,
|
||||
0x0F,
|
||||
0x3E,
|
||||
0x7E,
|
||||
0x4C,
|
||||
0x0C,
|
||||
0x18,
|
||||
0x00,
|
||||
},
|
||||
#ifdef NOTUSED
|
||||
|
||||
// Calibration (Not used, kept for future menu layouts)
|
||||
// 3 frames
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x80,
|
||||
0xC0,
|
||||
0xE8,
|
||||
0x70,
|
||||
0x7A,
|
||||
0x5E,
|
||||
0x8E,
|
||||
0x1C,
|
||||
0x30,
|
||||
0x00,
|
||||
0x00,
|
||||
0x10,
|
||||
0x38,
|
||||
0x1C,
|
||||
0x0E,
|
||||
0x07,
|
||||
0x03,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
{
|
||||
// Calibration 1 frame (Not used, kept for future menu layouts)
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x80,
|
||||
0xC0,
|
||||
0xE0,
|
||||
0x70,
|
||||
0x3A,
|
||||
0x1E,
|
||||
0x0E,
|
||||
0x1C,
|
||||
0x30,
|
||||
0x00,
|
||||
0x00,
|
||||
0x10,
|
||||
0x3A,
|
||||
0x1C,
|
||||
0x1E,
|
||||
0x17,
|
||||
0x23,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Calibration 2 frame (Not used, kept for future menu layouts)
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x40,
|
||||
0x80,
|
||||
0xC0,
|
||||
0xE0,
|
||||
0x70,
|
||||
0x3A,
|
||||
0x1E,
|
||||
0x0E,
|
||||
0x1C,
|
||||
0x30,
|
||||
0x00,
|
||||
0x00,
|
||||
0x10,
|
||||
0x38,
|
||||
0x1C,
|
||||
0x0E,
|
||||
0x07,
|
||||
0x03,
|
||||
0x03,
|
||||
0x02,
|
||||
0x04,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
|
||||
// Calibration final frame (Not used, kept for future menu layouts)
|
||||
// width = 16
|
||||
// height = 16
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x80,
|
||||
0xC0,
|
||||
0xE8,
|
||||
0x70,
|
||||
0x7A,
|
||||
0x5E,
|
||||
0x8E,
|
||||
0x1C,
|
||||
0x30,
|
||||
0x00,
|
||||
0x00,
|
||||
0x10,
|
||||
0x38,
|
||||
0x1C,
|
||||
0x0E,
|
||||
0x07,
|
||||
0x03,
|
||||
0x01,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
}
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user