diff --git a/Bluetooth.h b/Bluetooth.h
index 38951f7..d1d339a 100644
--- a/Bluetooth.h
+++ b/Bluetooth.h
@@ -13,12 +13,6 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-#if MCU_VARIANT == MCU_ESP32
-
-
-#elif MCU_VARIANT == MCU_NRF52
-#endif
-
#if MCU_VARIANT == MCU_ESP32
#if HAS_BLUETOOTH == true
#include "BluetoothSerial.h"
@@ -265,6 +259,8 @@ void bt_disable_pairing() {
void bt_pairing_complete(uint16_t conn_handle, uint8_t auth_status) {
if (auth_status == BLE_GAP_SEC_STATUS_SUCCESS) {
+ bt_state = BT_STATE_CONNECTED;
+ cable_state = CABLE_STATE_DISCONNECTED;
bt_disable_pairing();
} else {
bt_ssp_pin = 0;
@@ -285,11 +281,6 @@ bool bt_passkey_callback(uint16_t conn_handle, uint8_t const passkey[6], bool ma
return false;
}
-void bt_connect_callback(uint16_t conn_handle) {
- bt_state = BT_STATE_CONNECTED;
- cable_state = CABLE_STATE_DISCONNECTED;
-}
-
void bt_disconnect_callback(uint16_t conn_handle, uint8_t reason) {
bt_state = BT_STATE_ON;
}
@@ -308,10 +299,9 @@ bool bt_setup_hw() {
Bluefruit.configPrphBandwidth(BANDWIDTH_MAX);
Bluefruit.autoConnLed(false);
if (Bluefruit.begin()) {
- Bluefruit.setTxPower(4); // Check bluefruit.h for supported values
+ Bluefruit.setTxPower(8); // Check bluefruit.h for supported values
Bluefruit.Security.setIOCaps(true, true, false);
Bluefruit.Security.setPairPasskeyCallback(bt_passkey_callback);
- Bluefruit.Periph.setConnectCallback(bt_connect_callback);
Bluefruit.Periph.setDisconnectCallback(bt_disconnect_callback);
Bluefruit.Security.setPairCompleteCallback(bt_pairing_complete);
const ble_gap_addr_t gap_addr = Bluefruit.getAddr();
@@ -348,7 +338,6 @@ void bt_start() {
blebas.begin();
- // non-connectable advertising
Bluefruit.Advertising.addFlags(BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE);
Bluefruit.Advertising.addTxPower();
diff --git a/Boards.h b/Boards.h
index 0eb5c2b..3105439 100644
--- a/Boards.h
+++ b/Boards.h
@@ -43,6 +43,10 @@
#define BOARD_GENERIC_NRF52 0x50
#define BOARD_RAK4631 0x51
+ #define OLED 0x01
+ #define EINK_BW 0x02
+ #define EINK_3C 0x03
+
#if defined(__AVR_ATmega1284P__)
#define PLATFORM PLATFORM_AVR
#define MCU_VARIANT MCU_1284P
@@ -147,6 +151,7 @@
#elif BOARD_MODEL == BOARD_TBEAM
#define HAS_DISPLAY true
+ #define DISPLAY OLED
#define HAS_PMU true
#define HAS_BLUETOOTH true
#define HAS_BLE true
@@ -184,6 +189,7 @@
#elif BOARD_MODEL == BOARD_LORA32_V1_0
#define HAS_DISPLAY true
+ #define DISPLAY OLED
#define HAS_BLUETOOTH true
#define HAS_BLE true
#define HAS_CONSOLE true
@@ -201,6 +207,7 @@
#elif BOARD_MODEL == BOARD_LORA32_V2_0
#define HAS_DISPLAY true
+ #define DISPLAY OLED
#define HAS_BLUETOOTH true
#define HAS_BLE true
#define HAS_CONSOLE true
@@ -218,6 +225,7 @@
#elif BOARD_MODEL == BOARD_LORA32_V2_1
#define HAS_DISPLAY true
+ #define DISPLAY OLED
#define HAS_BLUETOOTH true
#define HAS_BLE true
#define HAS_PMU true
@@ -239,6 +247,7 @@
#elif BOARD_MODEL == BOARD_HELTEC32_V2
#define HAS_DISPLAY true
+ #define DISPLAY OLED
#define HAS_BLUETOOTH true
#define HAS_CONSOLE true
#define HAS_EEPROM true
@@ -292,6 +301,7 @@
#elif BOARD_MODEL == BOARD_RNODE_NG_20
#define HAS_DISPLAY true
+ #define DISPLAY OLED
#define HAS_BLUETOOTH true
#define HAS_NP true
#define HAS_CONSOLE true
@@ -312,6 +322,7 @@
#elif BOARD_MODEL == BOARD_RNODE_NG_21
#define HAS_DISPLAY true
+ #define DISPLAY OLED
#define HAS_BLUETOOTH true
#define HAS_CONSOLE true
#define HAS_PMU true
@@ -346,6 +357,7 @@
#define HAS_TCXO true
#define HAS_DISPLAY true
+ #define DISPLAY OLED
#define HAS_CONSOLE false
#define HAS_BLUETOOTH false
#define HAS_BLE true
@@ -397,11 +409,12 @@
#elif MCU_VARIANT == MCU_NRF52
#if BOARD_MODEL == BOARD_RAK4631
#define HAS_EEPROM false
- #define HAS_DISPLAY false
+ #define HAS_DISPLAY true
+ #define DISPLAY EINK_3C
#define HAS_BLUETOOTH false
#define HAS_BLE true
#define HAS_CONSOLE false
- #define HAS_PMU false
+ #define HAS_PMU true
#define HAS_NP false
#define HAS_SD false
#define HAS_TCXO true
@@ -425,6 +438,13 @@
const int pin_miso = 45;
const int pin_busy = 46;
const int pin_dio = 47;
+
+ const int pin_disp_cs = SS;
+ const int pin_disp_dc = WB_IO1;
+ const int pin_disp_reset = -1;
+ const int pin_disp_busy = WB_IO4;
+ const int pin_disp_en = WB_IO2;
+
const int pin_led_rx = LED_BLUE;
const int pin_led_tx = LED_GREEN;
const int pin_tcxo_enable = -1;
diff --git a/Display.h b/Display.h
index dd24475..d566a53 100644
--- a/Display.h
+++ b/Display.h
@@ -13,47 +13,112 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
-#include "Graphics.h"
-#include
+
#include
+
+#if DISPLAY == OLED
+#include
#include
-#include "Fonts/Org_01.h"
#define DISP_W 128
#define DISP_H 64
+#elif DISPLAY == EINK_BW || DISPLAY == EINK_3C
+void (*display_callback)();
+void display_add_callback(void (*callback)()) {
+ display_callback = callback;
+}
+void busyCallback(const void* p) {
+ display_callback();
+}
+#endif
+#if DISPLAY == EINK_BW
+// use GxEPD2 because adafruit EPD support for partial refresh is bad
+#include
+#include
+#elif DISPLAY == EINK_3C
+#include
+#include
+#endif
+
+#include "Fonts/Org_01.h"
#if BOARD_MODEL == BOARD_RNODE_NG_20 || BOARD_MODEL == BOARD_LORA32_V2_0
+ #if BOARD_TYPE == OLED
#define DISP_RST -1
#define DISP_ADDR 0x3C
+ #endif
#elif BOARD_MODEL == BOARD_TBEAM
+ #if BOARD_TYPE == OLED
#define DISP_RST 13
#define DISP_ADDR 0x3C
#define DISP_CUSTOM_ADDR true
+ #endif
#elif BOARD_MODEL == BOARD_HELTEC32_V2 || BOARD_MODEL == BOARD_LORA32_V1_0
+ #if BOARD_TYPE == OLED
#define DISP_RST 16
#define DISP_ADDR 0x3C
#define SCL_OLED 15
#define SDA_OLED 4
+ #endif
#elif BOARD_MODEL == BOARD_HELTEC32_V3
#define DISP_RST 21
#define DISP_ADDR 0x3C
#define SCL_OLED 18
#define SDA_OLED 17
#elif BOARD_MODEL == BOARD_RNODE_NG_21
+ #if BOARD_TYPE == OLED
#define DISP_RST -1
#define DISP_ADDR 0x3C
+ #endif
#elif BOARD_MODEL == BOARD_RNODE_NG_22
+ #if BOARD_TYPE == OLED
#define DISP_RST 21
#define DISP_ADDR 0x3C
#define SCL_OLED 17
#define SDA_OLED 18
+ #endif
+#elif BOARD_MODEL == BOARD_RAK4631
+ #if DISPLAY == OLED
+ // todo: add support for OLED board
+ #elif DISPLAY == EINK_BW
+ #define DISP_W 250
+ #define DISP_H 122
+ #define DISP_ADDR -1
+ #define DISPLAY_MODEL GxEPD2_213_BN
+ #elif DISPLAY == EINK_3C
+ #define DISP_W 250
+ #define DISP_H 122
+ #define DISP_ADDR -1
+ #define DISPLAY_MODEL GxEPD2_213_Z98c
+ #endif
#else
#define DISP_RST -1
#define DISP_ADDR 0x3C
#define DISP_CUSTOM_ADDR true
#endif
+#define UNSCALED_MAX 64
+
#define SMALL_FONT &Org_01
+#include "Graphics.h"
+
+#if BOARD_MODEL != BOARD_RAK4631
+// support for BOARD_RAK4631 OLED not implemented yet
+#if DISPLAY == OLED
Adafruit_SSD1306 display(DISP_W, DISP_H, &Wire, DISP_RST);
+float disp_target_fps = 7;
+#endif
+#endif
+#if BOARD_MODEL == BOARD_RAK4631
+#if DISPLAY == EINK_BW
+GxEPD2_BW display(DISPLAY_MODEL(pin_disp_cs, pin_disp_dc, pin_disp_reset, pin_disp_busy));
+float disp_target_fps = 0.2;
+#elif DISPLAY == EINK_3C
+GxEPD2_3C display(DISPLAY_MODEL(pin_disp_cs, pin_disp_dc, pin_disp_reset, pin_disp_busy));
+float disp_target_fps = 0.05; // refresh usually takes longer on 3C, hence 4x the refresh period
+#endif
+#else
+// add more eink compatible boards here
+#endif
#define DISP_MODE_UNKNOWN 0x00
#define DISP_MODE_LANDSCAPE 0x01
@@ -63,14 +128,20 @@ uint8_t disp_mode = DISP_MODE_UNKNOWN;
uint8_t disp_ext_fb = false;
unsigned char fb[512];
uint32_t last_disp_update = 0;
-uint8_t disp_target_fps = 7;
int disp_update_interval = 1000/disp_target_fps;
uint32_t last_page_flip = 0;
int page_interval = 4000;
bool device_signatures_ok();
bool device_firmware_ok();
+#if DISPLAY == OLED
#define WATERFALL_SIZE 46
+#elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+#define WATERFALL_SIZE 92
+#else
+// add more eink compatible boards here
+#endif
+
int waterfall[WATERFALL_SIZE];
int waterfall_head = 0;
@@ -79,28 +150,35 @@ int p_ad_y = 0;
int p_as_x = 0;
int p_as_y = 0;
+#if DISPLAY == OLED
GFXcanvas1 stat_area(64, 64);
GFXcanvas1 disp_area(64, 64);
+#elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+GFXcanvas1 stat_area(DISP_H, DISP_W/2);
+GFXcanvas1 disp_area(DISP_H, DISP_W/2);
+#endif
void update_area_positions() {
if (disp_mode == DISP_MODE_PORTRAIT) {
p_ad_x = 0;
p_ad_y = 0;
p_as_x = 0;
- p_as_y = 64;
+ p_as_y = DISP_H;
} else if (disp_mode == DISP_MODE_LANDSCAPE) {
p_ad_x = 0;
p_ad_y = 0;
- p_as_x = 64;
+ p_as_x = DISP_H;
p_as_y = 0;
}
}
uint8_t display_contrast = 0x00;
+#if DISPLAY == OLED
void set_contrast(Adafruit_SSD1306 *display, uint8_t contrast) {
- display->ssd1306_command(SSD1306_SETCONTRAST);
- display->ssd1306_command(contrast);
+ display.ssd1306_command(SSD1306_SETCONTRAST);
+ display.ssd1306_command(contrast);
}
+#endif
bool display_init() {
#if HAS_DISPLAY
@@ -131,6 +209,20 @@ bool display_init() {
delay(50);
digitalWrite(pin_display_en, HIGH);
Wire.begin(SDA_OLED, SCL_OLED);
+ #elif BOARD_MODEL == BOARD_RAK4631
+ #if DISPLAY == OLED
+ #elif DISPLAY == EINK_BW || DISPLAY == EINK_3C
+ pinMode(pin_disp_en, INPUT_PULLUP);
+ digitalWrite(pin_disp_en, HIGH);
+ display.init(0, true, 10, false, SPI, SPISettings(4000000, MSBFIRST, SPI_MODE0));
+ display.setPartialWindow(0, 0, DISP_W, DISP_H);
+
+ // Because refreshing this display can take some time, sometimes serial
+ // commands will be missed. Therefore, during periods where the device is
+ // waiting for the display to update, it will poll the serial buffer to
+ // check for any commands from the host.
+ display.epd2.setBusyCallback(busyCallback);
+ #endif
#endif
#if DISP_CUSTOM_ADDR == true
@@ -144,11 +236,18 @@ bool display_init() {
uint8_t display_address = DISP_ADDR;
#endif
-
+
+ #if DISPLAY == OLED
if(!display.begin(SSD1306_SWITCHCAPVCC, display_address)) {
+ #elif DISPLAY == EINK_BW || DISPLAY == EINK_3C
+ // don't check if display is actually connected
+ if(false) {
+ #endif
return false;
} else {
- set_contrast(&display, display_contrast);
+ #if DISPLAY == OLED
+ set_contrast(&display, display_contrast);
+ #endif
#if BOARD_MODEL == BOARD_RNODE_NG_20
disp_mode = DISP_MODE_PORTRAIT;
display.setRotation(3);
@@ -170,6 +269,11 @@ bool display_init() {
#elif BOARD_MODEL == BOARD_HELTEC32_V2
disp_mode = DISP_MODE_PORTRAIT;
display.setRotation(1);
+ #elif BOARD_MODEL == BOARD_RAK4631
+ #if DISPLAY == OLED
+ #elif DISPLAY == EINK_BW || DISPLAY == EINK_3C
+ disp_mode = DISP_MODE_PORTRAIT;
+ #endif
#elif BOARD_MODEL == BOARD_HELTEC32_V3
disp_mode = DISP_MODE_PORTRAIT;
// Antenna conx up
@@ -193,9 +297,9 @@ bool display_init() {
display.cp437(true);
#if HAS_EEPROM
- uint8_t display_intensity = EEPROM.read(eeprom_addr(ADDR_CONF_DINT));
+ display_intensity = EEPROM.read(eeprom_addr(ADDR_CONF_DINT));
#elif MCU_VARIANT == MCU_NRF52
- uint8_t display_intensity = eeprom_read(eeprom_addr(ADDR_CONF_DINT));
+ display_intensity = eeprom_read(eeprom_addr(ADDR_CONF_DINT));
#endif
return true;
@@ -207,39 +311,83 @@ bool display_init() {
void draw_cable_icon(int px, int py) {
if (cable_state == CABLE_STATE_DISCONNECTED) {
- stat_area.drawBitmap(px, py, bm_cable+0*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_cable+0*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_cable+0*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else if (cable_state == CABLE_STATE_CONNECTED) {
- stat_area.drawBitmap(px, py, bm_cable+1*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_cable+1*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_cable+1*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
void draw_bt_icon(int px, int py) {
if (bt_state == BT_STATE_OFF) {
- stat_area.drawBitmap(px, py, bm_bt+0*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_bt+0*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_bt+0*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else if (bt_state == BT_STATE_ON) {
- stat_area.drawBitmap(px, py, bm_bt+1*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_bt+1*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_bt+1*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else if (bt_state == BT_STATE_PAIRING) {
- stat_area.drawBitmap(px, py, bm_bt+2*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_bt+2*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_bt+2*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else if (bt_state == BT_STATE_CONNECTED) {
- stat_area.drawBitmap(px, py, bm_bt+3*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_bt+3*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_bt+3*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
- stat_area.drawBitmap(px, py, bm_bt+0*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_bt+0*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_bt+0*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
void draw_lora_icon(int px, int py) {
if (radio_online) {
- stat_area.drawBitmap(px, py, bm_rf+1*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_rf+1*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_rf+1*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
- stat_area.drawBitmap(px, py, bm_rf+0*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_rf+0*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_rf+0*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
void draw_mw_icon(int px, int py) {
if (mw_radio_online) {
- stat_area.drawBitmap(px, py, bm_rf+3*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_rf+3*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_rf+3*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
- stat_area.drawBitmap(px, py, bm_rf+2*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(px, py, bm_rf+2*32, 16, 16, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(px, py, bm_rf+2*128, 30, 32, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
@@ -257,34 +405,71 @@ void draw_battery_bars(int px, int py) {
}
if (battery_indeterminate && battery_state == BATTERY_STATE_CHARGING) {
- stat_area.fillRect(px-2, py-2, 18, 7, SSD1306_BLACK);
- stat_area.drawBitmap(px-2, py-2, bm_plug, 17, 7, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.fillRect(px-2, py-2, 18, 7, SSD1306_BLACK);
+ stat_area.drawBitmap(px-2, py-2, bm_plug, 17, 7, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.fillRect(px-2, py-2, 24, 9, GxEPD_BLACK);
+ stat_area.drawBitmap(px-2, py-5, bm_plug, 34, 13, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
if (battery_state == BATTERY_STATE_CHARGED) {
- stat_area.fillRect(px-2, py-2, 18, 7, SSD1306_BLACK);
- stat_area.drawBitmap(px-2, py-2, bm_plug, 17, 7, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ stat_area.fillRect(px-2, py-2, 18, 7, SSD1306_BLACK);
+ stat_area.drawBitmap(px-2, py-2, bm_plug, 17, 7, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.fillRect(px-2, py-2, 24, 9, GxEPD_BLACK);
+ stat_area.drawBitmap(px-2, py-5, bm_plug, 34, 13, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
- // stat_area.fillRect(px, py, 14, 3, SSD1306_BLACK);
- stat_area.fillRect(px-2, py-2, 18, 7, SSD1306_BLACK);
- stat_area.drawRect(px-2, py-2, 17, 7, SSD1306_WHITE);
- stat_area.drawLine(px+15, py, px+15, py+3, SSD1306_WHITE);
- if (battery_value > 7) stat_area.drawLine(px, py, px, py+2, SSD1306_WHITE);
- if (battery_value > 20) stat_area.drawLine(px+1*2, py, px+1*2, py+2, SSD1306_WHITE);
- if (battery_value > 33) stat_area.drawLine(px+2*2, py, px+2*2, py+2, SSD1306_WHITE);
- if (battery_value > 46) stat_area.drawLine(px+3*2, py, px+3*2, py+2, SSD1306_WHITE);
- if (battery_value > 59) stat_area.drawLine(px+4*2, py, px+4*2, py+2, SSD1306_WHITE);
- if (battery_value > 72) stat_area.drawLine(px+5*2, py, px+5*2, py+2, SSD1306_WHITE);
- if (battery_value > 85) stat_area.drawLine(px+6*2, py, px+6*2, py+2, SSD1306_WHITE);
+ #if DISPLAY == OLED
+ stat_area.fillRect(px, py, 14, 3, SSD1306_BLACK);
+ stat_area.fillRect(px-2, py-2, 18, 7, SSD1306_BLACK);
+ stat_area.drawRect(px-2, py-2, 17, 7, SSD1306_WHITE);
+ stat_area.drawLine(px+15, py, px+15, py+3, SSD1306_WHITE);
+ if (battery_value > 7) stat_area.drawLine(px, py, px, py+2, SSD1306_WHITE);
+ if (battery_value > 20) stat_area.drawLine(px+1*2, py, px+1*2, py+2, SSD1306_WHITE);
+ if (battery_value > 33) stat_area.drawLine(px+2*2, py, px+2*2, py+2, SSD1306_WHITE);
+ if (battery_value > 46) stat_area.drawLine(px+3*2, py, px+3*2, py+2, SSD1306_WHITE);
+ if (battery_value > 59) stat_area.drawLine(px+4*2, py, px+4*2, py+2, SSD1306_WHITE);
+ if (battery_value > 72) stat_area.drawLine(px+5*2, py, px+5*2, py+2, SSD1306_WHITE);
+ if (battery_value > 85) stat_area.drawLine(px+6*2, py, px+6*2, py+2, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.fillRect(px, py, 20, 5, GxEPD_BLACK);
+ stat_area.fillRect(px-2, py-4, 34, 19, GxEPD_BLACK);
+ stat_area.drawRect(px-2, py-2, 23, 9, GxEPD_WHITE);
+ stat_area.drawLine(px+21, py, px+21, py+5, GxEPD_WHITE);
+ if (battery_value > 0) stat_area.drawLine(px, py, px, py+4, GxEPD_WHITE);
+ if (battery_value >= 10) stat_area.drawLine(px+1*2, py, px+1*2, py+4, GxEPD_WHITE);
+ if (battery_value >= 20) stat_area.drawLine(px+2*2, py, px+2*2, py+4, GxEPD_WHITE);
+ if (battery_value >= 30) stat_area.drawLine(px+3*2, py, px+3*2, py+4, GxEPD_WHITE);
+ if (battery_value >= 40) stat_area.drawLine(px+4*2, py, px+4*2, py+4, GxEPD_WHITE);
+ if (battery_value >= 50) stat_area.drawLine(px+5*2, py, px+5*2, py+4, GxEPD_WHITE);
+ if (battery_value >= 60) stat_area.drawLine(px+6*2, py, px+6*2, py+4, GxEPD_WHITE);
+ if (battery_value >= 70) stat_area.drawLine(px+7*2, py, px+7*2, py+4, GxEPD_WHITE);
+ if (battery_value >= 80) stat_area.drawLine(px+8*2, py, px+8*2, py+4, GxEPD_WHITE);
+ if (battery_value >= 90) stat_area.drawLine(px+9*2, py, px+9*2, py+4, GxEPD_WHITE);
+ #endif
}
}
} else {
+ #if DISPLAY == OLED
stat_area.fillRect(px-2, py-2, 18, 7, SSD1306_BLACK);
stat_area.drawBitmap(px-2, py-2, bm_plug, 17, 7, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.fillRect(px-2, py-2, 24, 9, GxEPD_BLACK);
+ stat_area.drawBitmap(px-2, py-5, bm_plug, 34, 13, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
} else {
+ #if DISPLAY == OLED
stat_area.fillRect(px-2, py-2, 18, 7, SSD1306_BLACK);
stat_area.drawBitmap(px-2, py-2, bm_plug, 17, 7, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.fillRect(px-2, py-2, 24, 9, GxEPD_BLACK);
+ stat_area.drawBitmap(px-2, py-5, bm_plug, 34, 13, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
@@ -301,8 +486,8 @@ void draw_quality_bars(int px, int py) {
if (quality > 100.0) quality = 100.0;
if (quality < 0.0) quality = 0.0;
+ #if DISPLAY == OLED
stat_area.fillRect(px, py, 13, 7, SSD1306_BLACK);
- // Serial.printf("Last SNR: %.2f\n, quality: %.2f\n", snr, quality);
if (quality > 0) stat_area.drawLine(px+0*2, py+7, px+0*2, py+6, SSD1306_WHITE);
if (quality > 15) stat_area.drawLine(px+1*2, py+7, px+1*2, py+5, SSD1306_WHITE);
if (quality > 30) stat_area.drawLine(px+2*2, py+7, px+2*2, py+4, SSD1306_WHITE);
@@ -310,6 +495,38 @@ void draw_quality_bars(int px, int py) {
if (quality > 60) stat_area.drawLine(px+4*2, py+7, px+4*2, py+2, SSD1306_WHITE);
if (quality > 75) stat_area.drawLine(px+5*2, py+7, px+5*2, py+1, SSD1306_WHITE);
if (quality > 90) stat_area.drawLine(px+6*2, py+7, px+6*2, py+0, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.fillRect(px, py, 26, 14, GxEPD_BLACK);
+ if (quality > 0) {
+ stat_area.drawLine(px+0*4, py+14, px+0*4, py+6, GxEPD_WHITE);
+ stat_area.drawLine(px+0*4+1, py+14, px+0*4+1, py+6, GxEPD_WHITE);
+ }
+ if (quality > 15) {
+ stat_area.drawLine(px+1*4, py+14, px+1*4, py+5, GxEPD_WHITE);
+ stat_area.drawLine(px+1*4+1, py+14, px+1*4+1, py+5, GxEPD_WHITE);
+ }
+ if (quality > 30) {
+ stat_area.drawLine(px+2*4, py+14, px+2*4, py+4, GxEPD_WHITE);
+ stat_area.drawLine(px+2*4+1, py+14, px+2*4+1, py+4, GxEPD_WHITE);
+ }
+ if (quality > 45) {
+ stat_area.drawLine(px+3*4, py+14, px+3*4, py+3, GxEPD_WHITE);
+ stat_area.drawLine(px+3*4+1, py+14, px+3*4+1, py+3, GxEPD_WHITE);
+ }
+ if (quality > 60) {
+ stat_area.drawLine(px+4*4, py+14, px+4*4, py+2, GxEPD_WHITE);
+ stat_area.drawLine(px+4*4+1, py+14, px+4*4+1, py+2, GxEPD_WHITE);
+ }
+ if (quality > 75) {
+ stat_area.drawLine(px+5*4, py+14, px+5*4, py+1, GxEPD_WHITE);
+ stat_area.drawLine(px+5*4+1, py+14, px+5*4+1, py+1, GxEPD_WHITE);
+ }
+ if (quality > 90) {
+ stat_area.drawLine(px+6*4, py+14, px+6*4, py+0, GxEPD_WHITE);
+ stat_area.drawLine(px+6*4+1, py+14, px+6*4+1, py+0, GxEPD_WHITE);
+ }
+ #endif
+ // Serial.printf("Last SNR: %.2f\n, quality: %.2f\n", snr, quality);
}
#define S_RSSI_MIN -135.0
@@ -324,8 +541,8 @@ void draw_signal_bars(int px, int py) {
if (signal > 100.0) signal = 100.0;
if (signal < 0.0) signal = 0.0;
+ #if DISPLAY == OLED
stat_area.fillRect(px, py, 13, 7, SSD1306_BLACK);
- // Serial.printf("Last SNR: %.2f\n, quality: %.2f\n", snr, quality);
if (signal > 85) stat_area.drawLine(px+0*2, py+7, px+0*2, py+0, SSD1306_WHITE);
if (signal > 72) stat_area.drawLine(px+1*2, py+7, px+1*2, py+1, SSD1306_WHITE);
if (signal > 59) stat_area.drawLine(px+2*2, py+7, px+2*2, py+2, SSD1306_WHITE);
@@ -333,12 +550,48 @@ void draw_signal_bars(int px, int py) {
if (signal > 33) stat_area.drawLine(px+4*2, py+7, px+4*2, py+4, SSD1306_WHITE);
if (signal > 20) stat_area.drawLine(px+5*2, py+7, px+5*2, py+5, SSD1306_WHITE);
if (signal > 7) stat_area.drawLine(px+6*2, py+7, px+6*2, py+6, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.fillRect(px, py, 26, 14, GxEPD_BLACK);
+ if (signal > 85) {
+ stat_area.drawLine(px+0*4, py+14, px+0*4, py+0, GxEPD_WHITE);
+ stat_area.drawLine(px+0*4+1, py+14, px+0*4+1, py+0, GxEPD_WHITE);
+ }
+ if (signal > 72) {
+ stat_area.drawLine(px+1*4, py+14, px+1*4, py+1, GxEPD_WHITE);
+ stat_area.drawLine(px+1*4+1, py+14, px+1*4+1, py+1, GxEPD_WHITE);
+ }
+ if (signal > 59) {
+ stat_area.drawLine(px+2*4, py+14, px+2*4, py+2, GxEPD_WHITE);
+ stat_area.drawLine(px+2*4+1, py+14, px+2*4+1, py+2, GxEPD_WHITE);
+ }
+ if (signal > 46) {
+ stat_area.drawLine(px+3*4, py+14, px+3*4, py+3, GxEPD_WHITE);
+ stat_area.drawLine(px+3*4+1, py+14, px+3*4+1, py+3, GxEPD_WHITE);
+ }
+ if (signal > 33) {
+ stat_area.drawLine(px+4*4, py+14, px+4*4, py+4, GxEPD_WHITE);
+ stat_area.drawLine(px+4*4+1, py+14, px+4*4+1, py+4, GxEPD_WHITE);
+ }
+ if (signal > 20) {
+ stat_area.drawLine(px+5*4, py+14, px+5*4, py+5, GxEPD_WHITE);
+ stat_area.drawLine(px+5*4+1, py+14, px+5*4+1, py+5, GxEPD_WHITE);
+ }
+ if (signal > 7) {
+ stat_area.drawLine(px+6*4, py+14, px+6*4, py+6, GxEPD_WHITE);
+ stat_area.drawLine(px+6*4+1, py+14, px+6*4+1, py+6, GxEPD_WHITE);
+ }
+ #endif
+ // Serial.printf("Last SNR: %.2f\n, quality: %.2f\n", snr, quality);
}
#define WF_RSSI_MAX -60
#define WF_RSSI_MIN -135
#define WF_RSSI_SPAN (WF_RSSI_MAX-WF_RSSI_MIN)
+#if DISPLAY == OLED
#define WF_PIXEL_WIDTH 10
+#elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+#define WF_PIXEL_WIDTH 22
+#endif
void draw_waterfall(int px, int py) {
int rssi_val = current_rssi;
if (rssi_val < WF_RSSI_MIN) rssi_val = WF_RSSI_MIN;
@@ -348,55 +601,101 @@ void draw_waterfall(int px, int py) {
waterfall[waterfall_head++] = rssi_normalised;
if (waterfall_head >= WATERFALL_SIZE) waterfall_head = 0;
+ #if DISPLAY == OLED
stat_area.fillRect(px,py,WF_PIXEL_WIDTH, WATERFALL_SIZE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.fillRect(px,py,WF_PIXEL_WIDTH, WATERFALL_SIZE, GxEPD_BLACK);
+ #endif
for (int i = 0; i < WATERFALL_SIZE; i++){
int wi = (waterfall_head+i)%WATERFALL_SIZE;
int ws = waterfall[wi];
if (ws > 0) {
- stat_area.drawLine(px, py+i, px+ws-1, py+i, SSD1306_WHITE);
+ #if DISPLAY == OLED
+ stat_area.drawLine(px, py+i, px+ws-1, py+i, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawLine(px, py+i, px+ws-1, py+i, GxEPD_WHITE);
+ #endif
}
}
}
-bool stat_area_intialised = false;
+bool stat_area_initialised = false;
void draw_stat_area() {
if (device_init_done) {
- if (!stat_area_intialised) {
- stat_area.drawBitmap(0, 0, bm_frame, 64, 64, SSD1306_WHITE, SSD1306_BLACK);
- stat_area_intialised = true;
+ if (!stat_area_initialised) {
+ #if DISPLAY == OLED
+ stat_area.drawBitmap(0, 0, bm_frame, 64, 64, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ stat_area.drawBitmap(0, 0, bm_frame, stat_area.width(), stat_area.height(), GxEPD_WHITE, GxEPD_BLACK);
+ #endif
+ stat_area_initialised = true;
}
+ #if DISPLAY == OLED
draw_cable_icon(3, 8);
draw_bt_icon(3, 30);
draw_lora_icon(45, 8);
draw_mw_icon(45, 30);
draw_battery_bars(4, 58);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ draw_cable_icon(6, 18);
+ draw_bt_icon(6, 60);
+ draw_lora_icon(86, 18);
+ draw_mw_icon(86, 60);
+ draw_battery_bars(8, 113);
+ #endif
if (radio_online) {
+ #if DISPLAY == OLED
draw_quality_bars(28, 56);
draw_signal_bars(44, 56);
draw_waterfall(27, 4);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ draw_quality_bars(53, 109);
+ draw_signal_bars(83, 109);
+ draw_waterfall(50, 8);
+ #endif
}
}
}
void update_stat_area() {
if (eeprom_ok && !firmware_update_mode && !console_active) {
-
draw_stat_area();
if (disp_mode == DISP_MODE_PORTRAIT) {
+ #if DISPLAY == OLED
display.drawBitmap(p_as_x, p_as_y, stat_area.getBuffer(), stat_area.width(), stat_area.height(), SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ display.drawBitmap(p_as_x, p_as_y, stat_area.getBuffer(), stat_area.width(), stat_area.height(), GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else if (disp_mode == DISP_MODE_LANDSCAPE) {
+ #if DISPLAY == OLED
display.drawBitmap(p_as_x+2, p_as_y, stat_area.getBuffer(), stat_area.width(), stat_area.height(), SSD1306_WHITE, SSD1306_BLACK);
if (device_init_done && !disp_ext_fb) display.drawLine(p_as_x, 0, p_as_x, 64, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ display.drawBitmap(p_as_x+2, p_as_y, stat_area.getBuffer(), stat_area.width(), stat_area.height(), GxEPD_WHITE, GxEPD_BLACK);
+ if (device_init_done && !disp_ext_fb) display.drawLine(p_as_x, 0, p_as_x, DISP_W/2, GxEPD_WHITE);
+ #endif
}
} else {
if (firmware_update_mode) {
+ #if DISPLAY == OLED
display.drawBitmap(p_as_x, p_as_y, bm_updating, stat_area.width(), stat_area.height(), SSD1306_BLACK, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ display.drawBitmap(p_as_x, p_as_y, bm_updating, stat_area.width(), stat_area.height(), GxEPD_BLACK, GxEPD_WHITE);
+ #endif
} else if (console_active && device_init_done) {
+ #if DISPLAY == OLED
display.drawBitmap(p_as_x, p_as_y, bm_console, stat_area.width(), stat_area.height(), SSD1306_BLACK, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ display.drawBitmap(p_as_x, p_as_y, bm_console, stat_area.width(), stat_area.height(), GxEPD_BLACK, GxEPD_WHITE);
+ #endif
if (disp_mode == DISP_MODE_LANDSCAPE) {
+ #if DISPLAY == OLED
display.drawLine(p_as_x, 0, p_as_x, 64, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ display.drawLine(p_as_x, 0, p_as_x, DISP_W/2, GxEPD_WHITE);
+ #endif
}
}
}
@@ -410,101 +709,189 @@ void draw_disp_area() {
uint8_t p_by = 37;
if (disp_mode == DISP_MODE_LANDSCAPE || firmware_update_mode) {
p_by = 18;
- disp_area.fillRect(0, 0, disp_area.width(), disp_area.height(), SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.fillRect(0, 0, disp_area.width(), disp_area.height(), SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.fillRect(0, 0, disp_area.width(), disp_area.height(), GxEPD_BLACK);
+ #endif
}
- if (!device_init_done) disp_area.drawBitmap(0, p_by, bm_boot, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
- if (firmware_update_mode) disp_area.drawBitmap(0, p_by, bm_fw_update, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ if (!device_init_done) disp_area.drawBitmap(0, p_by, bm_boot, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ if (firmware_update_mode) disp_area.drawBitmap(0, p_by, bm_fw_update, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ if (!device_init_done) disp_area.drawBitmap(0, p_by, bm_boot, disp_area.width(), 54, GxEPD_WHITE);
+ if (firmware_update_mode) disp_area.drawBitmap(0, p_by, bm_fw_update, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
if (!disp_ext_fb or bt_ssp_pin != 0) {
if (radio_online && display_diagnostics) {
- disp_area.fillRect(0,8,disp_area.width(),37, SSD1306_BLACK); disp_area.fillRect(0,37,disp_area.width(),27, SSD1306_WHITE);
- disp_area.setFont(SMALL_FONT); disp_area.setTextWrap(false); disp_area.setTextColor(SSD1306_WHITE);
+ #if DISPLAY == OLED
+ disp_area.fillRect(0,8,disp_area.width(),37, SSD1306_BLACK); disp_area.fillRect(0,37,disp_area.width(),27, SSD1306_WHITE);
+ disp_area.setFont(SMALL_FONT); disp_area.setTextWrap(false); disp_area.setTextColor(SSD1306_WHITE);
- disp_area.setCursor(2, 13);
- disp_area.print("On");
- disp_area.setCursor(14, 13);
- disp_area.print("@");
- disp_area.setCursor(21, 13);
- disp_area.printf("%.1fKbps", (float)lora_bitrate/1000.0);
+ disp_area.setCursor(2, 13);
+ disp_area.print("On");
+ disp_area.setCursor(14, 13);
+ disp_area.print("@");
+ disp_area.setCursor(21, 13);
+ disp_area.printf("%.1fKbps", (float)lora_bitrate/1000.0);
- //disp_area.setCursor(31, 23-1);
- disp_area.setCursor(2, 23-1);
- disp_area.print("Airtime:");
+ disp_area.setCursor(2, 23-1);
+ disp_area.print("Airtime:");
+
+ disp_area.setCursor(11, 33-1);
+ if (total_channel_util < 0.099) {
+ disp_area.printf("%.1f%%", airtime*100.0);
+ } else {
+ disp_area.printf("%.0f%%", airtime*100.0);
+ }
+
+ disp_area.drawBitmap(2, 26-1, bm_hg_low, 5, 9, SSD1306_WHITE, SSD1306_BLACK);
+
+ disp_area.setCursor(32+11, 33-1);
+
+ if (longterm_channel_util < 0.099) {
+ disp_area.printf("%.1f%%", longterm_airtime*100.0);
+ } else {
+ disp_area.printf("%.0f%%", longterm_airtime*100.0);
+ }
+ disp_area.drawBitmap(32+2, 26-1, bm_hg_high, 5, 9, SSD1306_WHITE, SSD1306_BLACK);
+
+ disp_area.setTextColor(SSD1306_BLACK);
+
+ disp_area.setCursor(2, 46);
+ disp_area.print("Channel");
+ disp_area.setCursor(38, 46);
+ disp_area.print("Load:");
+
+ disp_area.setCursor(11, 57);
+ if (total_channel_util < 0.099) {
+ disp_area.printf("%.1f%%", total_channel_util*100.0);
+ } else {
+ disp_area.printf("%.0f%%", total_channel_util*100.0);
+ }
+ disp_area.drawBitmap(2, 50, bm_hg_low, 5, 9, SSD1306_BLACK, SSD1306_WHITE);
- disp_area.setCursor(11, 33-1);
- if (total_channel_util < 0.099) {
- //disp_area.printf("%.1f%%", total_channel_util*100.0);
- disp_area.printf("%.1f%%", airtime*100.0);
- } else {
- //disp_area.printf("%.0f%%", total_channel_util*100.0);
- disp_area.printf("%.0f%%", airtime*100.0);
- }
- disp_area.drawBitmap(2, 26-1, bm_hg_low, 5, 9, SSD1306_WHITE, SSD1306_BLACK);
+ disp_area.setCursor(32+11, 57);
+ if (longterm_channel_util < 0.099) {
+ disp_area.printf("%.1f%%", longterm_channel_util*100.0);
+ } else {
+ disp_area.printf("%.0f%%", longterm_channel_util*100.0);
+ }
+ disp_area.drawBitmap(32+2, 50, bm_hg_high, 5, 9, SSD1306_BLACK, SSD1306_WHITE);
- disp_area.setCursor(32+11, 33-1);
- if (longterm_channel_util < 0.099) {
- //disp_area.printf("%.1f%%", longterm_channel_util*100.0);
- disp_area.printf("%.1f%%", longterm_airtime*100.0);
- } else {
- //disp_area.printf("%.0f%%", longterm_channel_util*100.0);
- disp_area.printf("%.0f%%", longterm_airtime*100.0);
- }
- disp_area.drawBitmap(32+2, 26-1, bm_hg_high, 5, 9, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.fillRect(0,12,disp_area.width(),57, GxEPD_BLACK); disp_area.fillRect(0,69,disp_area.width(),56, GxEPD_WHITE);
+ disp_area.setFont(SMALL_FONT); disp_area.setTextWrap(false); disp_area.setTextColor(GxEPD_WHITE);
+ disp_area.setTextSize(2); // scale text 2x
+ disp_area.setCursor(2, 22);
+ disp_area.print("On");
+ disp_area.setCursor(14*2, 22);
+ disp_area.print("@");
+ disp_area.setCursor(21*2, 22);
+ disp_area.printf("%.1fKbps", (float)lora_bitrate/1000.0);
- disp_area.setTextColor(SSD1306_BLACK);
- disp_area.setCursor(2, 46);
- disp_area.print("Channel");
- disp_area.setCursor(38, 46);
- disp_area.print("Load:");
+ disp_area.setCursor(2, 36);
+ disp_area.print("Airtime:");
+
+ disp_area.setCursor(7+12, 53);
+ if (total_channel_util < 0.099) {
+ disp_area.printf("%.1f%%", airtime*100.0);
+ } else {
+ disp_area.printf("%.0f%%", airtime*100.0);
+ }
+
+ disp_area.drawBitmap(2, 41, bm_hg_low, 10, 18, GxEPD_WHITE, GxEPD_BLACK);
+
+ disp_area.setCursor(64+17, 53);
+ if (longterm_channel_util < 0.099) {
+ disp_area.printf("%.1f%%", longterm_airtime*100.0);
+ } else {
+ disp_area.printf("%.0f%%", longterm_airtime*100.0);
+ }
+ disp_area.drawBitmap(64, 41, bm_hg_high, 10, 18, GxEPD_WHITE, GxEPD_BLACK);
+
+ disp_area.setTextColor(GxEPD_BLACK);
+
+ disp_area.setCursor(2, 88);
+ disp_area.print("Channel");
+ disp_area.setCursor(38*2, 88);
+ disp_area.print("Load:");
- disp_area.setCursor(11, 57);
- if (total_channel_util < 0.099) {
- //disp_area.printf("%.1f%%", airtime*100.0);
- disp_area.printf("%.1f%%", total_channel_util*100.0);
- } else {
- //disp_area.printf("%.0f%%", airtime*100.0);
- disp_area.printf("%.0f%%", total_channel_util*100.0);
- }
- disp_area.drawBitmap(2, 50, bm_hg_low, 5, 9, SSD1306_BLACK, SSD1306_WHITE);
+ disp_area.setCursor(7+12, 110);
+ if (total_channel_util < 0.099) {
+ disp_area.printf("%.1f%%", total_channel_util*100.0);
+ } else {
+ disp_area.printf("%.0f%%", total_channel_util*100.0);
+ }
+ disp_area.drawBitmap(2, 98, bm_hg_low, 10, 18, GxEPD_BLACK, GxEPD_WHITE);
- disp_area.setCursor(32+11, 57);
- if (longterm_channel_util < 0.099) {
- //disp_area.printf("%.1f%%", longterm_airtime*100.0);
- disp_area.printf("%.1f%%", longterm_channel_util*100.0);
- } else {
- //disp_area.printf("%.0f%%", longterm_airtime*100.0);
- disp_area.printf("%.0f%%", longterm_channel_util*100.0);
- }
- disp_area.drawBitmap(32+2, 50, bm_hg_high, 5, 9, SSD1306_BLACK, SSD1306_WHITE);
+ disp_area.setCursor(64+17, 110);
+ if (longterm_channel_util < 0.099) {
+ disp_area.printf("%.1f%%", longterm_channel_util*100.0);
+ } else {
+ disp_area.printf("%.0f%%", longterm_channel_util*100.0);
+ }
+ disp_area.drawBitmap(64, 98, bm_hg_high, 10, 18, GxEPD_BLACK, GxEPD_WHITE);
+ #endif
} else {
if (device_signatures_ok()) {
- disp_area.drawBitmap(0, 0, bm_def_lc, disp_area.width(), 37, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 0, bm_def_lc, disp_area.width(), 37, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 0, bm_def_lc, disp_area.width(), 71, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
- disp_area.drawBitmap(0, 0, bm_def, disp_area.width(), 37, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 0, bm_def, disp_area.width(), 37, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 0, bm_def, disp_area.width(), 71, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
if (!hw_ready || radio_error || !device_firmware_ok()) {
if (!device_firmware_ok()) {
- disp_area.drawBitmap(0, 37, bm_fw_corrupt, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_fw_corrupt, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_fw_corrupt, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
if (!modem_installed) {
- disp_area.drawBitmap(0, 37, bm_no_radio, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_no_radio, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_no_radio, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
- disp_area.drawBitmap(0, 37, bm_hwfail, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_hwfail, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_hwfail, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
} else if (bt_state == BT_STATE_PAIRING and bt_ssp_pin != 0) {
char *pin_str = (char*)malloc(DISP_PIN_SIZE+1);
sprintf(pin_str, "%06d", bt_ssp_pin);
- disp_area.drawBitmap(0, 37, bm_pairing, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_pairing, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_pairing, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
for (int i = 0; i < DISP_PIN_SIZE; i++) {
uint8_t numeric = pin_str[i]-48;
- uint8_t offset = numeric*5;
- disp_area.drawBitmap(7+9*i, 37+16, bm_n_uh+offset, 8, 5, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ uint8_t offset = numeric*5;
+ disp_area.drawBitmap(7+9*i, 37+16, bm_n_uh+offset, 8, 5, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ uint8_t offset = numeric*20;
+ disp_area.drawBitmap(14+17*i, 71+32, bm_n_uh+offset, 10, 10, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
free(pin_str);
} else {
@@ -516,64 +903,119 @@ void draw_disp_area() {
if (radio_online) {
if (!display_diagnostics) {
- disp_area.drawBitmap(0, 37, bm_online, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_online, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_online, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
} else {
if (disp_page == 0) {
if (true || device_signatures_ok()) {
- disp_area.drawBitmap(0, 37, bm_checks, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_checks, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_checks, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
- disp_area.drawBitmap(0, 37, bm_nfr, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_nfr, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_nfr, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
} else if (disp_page == 1) {
if (!console_active) {
- disp_area.drawBitmap(0, 37, bm_hwok, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_hwok, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_hwok, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
} else {
- disp_area.drawBitmap(0, 37, bm_console_active, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_console_active, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_console_active, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
} else if (disp_page == 2) {
- disp_area.drawBitmap(0, 37, bm_version, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 37, bm_version, disp_area.width(), 27, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 71, bm_version, disp_area.width(), 54, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
char *v_str = (char*)malloc(3+1);
sprintf(v_str, "%01d%02d", MAJ_VERS, MIN_VERS);
for (int i = 0; i < 3; i++) {
- uint8_t numeric = v_str[i]-48; uint8_t bm_offset = numeric*5;
+ #if DISPLAY == OLED
uint8_t dxp = 20;
- if (i == 1) dxp += 9*1+4;
+ uint8_t numeric = v_str[i]-48; uint8_t bm_offset = numeric*5;
if (i == 2) dxp += 9*2+4;
- disp_area.drawBitmap(dxp, 37+16, bm_n_uh+bm_offset, 8, 5, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ uint8_t dxp = 43;
+ uint8_t numeric = v_str[i]-48; uint8_t bm_offset = numeric*20;
+ if (i == 2) dxp += 9*2+6;
+ #endif
+ if (i == 1) dxp += 9*1+4;
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(dxp, 37+16, bm_n_uh+bm_offset, 8, 5, SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ // add gap manually rather than oversizing bitmap, as the gfx lib fills in the extra space with black
+ disp_area.drawBitmap(dxp, 71+32, bm_n_uh+bm_offset, 10, 10, GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
free(v_str);
+ #if DISPLAY == OLED
disp_area.drawLine(27, 37+19, 28, 37+19, SSD1306_BLACK);
- disp_area.drawLine(27, 37+20, 28, 37+20, SSD1306_BLACK);
+ disp_area.drawLine(27, 37+19, 28, 37+19, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawLine(27, 37+20, 28, 37+20, GxEPD_BLACK);
+ disp_area.drawLine(27, 37+20, 28, 37+20, GxEPD_BLACK);
+ #endif
}
}
}
} else {
- disp_area.drawBitmap(0, 0, fb, disp_area.width(), disp_area.height(), SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ disp_area.drawBitmap(0, 0, fb, disp_area.width(), disp_area.height(), SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ disp_area.drawBitmap(0, 0, fb, disp_area.width(), disp_area.height(), GxEPD_WHITE, GxEPD_BLACK);
+ #endif
}
}
}
void update_disp_area() {
draw_disp_area();
- display.drawBitmap(p_ad_x, p_ad_y, disp_area.getBuffer(), disp_area.width(), disp_area.height(), SSD1306_WHITE, SSD1306_BLACK);
+ #if DISPLAY == OLED
+ display.drawBitmap(p_ad_x, p_ad_y, disp_area.getBuffer(), disp_area.width(), disp_area.height(), SSD1306_WHITE, SSD1306_BLACK);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ display.drawBitmap(p_ad_x, p_ad_y, disp_area.getBuffer(), disp_area.width(), disp_area.height(), GxEPD_WHITE, GxEPD_BLACK);
+ #endif
if (disp_mode == DISP_MODE_LANDSCAPE) {
if (device_init_done && !firmware_update_mode && !disp_ext_fb) {
+ #if DISPLAY == OLED
display.drawLine(0, 0, 0, 63, SSD1306_WHITE);
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ display.drawLine(0, 0, 0, 63, GxEPD_WHITE);
+ #endif
}
}
}
void update_display(bool blank = false) {
if (blank) {
+ #if DISPLAY == OLED
if (display_contrast != display_intensity) {
display_contrast = display_intensity;
set_contrast(&display, display_contrast);
}
display.clearDisplay();
+ #endif
display.display();
} else {
if (millis()-last_disp_update >= disp_update_interval) {
+ #if DISPLAY == OLED
if (display_contrast != display_intensity) {
display_contrast = display_intensity;
set_contrast(&display, display_contrast);
@@ -582,6 +1024,13 @@ void update_display(bool blank = false) {
update_stat_area();
update_disp_area();
display.display();
+ #elif DISP_H == 122 && (DISPLAY == EINK_BW || DISPLAY == EINK_3C)
+ display.setFullWindow();
+ display.fillScreen(GxEPD_WHITE);
+ update_stat_area();
+ update_disp_area();
+ display.display(true);
+ #endif
last_disp_update = millis();
}
}
diff --git a/Graphics.h b/Graphics.h
index 3f1daf5..7e92bd6 100644
--- a/Graphics.h
+++ b/Graphics.h
@@ -13,6 +13,9 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see .
+#if DISP_H == UNSCALED_MAX
+// use 64px wide graphics
+
const unsigned char bm_cable [] PROGMEM = {
0x00, 0x00, 0x00, 0x1c, 0x00, 0x38, 0x07, 0xfc, 0x08, 0x38, 0x10, 0x1c, 0x10, 0x00, 0x08, 0x00,
0x07, 0xc0, 0x00, 0x20, 0x00, 0x10, 0x00, 0x10, 0x00, 0x20, 0x07, 0xc0, 0x08, 0x00, 0x10, 0x00,
@@ -20,17 +23,6 @@ const unsigned char bm_cable [] PROGMEM = {
0xf1, 0x8f, 0x02, 0x16, 0x02, 0x23, 0x01, 0x20, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
-const unsigned char bm_rf [] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0xc4,
- 0x4a, 0xaa, 0x4a, 0xce, 0x6e, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0xe0, 0x08, 0x10, 0x13, 0xc8, 0x04, 0x20, 0x01, 0x80, 0x00, 0x00, 0x4e, 0xc4,
- 0x4a, 0xaa, 0x4a, 0xce, 0x6e, 0xaa, 0x00, 0x00, 0x01, 0x80, 0x04, 0x20, 0x03, 0xc0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x4e,
- 0x31, 0x48, 0x61, 0xca, 0x74, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x07, 0xe0, 0x08, 0x10, 0x13, 0xc8, 0x04, 0x20, 0x01, 0x80, 0x00, 0x00, 0x71, 0x4e,
- 0x31, 0x48, 0x61, 0xca, 0x74, 0x4e, 0x00, 0x00, 0x01, 0x80, 0x04, 0x20, 0x03, 0xc0, 0x00, 0x00
-};
-
const unsigned char bm_bt [] PROGMEM = {
0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x05, 0x10, 0x00, 0x00, 0x01, 0x40,
0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x05, 0x10, 0x00, 0x00, 0x11, 0x40, 0x00, 0x00, 0x01, 0x00,
@@ -42,6 +34,17 @@ const unsigned char bm_bt [] PROGMEM = {
0x29, 0x94, 0x11, 0x48, 0x03, 0x20, 0x05, 0x10, 0x09, 0x20, 0x01, 0x40, 0x01, 0x80, 0x01, 0x00
};
+const unsigned char bm_rf [] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0xc4,
+ 0x4a, 0xaa, 0x4a, 0xce, 0x6e, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xe0, 0x08, 0x10, 0x13, 0xc8, 0x04, 0x20, 0x01, 0x80, 0x00, 0x00, 0x4e, 0xc4,
+ 0x4a, 0xaa, 0x4a, 0xce, 0x6e, 0xaa, 0x00, 0x00, 0x01, 0x80, 0x04, 0x20, 0x03, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x4e,
+ 0x31, 0x48, 0x61, 0xca, 0x74, 0x4e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x07, 0xe0, 0x08, 0x10, 0x13, 0xc8, 0x04, 0x20, 0x01, 0x80, 0x00, 0x00, 0x71, 0x4e,
+ 0x31, 0x48, 0x61, 0xca, 0x74, 0x4e, 0x00, 0x00, 0x01, 0x80, 0x04, 0x20, 0x03, 0xc0, 0x00, 0x00
+};
+
const unsigned char bm_boot [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
@@ -59,6 +62,92 @@ const unsigned char bm_boot [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
+const unsigned char bm_no_radio [] 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, 0xc3, 0xc7, 0x0e, 0x71, 0xfc, 0xce, 0x38, 0x7f,
+ 0xc9, 0x93, 0x26, 0x64, 0xfc, 0x4c, 0x9c, 0xff, 0xc3, 0x83, 0x26, 0x64, 0xfc, 0x0c, 0x9c, 0xff,
+ 0xc3, 0x93, 0x26, 0x64, 0xfc, 0x8c, 0x9c, 0xff, 0xc9, 0x93, 0x0e, 0x71, 0xfc, 0xce, 0x3c, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x8e, 0x4c, 0xcc, 0x3f, 0xff, 0xfc, 0xff,
+ 0xcf, 0x26, 0x4c, 0x4c, 0x9f, 0xff, 0xfb, 0x7f, 0xc3, 0x26, 0x4c, 0x0c, 0x9f, 0xff, 0xfb, 0x7f,
+ 0xcf, 0x26, 0x4c, 0x8c, 0x9f, 0xff, 0xf7, 0xbf, 0xcf, 0x8f, 0x1c, 0xcc, 0x3f, 0xff, 0xf4, 0xbf,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdf,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xef,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xf7,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7c, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfb,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+const unsigned char bm_hwfail [] 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, 0xe4, 0xe3, 0x87, 0x0e, 0x73, 0x8e, 0x1c, 0x3f,
+ 0xe4, 0xc9, 0x93, 0x26, 0x53, 0x26, 0x4c, 0xff, 0xe0, 0xc1, 0x87, 0x26, 0x53, 0x06, 0x1c, 0x3f,
+ 0xe4, 0xc9, 0x87, 0x26, 0x03, 0x26, 0x1c, 0xff, 0xe4, 0xc9, 0x93, 0x0f, 0x27, 0x26, 0x4c, 0x3f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xe1, 0xc7, 0x33, 0xc9, 0x87, 0x0f, 0xf9, 0xff, 0xe7, 0x93, 0x33, 0xc9, 0x93, 0x3f, 0xf6, 0xff,
+ 0xe1, 0x83, 0x33, 0xc9, 0x87, 0x0f, 0xf6, 0xff, 0xe7, 0x93, 0x33, 0xc9, 0x87, 0x3f, 0xef, 0x7f,
+ 0xe7, 0x93, 0x30, 0xe3, 0x93, 0x0f, 0xe9, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xbf,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xdf,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xef,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xf7,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+const unsigned char bm_console [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff,
+ 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0x1f, 0xcf, 0xff, 0xff, 0xf3, 0xf8, 0xff,
+ 0xfe, 0x3f, 0x9f, 0xff, 0xff, 0xf9, 0xfc, 0x7f, 0xfc, 0x7f, 0x99, 0xe6, 0x61, 0x99, 0xfe, 0x3f,
+ 0xf8, 0xe7, 0x99, 0x26, 0x67, 0x99, 0xe7, 0x1f, 0xf9, 0xc7, 0x99, 0x26, 0x61, 0x99, 0xe3, 0x9f,
+ 0xf1, 0x8f, 0x98, 0x06, 0x67, 0x99, 0xf1, 0x8f, 0xf3, 0x9f, 0x9c, 0xce, 0x67, 0x99, 0xf9, 0xcf,
+ 0xf3, 0x99, 0x9f, 0xff, 0xff, 0xf9, 0x99, 0xcf, 0xf3, 0x99, 0x9f, 0xff, 0xff, 0xf9, 0x99, 0xcf,
+ 0xf3, 0x9f, 0x9f, 0xe3, 0x83, 0xf9, 0xf9, 0xcf, 0xf1, 0x8f, 0x9f, 0xc9, 0x93, 0xf9, 0xf1, 0x8f,
+ 0xf9, 0xc7, 0x9f, 0xc1, 0x83, 0xf9, 0xe3, 0x9f, 0xf8, 0xe7, 0x9f, 0xc9, 0x9f, 0xf9, 0xe7, 0x1f,
+ 0xfc, 0x7f, 0x9f, 0xc9, 0x9f, 0xf9, 0xfe, 0x3f, 0xfe, 0x3f, 0x9f, 0xff, 0xff, 0xf9, 0xfc, 0x7f,
+ 0xff, 0x1f, 0xcf, 0xff, 0xff, 0xf3, 0xf8, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff,
+ 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff,
+ 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xff, 0x7f, 0xdf, 0xf7, 0xfd, 0xff, 0x7f,
+ 0xfd, 0xff, 0x7f, 0xdf, 0xf7, 0xfd, 0xff, 0x7f, 0xfd, 0xff, 0x7f, 0xdf, 0xf7, 0xfd, 0xff, 0x7f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x78, 0x1e, 0x07, 0x81, 0xe0, 0x78, 0x1f,
+ 0xef, 0xbb, 0xee, 0xfb, 0xbe, 0xef, 0xbb, 0xef, 0xe8, 0xda, 0xb6, 0x9d, 0xb3, 0x6d, 0xda, 0x37,
+ 0xef, 0xda, 0xf6, 0xb5, 0xad, 0x6c, 0xdb, 0xf7, 0xe8, 0x5a, 0x36, 0x95, 0xad, 0x6c, 0xda, 0x97,
+ 0xef, 0xdb, 0xf6, 0x85, 0xb3, 0x6c, 0xda, 0x97, 0xea, 0x5a, 0x36, 0xb5, 0xb3, 0x6c, 0xdb, 0xf7,
+ 0xef, 0xda, 0xf6, 0xa5, 0xad, 0x6f, 0xda, 0x57, 0xe8, 0x5a, 0xb6, 0x85, 0xad, 0x6c, 0xda, 0x57,
+ 0xef, 0xdb, 0xf6, 0xfd, 0xbf, 0x6f, 0xdb, 0xf7, 0xe0, 0x18, 0x06, 0x01, 0x80, 0x60, 0x18, 0x07,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xfe, 0x42, 0x7c, 0x60, 0xf0, 0x78, 0x3c, 0x7f, 0xfe, 0x4a, 0x7c, 0x64, 0xf2, 0x79, 0x3c, 0x7f,
+ 0xfe, 0x43, 0xfe, 0x64, 0xf2, 0x79, 0x3e, 0x7f, 0xfe, 0x4e, 0x7e, 0x64, 0x92, 0x49, 0x26, 0x7f,
+ 0xfe, 0x4e, 0x7e, 0x60, 0x90, 0x48, 0x26, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+const unsigned char bm_pairing [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xf0, 0xe3, 0x98, 0x73, 0x33, 0x87, 0xff, 0xff, 0xf2, 0xc9, 0x99, 0x33, 0x13, 0x3f, 0xff,
+ 0xff, 0xf0, 0xc1, 0x98, 0x73, 0x03, 0x27, 0xff, 0xff, 0xf3, 0xc9, 0x98, 0x73, 0x23, 0x27, 0xff,
+ 0xff, 0xf3, 0xc9, 0x99, 0x33, 0x33, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
const unsigned char bm_fw_update [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
@@ -76,20 +165,20 @@ const unsigned char bm_fw_update [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
-const unsigned char bm_console_active [] PROGMEM = {
+const unsigned char bm_version [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x8e, 0x67, 0x0e, 0x39, 0xe1, 0xff,
- 0xff, 0x93, 0x26, 0x26, 0x7c, 0x99, 0xe7, 0xff, 0xff, 0x9f, 0x26, 0x07, 0x1c, 0x99, 0xe1, 0xff,
- 0xff, 0x93, 0x26, 0x47, 0xcc, 0x99, 0xe7, 0xff, 0xff, 0xc7, 0x8e, 0x66, 0x1e, 0x38, 0x61, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3c, 0x70, 0xcc, 0xcc, 0x3f, 0xff,
- 0xff, 0xfc, 0x99, 0x39, 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xfc, 0x19, 0xf9, 0xce, 0x1c, 0x3f, 0xff,
- 0xff, 0xfc, 0x99, 0x39, 0xce, 0x1c, 0xff, 0xff, 0xff, 0xfc, 0x9c, 0x79, 0xcf, 0x3c, 0x3f, 0xff,
+ 0xff, 0x99, 0x86, 0x1e, 0x19, 0xc7, 0x33, 0xff, 0xff, 0x99, 0x9e, 0x4c, 0xf9, 0x93, 0x13, 0xff,
+ 0xff, 0xc3, 0x86, 0x1e, 0x39, 0x93, 0x03, 0xff, 0xff, 0xc3, 0x9e, 0x1f, 0x99, 0x93, 0x23, 0xff,
+ 0xff, 0xe7, 0x86, 0x4c, 0x39, 0xc7, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
@@ -128,40 +217,6 @@ const unsigned char bm_updating [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
-const unsigned char bm_version [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0x99, 0x86, 0x1e, 0x19, 0xc7, 0x33, 0xff, 0xff, 0x99, 0x9e, 0x4c, 0xf9, 0x93, 0x13, 0xff,
- 0xff, 0xc3, 0x86, 0x1e, 0x39, 0x93, 0x03, 0xff, 0xff, 0xc3, 0x9e, 0x1f, 0x99, 0x93, 0x23, 0xff,
- 0xff, 0xe7, 0x86, 0x4c, 0x39, 0xc7, 0x33, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-};
-
-const unsigned char bm_fw_corrupt [] 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, 0xc3, 0x30, 0xe7, 0x33, 0x9c, 0x70, 0xe1, 0xff,
- 0xcf, 0x32, 0x62, 0x32, 0x99, 0x32, 0x67, 0xff, 0xc3, 0x30, 0xe0, 0x32, 0x98, 0x30, 0xe1, 0xff,
- 0xcf, 0x30, 0xe5, 0x30, 0x19, 0x30, 0xe7, 0xff, 0xcf, 0x32, 0x67, 0x39, 0x39, 0x32, 0x61, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xc7, 0x0e, 0x1c, 0x98, 0x70, 0xfc, 0xff,
- 0xc9, 0x93, 0x26, 0x4c, 0x99, 0x39, 0xfb, 0x7f, 0xcf, 0x93, 0x0e, 0x1c, 0x98, 0x79, 0xfb, 0x7f,
- 0xc9, 0x93, 0x0e, 0x1c, 0x99, 0xf9, 0xf7, 0xbf, 0xe3, 0xc7, 0x26, 0x4e, 0x39, 0xf9, 0xf4, 0xbf,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdf,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xef,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xf7,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7c, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfb,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-};
-
static unsigned char bm_def[] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb4, 0x61, 0x10, 0x8c, 0x23, 0xc4, 0x3f, 0xff,
0xb5, 0xa7, 0xb7, 0xb5, 0xed, 0xed, 0xbf, 0xff, 0xb5, 0xb9, 0xb4, 0xb4, 0x6d, 0xed, 0xbf, 0xff,
@@ -206,6 +261,57 @@ const unsigned char bm_def_lc [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
+const unsigned char bm_hwok [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xf2, 0x71, 0xc3, 0x87, 0x39, 0xc7, 0x0e, 0x1f, 0xf2, 0x64, 0xc9, 0x93, 0x29, 0x93, 0x26, 0x7f,
+ 0xf0, 0x60, 0xc3, 0x93, 0x29, 0x83, 0x0e, 0x1f, 0xf2, 0x64, 0xc3, 0x93, 0x01, 0x93, 0x0e, 0x7f,
+ 0xf2, 0x64, 0xc9, 0x87, 0x93, 0x93, 0x26, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x33, 0x30, 0xff, 0x8e, 0x4f, 0xff,
+ 0xff, 0xf3, 0x13, 0x39, 0xff, 0x26, 0x1f, 0xff, 0xff, 0xf3, 0x03, 0x39, 0xff, 0x26, 0x3f, 0xff,
+ 0xff, 0xf3, 0x23, 0x39, 0xff, 0x26, 0x1f, 0xff, 0xff, 0xf3, 0x33, 0x39, 0xff, 0x8e, 0x4f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xc3, 0x0e, 0x67, 0xf8, 0x70, 0xe3, 0x87, 0x33, 0xe7, 0x27, 0x0f, 0xf9, 0x33, 0xc9, 0x93, 0x87,
+ 0xe7, 0x0f, 0x9f, 0xf8, 0x70, 0xc1, 0x93, 0xcf, 0xe7, 0x0f, 0x0f, 0xf8, 0x73, 0xc9, 0x93, 0xcf,
+ 0xe7, 0x26, 0x67, 0xf9, 0x30, 0xc9, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+const unsigned char bm_console_active [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc7, 0x8e, 0x67, 0x0e, 0x39, 0xe1, 0xff,
+ 0xff, 0x93, 0x26, 0x26, 0x7c, 0x99, 0xe7, 0xff, 0xff, 0x9f, 0x26, 0x07, 0x1c, 0x99, 0xe1, 0xff,
+ 0xff, 0x93, 0x26, 0x47, 0xcc, 0x99, 0xe7, 0xff, 0xff, 0xc7, 0x8e, 0x66, 0x1e, 0x38, 0x61, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3c, 0x70, 0xcc, 0xcc, 0x3f, 0xff,
+ 0xff, 0xfc, 0x99, 0x39, 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xfc, 0x19, 0xf9, 0xce, 0x1c, 0x3f, 0xff,
+ 0xff, 0xfc, 0x99, 0x39, 0xce, 0x1c, 0xff, 0xff, 0xff, 0xfc, 0x9c, 0x79, 0xcf, 0x3c, 0x3f, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
+const unsigned char bm_checks [] 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, 0xff, 0xff, 0xff, 0x87, 0x0c, 0x99, 0xc7, 0x0f,
+ 0xe6, 0x00, 0x7f, 0x93, 0x3c, 0x99, 0x93, 0x3f, 0xe6, 0x00, 0x7f, 0x93, 0x0e, 0x39, 0x9f, 0x0f,
+ 0xff, 0xff, 0xff, 0x93, 0x3e, 0x39, 0x93, 0x3f, 0xff, 0xff, 0xff, 0x87, 0x0f, 0x79, 0xc7, 0x0f,
+ 0xe6, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x39, 0x30, 0xe3, 0x93, 0x87,
+ 0xe6, 0x00, 0x7c, 0x99, 0x33, 0xc9, 0x87, 0x3f, 0xe6, 0x00, 0x7c, 0xf8, 0x30, 0xcf, 0x8f, 0x8f,
+ 0xff, 0xff, 0xfc, 0x99, 0x33, 0xc9, 0x87, 0xe7, 0xff, 0xff, 0xfe, 0x39, 0x30, 0xe3, 0x93, 0x0f,
+ 0xe6, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x9c, 0x3c, 0x78, 0x70, 0xc3, 0x0f,
+ 0xe6, 0x0d, 0x3c, 0x99, 0x33, 0xe7, 0xcf, 0x27, 0xe6, 0x04, 0x7c, 0x38, 0x38, 0xf1, 0xc3, 0x27,
+ 0xff, 0xfe, 0xfc, 0xf9, 0x3e, 0x7c, 0xcf, 0x27, 0xff, 0xff, 0xfc, 0xf9, 0x30, 0xe1, 0xc3, 0x0f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+};
+
const unsigned char bm_frame [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x00,
@@ -241,85 +347,32 @@ const unsigned char bm_frame [] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0xaa, 0x8a, 0xaa, 0x80
};
-const unsigned char bm_console [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff,
- 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0x1f, 0xcf, 0xff, 0xff, 0xf3, 0xf8, 0xff,
- 0xfe, 0x3f, 0x9f, 0xff, 0xff, 0xf9, 0xfc, 0x7f, 0xfc, 0x7f, 0x99, 0xe6, 0x61, 0x99, 0xfe, 0x3f,
- 0xf8, 0xe7, 0x99, 0x26, 0x67, 0x99, 0xe7, 0x1f, 0xf9, 0xc7, 0x99, 0x26, 0x61, 0x99, 0xe3, 0x9f,
- 0xf1, 0x8f, 0x98, 0x06, 0x67, 0x99, 0xf1, 0x8f, 0xf3, 0x9f, 0x9c, 0xce, 0x67, 0x99, 0xf9, 0xcf,
- 0xf3, 0x99, 0x9f, 0xff, 0xff, 0xf9, 0x99, 0xcf, 0xf3, 0x99, 0x9f, 0xff, 0xff, 0xf9, 0x99, 0xcf,
- 0xf3, 0x9f, 0x9f, 0xe3, 0x83, 0xf9, 0xf9, 0xcf, 0xf1, 0x8f, 0x9f, 0xc9, 0x93, 0xf9, 0xf1, 0x8f,
- 0xf9, 0xc7, 0x9f, 0xc1, 0x83, 0xf9, 0xe3, 0x9f, 0xf8, 0xe7, 0x9f, 0xc9, 0x9f, 0xf9, 0xe7, 0x1f,
- 0xfc, 0x7f, 0x9f, 0xc9, 0x9f, 0xf9, 0xfe, 0x3f, 0xfe, 0x3f, 0x9f, 0xff, 0xff, 0xf9, 0xfc, 0x7f,
- 0xff, 0x1f, 0xcf, 0xff, 0xff, 0xf3, 0xf8, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x07, 0xff, 0xff,
- 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff,
- 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xff, 0x7f, 0xdf, 0xf7, 0xfd, 0xff, 0x7f,
- 0xfd, 0xff, 0x7f, 0xdf, 0xf7, 0xfd, 0xff, 0x7f, 0xfd, 0xff, 0x7f, 0xdf, 0xf7, 0xfd, 0xff, 0x7f,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x78, 0x1e, 0x07, 0x81, 0xe0, 0x78, 0x1f,
- 0xef, 0xbb, 0xee, 0xfb, 0xbe, 0xef, 0xbb, 0xef, 0xe8, 0xda, 0xb6, 0x9d, 0xb3, 0x6d, 0xda, 0x37,
- 0xef, 0xda, 0xf6, 0xb5, 0xad, 0x6c, 0xdb, 0xf7, 0xe8, 0x5a, 0x36, 0x95, 0xad, 0x6c, 0xda, 0x97,
- 0xef, 0xdb, 0xf6, 0x85, 0xb3, 0x6c, 0xda, 0x97, 0xea, 0x5a, 0x36, 0xb5, 0xb3, 0x6c, 0xdb, 0xf7,
- 0xef, 0xda, 0xf6, 0xa5, 0xad, 0x6f, 0xda, 0x57, 0xe8, 0x5a, 0xb6, 0x85, 0xad, 0x6c, 0xda, 0x57,
- 0xef, 0xdb, 0xf6, 0xfd, 0xbf, 0x6f, 0xdb, 0xf7, 0xe0, 0x18, 0x06, 0x01, 0x80, 0x60, 0x18, 0x07,
+const unsigned char bm_online [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xfe, 0x42, 0x7c, 0x60, 0xf0, 0x78, 0x3c, 0x7f, 0xfe, 0x4a, 0x7c, 0x64, 0xf2, 0x79, 0x3c, 0x7f,
- 0xfe, 0x43, 0xfe, 0x64, 0xf2, 0x79, 0x3e, 0x7f, 0xfe, 0x4e, 0x7e, 0x64, 0x92, 0x49, 0x26, 0x7f,
- 0xfe, 0x4e, 0x7e, 0x60, 0x90, 0x48, 0x26, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-};
-
-
-const unsigned char bm_checks [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x1c, 0x66, 0x61, 0x8c, 0x24, 0x90, 0x87,
+ 0xe6, 0x49, 0x22, 0x4f, 0x24, 0xe4, 0x93, 0x93, 0xe6, 0x18, 0x20, 0x63, 0x3c, 0x26, 0x30, 0x87,
+ 0xe6, 0x19, 0x24, 0x79, 0x24, 0xe6, 0x33, 0x87, 0xe6, 0x49, 0x26, 0x43, 0x8c, 0x27, 0x70, 0x93,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xe6, 0x73, 0xe7, 0x33, 0x87, 0xff,
+ 0xff, 0xe4, 0xe2, 0x73, 0xe7, 0x13, 0x9f, 0xff, 0xff, 0xe4, 0xe0, 0x73, 0xe7, 0x03, 0x87, 0xff,
+ 0xff, 0xe4, 0xe4, 0x73, 0xe7, 0x23, 0x9f, 0xff, 0xff, 0xf1, 0xe6, 0x70, 0xe7, 0x33, 0x87, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x0c, 0x99, 0xc7, 0x0f,
- 0xe6, 0x00, 0x7f, 0x93, 0x3c, 0x99, 0x93, 0x3f, 0xe6, 0x00, 0x7f, 0x93, 0x0e, 0x39, 0x9f, 0x0f,
- 0xff, 0xff, 0xff, 0x93, 0x3e, 0x39, 0x93, 0x3f, 0xff, 0xff, 0xff, 0x87, 0x0f, 0x79, 0xc7, 0x0f,
- 0xe6, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x39, 0x30, 0xe3, 0x93, 0x87,
- 0xe6, 0x00, 0x7c, 0x99, 0x33, 0xc9, 0x87, 0x3f, 0xe6, 0x00, 0x7c, 0xf8, 0x30, 0xcf, 0x8f, 0x8f,
- 0xff, 0xff, 0xfc, 0x99, 0x33, 0xc9, 0x87, 0xe7, 0xff, 0xff, 0xfe, 0x39, 0x30, 0xe3, 0x93, 0x0f,
- 0xe6, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe6, 0x00, 0x6f, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x9c, 0x3c, 0x78, 0x70, 0xc3, 0x0f,
- 0xe6, 0x0d, 0x3c, 0x99, 0x33, 0xe7, 0xcf, 0x27, 0xe6, 0x04, 0x7c, 0x38, 0x38, 0xf1, 0xc3, 0x27,
- 0xff, 0xfe, 0xfc, 0xf9, 0x3e, 0x7c, 0xcf, 0x27, 0xff, 0xff, 0xfc, 0xf9, 0x30, 0xe1, 0xc3, 0x0f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
-const unsigned char bm_hwfail [] PROGMEM = {
+const unsigned char bm_fw_corrupt [] 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, 0xe4, 0xe3, 0x87, 0x0e, 0x73, 0x8e, 0x1c, 0x3f,
- 0xe4, 0xc9, 0x93, 0x26, 0x53, 0x26, 0x4c, 0xff, 0xe0, 0xc1, 0x87, 0x26, 0x53, 0x06, 0x1c, 0x3f,
- 0xe4, 0xc9, 0x87, 0x26, 0x03, 0x26, 0x1c, 0xff, 0xe4, 0xc9, 0x93, 0x0f, 0x27, 0x26, 0x4c, 0x3f,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x30, 0xe7, 0x33, 0x9c, 0x70, 0xe1, 0xff,
+ 0xcf, 0x32, 0x62, 0x32, 0x99, 0x32, 0x67, 0xff, 0xc3, 0x30, 0xe0, 0x32, 0x98, 0x30, 0xe1, 0xff,
+ 0xcf, 0x30, 0xe5, 0x30, 0x19, 0x30, 0xe7, 0xff, 0xcf, 0x32, 0x67, 0x39, 0x39, 0x32, 0x61, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xe1, 0xc7, 0x33, 0xc9, 0x87, 0x0f, 0xf9, 0xff, 0xe7, 0x93, 0x33, 0xc9, 0x93, 0x3f, 0xf6, 0xff,
- 0xe1, 0x83, 0x33, 0xc9, 0x87, 0x0f, 0xf6, 0xff, 0xe7, 0x93, 0x33, 0xc9, 0x87, 0x3f, 0xef, 0x7f,
- 0xe7, 0x93, 0x30, 0xe3, 0x93, 0x0f, 0xe9, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xbf,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xdf,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb9, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xef,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xf9, 0xf7,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-};
-
-const unsigned char bm_no_radio [] 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, 0xc3, 0xc7, 0x0e, 0x71, 0xfc, 0xce, 0x38, 0x7f,
- 0xc9, 0x93, 0x26, 0x64, 0xfc, 0x4c, 0x9c, 0xff, 0xc3, 0x83, 0x26, 0x64, 0xfc, 0x0c, 0x9c, 0xff,
- 0xc3, 0x93, 0x26, 0x64, 0xfc, 0x8c, 0x9c, 0xff, 0xc9, 0x93, 0x0e, 0x71, 0xfc, 0xce, 0x3c, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x8e, 0x4c, 0xcc, 0x3f, 0xff, 0xfc, 0xff,
- 0xcf, 0x26, 0x4c, 0x4c, 0x9f, 0xff, 0xfb, 0x7f, 0xc3, 0x26, 0x4c, 0x0c, 0x9f, 0xff, 0xfb, 0x7f,
- 0xcf, 0x26, 0x4c, 0x8c, 0x9f, 0xff, 0xf7, 0xbf, 0xcf, 0x8f, 0x1c, 0xcc, 0x3f, 0xff, 0xf4, 0xbf,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3, 0xc7, 0x0e, 0x1c, 0x98, 0x70, 0xfc, 0xff,
+ 0xc9, 0x93, 0x26, 0x4c, 0x99, 0x39, 0xfb, 0x7f, 0xcf, 0x93, 0x0e, 0x1c, 0x98, 0x79, 0xfb, 0x7f,
+ 0xc9, 0x93, 0x0e, 0x1c, 0x99, 0xf9, 0xf7, 0xbf, 0xe3, 0xc7, 0x26, 0x4e, 0x39, 0xf9, 0xf4, 0xbf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xec, 0xdf,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdc, 0xef,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbc, 0xf7,
@@ -328,23 +381,1316 @@ const unsigned char bm_no_radio [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
-const unsigned char bm_hwok [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xf2, 0x71, 0xc3, 0x87, 0x39, 0xc7, 0x0e, 0x1f, 0xf2, 0x64, 0xc9, 0x93, 0x29, 0x93, 0x26, 0x7f,
- 0xf0, 0x60, 0xc3, 0x93, 0x29, 0x83, 0x0e, 0x1f, 0xf2, 0x64, 0xc3, 0x93, 0x01, 0x93, 0x0e, 0x7f,
- 0xf2, 0x64, 0xc9, 0x87, 0x93, 0x93, 0x26, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x33, 0x30, 0xff, 0x8e, 0x4f, 0xff,
- 0xff, 0xf3, 0x13, 0x39, 0xff, 0x26, 0x1f, 0xff, 0xff, 0xf3, 0x03, 0x39, 0xff, 0x26, 0x3f, 0xff,
- 0xff, 0xf3, 0x23, 0x39, 0xff, 0x26, 0x1f, 0xff, 0xff, 0xf3, 0x33, 0x39, 0xff, 0x8e, 0x4f, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xc3, 0x0e, 0x67, 0xf8, 0x70, 0xe3, 0x87, 0x33, 0xe7, 0x27, 0x0f, 0xf9, 0x33, 0xc9, 0x93, 0x87,
- 0xe7, 0x0f, 0x9f, 0xf8, 0x70, 0xc1, 0x93, 0xcf, 0xe7, 0x0f, 0x0f, 0xf8, 0x73, 0xc9, 0x93, 0xcf,
- 0xe7, 0x26, 0x67, 0xf9, 0x30, 0xc9, 0x87, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+const unsigned char bm_plug [] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x7f, 0x80, 0x55, 0xfc, 0x00, 0xaa, 0xfc, 0x00, 0x00,
+ 0x7f, 0x80, 0x00, 0x1c, 0x00
};
+const unsigned char bm_hg_low [] PROGMEM = {
+ 0xf8, 0x88, 0x88, 0x50, 0x20, 0x50, 0x88, 0xf8, 0xf8
+};
+
+const unsigned char bm_hg_high [] PROGMEM = {
+ 0xf8, 0x88, 0xf8, 0x70, 0x20, 0x70, 0xf8, 0xf8, 0xf8
+};
+
+const unsigned char bm_n_uh [] PROGMEM = {
+ 0x07, 0x27, 0x27, 0x27, 0x07, 0x8f, 0x8f, 0xcf, 0xcf, 0xcf, 0x07, 0xe7, 0x07, 0x3f, 0x07, 0x07,
+ 0xe7, 0xc7, 0xe7, 0x07, 0x27, 0x27, 0x07, 0xe7, 0xe7, 0x07, 0x3f, 0x07, 0xe7, 0x07, 0x07, 0x3f,
+ 0x07, 0x27, 0x07, 0x07, 0xc7, 0xcf, 0x9f, 0x1f, 0x07, 0x27, 0x07, 0x27, 0x07, 0x07, 0x27, 0x07,
+ 0xe7, 0xe7
+};
+
+#elif DISP_H == 122
+// use 122px wide graphics
+
+const unsigned char bm_bt [] PROGMEM = {
+ // 30 x 128px
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x60, 0x00, 0x02, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x60, 0x00, 0x02, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x01, 0x86, 0x18, 0x00,
+ 0x01, 0x86, 0x18, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x1e, 0x18, 0x00,
+ 0x00, 0x1e, 0x18, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x1e, 0x18, 0x00,
+ 0x00, 0x1e, 0x18, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x66, 0x04, 0x00, 0x01, 0x86, 0x18, 0x00,
+ 0x01, 0x86, 0x18, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x01, 0x86, 0x18, 0x00,
+ 0x01, 0x86, 0x18, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x1e, 0x18, 0x00,
+ 0x00, 0x1e, 0x18, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x0d, 0x87, 0x84, 0xc0,
+ 0x0d, 0x87, 0x84, 0xc0, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x1e, 0x18, 0x00,
+ 0x00, 0x1e, 0x18, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x66, 0x04, 0x00, 0x01, 0x86, 0x18, 0x00,
+ 0x01, 0x86, 0x18, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x01, 0x86, 0x18, 0x00,
+ 0x01, 0x86, 0x18, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x1e, 0x18, 0x00,
+ 0x00, 0x1e, 0x18, 0x00, 0x02, 0x06, 0x63, 0x00, 0x02, 0x06, 0x63, 0x00, 0x0d, 0x87, 0x84, 0xc0,
+ 0x0d, 0x87, 0x84, 0xc0, 0x02, 0x06, 0x63, 0x00, 0x02, 0x06, 0x63, 0x00, 0x00, 0x1e, 0x18, 0x00,
+ 0x00, 0x1e, 0x18, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x66, 0x04, 0x00, 0x01, 0x86, 0x18, 0x00,
+ 0x01, 0x86, 0x18, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+const unsigned char bm_rf [] PROGMEM = {
+ // 30 x 128px
+ 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xf9, 0xe0, 0xc0, 0x30, 0xf9, 0xe0, 0xc0,
+ 0x30, 0x99, 0x99, 0x30, 0x30, 0x99, 0x99, 0x30, 0x30, 0x99, 0xe1, 0xf0, 0x30, 0x99, 0xe1, 0xf0,
+ 0x3c, 0xf9, 0x99, 0x30, 0x3c, 0xf9, 0x99, 0x30, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x7f, 0xf8, 0x00,
+ 0x00, 0x80, 0x06, 0x00, 0x00, 0x80, 0x06, 0x00, 0x03, 0x1f, 0xe1, 0x00, 0x03, 0x1f, 0xe1, 0x00,
+ 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xf9, 0xe0, 0xc0, 0x30, 0xf9, 0xe0, 0xc0,
+ 0x30, 0x99, 0x99, 0x30, 0x30, 0x99, 0x99, 0x30, 0x30, 0x99, 0xe1, 0xf0, 0x30, 0x99, 0xe1, 0xf0,
+ 0x3c, 0xf9, 0x99, 0x30, 0x3c, 0xf9, 0x99, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00,
+ 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x1f, 0xe0, 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,
+ 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x06, 0x61, 0xf0, 0x3f, 0x06, 0x61, 0xf0,
+ 0x0f, 0x06, 0x61, 0x00, 0x0f, 0x06, 0x61, 0x00, 0x3c, 0x07, 0xe1, 0x30, 0x3c, 0x07, 0xe1, 0x30,
+ 0x3f, 0x60, 0x61, 0xf0, 0x3f, 0x60, 0x61, 0xf0, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xf8, 0x00, 0x00, 0x7f, 0xf8, 0x00,
+ 0x00, 0x80, 0x06, 0x00, 0x00, 0x80, 0x06, 0x00, 0x03, 0x1f, 0xe1, 0x00, 0x03, 0x1f, 0xe1, 0x00,
+ 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x06, 0x61, 0xf0, 0x3f, 0x06, 0x61, 0xf0,
+ 0x0f, 0x06, 0x61, 0x00, 0x0f, 0x06, 0x61, 0x00, 0x3c, 0x07, 0xe1, 0x30, 0x3c, 0x07, 0xe1, 0x30,
+ 0x3f, 0x60, 0x61, 0xf0, 0x3f, 0x60, 0x61, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x07, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00, 0x00, 0x60, 0x18, 0x00, 0x00, 0x60, 0x18, 0x00,
+ 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x1f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+
+const unsigned char bm_cable [] PROGMEM = {
+ // 30 x 64px
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x07, 0xc0,
+ 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x7f, 0xff, 0xc0, 0x00, 0x7f, 0xff, 0xc0,
+ 0x01, 0x80, 0x1f, 0x00, 0x01, 0x80, 0x1f, 0x00, 0x02, 0x00, 0x07, 0xc0, 0x02, 0x00, 0x07, 0xc0,
+ 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00,
+ 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00,
+ 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x7f, 0xe0, 0x00,
+ 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x1e, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x61, 0x80, 0x00, 0x00, 0x61, 0x80, 0x00,
+ 0x00, 0x60, 0x60, 0x3c, 0x00, 0x60, 0x60, 0x3c, 0x01, 0x80, 0x60, 0xf0, 0x01, 0x80, 0x60, 0xf0,
+ 0xfe, 0x07, 0x83, 0xfc, 0xfe, 0x07, 0x83, 0xfc, 0x00, 0x18, 0x04, 0xf0, 0x00, 0x18, 0x04, 0xf0,
+ 0x00, 0x18, 0x18, 0x3c, 0x00, 0x18, 0x18, 0x3c, 0x00, 0x06, 0x18, 0x00, 0x00, 0x06, 0x18, 0x00,
+ 0x00, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xe0, 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
+};
+
+const unsigned char bm_boot [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe0, 0x3f, 0x00, 0xf1, 0xe1, 0xe3, 0xf0, 0x3f, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x07, 0xe1, 0xe1, 0xe1, 0xe0, 0x1f, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x0f, 0xf0, 0xe1, 0xe1, 0xc3, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x00, 0xf8, 0x07, 0xe1, 0xc3, 0xff, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x07, 0xf8, 0x07, 0xe1, 0xc3, 0x9f, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x0f, 0xfc, 0x07, 0xe1, 0xe1, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe0, 0x3f, 0x00, 0xfe, 0x1f, 0xe1, 0xf0, 0x3f, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xfe, 0x01, 0xe0, 0x3f, 0x03, 0xe0, 0x1f, 0x80, 0x70, 0xf0, 0xf1, 0xf8, 0x07, 0xff, 0xc0,
+ 0xff, 0xfc, 0x3f, 0xf0, 0x7e, 0x21, 0xe0, 0x87, 0xc1, 0xf0, 0xf0, 0x71, 0xf1, 0xff, 0xff, 0xc0,
+ 0xff, 0xfc, 0x3f, 0xf8, 0x7c, 0x00, 0xe0, 0x87, 0xe1, 0xf0, 0xf0, 0x21, 0xe1, 0xff, 0xff, 0xc0,
+ 0xff, 0xfe, 0x07, 0xf8, 0x7c, 0x00, 0xe0, 0x1f, 0xe1, 0xf0, 0xf0, 0x01, 0xe1, 0x87, 0xff, 0xc0,
+ 0xff, 0xff, 0xe1, 0xf8, 0x7c, 0x20, 0xe0, 0x1f, 0xe1, 0xf0, 0xf0, 0x81, 0xe1, 0x87, 0xff, 0xc0,
+ 0xff, 0xff, 0xe3, 0xf8, 0x7c, 0x30, 0xe0, 0x0f, 0xe1, 0xf0, 0xf0, 0xc1, 0xf0, 0x0f, 0xff, 0xc0,
+ 0xff, 0xf8, 0x07, 0xf8, 0xfc, 0x30, 0xf1, 0x87, 0xe1, 0xf0, 0xf0, 0xf1, 0xf8, 0x1f, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_fw_update [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xf1, 0xc7, 0x80, 0xfc, 0x03, 0xfc, 0x1f, 0x80, 0xf8, 0xf1, 0xf1, 0xf8, 0x0f, 0xff, 0xc0,
+ 0xff, 0xe1, 0x87, 0x80, 0x7c, 0x03, 0xf8, 0x1f, 0x80, 0xf0, 0xf0, 0xf1, 0xf8, 0x0f, 0xff, 0xc0,
+ 0xff, 0xe1, 0x87, 0x84, 0x3c, 0x31, 0xf0, 0x87, 0xc1, 0xf0, 0xf0, 0x71, 0xe1, 0xff, 0xff, 0xc0,
+ 0xff, 0xe1, 0x87, 0x84, 0x3c, 0x30, 0xe0, 0x87, 0xe1, 0xf0, 0xf0, 0x21, 0xe1, 0xff, 0xff, 0xc0,
+ 0xff, 0xe1, 0x87, 0x80, 0x7c, 0x30, 0xe0, 0x07, 0xe1, 0xf0, 0xf0, 0x01, 0xe1, 0x8f, 0xff, 0xc0,
+ 0xff, 0xe1, 0x87, 0x80, 0xfc, 0x30, 0xe0, 0x07, 0xe1, 0xf0, 0xf0, 0x01, 0xe1, 0x87, 0xff, 0xc0,
+ 0xff, 0xe1, 0x87, 0x87, 0xfc, 0x30, 0xe0, 0x87, 0xe1, 0xf0, 0xf0, 0x81, 0xe1, 0x87, 0xff, 0xc0,
+ 0xff, 0xf0, 0x87, 0x87, 0xfc, 0x31, 0xe1, 0x87, 0xe1, 0xf0, 0xf0, 0xc1, 0xe1, 0x8f, 0xff, 0xc0,
+ 0xff, 0xf8, 0x1f, 0x87, 0xfc, 0x03, 0xe1, 0x87, 0xe1, 0xf0, 0xf0, 0xe1, 0xf8, 0x1f, 0xff, 0xc0,
+ 0xff, 0xfc, 0x1f, 0x8f, 0xfc, 0x03, 0xf1, 0xc7, 0xe3, 0xf8, 0xf1, 0xf1, 0xf8, 0x1f, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xc0, 0x78, 0x78, 0x0f, 0xc3, 0xf1, 0xe1, 0xf8, 0xfe, 0x0f, 0xc0, 0x7e, 0x03, 0xff, 0xc0,
+ 0xff, 0xc0, 0x78, 0x78, 0x07, 0xc3, 0xe1, 0xe1, 0xf8, 0x7c, 0x0f, 0xc0, 0x3e, 0x03, 0xff, 0xc0,
+ 0xff, 0xc3, 0xf8, 0x78, 0x43, 0xc1, 0xc1, 0xe1, 0xb8, 0x78, 0xc3, 0xc2, 0x1e, 0x1f, 0xff, 0xc0,
+ 0xff, 0xc3, 0xf8, 0x78, 0x43, 0xc0, 0x81, 0xe1, 0x98, 0x70, 0xc3, 0xc2, 0x1e, 0x1f, 0xff, 0xc0,
+ 0xff, 0xc0, 0x78, 0x78, 0x07, 0xc0, 0x01, 0xe1, 0x98, 0x70, 0x03, 0xc0, 0x3e, 0x03, 0xff, 0xc0,
+ 0xff, 0xc0, 0x78, 0x78, 0x0f, 0xc0, 0x01, 0xe1, 0x90, 0x70, 0x03, 0xc0, 0x7e, 0x03, 0xff, 0xc0,
+ 0xff, 0xc3, 0xf8, 0x78, 0x0f, 0xc2, 0x21, 0xe0, 0x00, 0x70, 0xc3, 0xc0, 0x7e, 0x1f, 0xff, 0xc0,
+ 0xff, 0xc7, 0xf8, 0x78, 0x07, 0xc3, 0x61, 0xe0, 0x00, 0xf0, 0xc3, 0xc0, 0x3e, 0x1f, 0xff, 0xc0,
+ 0xff, 0xc7, 0xf8, 0x78, 0x43, 0xc3, 0xe1, 0xf8, 0x41, 0xf0, 0xc3, 0xc2, 0x1e, 0x03, 0xff, 0xc0,
+ 0xff, 0xc7, 0xf8, 0x78, 0xe3, 0xc3, 0xf1, 0xf8, 0x63, 0xf8, 0xc3, 0xc7, 0x1e, 0x03, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_version [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xc7, 0x8f, 0x80, 0xf0, 0x1f, 0xe0, 0x3e, 0x3f, 0x03, 0xf1, 0xe1, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0x87, 0x87, 0x00, 0xf0, 0x0f, 0xe0, 0x3e, 0x3f, 0x03, 0xf0, 0xe1, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0x87, 0x87, 0x07, 0xf0, 0x87, 0xc7, 0xfe, 0x3e, 0x31, 0xf0, 0x61, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xc7, 0x8f, 0x07, 0xf0, 0x87, 0xc7, 0xfe, 0x3c, 0x30, 0xf0, 0x21, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xe0, 0x1f, 0x00, 0xf0, 0x0f, 0xe0, 0x7e, 0x3c, 0x30, 0xf0, 0x01, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xe0, 0x1f, 0x00, 0xf0, 0x0f, 0xe0, 0x7e, 0x3c, 0x30, 0xf0, 0x01, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xe0, 0x1f, 0x07, 0xf0, 0x0f, 0xfe, 0x3e, 0x3c, 0x30, 0xf0, 0x81, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xe0, 0x3f, 0x07, 0xf0, 0x0f, 0xfe, 0x3e, 0x3e, 0x31, 0xf1, 0xc1, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xf8, 0x7f, 0x00, 0xf0, 0x87, 0xc0, 0x7e, 0x3f, 0x03, 0xf1, 0xe1, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xf8, 0x7f, 0x80, 0xf1, 0xc7, 0xc0, 0x7e, 0x3f, 0x03, 0xf1, 0xe1, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_def [] PROGMEM = {
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+0xcf, 0x70, 0x78, 0x0e, 0x0c, 0x03, 0x07, 0x80, 0x60, 0xff, 0x03, 0x01, 0xff, 0xff, 0xff, 0xc0,
+0xcf, 0x20, 0x78, 0x0e, 0x0c, 0x07, 0x07, 0x80, 0xe0, 0xff, 0x87, 0x01, 0xff, 0xff, 0xff, 0xc0,
+0xcf, 0x23, 0x98, 0x7f, 0x1c, 0xff, 0x39, 0x9f, 0xe7, 0x3f, 0xcf, 0x39, 0xff, 0xff, 0xff, 0xc0,
+0xcf, 0x27, 0x98, 0x7f, 0x3c, 0xff, 0x39, 0x8f, 0xe7, 0x3f, 0xcf, 0x39, 0xff, 0xff, 0xff, 0xc0,
+0xcf, 0x27, 0x9f, 0x8f, 0x3c, 0xc3, 0x39, 0x81, 0xe7, 0x3f, 0xcf, 0x39, 0xff, 0xff, 0xff, 0xc0,
+0xce, 0x27, 0x9f, 0x07, 0x1c, 0x03, 0x39, 0x80, 0xe7, 0x3f, 0x87, 0x39, 0xff, 0xff, 0xff, 0xc0,
+0xc0, 0x27, 0x98, 0x06, 0x0c, 0x03, 0x39, 0x80, 0x60, 0x33, 0x03, 0x01, 0xff, 0xff, 0xff, 0xc0,
+0xe0, 0x77, 0xfc, 0x0e, 0x1e, 0x07, 0x7d, 0xc0, 0xe0, 0x3f, 0x87, 0x01, 0xff, 0xff, 0xff, 0xc0,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xff, 0xf0, 0x7c, 0x07, 0x83, 0xff, 0xc0, 0xff, 0xfc, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+0x03, 0xff, 0xf8, 0x7e, 0x0f, 0xc3, 0xff, 0xe1, 0xff, 0xfc, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+0x03, 0xff, 0xfc, 0x7f, 0x0f, 0xcf, 0xff, 0xf1, 0xff, 0xfc, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+0x03, 0xff, 0xfe, 0x7f, 0x8f, 0xcf, 0xff, 0xf9, 0xff, 0xfc, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+0x03, 0xf0, 0x7e, 0x7f, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xf0, 0x7e, 0x7f, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xff, 0xf8, 0x7f, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0x3f, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xff, 0xf8, 0x7f, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0x3f, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xff, 0xf8, 0x7e, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0x3f, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xff, 0xf8, 0x7e, 0x7f, 0xcf, 0xc1, 0xf9, 0xf8, 0x3f, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xf0, 0x7e, 0x7e, 0x3f, 0xcf, 0xc1, 0xf9, 0xf8, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xe0, 0x7e, 0x7e, 0x1f, 0xcf, 0xc1, 0xf9, 0xf8, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x03, 0xe0, 0x7e, 0x7e, 0x0f, 0xcf, 0xff, 0xf9, 0xff, 0xfc, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+0x03, 0xe0, 0x7e, 0x7e, 0x0f, 0xcf, 0xff, 0xf1, 0xff, 0xfc, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+0x03, 0xe0, 0x7e, 0x7e, 0x0f, 0xc3, 0xff, 0xe1, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+0x03, 0xe0, 0x3c, 0x3c, 0x07, 0x83, 0xff, 0xc0, 0xff, 0xf0, 0x07, 0xff, 0xc0, 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, 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, 0x00,
+0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x33, 0x26, 0x66, 0x66, 0xcc, 0xcc, 0xd9, 0x99, 0x99, 0x33, 0x33, 0x26, 0x66, 0x66, 0xcc, 0x00,
+0x0c, 0x89, 0x99, 0x99, 0x33, 0x33, 0x26, 0x66, 0x64, 0x4c, 0xcc, 0xc9, 0x99, 0x99, 0x32, 0x00,
+0x0c, 0x89, 0x99, 0x99, 0x33, 0x33, 0x26, 0x66, 0x64, 0x4c, 0xcc, 0xc9, 0x99, 0x99, 0x33, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x07, 0x00, 0x70, 0x20, 0x20, 0x81, 0x04, 0x10, 0x40, 0x82, 0x0f, 0x04, 0x04, 0x00,
+0x00, 0x00, 0x07, 0x80, 0xf0, 0x30, 0x61, 0x81, 0x86, 0x30, 0xc0, 0xc6, 0x1f, 0x86, 0x0c, 0x00,
+0x00, 0x00, 0x18, 0x41, 0x0c, 0x38, 0xe1, 0xe7, 0x86, 0x30, 0xf0, 0xc6, 0x06, 0x01, 0x10, 0x00,
+0x00, 0x00, 0x18, 0x41, 0x0c, 0x3c, 0xe1, 0xe7, 0x86, 0x30, 0xf0, 0xc6, 0x06, 0x01, 0x30, 0x00,
+0x00, 0x00, 0x18, 0x01, 0x0c, 0x33, 0x61, 0x99, 0x86, 0x30, 0xc8, 0xc6, 0x06, 0x00, 0xc0, 0x00,
+0x00, 0x00, 0x18, 0x01, 0x0c, 0x32, 0x21, 0x89, 0x86, 0x30, 0xcd, 0xc6, 0x06, 0x00, 0xc0, 0x00,
+0x00, 0x00, 0x18, 0x41, 0x0c, 0x30, 0x21, 0x81, 0x86, 0x30, 0xc3, 0xc6, 0x06, 0x00, 0xc0, 0x00,
+0x00, 0x00, 0x08, 0x41, 0x0c, 0x30, 0x21, 0x81, 0x86, 0x30, 0xc3, 0xc6, 0x06, 0x00, 0xc0, 0x00,
+0x00, 0x00, 0x07, 0x80, 0xf0, 0x30, 0x21, 0x81, 0x81, 0xc0, 0xc0, 0xc6, 0x06, 0x00, 0xc0, 0x00,
+0x00, 0x00, 0x03, 0x00, 0x70, 0x00, 0x20, 0x80, 0x01, 0xc0, 0x00, 0x82, 0x00, 0x00, 0x40, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0f, 0xc3, 0x1f, 0x81, 0x81, 0x0c, 0x0c, 0x0e, 0x07, 0xe0, 0xfc, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x1c, 0x01, 0xc3, 0x0c, 0x0c, 0x00, 0x07, 0x00, 0xe0, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0c, 0x03, 0x18, 0x61, 0xe7, 0x0c, 0xcc, 0x31, 0x86, 0x18, 0xc0, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0f, 0x83, 0x1f, 0x81, 0xdb, 0x0c, 0xcc, 0x3f, 0x87, 0xe0, 0xf8, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0f, 0xc3, 0x1f, 0x81, 0x99, 0x0c, 0xcc, 0x3f, 0x87, 0xe0, 0xfc, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0e, 0x03, 0x1d, 0x81, 0x81, 0x0c, 0xcc, 0x31, 0x87, 0xe0, 0xe0, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0c, 0x03, 0x19, 0x81, 0x81, 0x0c, 0xcc, 0x21, 0x86, 0x60, 0xc0, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0c, 0x03, 0x18, 0x61, 0x81, 0x03, 0x30, 0x21, 0x86, 0x10, 0xfc, 0x00,
+0x00, 0x00, 0x00, 0x00, 0x0c, 0x02, 0x08, 0x61, 0x81, 0x03, 0x30, 0x20, 0x86, 0x10, 0x7c, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+const unsigned char bm_def_lc [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xcf, 0x70, 0x78, 0x0e, 0x0c, 0x03, 0x07, 0xc0, 0x60, 0xff, 0x03, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xcf, 0x20, 0x78, 0x0e, 0x0c, 0x07, 0x07, 0x80, 0xe0, 0x7f, 0x87, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xcf, 0x23, 0x98, 0x7f, 0x1c, 0xff, 0x39, 0x9f, 0xe7, 0x3f, 0xcf, 0x39, 0xff, 0xff, 0xff, 0xc0,
+ 0xcf, 0x27, 0x98, 0x7f, 0x3c, 0xff, 0x39, 0x8f, 0xe7, 0x3f, 0xcf, 0x39, 0xff, 0xff, 0xff, 0xc0,
+ 0xcf, 0x27, 0x9f, 0x8f, 0x3c, 0xc3, 0x39, 0x81, 0xe7, 0x3f, 0xcf, 0x39, 0xff, 0xff, 0xff, 0xc0,
+ 0xce, 0x27, 0x9f, 0x07, 0x1c, 0x03, 0x39, 0x80, 0xe7, 0x3f, 0x8f, 0x39, 0xff, 0xff, 0xff, 0xc0,
+ 0xc0, 0x27, 0x98, 0x06, 0x0c, 0x03, 0x39, 0x80, 0x60, 0x33, 0x03, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xe0, 0x77, 0xfc, 0x0e, 0x0e, 0x07, 0x7d, 0xc0, 0xf0, 0x3f, 0x87, 0x81, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 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, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0xff, 0xf0, 0x3c, 0x07, 0x81, 0xff, 0xc0, 0xff, 0xf8, 0x07, 0xff, 0xc0, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xf8, 0x7e, 0x0f, 0xc3, 0xff, 0xe1, 0xff, 0xfc, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfc, 0x7f, 0x0f, 0xcf, 0xff, 0xf9, 0xff, 0xfc, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xfe, 0x7f, 0x8f, 0xcf, 0xff, 0xf9, 0xff, 0xfc, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x03, 0xf0, 0x7e, 0x7f, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xf0, 0x7e, 0x7f, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xf8, 0x7f, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0x3f, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xf8, 0x7f, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0x3f, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xf8, 0x7e, 0xff, 0xcf, 0xc1, 0xf9, 0xf8, 0x3f, 0x3f, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xff, 0xf8, 0x7e, 0x7f, 0xcf, 0xc1, 0xf9, 0xf8, 0x3f, 0x3f, 0xe0, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xf0, 0x7e, 0x7e, 0x3f, 0xcf, 0xc1, 0xf9, 0xf8, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xe0, 0x7e, 0x7e, 0x1f, 0xcf, 0xc1, 0xf9, 0xf8, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0xe0, 0x7e, 0x7e, 0x0f, 0xcf, 0xff, 0xf9, 0xff, 0xfc, 0x3f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x03, 0xe0, 0x7e, 0x7e, 0x0f, 0xcf, 0xff, 0xf9, 0xff, 0xfc, 0x1f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x03, 0xe0, 0x7e, 0x7e, 0x0f, 0xc3, 0xff, 0xe1, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 0x00, 0x00, 0x00,
+ 0x03, 0xe0, 0x3c, 0x7c, 0x07, 0x83, 0xff, 0xe0, 0xff, 0xf0, 0x0f, 0xff, 0xe0, 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, 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, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x33, 0x26, 0x66, 0x66, 0x4c, 0xcc, 0xc9, 0x99, 0x99, 0x33, 0x33, 0x32, 0x66, 0x66, 0x4c, 0x00,
+ 0x0c, 0xc9, 0x99, 0x99, 0x33, 0x33, 0x26, 0x66, 0x66, 0x4c, 0xcc, 0xc9, 0x99, 0x99, 0x32, 0x00,
+ 0x0c, 0xc9, 0x99, 0x99, 0x33, 0x33, 0x26, 0x66, 0x66, 0x4c, 0xcc, 0xc9, 0x99, 0x99, 0x33, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x81, 0xf0, 0x1f, 0x08, 0x08, 0x01, 0xc0, 0x1c, 0x08, 0x08, 0x20, 0x40, 0x7c, 0x00,
+ 0x00, 0x07, 0x81, 0xf8, 0x3f, 0x0c, 0x08, 0x01, 0xe0, 0x3c, 0x0c, 0x18, 0x60, 0x60, 0x7c, 0x00,
+ 0x00, 0x08, 0x61, 0x84, 0x38, 0x0e, 0x08, 0x06, 0x10, 0x43, 0x0e, 0x38, 0x79, 0xe1, 0x00, 0x00,
+ 0x00, 0x08, 0x61, 0x84, 0x38, 0x0f, 0x08, 0x06, 0x10, 0x43, 0x0f, 0x38, 0x79, 0xe1, 0x00, 0x00,
+ 0x00, 0x08, 0x61, 0xf8, 0x3f, 0x0c, 0x88, 0x06, 0x00, 0x43, 0x0c, 0xd8, 0x66, 0x60, 0x70, 0x00,
+ 0x00, 0x08, 0x61, 0xf0, 0x3f, 0x0c, 0xd8, 0x06, 0x00, 0x43, 0x0c, 0x88, 0x66, 0x60, 0x70, 0x00,
+ 0x00, 0x08, 0x61, 0x80, 0x30, 0x0c, 0x38, 0x06, 0x18, 0x43, 0x0c, 0x08, 0x60, 0x60, 0x0c, 0x00,
+ 0x00, 0x08, 0x61, 0x80, 0x38, 0x0c, 0x38, 0x06, 0x10, 0x43, 0x0c, 0x08, 0x60, 0x60, 0x0c, 0x00,
+ 0x00, 0x07, 0x81, 0x80, 0x3f, 0x0c, 0x18, 0x01, 0xe0, 0x3c, 0x0c, 0x08, 0x60, 0x61, 0xf0, 0x00,
+ 0x00, 0x03, 0x81, 0x00, 0x1f, 0x08, 0x08, 0x00, 0xc0, 0x1c, 0x08, 0x08, 0x20, 0x41, 0xf0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc6, 0x06, 0x07, 0xc3, 0xf0, 0xf8, 0x60, 0x60, 0x7c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xe0, 0xe0, 0x70, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x01, 0x98, 0x18, 0x00, 0xc0, 0xc0, 0x79, 0xe1, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0x70, 0xe0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x60, 0x07, 0x00, 0xc0, 0xf8, 0x66, 0x60, 0x70, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x00, 0x40, 0xc0, 0xc0, 0x60, 0x60, 0x08, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x00, 0x40, 0xc0, 0xc0, 0x60, 0x60, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x60, 0x1f, 0x00, 0xc0, 0xf8, 0x60, 0x61, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x60, 0x1f, 0x00, 0xc0, 0xf8, 0x60, 0x61, 0xf0, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+const unsigned char bm_hwok [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0x1c, 0x7e, 0x0f, 0xe0, 0x3f, 0x01, 0xf8, 0x7e, 0x3f, 0x03, 0xf0, 0x1f, 0x80, 0xff, 0xc0,
+ 0xff, 0x08, 0x7e, 0x07, 0xc0, 0x3f, 0x00, 0xf8, 0x7e, 0x3f, 0x03, 0xf0, 0x1f, 0x80, 0xff, 0xc0,
+ 0xff, 0x08, 0x78, 0x43, 0xc3, 0x0f, 0x08, 0x78, 0x6e, 0x3e, 0x31, 0xf0, 0x87, 0x87, 0xff, 0xc0,
+ 0xff, 0x08, 0x78, 0x41, 0xc3, 0x0f, 0x08, 0x78, 0x66, 0x3c, 0x30, 0xf0, 0x87, 0x87, 0xff, 0xc0,
+ 0xff, 0x00, 0x78, 0x01, 0xc0, 0x3f, 0x08, 0x78, 0x66, 0x3c, 0x00, 0xf0, 0x1f, 0x80, 0xff, 0xc0,
+ 0xff, 0x00, 0x78, 0x01, 0xc0, 0x3f, 0x08, 0x78, 0x44, 0x3c, 0x00, 0xf0, 0x1f, 0x80, 0xff, 0xc0,
+ 0xff, 0x08, 0x78, 0x41, 0xc0, 0x3f, 0x08, 0x78, 0x00, 0x3c, 0x30, 0xf0, 0x1f, 0x87, 0xff, 0xc0,
+ 0xff, 0x08, 0x78, 0x61, 0xc0, 0x3f, 0x08, 0x78, 0x00, 0x3c, 0x30, 0xf0, 0x1f, 0x87, 0xff, 0xc0,
+ 0xff, 0x08, 0x78, 0x61, 0xc3, 0x0f, 0x00, 0xfe, 0x10, 0x7c, 0x30, 0xf0, 0x87, 0x80, 0xff, 0xc0,
+ 0xff, 0x1c, 0x78, 0x63, 0xe3, 0x0f, 0x01, 0xfe, 0x38, 0xfe, 0x31, 0xf1, 0xc7, 0x80, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x3e, 0x3c, 0x3c, 0x7c, 0x07, 0xff, 0xfe, 0x0f, 0xc7, 0x1f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1e, 0x1c, 0x3c, 0x3c, 0x07, 0xff, 0xfc, 0x0f, 0xc2, 0x1f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1e, 0x0c, 0x3c, 0x3e, 0x1f, 0xff, 0xf8, 0xc3, 0xc0, 0x3f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1e, 0x04, 0x3c, 0x3e, 0x1f, 0xff, 0xf0, 0xc3, 0xc0, 0x7f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1e, 0x00, 0x3c, 0x3e, 0x1f, 0xff, 0xf0, 0xc3, 0xc0, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1e, 0x00, 0x3c, 0x3e, 0x1f, 0xff, 0xf0, 0xc3, 0xc0, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1e, 0x10, 0x3c, 0x3e, 0x1f, 0xff, 0xf0, 0xc3, 0xc0, 0x7f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1e, 0x38, 0x3c, 0x3e, 0x1f, 0xff, 0xf8, 0xc3, 0xc0, 0x3f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1e, 0x3c, 0x3c, 0x3e, 0x1f, 0xff, 0xfc, 0x0f, 0xc2, 0x1f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x3e, 0x3c, 0x3c, 0x7f, 0x1f, 0xff, 0xfe, 0x0f, 0xc7, 0x1f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xf0, 0x1f, 0x01, 0xf8, 0xf8, 0xff, 0xff, 0x01, 0xf8, 0x0f, 0xc1, 0xfc, 0x07, 0xe3, 0xe3, 0xc0,
+ 0xf0, 0x1e, 0x01, 0xf8, 0x70, 0xff, 0xfe, 0x01, 0xf8, 0x0f, 0xc0, 0xf8, 0x07, 0xe1, 0xc3, 0xc0,
+ 0xf8, 0x3e, 0x18, 0x7c, 0x03, 0xff, 0xfe, 0x18, 0x78, 0x7f, 0x0c, 0x78, 0x21, 0xf0, 0x07, 0xc0,
+ 0xfc, 0x3e, 0x18, 0x7e, 0x03, 0xff, 0xfe, 0x18, 0x78, 0x7f, 0x0c, 0x38, 0x61, 0xf8, 0x0f, 0xc0,
+ 0xfc, 0x3e, 0x01, 0xff, 0x07, 0xff, 0xfe, 0x01, 0xf8, 0x0f, 0x00, 0x38, 0x61, 0xfc, 0x1f, 0xc0,
+ 0xfc, 0x3e, 0x01, 0xff, 0x07, 0xff, 0xfe, 0x01, 0xf8, 0x0f, 0x00, 0x38, 0x61, 0xfe, 0x3f, 0xc0,
+ 0xfc, 0x3e, 0x01, 0xfe, 0x03, 0xff, 0xfe, 0x01, 0xf8, 0x7f, 0x0c, 0x38, 0x61, 0xfe, 0x3f, 0xc0,
+ 0xfc, 0x3e, 0x01, 0xfc, 0x03, 0xff, 0xfe, 0x01, 0xf8, 0x7f, 0x0c, 0x38, 0x21, 0xfe, 0x3f, 0xc0,
+ 0xfc, 0x3e, 0x18, 0x78, 0x70, 0xff, 0xfe, 0x18, 0x78, 0x0f, 0x0c, 0x38, 0x07, 0xfe, 0x3f, 0xc0,
+ 0xfc, 0x7f, 0x18, 0x78, 0xf8, 0xff, 0xff, 0x18, 0x78, 0x0f, 0x0c, 0x7c, 0x07, 0xfe, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_console_active [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xe0, 0x7f, 0x83, 0xf1, 0xf1, 0xf8, 0x0f, 0xe0, 0xfc, 0x7f, 0xc0, 0x7f, 0xff, 0xc0,
+ 0xff, 0xff, 0xe0, 0x7f, 0x03, 0xf0, 0xe1, 0xf8, 0x0f, 0xc0, 0xfc, 0x3f, 0x80, 0x7f, 0xff, 0xc0,
+ 0xff, 0xff, 0xc6, 0x3e, 0x10, 0xf0, 0x61, 0xe1, 0xff, 0x84, 0x3c, 0x3f, 0x87, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0x86, 0x3e, 0x30, 0xf0, 0x21, 0xe1, 0xff, 0x0c, 0x3c, 0x3f, 0x87, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0x87, 0xfe, 0x30, 0xf0, 0x01, 0xf8, 0x3f, 0x0c, 0x3c, 0x3f, 0x80, 0x7f, 0xff, 0xc0,
+ 0xff, 0xff, 0x87, 0xfe, 0x30, 0xf0, 0x01, 0xf8, 0x1f, 0x0c, 0x3c, 0x3f, 0x80, 0x7f, 0xff, 0xc0,
+ 0xff, 0xff, 0x86, 0x3e, 0x30, 0xf0, 0x81, 0xff, 0x8f, 0x0c, 0x3c, 0x3f, 0x87, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xc6, 0x3e, 0x10, 0xf0, 0xc1, 0xff, 0x8f, 0x84, 0x3c, 0x3f, 0x87, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xe0, 0x7f, 0x03, 0xf0, 0xe1, 0xe0, 0x1f, 0xc0, 0xfc, 0x07, 0x80, 0x7f, 0xff, 0xc0,
+ 0xff, 0xff, 0xe0, 0x7f, 0x83, 0xf1, 0xf1, 0xe0, 0x3f, 0xe0, 0xfc, 0x07, 0xc0, 0x7f, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xc1, 0xfc, 0x07, 0x8f, 0x8f, 0x0f, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xf0, 0x1f, 0xc0, 0xfc, 0x07, 0x87, 0x0f, 0x0f, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x0c, 0x7e, 0x1f, 0x87, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x0c, 0x7e, 0x1f, 0x87, 0x87, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe0, 0x0f, 0x0f, 0xfe, 0x1f, 0x87, 0xc0, 0x3f, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe0, 0x0f, 0x0f, 0xfe, 0x1f, 0x87, 0xc0, 0x3f, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x0c, 0x7e, 0x1f, 0x87, 0xc0, 0x3f, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0x0c, 0x7e, 0x1f, 0x87, 0xe0, 0x3f, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe1, 0x0f, 0xc0, 0xfe, 0x1f, 0x87, 0xf0, 0xff, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xe3, 0x8f, 0xc1, 0xff, 0x1f, 0x8f, 0xf8, 0xff, 0x01, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_checks [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xf8, 0x0f, 0x8e, 0x3c, 0x7f, 0x07, 0xe0, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xf8, 0x0f, 0x0c, 0x3c, 0x3e, 0x07, 0xe0, 0x3f, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x00, 0xff, 0xff, 0x08, 0x78, 0x7f, 0x0c, 0x3c, 0x3c, 0x21, 0xe1, 0xff, 0xc0,
+ 0xfc, 0x38, 0x00, 0x00, 0x7f, 0xff, 0x08, 0x78, 0x7f, 0x84, 0x3c, 0x38, 0x61, 0xe1, 0xff, 0xc0,
+ 0xfc, 0x38, 0x00, 0x00, 0x7f, 0xff, 0x08, 0x78, 0x0f, 0xc0, 0xfc, 0x38, 0x7f, 0xe0, 0x3f, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x00, 0xff, 0xff, 0x08, 0x78, 0x0f, 0xc0, 0xfc, 0x38, 0x7f, 0xe0, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x08, 0x78, 0x7f, 0xc0, 0xfc, 0x38, 0x61, 0xe1, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x08, 0x78, 0x7f, 0xe0, 0xfc, 0x3c, 0x21, 0xe1, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xf8, 0x0f, 0xf1, 0xfc, 0x3e, 0x07, 0xe0, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xf8, 0x0f, 0xfb, 0xfc, 0x7f, 0x07, 0xe0, 0x3f, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x38, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x38, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0x18, 0x78, 0x0f, 0xc1, 0xfc, 0x61, 0xf8, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3e, 0x18, 0x78, 0x0f, 0xc0, 0xf8, 0x21, 0xf0, 0x0f, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x00, 0xff, 0xc2, 0x1e, 0x18, 0x78, 0x7f, 0x0c, 0x78, 0x07, 0xe1, 0xff, 0xc0,
+ 0xfc, 0x38, 0x00, 0x00, 0x7f, 0xc3, 0x1e, 0x18, 0x78, 0x7f, 0x0c, 0x78, 0x07, 0xe1, 0xff, 0xc0,
+ 0xfc, 0x38, 0x00, 0x00, 0x7f, 0xc3, 0xfe, 0x00, 0x78, 0x0f, 0x0f, 0xf8, 0x1f, 0xf0, 0x3f, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x00, 0xff, 0xc3, 0xfe, 0x00, 0x78, 0x0f, 0x0f, 0xf8, 0x1f, 0xf8, 0x1f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x1e, 0x18, 0x78, 0x7f, 0x0c, 0x78, 0x07, 0xff, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x1e, 0x18, 0x78, 0x7f, 0x0c, 0x78, 0x07, 0xff, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3e, 0x18, 0x78, 0x0f, 0xc0, 0xf8, 0x21, 0xe0, 0x1f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0x18, 0x78, 0x0f, 0xc1, 0xfc, 0x61, 0xe0, 0x3f, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x38, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x38, 0x00, 0x00, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x00, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0x8f, 0x87, 0xc0, 0x7f, 0xc1, 0xfe, 0x03, 0xf0, 0x1f, 0x01, 0xe0, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0x87, 0x0f, 0xc0, 0x3f, 0x81, 0xfc, 0x03, 0xf0, 0x1e, 0x01, 0xe0, 0x1f, 0xc0,
+ 0xfc, 0x7c, 0x01, 0xc6, 0x1f, 0xc2, 0x1f, 0x18, 0x78, 0x7f, 0xc3, 0xfe, 0x1f, 0xe1, 0x0f, 0xc0,
+ 0xfc, 0x38, 0x01, 0xe4, 0x3f, 0xc2, 0x1e, 0x18, 0x78, 0x7f, 0xc3, 0xfe, 0x1f, 0xe1, 0x0f, 0xc0,
+ 0xfc, 0x38, 0x00, 0x60, 0x7f, 0xc0, 0x3e, 0x00, 0x7c, 0x0f, 0xf0, 0x7e, 0x01, 0xe1, 0x0f, 0xc0,
+ 0xfc, 0x7c, 0x00, 0x60, 0xff, 0xc0, 0x7e, 0x00, 0x7e, 0x07, 0xf0, 0x3e, 0x01, 0xe1, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xf1, 0xff, 0xc3, 0xfe, 0x18, 0x7f, 0xc3, 0xfe, 0x1e, 0x1f, 0xe1, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xfb, 0xff, 0xc3, 0xfe, 0x18, 0x7f, 0xc3, 0xfe, 0x1e, 0x1f, 0xe1, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xfe, 0x18, 0x78, 0x07, 0xc0, 0x3e, 0x01, 0xe0, 0x1f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0xff, 0x18, 0x78, 0x0f, 0xc0, 0x7f, 0x01, 0xe0, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_frame [] PROGMEM = {
+ 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, 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, 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, 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, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0xc0, 0x00, 0x00, 0xc3, 0xfc, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0xc0, 0x00, 0x00, 0xc3, 0xfc, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x00, 0xc3, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0xc0, 0x00, 0x00, 0xc3, 0xfc, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0f, 0xf0, 0xc0, 0x00, 0x00, 0xc3, 0xfc, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xc0, 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, 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, 0x00, 0x00, 0x00, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00,
+ 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 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, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x66, 0x66, 0x66, 0x19, 0x99, 0x99, 0x98, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x66, 0x66, 0x66, 0x19, 0x99, 0x99, 0x98, 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, 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
+};
+
+const unsigned char bm_updating [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xf3, 0xf0, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x1f, 0xff, 0xf3, 0xf0, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x9f, 0xff, 0xf3, 0xf3, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x9f, 0xff, 0xf3, 0xf2, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 0xf8, 0x1f, 0xff, 0xf3, 0xf0, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xfb, 0xf0, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xff, 0xd9, 0x81, 0xff, 0xf3, 0x03, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xff, 0xc9, 0x81, 0xff, 0xf3, 0x03, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xff, 0xc9, 0x99, 0xff, 0xf3, 0x33, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xff, 0xc9, 0x81, 0xff, 0xf3, 0x03, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xff, 0xc9, 0x81, 0xff, 0xf3, 0x03, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xff, 0xc3, 0xff, 0xff, 0x87, 0x87, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe1, 0xff, 0xe3, 0xc3, 0xfc, 0x3f, 0xf8, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xfc, 0xc1, 0x81, 0xf8, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xfc, 0xc9, 0x81, 0xf9, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xfc, 0xc9, 0x99, 0xf9, 0x33, 0x33, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xfc, 0xc1, 0x81, 0xf8, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xc0, 0xfc, 0xc1, 0x81, 0xf8, 0x33, 0x30, 0x37, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xe1, 0xdc, 0x1f, 0xb8, 0x3b, 0xf0, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xc0, 0xc8, 0x19, 0x98, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x44, 0xc8, 0xc8, 0x99, 0x99, 0x33, 0x32, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xcc, 0xc8, 0x99, 0x99, 0x33, 0x33, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xc0, 0xc8, 0x19, 0x98, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xc0, 0xdc, 0x19, 0x98, 0x33, 0x30, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0e, 0xc1, 0xdd, 0xc1, 0x83, 0xbb, 0x87, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xc0, 0xc9, 0x81, 0x81, 0x33, 0x03, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xcc, 0xc9, 0x99, 0x91, 0x33, 0x33, 0x23, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xcc, 0xc9, 0x99, 0x91, 0x33, 0x33, 0x23, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xc0, 0xc9, 0x81, 0x81, 0x33, 0x03, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xc1, 0xdd, 0xc1, 0x83, 0xbb, 0x03, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xcc, 0xc1, 0x81, 0x98, 0x33, 0x30, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xcc, 0xc1, 0x81, 0x98, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xcc, 0xc9, 0x99, 0x99, 0x33, 0x33, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x44, 0xcc, 0xc9, 0x89, 0x99, 0x33, 0x32, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xcc, 0xc1, 0x81, 0x98, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xfd, 0xc1, 0xc3, 0xb8, 0x3b, 0xf0, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf3, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xf3, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf7, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xef, 0x80, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x87, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4e, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x77, 0x23, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0xf3, 0x23, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xf8, 0x00, 0x00, 0x00, 0x01, 0xf3, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xec, 0xfc, 0x00, 0x00, 0x00, 0x03, 0xf3, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xc7, 0x80, 0x00, 0x00, 0x1f, 0xb0, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xc3, 0xc0, 0x00, 0x00, 0x3f, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x44, 0xcd, 0xe0, 0x00, 0x00, 0x7b, 0x32, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x44, 0xcc, 0xf0, 0x00, 0x00, 0xf3, 0x32, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xc0, 0xf8, 0x00, 0x01, 0xf3, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xc1, 0xfc, 0x00, 0x03, 0xfb, 0x30, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xc1, 0xdf, 0x80, 0x1f, 0xbb, 0x03, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xc0, 0xcf, 0xc0, 0x3f, 0x33, 0x03, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xcc, 0xcd, 0xe0, 0x7b, 0x33, 0x33, 0x23, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xc8, 0xc9, 0xf0, 0xf1, 0x33, 0x33, 0x23, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0c, 0xc0, 0xc9, 0xff, 0xe1, 0x33, 0x03, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x0e, 0xc1, 0xdd, 0xff, 0xe3, 0xbb, 0x87, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe0, 0xcc, 0xc1, 0x81, 0x98, 0x33, 0x30, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xcc, 0xc1, 0x81, 0x98, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x4c, 0xcc, 0xc9, 0x99, 0x99, 0x33, 0x33, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xcc, 0xc9, 0x81, 0x99, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x40, 0xcc, 0xc1, 0x81, 0x98, 0x33, 0x30, 0x33, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0xe1, 0xff, 0xc1, 0xc3, 0xf8, 0x3f, 0xf8, 0x77, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_fw_corrupt [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xf0, 0x1f, 0x1e, 0x03, 0xf8, 0xfc, 0x7c, 0x7e, 0x3f, 0x83, 0xf0, 0x1f, 0xc0, 0x7f, 0xff, 0xc0,
+ 0xf0, 0x1e, 0x1e, 0x01, 0xf0, 0xfc, 0x38, 0x7e, 0x1f, 0x01, 0xf0, 0x0f, 0x80, 0x7f, 0xff, 0xc0,
+ 0xf0, 0xfe, 0x1e, 0x10, 0xf0, 0x30, 0x38, 0x66, 0x1e, 0x10, 0xf0, 0x87, 0x87, 0xff, 0xff, 0xc0,
+ 0xf0, 0xfe, 0x1e, 0x10, 0xf0, 0x30, 0x38, 0x66, 0x1e, 0x10, 0xf0, 0x87, 0x87, 0xff, 0xff, 0xc0,
+ 0xf0, 0x1e, 0x1e, 0x01, 0xf0, 0x00, 0x38, 0x66, 0x1e, 0x00, 0xf0, 0x0f, 0x80, 0x7f, 0xff, 0xc0,
+ 0xf0, 0x1e, 0x1e, 0x01, 0xf0, 0x00, 0x38, 0x26, 0x1e, 0x00, 0xf0, 0x0f, 0x80, 0x7f, 0xff, 0xc0,
+ 0xf0, 0xfe, 0x1e, 0x01, 0xf0, 0xcc, 0x38, 0x00, 0x1e, 0x10, 0xf0, 0x0f, 0x87, 0xff, 0xff, 0xc0,
+ 0xf0, 0xfe, 0x1e, 0x01, 0xf0, 0xcc, 0x3c, 0x00, 0x3e, 0x30, 0xf0, 0x0f, 0x87, 0xff, 0xff, 0xc0,
+ 0xf0, 0xfe, 0x1e, 0x10, 0xf0, 0xfc, 0x3e, 0x18, 0x7e, 0x30, 0xf0, 0x87, 0x80, 0x7f, 0xff, 0xc0,
+ 0xf1, 0xff, 0x1e, 0x38, 0xf8, 0xfc, 0x7f, 0x18, 0x7e, 0x38, 0xf1, 0xc7, 0xc0, 0x7f, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x1f, 0xe0, 0x7e, 0x03, 0xf0, 0x1f, 0xc6, 0x3e, 0x03, 0xf0, 0x1f, 0xfe, 0x1f, 0xff, 0xc0,
+ 0xf8, 0x0f, 0xe0, 0x7e, 0x03, 0xf0, 0x0f, 0x86, 0x1e, 0x01, 0xf0, 0x1f, 0xfe, 0x1f, 0xff, 0xc0,
+ 0xf0, 0x87, 0xc6, 0x3e, 0x10, 0xf0, 0x87, 0x86, 0x1e, 0x10, 0xfc, 0x3f, 0xf9, 0xef, 0xff, 0xc0,
+ 0xf0, 0xc7, 0x86, 0x1e, 0x10, 0xf0, 0x87, 0x86, 0x1e, 0x10, 0xfc, 0x3f, 0xf9, 0xe7, 0xff, 0xc0,
+ 0xf0, 0xff, 0x86, 0x1e, 0x03, 0xf0, 0x0f, 0x86, 0x1e, 0x01, 0xfc, 0x3f, 0xf9, 0xe7, 0xff, 0xc0,
+ 0xf0, 0xff, 0x86, 0x1e, 0x03, 0xf0, 0x0f, 0x86, 0x1e, 0x03, 0xfc, 0x3f, 0xf9, 0xe7, 0xff, 0xc0,
+ 0xf0, 0xc7, 0x86, 0x1e, 0x03, 0xf0, 0x0f, 0x86, 0x1e, 0x1f, 0xfc, 0x3f, 0xe7, 0xfb, 0xff, 0xc0,
+ 0xf0, 0x87, 0xc6, 0x3e, 0x03, 0xf0, 0x0f, 0xc6, 0x3e, 0x3f, 0xfc, 0x3f, 0xe7, 0xf9, 0xff, 0xc0,
+ 0xf8, 0x0f, 0xe0, 0x7e, 0x10, 0xf0, 0x87, 0xe0, 0x7e, 0x3f, 0xfc, 0x3f, 0xe6, 0x19, 0xff, 0xc0,
+ 0xfc, 0x1f, 0xe0, 0x7e, 0x38, 0xf1, 0xc7, 0xe0, 0x7e, 0x3f, 0xfc, 0x7f, 0xe6, 0x19, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xde, 0x1e, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0x1e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0x1e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0x1e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7e, 0x1f, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7e, 0x1f, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7e, 0x1f, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7e, 0x1f, 0xbf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfe, 0x1f, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xfe, 0x1f, 0xef, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xfe, 0x1f, 0xf3, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xfe, 0x1f, 0xf3, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xf3, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xf3, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_pairing [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x03, 0xf8, 0x3f, 0x1f, 0x01, 0xf8, 0xf8, 0xf1, 0xfc, 0x07, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x01, 0xf0, 0x3f, 0x0e, 0x01, 0xf8, 0x70, 0xf0, 0xf8, 0x07, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x11, 0xe3, 0x0f, 0x0e, 0x18, 0x78, 0x70, 0x30, 0xf0, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x11, 0xc3, 0x0f, 0x0e, 0x18, 0x78, 0x70, 0x30, 0xf1, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x01, 0xc0, 0x0f, 0x0e, 0x01, 0xf8, 0x70, 0x00, 0xf1, 0xc7, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x03, 0xc0, 0x0f, 0x0e, 0x01, 0xf8, 0x70, 0x00, 0xf1, 0x87, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1f, 0xc3, 0x0f, 0x0e, 0x01, 0xf8, 0x70, 0xc0, 0xf1, 0x87, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1f, 0xc3, 0x0f, 0x0e, 0x01, 0xf8, 0x70, 0xc0, 0xf0, 0x87, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x1f, 0xc3, 0x0f, 0x0e, 0x18, 0x78, 0x70, 0xf0, 0xf8, 0x1f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x3f, 0xe3, 0x0f, 0x1f, 0x18, 0x78, 0xf8, 0xf1, 0xfc, 0x1f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_online [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xf0, 0x1c, 0x07, 0xe0, 0xf8, 0xf1, 0xf0, 0x1e, 0x0f, 0x80, 0xc3, 0x1c, 0x60, 0x18, 0x0f, 0xc0,
+ 0xf0, 0x18, 0x07, 0xc0, 0x70, 0xf0, 0xe0, 0x1e, 0x07, 0x00, 0xc3, 0x08, 0x60, 0x18, 0x07, 0xc0,
+ 0xf8, 0x38, 0x21, 0x84, 0x30, 0x30, 0xc3, 0xf8, 0x43, 0x07, 0xc3, 0x08, 0x61, 0xf8, 0x43, 0xc0,
+ 0xfc, 0x38, 0x21, 0x84, 0x30, 0x30, 0xc3, 0xf8, 0x63, 0x07, 0xc3, 0x08, 0x61, 0xf8, 0x43, 0xc0,
+ 0xfc, 0x38, 0x07, 0x80, 0x30, 0x00, 0xe0, 0x78, 0x7f, 0x00, 0xc3, 0x80, 0xe0, 0x18, 0x07, 0xc0,
+ 0xfc, 0x38, 0x07, 0x80, 0x30, 0x00, 0xf0, 0x38, 0x7f, 0x00, 0xc3, 0xc1, 0xe0, 0x18, 0x0f, 0xc0,
+ 0xfc, 0x38, 0x07, 0x84, 0x30, 0xc0, 0xfe, 0x18, 0x63, 0x07, 0xc3, 0xc1, 0xe1, 0xf8, 0x0f, 0xc0,
+ 0xfc, 0x38, 0x07, 0x86, 0x30, 0xc0, 0xfe, 0x18, 0x43, 0x07, 0xc3, 0xc1, 0xe1, 0xf8, 0x07, 0xc0,
+ 0xfc, 0x38, 0x21, 0x86, 0x30, 0xf0, 0xc0, 0x3e, 0x07, 0x00, 0xc3, 0xe3, 0xe0, 0x18, 0x43, 0xc0,
+ 0xfc, 0x7c, 0x61, 0x8e, 0x38, 0xf1, 0xc0, 0x7e, 0x0f, 0x80, 0xc3, 0xf7, 0xe0, 0x18, 0xe3, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x0f, 0xf8, 0xf1, 0xfc, 0x7f, 0xe3, 0xf8, 0xf1, 0xfc, 0x07, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x07, 0xf0, 0xf0, 0xf8, 0x7f, 0xe1, 0xf0, 0xf0, 0xf8, 0x07, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xf8, 0x43, 0xf0, 0x30, 0xf8, 0x7f, 0xe1, 0xf0, 0x30, 0xf8, 0x3f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xf8, 0x61, 0xf0, 0x30, 0xf8, 0x7f, 0xe1, 0xf0, 0x30, 0xf8, 0x3f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xf8, 0x61, 0xf0, 0x00, 0xf8, 0x7f, 0xe1, 0xf0, 0x00, 0xf8, 0x07, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xf8, 0x61, 0xf0, 0x00, 0xf8, 0x7f, 0xe1, 0xf0, 0x00, 0xf8, 0x07, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xf8, 0x61, 0xf0, 0xc0, 0xf8, 0x7f, 0xe1, 0xf0, 0xc0, 0xf8, 0x3f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xf8, 0x43, 0xf0, 0xc0, 0xf8, 0x3f, 0xe1, 0xf0, 0xc0, 0xf8, 0x3f, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x07, 0xf0, 0xf0, 0xf8, 0x07, 0xe1, 0xf0, 0xf0, 0xf8, 0x07, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xfe, 0x0f, 0xf8, 0xf1, 0xfc, 0x07, 0xe3, 0xf8, 0xf1, 0xfc, 0x07, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_console [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xfe, 0x07, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x1f, 0xff, 0xc0,
+ 0xff, 0xfe, 0x0f, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xfc, 0x1f, 0xff, 0xc0,
+ 0xff, 0xf8, 0x1f, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xfe, 0x07, 0xff, 0xc0,
+ 0xff, 0xf8, 0x3f, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0x07, 0xff, 0xc0,
+ 0xff, 0xf0, 0x7f, 0xff, 0x0f, 0x0f, 0xf1, 0xe1, 0xe0, 0x3c, 0x3c, 0x3f, 0xff, 0x81, 0xff, 0xc0,
+ 0xff, 0xe0, 0xff, 0xff, 0x0f, 0x0f, 0xe1, 0xe1, 0xe0, 0x3c, 0x3c, 0x3f, 0xff, 0xc1, 0xff, 0xc0,
+ 0xff, 0xc1, 0xf8, 0x7f, 0x0f, 0x0c, 0x21, 0xe1, 0xe1, 0xfc, 0x3c, 0x3f, 0x87, 0xe0, 0xff, 0xc0,
+ 0xff, 0xc3, 0xf0, 0x7f, 0x0f, 0x0c, 0x21, 0xe1, 0xe0, 0x3c, 0x3c, 0x3f, 0x83, 0xf0, 0x7f, 0xc0,
+ 0xff, 0xc7, 0xe0, 0x7f, 0x0f, 0x0c, 0x21, 0xe1, 0xe0, 0x3c, 0x3c, 0x3f, 0x81, 0xf8, 0x7f, 0xc0,
+ 0xff, 0x87, 0xc0, 0xff, 0x0f, 0x00, 0x01, 0xe1, 0xe0, 0x3c, 0x3c, 0x3f, 0xc0, 0xf8, 0x3f, 0xc0,
+ 0xff, 0x07, 0x81, 0xff, 0x0f, 0x00, 0x01, 0xe1, 0xe1, 0xfc, 0x3c, 0x3f, 0xe0, 0x78, 0x3f, 0xc0,
+ 0xff, 0x07, 0x83, 0xff, 0x0f, 0x80, 0x03, 0xe1, 0xe1, 0xfc, 0x3c, 0x3f, 0xf0, 0x7c, 0x3f, 0xc0,
+ 0xff, 0x0f, 0x87, 0xff, 0x0f, 0xc3, 0xc7, 0xe1, 0xe1, 0xfc, 0x3c, 0x3f, 0xf8, 0x7e, 0x3f, 0xc0,
+ 0xff, 0x0f, 0x87, 0xcf, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3c, 0x78, 0x7e, 0x3f, 0xc0,
+ 0xff, 0x0f, 0x87, 0x87, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x38, 0x78, 0x7e, 0x3f, 0xc0,
+ 0xff, 0x0f, 0x87, 0x87, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x38, 0x78, 0x7e, 0x3f, 0xc0,
+ 0xff, 0x0f, 0x87, 0x87, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3c, 0x78, 0x7e, 0x3f, 0xc0,
+ 0xff, 0x0f, 0x87, 0xff, 0x0f, 0xff, 0xf0, 0x7f, 0x00, 0xff, 0xfc, 0x3f, 0xf8, 0x7e, 0x3f, 0xc0,
+ 0xff, 0x0f, 0x87, 0xff, 0x0f, 0xff, 0xe0, 0x7e, 0x00, 0x7f, 0xfc, 0x3f, 0xf8, 0x7c, 0x3f, 0xc0,
+ 0xff, 0x07, 0x83, 0xff, 0x0f, 0xff, 0xc2, 0x1e, 0x10, 0x7f, 0xfc, 0x3f, 0xf0, 0x78, 0x3f, 0xc0,
+ 0xff, 0x07, 0x81, 0xff, 0x0f, 0xff, 0xc2, 0x1e, 0x18, 0x7f, 0xfc, 0x3f, 0xe0, 0x78, 0x3f, 0xc0,
+ 0xff, 0x87, 0xe0, 0xff, 0x0f, 0xff, 0xc0, 0x1e, 0x00, 0x7f, 0xfc, 0x3f, 0xc0, 0xf8, 0x7f, 0xc0,
+ 0xff, 0xc3, 0xe0, 0x7f, 0x0f, 0xff, 0xc0, 0x1e, 0x00, 0xff, 0xfc, 0x3f, 0x81, 0xf8, 0x7f, 0xc0,
+ 0xff, 0xc1, 0xf8, 0x7f, 0x0f, 0xff, 0xc2, 0x1e, 0x1f, 0xff, 0xfc, 0x3f, 0x83, 0xe0, 0x7f, 0xc0,
+ 0xff, 0xc1, 0xf8, 0x7f, 0x0f, 0xff, 0xc6, 0x1e, 0x1f, 0xff, 0xfc, 0x3f, 0x87, 0xe0, 0xff, 0xc0,
+ 0xff, 0xe0, 0x7f, 0xff, 0x0f, 0xff, 0xc6, 0x1e, 0x1f, 0xff, 0xfc, 0x3f, 0xff, 0x81, 0xff, 0xc0,
+ 0xff, 0xf0, 0x7f, 0xff, 0x0f, 0xff, 0xc7, 0x1e, 0x1f, 0xff, 0xfc, 0x3f, 0xff, 0x83, 0xff, 0xc0,
+ 0xff, 0xf8, 0x1f, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xfe, 0x07, 0xff, 0xc0,
+ 0xff, 0xfc, 0x1f, 0xff, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x7f, 0xfe, 0x0f, 0xff, 0xc0,
+ 0xff, 0xfe, 0x07, 0xff, 0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xf8, 0x1f, 0xff, 0xc0,
+ 0xff, 0xff, 0x07, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xf8, 0x1f, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0,
+ 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xc0,
+ 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0,
+ 0xff, 0xe7, 0xff, 0xfe, 0x7f, 0xff, 0xcf, 0xff, 0xf9, 0xff, 0xff, 0x3f, 0xff, 0xe7, 0xff, 0xc0,
+ 0xff, 0xe7, 0xff, 0xfe, 0x7f, 0xff, 0xcf, 0xff, 0xf9, 0xff, 0xff, 0x3f, 0xff, 0xe7, 0xff, 0xc0,
+ 0xff, 0xe7, 0xff, 0xfe, 0x7f, 0xff, 0xcf, 0xff, 0xf9, 0xff, 0xff, 0x3f, 0xff, 0xe7, 0xff, 0xc0,
+ 0xff, 0xe7, 0xff, 0xfe, 0x7f, 0xff, 0xcf, 0xff, 0xf9, 0xff, 0xff, 0x3f, 0xff, 0xe7, 0xff, 0xc0,
+ 0xff, 0xf7, 0xff, 0xfe, 0xff, 0xff, 0xdf, 0xff, 0xf9, 0xff, 0xff, 0x3f, 0xff, 0xe7, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfe, 0x00, 0xff, 0xc0, 0x0f, 0xf8, 0x01, 0xff, 0x00, 0x3f, 0xe0, 0x07, 0xfc, 0x00, 0xff, 0xc0,
+ 0xfc, 0x00, 0x7f, 0x80, 0x0f, 0xf0, 0x01, 0xfe, 0x00, 0x3f, 0xc0, 0x03, 0xf8, 0x00, 0x7f, 0xc0,
+ 0xfc, 0xff, 0x9f, 0x9f, 0xf3, 0xf3, 0xfe, 0x7e, 0x7f, 0xcf, 0xcf, 0xf9, 0xf8, 0xff, 0x3f, 0xc0,
+ 0xfc, 0xff, 0x9f, 0x9f, 0xf3, 0xf3, 0xff, 0x7e, 0x7f, 0xef, 0xcf, 0xfd, 0xf9, 0xff, 0xbf, 0xc0,
+ 0xfc, 0xc1, 0xef, 0x9b, 0xbc, 0xf3, 0x1f, 0x9e, 0x78, 0xf3, 0xcf, 0x7e, 0x79, 0x83, 0xcf, 0xc0,
+ 0xfc, 0xc1, 0xe7, 0x99, 0xbc, 0xf3, 0x1f, 0x9e, 0x78, 0x73, 0xcf, 0x3e, 0x79, 0x83, 0xcf, 0xc0,
+ 0xfc, 0xff, 0xe7, 0x99, 0xfc, 0xf3, 0x3d, 0x9e, 0x67, 0x33, 0xcf, 0x1e, 0x79, 0xff, 0xcf, 0xc0,
+ 0xfc, 0xff, 0xe7, 0x99, 0xfc, 0xf3, 0x39, 0x9e, 0x67, 0x33, 0xcf, 0x0e, 0x79, 0xff, 0xcf, 0xc0,
+ 0xfc, 0xc0, 0x67, 0x98, 0x3c, 0xf3, 0x19, 0x9e, 0x67, 0x33, 0xcf, 0x0e, 0x79, 0xb8, 0xcf, 0xc0,
+ 0xfc, 0xc0, 0x67, 0x98, 0x3c, 0xf3, 0x09, 0x9e, 0x67, 0x33, 0xcf, 0x0e, 0x79, 0x98, 0x4f, 0xc0,
+ 0xfc, 0xff, 0xe7, 0x9f, 0xfc, 0xf3, 0x01, 0x9e, 0x78, 0x73, 0xcf, 0x0e, 0x79, 0x98, 0x4f, 0xc0,
+ 0xfc, 0xff, 0xe7, 0x9f, 0xfc, 0xf3, 0x01, 0x9e, 0x78, 0x73, 0xcf, 0x0e, 0x79, 0x98, 0xcf, 0xc0,
+ 0xfc, 0xdc, 0x67, 0x98, 0x3c, 0xf3, 0x39, 0x9e, 0x78, 0x73, 0xcf, 0x0e, 0x79, 0xff, 0xcf, 0xc0,
+ 0xfc, 0xdc, 0x67, 0x98, 0x3c, 0xf3, 0x39, 0x9e, 0x78, 0x73, 0xcf, 0x1e, 0x79, 0xff, 0xcf, 0xc0,
+ 0xfc, 0xff, 0xe7, 0x99, 0xfc, 0xf3, 0x31, 0x9e, 0x67, 0x33, 0xcf, 0xfe, 0x79, 0x8e, 0xcf, 0xc0,
+ 0xfc, 0xff, 0xe7, 0x99, 0xfc, 0xf3, 0x21, 0x9e, 0x67, 0x33, 0xcf, 0xfe, 0x79, 0x86, 0x4f, 0xc0,
+ 0xfc, 0xc0, 0x67, 0x99, 0xbc, 0xf3, 0x01, 0x9e, 0x67, 0x33, 0xcf, 0x1e, 0x79, 0x86, 0x4f, 0xc0,
+ 0xfc, 0xc0, 0x67, 0x9b, 0xbc, 0xf3, 0x01, 0x9e, 0x6f, 0xb3, 0xcf, 0x1e, 0x79, 0x8e, 0xcf, 0xc0,
+ 0xfc, 0xff, 0xe7, 0x9f, 0xfc, 0xf3, 0xff, 0x9e, 0x7f, 0xf3, 0xcf, 0xfe, 0x79, 0xff, 0xcf, 0xc0,
+ 0xfc, 0xff, 0xe7, 0x9f, 0xfc, 0xf3, 0xff, 0x9e, 0x7f, 0xf3, 0xcf, 0xfe, 0x79, 0xff, 0xcf, 0xc0,
+ 0xfc, 0x00, 0x07, 0x80, 0x00, 0xf0, 0x00, 0x1e, 0x00, 0x03, 0xc0, 0x00, 0x78, 0x00, 0x0f, 0xc0,
+ 0xfc, 0x00, 0x07, 0x80, 0x00, 0xf0, 0x00, 0x1e, 0x00, 0x03, 0xc0, 0x00, 0x7c, 0x00, 0x0f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xfc, 0xf0, 0x3c, 0xff, 0xe1, 0xf0, 0x0f, 0xfc, 0x07, 0xfe, 0x03, 0xff, 0x0f, 0xff, 0xc0,
+ 0xff, 0xf8, 0x60, 0x18, 0x7f, 0xc0, 0xe0, 0x07, 0xf8, 0x03, 0xfc, 0x01, 0xfe, 0x07, 0xff, 0xc0,
+ 0xff, 0xf8, 0x60, 0x18, 0x7f, 0xc0, 0xe0, 0x07, 0xf8, 0x03, 0xfc, 0x01, 0xfe, 0x07, 0xff, 0xc0,
+ 0xff, 0xf8, 0x61, 0x98, 0x7f, 0xc0, 0xe1, 0x87, 0xf8, 0x43, 0xfc, 0x31, 0xfe, 0x07, 0xff, 0xc0,
+ 0xff, 0xf8, 0x60, 0x1f, 0xff, 0xe0, 0xe1, 0x87, 0xf8, 0x43, 0xfc, 0x31, 0xff, 0x07, 0xff, 0xc0,
+ 0xff, 0xf8, 0x60, 0x1f, 0xff, 0xf0, 0xe1, 0x87, 0xf8, 0x43, 0xfc, 0x31, 0xff, 0x87, 0xff, 0xc0,
+ 0xff, 0xf8, 0x60, 0xf8, 0xff, 0xf0, 0xe1, 0x87, 0x38, 0x43, 0x9c, 0x31, 0xcf, 0x87, 0xff, 0xc0,
+ 0xff, 0xf8, 0x61, 0xf8, 0x7f, 0xf0, 0xe1, 0x86, 0x18, 0x43, 0x0c, 0x31, 0x87, 0x87, 0xff, 0xc0,
+ 0xff, 0xf8, 0x61, 0xf8, 0x7f, 0xf0, 0xe0, 0x06, 0x18, 0x03, 0x0c, 0x01, 0x87, 0x87, 0xff, 0xc0,
+ 0xff, 0xf8, 0x61, 0xf8, 0xff, 0xf0, 0xf0, 0x06, 0x18, 0x03, 0x0c, 0x01, 0x87, 0x87, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_hwfail [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x71, 0xf8, 0x3f, 0x80, 0xfc, 0x07, 0xe1, 0xf8, 0xfe, 0x0f, 0xc0, 0x7e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x21, 0xf8, 0x1f, 0x00, 0xfc, 0x03, 0xe1, 0xf8, 0x7c, 0x0f, 0xc0, 0x3e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x8f, 0x04, 0x3c, 0x21, 0xe1, 0xb8, 0x78, 0xc3, 0xc2, 0x1e, 0x1f, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x87, 0x04, 0x3c, 0x21, 0xe1, 0x98, 0x70, 0xc3, 0xc2, 0x1e, 0x1f, 0xff, 0xc0,
+ 0xfc, 0x01, 0xe0, 0x07, 0x00, 0xfc, 0x21, 0xe1, 0x98, 0x70, 0x03, 0xc0, 0x3e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x01, 0xe0, 0x07, 0x00, 0xfc, 0x21, 0xe1, 0x90, 0x70, 0x03, 0xc0, 0x7e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x87, 0x00, 0xfc, 0x21, 0xe0, 0x00, 0x70, 0xc3, 0xc0, 0x7e, 0x1f, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x87, 0x00, 0xfc, 0x21, 0xe0, 0x00, 0xf0, 0xc3, 0xc0, 0x3e, 0x1f, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x87, 0x04, 0x3c, 0x03, 0xf8, 0x41, 0xf0, 0xc3, 0xc2, 0x1e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x71, 0xe1, 0x8f, 0x8c, 0x3c, 0x07, 0xf8, 0x63, 0xf8, 0xc3, 0xc7, 0x1e, 0x03, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x07, 0xe0, 0x7e, 0x3c, 0x3f, 0xc7, 0x1e, 0x03, 0xf8, 0x0f, 0xff, 0xf8, 0x7f, 0xff, 0xc0,
+ 0xfc, 0x07, 0xe0, 0x7e, 0x3c, 0x3f, 0xc6, 0x1e, 0x01, 0xf0, 0x0f, 0xff, 0xf8, 0x7f, 0xff, 0xc0,
+ 0xfc, 0x3f, 0xc6, 0x3e, 0x3c, 0x3f, 0xc6, 0x1e, 0x10, 0xf0, 0xff, 0xff, 0xe7, 0x9f, 0xff, 0xc0,
+ 0xfc, 0x3f, 0x86, 0x1e, 0x3c, 0x3f, 0xc6, 0x1e, 0x10, 0xf0, 0xff, 0xff, 0xe7, 0x9f, 0xff, 0xc0,
+ 0xfc, 0x07, 0x80, 0x1e, 0x3c, 0x3f, 0xc6, 0x1e, 0x01, 0xf0, 0x0f, 0xff, 0xe7, 0x9f, 0xff, 0xc0,
+ 0xfc, 0x07, 0x80, 0x1e, 0x3c, 0x3f, 0xc6, 0x1e, 0x01, 0xf0, 0x0f, 0xff, 0xe7, 0x9f, 0xff, 0xc0,
+ 0xfc, 0x3f, 0x86, 0x1e, 0x3c, 0x3f, 0xc6, 0x1e, 0x01, 0xf0, 0xff, 0xff, 0xdf, 0xef, 0xff, 0xc0,
+ 0xfc, 0x3f, 0x86, 0x1e, 0x3c, 0x3f, 0xc2, 0x1e, 0x01, 0xf0, 0xff, 0xff, 0x9f, 0xe7, 0xff, 0xc0,
+ 0xfc, 0x3f, 0x86, 0x1e, 0x3c, 0x03, 0xe0, 0x3e, 0x10, 0xf0, 0x0f, 0xff, 0x98, 0x67, 0xff, 0xc0,
+ 0xfc, 0x7f, 0xc6, 0x3e, 0x3c, 0x03, 0xf0, 0x7e, 0x38, 0xf8, 0x0f, 0xff, 0x98, 0x67, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x78, 0x7b, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x78, 0x79, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x78, 0x79, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x78, 0x79, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf8, 0x7e, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0x7e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0x7e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0x7e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf8, 0x7f, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf8, 0x7f, 0xbf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf8, 0x7f, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf8, 0x7f, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_no_radio [] PROGMEM = {
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x71, 0xf8, 0x3f, 0x80, 0xfc, 0x07, 0xe1, 0xf8, 0xfe, 0x0f, 0xc0, 0x7e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x21, 0xf8, 0x1f, 0x00, 0xfc, 0x03, 0xe1, 0xf8, 0x7c, 0x0f, 0xc0, 0x3e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x8f, 0x04, 0x3c, 0x21, 0xe1, 0xb8, 0x78, 0xc3, 0xc2, 0x1e, 0x1f, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x87, 0x04, 0x3c, 0x21, 0xe1, 0x98, 0x70, 0xc3, 0xc2, 0x1e, 0x1f, 0xff, 0xc0,
+ 0xfc, 0x01, 0xe0, 0x07, 0x00, 0xfc, 0x21, 0xe1, 0x98, 0x70, 0x03, 0xc0, 0x3e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x01, 0xe0, 0x07, 0x00, 0xfc, 0x21, 0xe1, 0x90, 0x70, 0x03, 0xc0, 0x7e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x87, 0x00, 0xfc, 0x21, 0xe0, 0x00, 0x70, 0xc3, 0xc0, 0x7e, 0x1f, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x87, 0x00, 0xfc, 0x21, 0xe0, 0x00, 0xf0, 0xc3, 0xc0, 0x3e, 0x1f, 0xff, 0xc0,
+ 0xfc, 0x21, 0xe1, 0x87, 0x04, 0x3c, 0x03, 0xf8, 0x41, 0xf0, 0xc3, 0xc2, 0x1e, 0x03, 0xff, 0xc0,
+ 0xfc, 0x71, 0xe1, 0x8f, 0x8c, 0x3c, 0x07, 0xf8, 0x63, 0xf8, 0xc3, 0xc7, 0x1e, 0x03, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xfc, 0x07, 0xe0, 0x7e, 0x3c, 0x3f, 0xc7, 0x1e, 0x03, 0xf8, 0x0f, 0xff, 0xf8, 0x7f, 0xff, 0xc0,
+ 0xfc, 0x07, 0xe0, 0x7e, 0x3c, 0x3f, 0xc6, 0x1e, 0x01, 0xf0, 0x0f, 0xff, 0xf8, 0x7f, 0xff, 0xc0,
+ 0xfc, 0x3f, 0xc6, 0x3e, 0x3c, 0x3f, 0xc6, 0x1e, 0x10, 0xf0, 0xff, 0xff, 0xe7, 0x9f, 0xff, 0xc0,
+ 0xfc, 0x3f, 0x86, 0x1e, 0x3c, 0x3f, 0xc6, 0x1e, 0x10, 0xf0, 0xff, 0xff, 0xe7, 0x9f, 0xff, 0xc0,
+ 0xfc, 0x07, 0x80, 0x1e, 0x3c, 0x3f, 0xc6, 0x1e, 0x01, 0xf0, 0x0f, 0xff, 0xe7, 0x9f, 0xff, 0xc0,
+ 0xfc, 0x07, 0x80, 0x1e, 0x3c, 0x3f, 0xc6, 0x1e, 0x01, 0xf0, 0x0f, 0xff, 0xe7, 0x9f, 0xff, 0xc0,
+ 0xfc, 0x3f, 0x86, 0x1e, 0x3c, 0x3f, 0xc6, 0x1e, 0x01, 0xf0, 0xff, 0xff, 0xdf, 0xef, 0xff, 0xc0,
+ 0xfc, 0x3f, 0x86, 0x1e, 0x3c, 0x3f, 0xc2, 0x1e, 0x01, 0xf0, 0xff, 0xff, 0x9f, 0xe7, 0xff, 0xc0,
+ 0xfc, 0x3f, 0x86, 0x1e, 0x3c, 0x03, 0xe0, 0x3e, 0x10, 0xf0, 0x0f, 0xff, 0x98, 0x67, 0xff, 0xc0,
+ 0xfc, 0x7f, 0xc6, 0x3e, 0x3c, 0x03, 0xf0, 0x7e, 0x38, 0xf8, 0x0f, 0xff, 0x98, 0x67, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x78, 0x7b, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x78, 0x79, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x78, 0x79, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x78, 0x79, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xf8, 0x7e, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0x7e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0x7e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xf8, 0x7e, 0x7f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf8, 0x7f, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xf8, 0x7f, 0xbf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf8, 0x7f, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf8, 0x7f, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xcf, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x3f, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0
+};
+
+const unsigned char bm_plug [] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00, 0x00,
+ 0x00, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x33, 0x33,
+ 0xff, 0xf0, 0x00, 0x33, 0x33, 0xff, 0xf0, 0x00, 0xcc, 0xcc, 0xff, 0xf0, 0x00, 0xcc, 0xcc, 0xff,
+ 0xf0, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x3f, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xf0,
+ 0x00, 0x00, 0x00, 0x03, 0xf0, 0x00
+};
+
+const unsigned char bm_hg_low [] PROGMEM = {
+ 0xff, 0xc0, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x33, 0x00, 0x33, 0x00,
+ 0x0c, 0x00, 0x0c, 0x00, 0x33, 0x00, 0x33, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xc0, 0xff, 0xc0,
+ 0xff, 0xc0, 0xff, 0xc0
+};
+
+const unsigned char bm_hg_high [] PROGMEM = {
+ 0xff, 0xc0, 0xff, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0x3f, 0x00, 0x3f, 0x00,
+ 0x0c, 0x00, 0x0c, 0x00, 0x3f, 0x00, 0x3f, 0x00, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0, 0xff, 0xc0,
+ 0xff, 0xc0, 0xff, 0xc0
+};
+
+const unsigned char bm_n_uh [] PROGMEM = {
+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, // 0
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xf0, 0xc0, 0xf0, 0xc0, 0xf0, 0xc0, 0xf0, 0xc0,
+ 0xf0, 0xc0, 0xf0, 0xc0, // 1
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x0f, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, // 2
+ 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0xfc, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0xfc, 0x00, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, // 3
+ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0xfc, 0x00,
+ 0xfc, 0x00, 0xfc, 0x00, // 4
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0xfc, 0x00,
+ 0x00, 0x00, 0x00, 0x00, // 5
+ 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x0f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, // 6
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0xf0, 0x00, 0xf0, 0xc0, 0xf0, 0xc0, 0xc3, 0xc0, 0xc3, 0xc0,
+ 0x03, 0xc0, 0x03, 0xc0, // 7
+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00,
+ 0x00, 0x00, 0x00, 0x00, // 8
+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x00, 0xfc, 0x00,
+ 0xfc, 0x00, 0xfc, 0x00 // 9
+};
+
+#endif
+
+
const unsigned char bm_nfr [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
@@ -361,57 +1707,3 @@ const unsigned char bm_nfr [] 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
};
-
-const unsigned char bm_online [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc2, 0x1c, 0x66, 0x61, 0x8c, 0x24, 0x90, 0x87,
- 0xe6, 0x49, 0x22, 0x4f, 0x24, 0xe4, 0x93, 0x93, 0xe6, 0x18, 0x20, 0x63, 0x3c, 0x26, 0x30, 0x87,
- 0xe6, 0x19, 0x24, 0x79, 0x24, 0xe6, 0x33, 0x87, 0xe6, 0x49, 0x26, 0x43, 0x8c, 0x27, 0x70, 0x93,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xe6, 0x73, 0xe7, 0x33, 0x87, 0xff,
- 0xff, 0xe4, 0xe2, 0x73, 0xe7, 0x13, 0x9f, 0xff, 0xff, 0xe4, 0xe0, 0x73, 0xe7, 0x03, 0x87, 0xff,
- 0xff, 0xe4, 0xe4, 0x73, 0xe7, 0x23, 0x9f, 0xff, 0xff, 0xf1, 0xe6, 0x70, 0xe7, 0x33, 0x87, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-};
-
-const unsigned char bm_pairing [] 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, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xf0, 0xe3, 0x98, 0x73, 0x33, 0x87, 0xff, 0xff, 0xf2, 0xc9, 0x99, 0x33, 0x13, 0x3f, 0xff,
- 0xff, 0xf0, 0xc1, 0x98, 0x73, 0x03, 0x27, 0xff, 0xff, 0xf3, 0xc9, 0x98, 0x73, 0x23, 0x27, 0xff,
- 0xff, 0xf3, 0xc9, 0x99, 0x33, 0x33, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-};
-
-const unsigned char bm_n_uh [] PROGMEM = {
- 0x07, 0x27, 0x27, 0x27, 0x07, 0x8f, 0x8f, 0xcf, 0xcf, 0xcf, 0x07, 0xe7, 0x07, 0x3f, 0x07, 0x07,
- 0xe7, 0xc7, 0xe7, 0x07, 0x27, 0x27, 0x07, 0xe7, 0xe7, 0x07, 0x3f, 0x07, 0xe7, 0x07, 0x07, 0x3f,
- 0x07, 0x27, 0x07, 0x07, 0xc7, 0xcf, 0x9f, 0x1f, 0x07, 0x27, 0x07, 0x27, 0x07, 0x07, 0x27, 0x07,
- 0xe7, 0xe7
-};
-
-const unsigned char bm_plug [] PROGMEM = {
- 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x7f, 0x80, 0x55, 0xfc, 0x00, 0xaa, 0xfc, 0x00, 0x00,
- 0x7f, 0x80, 0x00, 0x1c, 0x00
-};
-
-const unsigned char bm_hg_low [] PROGMEM = {
- 0xf8, 0x88, 0x88, 0x50, 0x20, 0x50, 0x88, 0xf8, 0xf8
-};
-
-const unsigned char bm_hg_high [] PROGMEM = {
- 0xf8, 0x88, 0xf8, 0x70, 0x20, 0x70, 0xf8, 0xf8, 0xf8
-};
\ No newline at end of file
diff --git a/Power.h b/Power.h
index 07eef08..395f629 100644
--- a/Power.h
+++ b/Power.h
@@ -44,6 +44,26 @@
int bat_charged_samples = 0;
bool bat_voltage_dropping = false;
float bat_delay_v = 0;
+#elif BOARD_MODEL == BOARD_RAK4631
+#include "nrfx_power.h"
+#define BAT_C_SAMPLES 7
+#define BAT_D_SAMPLES 2
+#define BAT_V_MIN 2.75
+#define BAT_V_MAX 4.2
+#define BAT_V_FLOAT 4.22
+#define BAT_SAMPLES 5
+#define VBAT_MV_PER_LSB (0.73242188F) // 3.0V ADC range and 12 - bit ADC resolution = 3000mV / 4096
+#define VBAT_DIVIDER_COMP (1.73) // Compensation factor for the VBAT divider
+#define VBAT_MV_PER_LSB_FIN (VBAT_DIVIDER_COMP * VBAT_MV_PER_LSB)
+#define PIN_VBAT WB_A0
+float bat_p_samples[BAT_SAMPLES];
+float bat_v_samples[BAT_SAMPLES];
+uint8_t bat_samples_count = 0;
+int bat_discharging_samples = 0;
+int bat_charging_samples = 0;
+int bat_charged_samples = 0;
+bool bat_voltage_dropping = false;
+float bat_delay_v = 0;
#endif
uint32_t last_pmu_update = 0;
@@ -193,6 +213,66 @@ void measure_battery() {
else {
battery_ready = false;
}
+
+ #elif BOARD_MODEL == BOARD_RAK4631
+ battery_installed = true;
+ battery_indeterminate = false;
+
+ bat_v_samples[bat_samples_count%BAT_SAMPLES] = (float)(analogRead(PIN_VBAT)) * VBAT_MV_PER_LSB_FIN;
+
+ if (bat_v_samples[bat_samples_count%BAT_SAMPLES] < 3300) {
+ bat_p_samples[bat_samples_count%BAT_SAMPLES] = 0;
+ }
+ else if (bat_v_samples[bat_samples_count%BAT_SAMPLES] < 3600)
+ {
+ bat_v_samples[bat_samples_count%BAT_SAMPLES] -= 3300;
+ bat_p_samples[bat_samples_count%BAT_SAMPLES] = bat_v_samples[bat_samples_count%BAT_SAMPLES] / 30;
+ } else {
+ bat_v_samples[bat_samples_count%BAT_SAMPLES] -= 3600;
+ }
+ bat_p_samples[bat_samples_count%BAT_SAMPLES] = 10 + (bat_v_samples[bat_samples_count%BAT_SAMPLES] * 0.15F);
+
+ bat_samples_count++;
+ if (!battery_ready && bat_samples_count >= BAT_SAMPLES) {
+ battery_ready = true;
+ }
+
+ battery_percent = 0;
+ for (uint8_t bi = 0; bi < BAT_SAMPLES; bi++) {
+ battery_percent += bat_p_samples[bi];
+ }
+ battery_percent = battery_percent/BAT_SAMPLES;
+
+ battery_voltage = 0;
+ for (uint8_t bi = 0; bi < BAT_SAMPLES; bi++) {
+ battery_voltage += bat_v_samples[bi];
+ }
+ battery_voltage = battery_voltage/BAT_SAMPLES;
+
+ if (bat_delay_v == 0) bat_delay_v = battery_voltage;
+ if (battery_percent > 100.0) battery_percent = 100.0;
+ if (battery_percent < 0.0) battery_percent = 0.0;
+
+ if (bat_samples_count%BAT_SAMPLES == 0) {
+ if (battery_voltage < bat_delay_v && battery_voltage < BAT_V_FLOAT) {
+ bat_voltage_dropping = true;
+ } else {
+ bat_voltage_dropping = false;
+ }
+ bat_samples_count = 0;
+ }
+
+ nrfx_power_usb_state_t usbstate = nrfx_power_usbstatus_get();
+ if (usbstate == NRFX_POWER_USB_STATE_CONNECTED || usbstate == NRFX_POWER_USB_STATE_READY) {
+ // charging
+ battery_state = BATTERY_STATE_CHARGING;
+ } else {
+ battery_state = BATTERY_STATE_DISCHARGING;
+ }
+
+ if (battery_percent >= 98) {
+ battery_state = BATTERY_STATE_CHARGED;
+ }
#endif
if (battery_ready) {
@@ -341,6 +421,21 @@ bool init_pmu() {
PMU->setPowerKeyPressOffTime(XPOWERS_POWEROFF_4S);
return true;
+ #elif BOARD_MODEL == BOARD_RAK4631
+ // board doesn't have PMU but we can measure batt voltage
+
+ // prep ADC for reading battery level
+ analogReference(AR_INTERNAL_3_0);
+
+ // Set the resolution to 12-bit (0..4095)
+ analogReadResolution(12);
+
+ // Let the ADC settle
+ delay(1);
+
+ // Get a single ADC sample and throw it away
+ float raw = analogRead(PIN_VBAT);
+ return true;
#else
return false;
#endif
diff --git a/RNode_Firmware_CE.ino b/RNode_Firmware_CE.ino
index 4410a91..1745a21 100644
--- a/RNode_Firmware_CE.ino
+++ b/RNode_Firmware_CE.ino
@@ -166,6 +166,11 @@ void setup() {
eeprom_update(eeprom_addr(ADDR_CONF_DSET), CONF_OK_BYTE);
eeprom_update(eeprom_addr(ADDR_CONF_DINT), 0xFF);
}
+ #if DISPLAY == EINK_BW || DISPLAY == EINK_3C
+ // Poll and process incoming serial commands whilst e-ink display is
+ // refreshing to make device still seem responsive
+ display_add_callback(process_serial);
+ #endif
disp_ready = display_init();
update_display();
#endif
@@ -1310,6 +1315,11 @@ void loop() {
#endif
}
+void process_serial() {
+ buffer_serial();
+ if (!fifo_isempty(&serialFIFO)) serial_poll();
+}
+
void sleep_now() {
#if HAS_SLEEP == true
#if BOARD_MODEL == BOARD_RNODE_NG_22