ESP32_ChinaDieselHeater_Con.../Arduino/BTCDieselHeater/src/OLED/fonts/Icons.cpp

579 lines
18 KiB
C++
Raw Normal View History

2018-12-16 07:39:23 +00:00
/*
* This file is part of the "bluetoothheater" distribution
* (https://gitlab.com/mrjones.id.au/bluetoothheater)
*
* Copyright (C) 2018 Ray Jones <ray@mrjones.id.au>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#include <Arduino.h>
#include "Icons.h"
// 'Thermometer', 8x50px
const unsigned char bodyThermometerIcon [] PROGMEM = {
0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff,
0x7e, 0x3c
};
// 'ThermometerActual', 8x50px
const unsigned char ambientThermometerIcon [] PROGMEM = {
0x00, 0x18, 0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24,
0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24,
0x24, 0x24, 0x24, 0x24, 0x24, 0x26, 0x24, 0x24, 0x24, 0x24, 0x3c, 0x7e, 0xff, 0xff, 0xff, 0xff,
0x7e, 0x3c
};
// 'ThermoPtr', 3x5px
const unsigned char thermoPtr [] PROGMEM = {
0x80, 0xc0, 0xe0, 0xc0, 0x80
};
// 'Bluetooth icon', 6x11px
const unsigned char BTicon [] PROGMEM = {
0x20, 0x30, 0x28, 0xa4, 0x68, 0x30, 0x68, 0xa4, 0x28, 0x30, 0x20,
};
// 'wifiIcon', 13x10px
const unsigned char wifiIcon [] PROGMEM = {
0x1f, 0xc0, 0x20, 0x20, 0x40, 0x10, 0x8f, 0x88, 0x10, 0x40, 0x20, 0x20,
0x07, 0x00, 0x08, 0x80, 0x00, 0x00, 0x02, 0x00
};
// 'wifiInIcon, 5x5px
const unsigned char wifiInIcon [] PROGMEM = {
0x70, 0x70, 0xf8, 0x70, 0x20
};
// 'wifiOutIcon, 5x5px
const unsigned char wifiOutIcon [] PROGMEM = {
0x20, 0x70, 0xf8, 0x70, 0x70
};
// 'BatteryIcon', 15x10px
const unsigned char BatteryIcon [] PROGMEM = {
0x30, 0x18, 0xff, 0xfe, 0x80, 0x02, 0xb6, 0xda, 0xb6, 0xda, 0xb6, 0xda, 0xb6, 0xda, 0xb6, 0xda,
0x80, 0x02, 0xff, 0xfe
};
// 'GlowPlugIcon', 16x9px
const unsigned char GlowPlugIcon [] PROGMEM = {
0x71, 0xc7, 0x0e, 0x38, 0x14, 0x14, 0x12, 0x24, 0x11, 0x44, 0x11, 0x44, 0x11, 0x44, 0x0a, 0x28,
0x0e, 0x38
};
// 'HeatRise', 17x2px
const unsigned char GlowHeatIcon [] PROGMEM = {
0x80, 0x00, 0x80, 0x40, 0x01, 0x00
};
// 'Fan3_1a', 16x16px
const unsigned char FanIcon1 [] PROGMEM = {
0x03, 0xc0, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x03, 0xc0, 0x07, 0xe0, 0x06, 0x60,
0x7e, 0x7e, 0x87, 0xe1, 0x87, 0xe1, 0x84, 0x21, 0x84, 0x21, 0x78, 0x1e, 0x00, 0x00, 0x00, 0x00
};
// 'Fan3_2a', 16x16px
const unsigned char FanIcon2 [] PROGMEM = {
0x00, 0x78, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x7b, 0xf8, 0x87, 0xe0, 0x86, 0x60,
0x86, 0x60, 0x87, 0xe0, 0x7b, 0xf8, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x84, 0x00, 0x78
};
// 'Fan3_3a', 16x16px
const unsigned char FanIcon3 [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x78, 0x1e, 0x84, 0x21, 0x84, 0x21, 0x87, 0xe1, 0x87, 0xe1, 0x7e, 0x7e,
0x06, 0x60, 0x07, 0xe0, 0x03, 0xc0, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x04, 0x20, 0x03, 0xc0
};
// 'Fan3_4a', 16x16px
const unsigned char FanIcon4 [] PROGMEM = {
0x1e, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x1f, 0xde, 0x07, 0xe1, 0x06, 0x61,
0x06, 0x61, 0x07, 0xe1, 0x1f, 0xde, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x21, 0x00, 0x1e, 0x00
};
// 'FuelIcon', 7x12px
const unsigned char FuelIcon [] PROGMEM = {
0x10, 0x10, 0x38, 0x38, 0x7c, 0x7c, 0xfe, 0xfe, 0xfe, 0xfe, 0x7c, 0x38
};
// 'Target', 13x13px
const unsigned char TargetIcon [] PROGMEM = {
0x0f, 0x80, 0x10, 0x40, 0x20, 0x20, 0x47, 0x10, 0x88, 0x88, 0x92, 0x48, 0x97, 0x48, 0x92, 0x48,
0x88, 0x88, 0x47, 0x10, 0x20, 0x20, 0x10, 0x40, 0x0f, 0x80
};
// 'repeat', 15x15px
const unsigned char repeatIcon [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x02, 0x00, 0x02, 0xf0, 0x04, 0xe0, 0x04, 0xe0, 0x08, 0x98, 0x30, 0x07, 0xc0
};
// 'timerID1', 15x15px
const unsigned char timerID1Icon [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x09, 0x20, 0x11, 0x10, 0x21, 0x08, 0x2d, 0x08, 0x25, 0xe8,
0x24, 0x08, 0x24, 0x08, 0x10, 0x10, 0x08, 0x20, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00
};
// 'timerID2', 15x15px
const unsigned char timerID2Icon [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x09, 0x20, 0x11, 0x10, 0x21, 0x08, 0x2d, 0x08, 0x25, 0xe8,
0x28, 0x08, 0x2c, 0x08, 0x10, 0x10, 0x08, 0x20, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00
};
// 'timer', 15x15px
const unsigned char timerIcon [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x09, 0x20, 0x11, 0x10, 0x21, 0x08, 0x21, 0x08, 0x21, 0xe8,
0x20, 0x08, 0x20, 0x08, 0x10, 0x10, 0x08, 0x20, 0x07, 0xc0, 0x00, 0x00, 0x00, 0x00
};
// 'large timer', 15x15px
const unsigned char largeTimerIcon[] PROGMEM =
{
0x07, 0xC0, // #####
0x19, 0x30, // ## # ##
0x21, 0x08, // # # #
0x41, 0x04, // # # #
0x41, 0x04, // # # #
0x81, 0x02, // # # #
0x81, 0xF2, // # ##### #
0x80, 0x02, // # #
0x80, 0x02, // # #
0x80, 0x02, // # #
0x40, 0x04, // # #
0x40, 0x04, // # #
0x20, 0x08, // # #
0x18, 0x30, // ## ##
0x0F, 0xE0, // #######
};
const uint8_t PROGMEM verticalRepeatIcon [] =
{
0x78, // ####
0x38, // ###
0x38, // ###
0x48, // # #
0x80, // #
0x80, // #
0x80, // #
0x80, // #
0x80, // #
0x80, // #
0x80, // #
0x40, // #
0x40, // #
0x20, // #
0x20, // #
};
const uint8_t PROGMEM GPIO1OFFIcon[] =
{
0x3E, 0x00, // #####
0x41, 0x00, // # #
0x88, 0x80, // # # #
0x98, 0x80, // # ## #
0x88, 0x80, // # # #
0x88, 0x80, // # # #
0x9C, 0x80, // # ### #
0x41, 0x00, // # #
0x3E, 0x00, // #####
};
const uint8_t PROGMEM GPIO1ONIcon[] =
{
0x3E, 0x00, // #####
0x7F, 0x00, // #######
0xF7, 0x80, // #### ####
0xE7, 0x80, // ### ####
0xF7, 0x80, // #### ####
0xF7, 0x80, // #### ####
0xE3, 0x80, // ### ###
0x7F, 0x00, // #######
0x3E, 0x00, // #####
};
const uint8_t PROGMEM GPIO2OFFIcon[] =
{
0x3E, 0x00, // #####
0x41, 0x00, // # #
0x9C, 0x80, // # ### #
0x84, 0x80, // # # #
0x9C, 0x80, // # ### #
0x90, 0x80, // # # #
0x9C, 0x80, // # ### #
0x41, 0x00, // # #
0x3E, 0x00, // #####
};
const uint8_t PROGMEM GPIO2ONIcon[] =
{
0x3E, 0x00, // #####
0x7F, 0x00, // #######
0xE3, 0x80, // ### ###
0xFB, 0x80, // ##### ###
0xE3, 0x80, // ### ###
0xEF, 0x80, // ### #####
0xE3, 0x80, // ### ###
0x7F, 0x00, // #######
0x3E, 0x00, // #####
};
const uint8_t PROGMEM CrossIcon[] =
{
0x88, // # #
0x50, // # #
0x20, // #
0x50, // # #
0x88, // # #
};
const uint8_t PROGMEM TickIcon[] =
{
0x00, //
0x08, // #
0x10, // #
0xa0, // # #
0x40, // #
};
const uint8_t PROGMEM OpenIcon[] =
{
0x1F, 0xC0, // #######
0x02, 0x00, // #
0x02, 0x00, // #
0x3A, 0xE0, // ### # ###
0xEA, 0xB8, // ### # # # ###
0x3A, 0xE0, // ### # ###
0x00, 0x00, //
};
const uint8_t PROGMEM CloseIcon[] =
{
0x00, 0x00, //
0x00, 0x00, //
0x3F, 0xE0, // #########
0x3A, 0xE0, // ### # ###
0xFA, 0xF8, // ##### # #####
0x3A, 0xE0, // ### # ###
0x02, 0x00, // #
};
const uint8_t PROGMEM BulbOnIcon[] =
{
0x08, 0x00, // #
0x41, 0x00, // # #
0x1C, 0x00, // ###
0x22, 0x00, // # #
0xA2, 0x80, // # # # #
0x1C, 0x00, // ###
0x14, 0x00, // # #
0x1C, 0x00, // ###
};
const uint8_t PROGMEM BulbOffIcon[] =
{
0x00, 0x00, //
0x00, 0x00, //
0x1C, 0x00, // ###
0x22, 0x00, // # #
0x22, 0x00, // # #
0x1C, 0x00, // ###
0x14, 0x00, // # #
0x1C, 0x00, // ###
};
const uint8_t PROGMEM startIcon[] =
{
0x80, // #
0xC0, // ##
0xE0, // ###
0xF0, // ####
0xF8, // #####
0xF0, // ####
0xE0, // ###
0xC0, // ##
0x80, // #
};
const uint8_t PROGMEM stopIcon[] =
{
0x00, //
0xFC, // ######
0xFC, // ######
0xFC, // ######
0xFC, // ######
0xFC, // ######
0xFC, // ######
0x00, //
};
const uint8_t PROGMEM displayTimeoutIcon[] =
{
0xFF, 0xE1, 0xFF, // ########### #########
0x80, 0x20, 0x82, // # # # #
0x80, 0x20, 0x82, // # # # #
0x80, 0x20, 0x44, // # # # #
0x80, 0x20, 0x28, // # # # #
0x80, 0x20, 0x44, // # # # #
0xFF, 0xE0, 0x92, // ########### # # #
0x0E, 0x00, 0xBA, // ### # ### #
0x3F, 0x80, 0xFE, // ####### #######
0x00, 0x01, 0xFF, // #########
};
const uint8_t PROGMEM menuTimeoutIcon[] =
{
0x00, 0x01, 0xFF, // #########
0xFF, 0xC0, 0x82, // ########## # #
0x00, 0x00, 0x82, // # #
0xFF, 0x00, 0x44, // ######## # #
0x00, 0x00, 0x28, // # #
0xFC, 0x00, 0x44, // ###### # #
0x00, 0x00, 0x92, // # # #
0xFF, 0x80, 0xBA, // ######### # ### #
0x00, 0x00, 0xFE, // #######
0x00, 0x01, 0xFF, // #########
};
const uint8_t PROGMEM timeoutIcon[] =
{
0xFF, 0x80, // #########
0x41, 0x00, // # #
0x41, 0x00, // # #
0x22, 0x00, // # #
0x14, 0x00, // # #
0x22, 0x00, // # #
0x49, 0x00, // # # #
0x5D, 0x00, // # ### #
0x7F, 0x00, // #######
0xFF, 0x80, // #########
};
const uint8_t PROGMEM refreshIcon[] =
{
0x01, 0x00, // #
0x00, 0x80, // #
0x7F, 0xC8, // ######### #
0x80, 0x88, // # # #
0x81, 0x08, // # # #
0x80, 0x08, // # #
0x84, 0x08, // # # #
0x88, 0x08, // # # #
0x9F, 0xF0, // # #########
0x08, 0x00, // #
0x04, 0x00, // #
};
const uint8_t PROGMEM thermostatIcon[] =
{
0x00, 0x00, 0x07, 0x00, // ###
0x00, 0x00, 0x0E, 0x00, // ###
0x00, 0x00, 0x0C, 0x40, // ## #
0x00, 0x00, 0x0C, 0xC0, // ## ##
0x00, 0x00, 0x1F, 0xC0, // #######
0x00, 0x00, 0x3F, 0x80, // #######
0x00, 0x00, 0x7C, 0x00, // #####
0x00, 0x00, 0xF8, 0x00, // #####
0x38, 0x01, 0xF0, 0x00, // ### #####
0x44, 0x01, 0xE0, 0x00, // # # ####
0x44, 0x00, 0xC0, 0x00, // # # ##
0x45, 0xC0, 0x00, 0x00, // # # ###
0x44, 0x00, 0x00, 0x00, // # #
0x55, 0xC0, 0x08, 0x00, // # # # ### #
0x54, 0x00, 0x1C, 0x00, // # # # ###
0x55, 0xC0, 0x2A, 0x00, // # # # ### # # #
0x54, 0x00, 0x08, 0x00, // # # # #
0x54, 0x00, 0x00, 0x00, // # # #
0x54, 0x00, 0x08, 0x00, // # # # #
0x54, 0x00, 0x2A, 0x00, // # # # # # #
0x54, 0x00, 0x1C, 0x00, // # # # ###
0x54, 0x00, 0x08, 0x00, // # # # #
0x92, 0x00, 0x00, 0x00, // # # #
0xBA, 0x00, 0x00, 0x00, // # ### #
0xBA, 0x00, 0x00, 0x00, // # ### #
0xBA, 0x00, 0x00, 0x00, // # ### #
0x82, 0x00, 0x00, 0x00, // # #
0x7C, 0x00, 0x00, 0x80, // ##### #
0x00, 0x01, 0xB0, 0xC0, // ## ## ##
0x00, 0x01, 0xB0, 0xE0, // ## ## ###
0x00, 0x01, 0xB0, 0xF0, // ## ## ####
0x00, 0x01, 0xB0, 0xE0, // ## ## ###
0x00, 0x01, 0xB0, 0xC0, // ## ## ##
0x00, 0x00, 0x00, 0x80, // #
};
const uint8_t PROGMEM GPIOIcon[] =
{
0x00, 0x00, 0x00, //
0x00, 0x20, 0x00, // #
0x01, 0x20, 0x00, // # #
0x00, 0xA0, 0x70, // # # ###
0x3F, 0xE0, 0x10, // ######### #
0x00, 0xA5, 0x70, // # # # # ###
0x01, 0x22, 0x40, // # # # #
0x00, 0x25, 0x70, // # # # ###
0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, //
0x20, 0x00, 0x00, // #
0x20, 0x80, 0x00, // # #
0x20, 0x40, 0x70, // # # ###
0x3F, 0xE0, 0x10, // ######### #
0x20, 0x45, 0x70, // # # # # ###
0x20, 0x82, 0x40, // # # # #
0x20, 0x05, 0x70, // # # # ###
0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, //
0x00, 0x00, 0x00, //
0x08, 0x00, 0x00, // #
0x09, 0x00, 0x00, // # #
0x05, 0x00, 0x00, // # #
0x24, 0x08, 0x00, // # # #
0x02, 0x00, 0x00, // #
0x02, 0x00, 0x00, // #
0x01, 0x00, 0x00, // #
0xC3, 0x86, 0x00, // ## ### ##
0x01, 0x80, 0x00, // ##
/*
0x00, 0x00, //
0x00, 0x08, // #
0x00, 0x48, // # #
0x00, 0x28, // # #
0x0F, 0xF8, // #########
0x00, 0x28, // # #
0x00, 0x48, // # #
0x00, 0x08, // #
0x00, 0x00, //
0x00, 0x00, //
0x00, 0x00, //
0x00, 0x00, //
0x08, 0x00, // #
0x08, 0x20, // # #
0x08, 0x10, // # #
0x0F, 0xF8, // #########
0x08, 0x10, // # #
0x08, 0x20, // # #
0x08, 0x00, // #
0x00, 0x00, //
0x00, 0x00, //
0x00, 0x00, //
0x00, 0x00, //
0x00, 0x00, //
0x08, 0x00, // #
0x09, 0x00, // # #
0x05, 0x00, // # #
0x24, 0x08, // # # #
0x02, 0x00, // #
0x02, 0x00, // #
0x01, 0x00, // #
0xC3, 0x86, // ## ### ##
0x01, 0x80, // ## */
};
const uint8_t PROGMEM firmwareIcon[] =
{
0xFF, 0xFF, 0xFF, 0xC0, // ##########################
0x80, 0x00, 0x00, 0x40, // # #
0x9F, 0xFF, 0x2A, 0x40, // # ############# # # # #
0x80, 0x00, 0x00, 0x40, // # #
0xFF, 0xFF, 0xFF, 0xC0, // ##########################
0x80, 0x00, 0x00, 0x40, // # #
0x80, 0x00, 0x00, 0x40, // # #
0x80, 0x7F, 0x00, 0x40, // # ####### #
0x80, 0x7F, 0x00, 0x40, // # ####### #
0x80, 0x7F, 0x00, 0x40, // # ####### #
0x80, 0x08, 0x00, 0x40, // # # #
0x80, 0x08, 0x00, 0x40, // # # #
0x83, 0xFF, 0xE0, 0x40, // # ############# #
0x82, 0x08, 0x20, 0x40, // # # # # #
0x82, 0x08, 0x20, 0x40, // # # # # #
0x8F, 0xBE, 0xF8, 0x40, // # ##### ##### ##### #
0x8F, 0xBE, 0xF8, 0x40, // # ##### ##### ##### #
0x8F, 0xBE, 0xF8, 0x40, // # ##### ##### ##### #
0x80, 0x00, 0x00, 0x40, // # #
0x80, 0x00, 0x00, 0x40, // # #
0xFF, 0xFF, 0xFF, 0xC0, // ##########################
};
const uint8_t PROGMEM hardwareIcon[] =
{
0xFF, 0xFF, // ################
0x80, 0x01, // # #
0x95, 0x09, // # # # # # #
0x95, 0x09, // # # # # # #
0xBF, 0x89, // # ####### # #
0xA0, 0x89, // # # # # #
0xA0, 0x81, // # # # #
0xA0, 0x81, // # # # #
0xA0, 0x81, // # # # #
0xA0, 0x89, // # # # # #
0xBF, 0x89, // # ####### # #
0x95, 0x09, // # # # # # #
0x95, 0x09, // # # # # # #
0x80, 0x01, // # #
0xFF, 0xFF, // ################
};
//
// Image data for caution
//
const uint8_t PROGMEM cautionIcon[] =
{
0x00, 0x07, 0x80, 0x00, // ####
0x00, 0x0F, 0xC0, 0x00, // ######
0x00, 0x1F, 0xE0, 0x00, // ########
0x00, 0x3C, 0xF0, 0x00, // #### ####
0x00, 0x38, 0x70, 0x00, // ### ###
0x00, 0x73, 0x38, 0x00, // ### ## ###
0x00, 0x77, 0xB8, 0x00, // ### #### ###
0x00, 0xE7, 0x9C, 0x00, // ### #### ###
0x00, 0xEF, 0xDC, 0x00, // ### ###### ###
0x01, 0xCF, 0xCE, 0x00, // ### ###### ###
0x01, 0xDC, 0xEE, 0x00, // ### ### ### ###
0x03, 0x9C, 0xE7, 0x00, // ### ### ### ###
0x03, 0xBC, 0xF7, 0x00, // ### #### #### ###
0x07, 0x3C, 0xF3, 0x80, // ### #### #### ###
0x07, 0x7C, 0xFB, 0x80, // ### ##### ##### ###
0x0E, 0x7C, 0xF9, 0xC0, // ### ##### ##### ###
0x0E, 0xFC, 0xFD, 0xC0, // ### ###### ###### ###
0x1C, 0xFC, 0xFC, 0xE0, // ### ###### ###### ###
0x1D, 0xFF, 0xFE, 0xE0, // ### ################ ###
0x39, 0xFF, 0xFE, 0x70, // ### ################ ###
0x3B, 0xFF, 0xFF, 0x70, // ### ################## ###
0x73, 0xFC, 0xFF, 0x38, // ### ######## ######## ###
0x77, 0xFC, 0xFF, 0xB8, // ### ######### ######### ###
0xE7, 0xFF, 0xFF, 0x9C, // ### #################### ###
0xEF, 0xFF, 0xFF, 0xDC, // ### ###################### ###
0xE0, 0x00, 0x00, 0x1C, // ### ###
0xFF, 0xFF, 0xFF, 0xFC, // ##############################
0x7F, 0xFF, 0xFF, 0xF8, // ############################
0x3F, 0xFF, 0xFF, 0xF0, // ##########################
};