v0.6.313
This commit is contained in:
12
README.md
12
README.md
@@ -48,6 +48,7 @@ https://aliexpress.com/item/32965676064.html
|
|||||||
- or **GC9106** 0.96' 160x80 SPI (looks like ST7735S, but it's not him) https://aliexpress.com/item/32947890530.html
|
- or **GC9106** 0.96' 160x80 SPI (looks like ST7735S, but it's not him) https://aliexpress.com/item/32947890530.html
|
||||||
- or **LCD2004** 20x4 I2C https://aliexpress.com/item/32783128355.html
|
- or **LCD2004** 20x4 I2C https://aliexpress.com/item/32783128355.html
|
||||||
- or **LCD2004** 20x4 without I2C https://aliexpress.com/item/32783128355.html
|
- or **LCD2004** 20x4 without I2C https://aliexpress.com/item/32783128355.html
|
||||||
|
- or **ILI9225** 2.0' 220x176 SPI https://aliexpress.com/item/32952021835.html
|
||||||
|
|
||||||
##### Controls
|
##### Controls
|
||||||
- Three tact buttons https://www.aliexpress.com/item/32907144687.html
|
- Three tact buttons https://www.aliexpress.com/item/32907144687.html
|
||||||
@@ -142,7 +143,7 @@ _\** GPIO 16 and 17 are used by PSRAM on the WROVER modules._
|
|||||||
---
|
---
|
||||||
## Dependencies
|
## Dependencies
|
||||||
#### Libraries:
|
#### Libraries:
|
||||||
**Library Manager**: Adafruit_GFX, Adafruit_ST7735\*, Adafruit_SSD1306\*, Adafruit_PCD8544\*, Adafruit_SH110X\*, Adafruit_SSD1327\*, Adafruit_ILI9341\*, Adafruit_SSD1305\*, (\* depending on display model), OneButton, IRremoteESP8266, XPT2046_Touchscreen \
|
**Library Manager**: Adafruit_GFX, Adafruit_ST7735\*, Adafruit_SSD1306\*, Adafruit_PCD8544\*, Adafruit_SH110X\*, Adafruit_SSD1327\*, Adafruit_ILI9341\*, Adafruit_SSD1305\*, TFT_22_ILI9225\* (\* depending on display model), OneButton, IRremoteESP8266, XPT2046_Touchscreen \
|
||||||
**Github**: [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer), [AsyncTCP](https://github.com/me-no-dev/AsyncTCP), [async-mqtt-client](https://github.com/marvinroger/async-mqtt-client)* \
|
**Github**: [ESPAsyncWebServer](https://github.com/me-no-dev/ESPAsyncWebServer), [AsyncTCP](https://github.com/me-no-dev/AsyncTCP), [async-mqtt-client](https://github.com/marvinroger/async-mqtt-client)* \
|
||||||
\* _if you need MQTT support_
|
\* _if you need MQTT support_
|
||||||
|
|
||||||
@@ -293,6 +294,15 @@ Work is in progress...
|
|||||||
|
|
||||||
---
|
---
|
||||||
## Version history
|
## Version history
|
||||||
|
#### v0.6.313
|
||||||
|
- added support for ILI9225 220x176 SPI displays
|
||||||
|
- added support for I2S internal DAC, option I2S_INTERNAL (see [myoptions.h](exsamples/myoptions.h) for exsample) \
|
||||||
|
_(this option worked only with esp32 core version==2.0.0)_
|
||||||
|
- new option SOFT_AP_REBOOT_DELAY (see [myoptions.h](exsamples/myoptions.h) for exsample)
|
||||||
|
- fixed MQTT connection when WiFi reconnected
|
||||||
|
- fixed date display for ILI9341 displays
|
||||||
|
- fixed garbage on volume control with displays ILI9341
|
||||||
|
|
||||||
#### v0.6.290
|
#### v0.6.290
|
||||||
- fixed interface blocking error when synchronizing time
|
- fixed interface blocking error when synchronizing time
|
||||||
- time sync optimization
|
- time sync optimization
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti
|
|||||||
SDA(MOSI, DIN, SDI) must be connected to pin 23 */
|
SDA(MOSI, DIN, SDI) must be connected to pin 23 */
|
||||||
//#define TFT_CS 5 /* SPI CS pin */
|
//#define TFT_CS 5 /* SPI CS pin */
|
||||||
//#define TFT_RST 15 /* SPI RST pin. set to -1 and connect to Esp EN pin */
|
//#define TFT_RST 15 /* SPI RST pin. set to -1 and connect to Esp EN pin */
|
||||||
//#define TFT_DC 4 /* SPI DC pin */
|
//#define TFT_DC 4 /* SPI DC/RS pin */
|
||||||
/******************************************/
|
/******************************************/
|
||||||
|
|
||||||
/* I2C PINS */
|
/* I2C PINS */
|
||||||
@@ -107,7 +107,9 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti
|
|||||||
//#define MUTE_VAL HIGH /* Write this to MUTE_PIN when player is stopped */
|
//#define MUTE_VAL HIGH /* Write this to MUTE_PIN when player is stopped */
|
||||||
//#define PL_WITH_NUMBERS /* show the number of station in the playlist */
|
//#define PL_WITH_NUMBERS /* show the number of station in the playlist */
|
||||||
//#define PLAYER_FORCE_MONO false /* mono option on boot - false stereo, true mono */
|
//#define PLAYER_FORCE_MONO false /* mono option on boot - false stereo, true mono */
|
||||||
//#define SNTP_SERVER "pool.ntp.org", "0.ru.pool.ntp.org" // custom ntp servers min 1 max 3 comma separated values
|
//#define SNTP_SERVER "pool.ntp.org", "0.ru.pool.ntp.org" /* custom ntp servers min 1 max 3 comma separated values */
|
||||||
|
//#define I2S_INTERNAL false /* If true - use esp32 internal DAC */
|
||||||
|
//#define SOFT_AP_REBOOT_DELAY 0 /* Delay in milliseconds after which ESP is rebooting if it is in softAP mode (0 - disabled) */
|
||||||
|
|
||||||
/******************************************/
|
/******************************************/
|
||||||
|
|
||||||
|
|||||||
@@ -34,6 +34,8 @@
|
|||||||
#include "src/displays/displayGC9106.h"
|
#include "src/displays/displayGC9106.h"
|
||||||
#elif DSP_MODEL==DSP_CUSTOM
|
#elif DSP_MODEL==DSP_CUSTOM
|
||||||
#include "src/displays/displayCustom.h"
|
#include "src/displays/displayCustom.h"
|
||||||
|
#elif DSP_MODEL==DSP_ILI9225
|
||||||
|
#include "src/displays/displayILI9225.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum displayMode_e { PLAYER, VOL, STATIONS, NUMBERS, LOST, UPDATING };
|
enum displayMode_e { PLAYER, VOL, STATIONS, NUMBERS, LOST, UPDATING };
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ void getFirstTime() {
|
|||||||
getLocalTime(&network.timeinfo);
|
getLocalTime(&network.timeinfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rebootTime() {
|
||||||
|
ESP.restart();
|
||||||
|
}
|
||||||
|
|
||||||
void Network::begin() {
|
void Network::begin() {
|
||||||
config.initNetwork();
|
config.initNetwork();
|
||||||
if (config.ssidsCount == 0) {
|
if (config.ssidsCount == 0) {
|
||||||
@@ -57,6 +61,7 @@ void Network::begin() {
|
|||||||
}
|
}
|
||||||
digitalWrite(LED_BUILTIN, LOW);
|
digitalWrite(LED_BUILTIN, LOW);
|
||||||
status = CONNECTED;
|
status = CONNECTED;
|
||||||
|
WiFi.setSleep(false);
|
||||||
configTime(config.store.tzHour * 3600 + config.store.tzMin * 60, config.getTimezoneOffset(), SNTP_SERVER);
|
configTime(config.store.tzHour * 3600 + config.store.tzMin * 60, config.getTimezoneOffset(), SNTP_SERVER);
|
||||||
//getLocalTime(&timeinfo);
|
//getLocalTime(&timeinfo);
|
||||||
stimer.once_ms(200,getFirstTime);
|
stimer.once_ms(200,getFirstTime);
|
||||||
@@ -83,4 +88,7 @@ void Network::raiseSoftAP() {
|
|||||||
WiFi.softAP(apSsid, apPassword);
|
WiFi.softAP(apSsid, apPassword);
|
||||||
Serial.printf("\n\nRunning in AP mode.\nConnect to AP %s with password %s for settings.\n\n", apSsid, apPassword);
|
Serial.printf("\n\nRunning in AP mode.\nConnect to AP %s with password %s for settings.\n\n", apSsid, apPassword);
|
||||||
status = SOFT_AP;
|
status = SOFT_AP;
|
||||||
|
#if SOFT_AP_REBOOT_DELAY>0
|
||||||
|
rtimer.attach_ms(SOFT_AP_REBOOT_DELAY, rebootTime);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ class Network {
|
|||||||
void begin();
|
void begin();
|
||||||
void requestTimeSync(bool withTelnetOutput=false);
|
void requestTimeSync(bool withTelnetOutput=false);
|
||||||
private:
|
private:
|
||||||
Ticker ntimer, stimer;
|
Ticker ntimer, stimer, rtimer;
|
||||||
void raiseSoftAP();
|
void raiseSoftAP();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef options_h
|
#ifndef options_h
|
||||||
#define options_h
|
#define options_h
|
||||||
|
|
||||||
#define VERSION "0.6.290"
|
#define VERSION "0.6.313"
|
||||||
|
|
||||||
/*******************************************************
|
/*******************************************************
|
||||||
DO NOT EDIT THIS FILE.
|
DO NOT EDIT THIS FILE.
|
||||||
@@ -36,6 +36,7 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti
|
|||||||
#define DSP_2004I2C 14 // https://aliexpress.com/item/32783128355.html
|
#define DSP_2004I2C 14 // https://aliexpress.com/item/32783128355.html
|
||||||
#define DSP_2004 15 // https://aliexpress.com/item/32783128355.html
|
#define DSP_2004 15 // https://aliexpress.com/item/32783128355.html
|
||||||
#define DSP_SSD1305I2C 16 // SSD1305 and SSD1309 128x64 I2C https://aliexpress.com/item/32950307344.html
|
#define DSP_SSD1305I2C 16 // SSD1305 and SSD1309 128x64 I2C https://aliexpress.com/item/32950307344.html
|
||||||
|
#define DSP_ILI9225 17 // 2.0' 220x176 SPI https://aliexpress.com/item/32952021835.html
|
||||||
#define DSP_CUSTOM 101 // your display
|
#define DSP_CUSTOM 101 // your display
|
||||||
|
|
||||||
#ifndef DSP_MODEL
|
#ifndef DSP_MODEL
|
||||||
@@ -215,6 +216,12 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti
|
|||||||
#ifndef SNTP_SERVER
|
#ifndef SNTP_SERVER
|
||||||
#define SNTP_SERVER "pool.ntp.org", "0.ru.pool.ntp.org" // custom ntp servers min 1 max 3 comma separated values
|
#define SNTP_SERVER "pool.ntp.org", "0.ru.pool.ntp.org" // custom ntp servers min 1 max 3 comma separated values
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef I2S_INTERNAL
|
||||||
|
#define I2S_INTERNAL false // If true - use esp32 internal DAC
|
||||||
|
#endif
|
||||||
|
#ifndef SOFT_AP_REBOOT_DELAY
|
||||||
|
#define SOFT_AP_REBOOT_DELAY 0 // Delay in ms after which ESP is rebooting if it is in softAP mode (0 - disabled)
|
||||||
|
#endif
|
||||||
/*
|
/*
|
||||||
*** ST7735 display submodel ***
|
*** ST7735 display submodel ***
|
||||||
INITR_BLACKTAB // 1.8' https://aliexpress.ru/item/1005002822797745.html
|
INITR_BLACKTAB // 1.8' https://aliexpress.ru/item/1005002822797745.html
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
Player player;
|
Player player;
|
||||||
|
|
||||||
#if VS1053_CS!=255
|
#if VS1053_CS!=255 && !I2S_INTERNAL
|
||||||
Player::Player(): Audio(VS1053_CS, VS1053_DCS, VS1053_DREQ) {
|
Player::Player(): Audio(VS1053_CS, VS1053_DCS, VS1053_DREQ) {
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -22,15 +22,20 @@ void ResetChip(){
|
|||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
#if !I2S_INTERNAL
|
||||||
Player::Player() {}
|
Player::Player() {}
|
||||||
|
#else
|
||||||
|
Player::Player(): Audio(true, I2S_DAC_CHANNEL_BOTH_EN) {}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Player::init() {
|
void Player::init() {
|
||||||
if(MUTE_PIN!=255) pinMode(MUTE_PIN, OUTPUT);
|
if(MUTE_PIN!=255) pinMode(MUTE_PIN, OUTPUT);
|
||||||
#if I2S_DOUT!=255
|
#if I2S_DOUT!=255
|
||||||
|
#if !I2S_INTERNAL
|
||||||
setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
|
setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
SPI.begin();
|
SPI.begin();
|
||||||
if(VS1053_RST>0) ResetChip();
|
if(VS1053_RST>0) ResetChip();
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#define player_h
|
#define player_h
|
||||||
#include "options.h"
|
#include "options.h"
|
||||||
|
|
||||||
#if I2S_DOUT!=255
|
#if I2S_DOUT!=255 || I2S_INTERNAL
|
||||||
#include "src/audioI2S/AudioEx.h"
|
#include "src/audioI2S/AudioEx.h"
|
||||||
#else
|
#else
|
||||||
#include "src/audioVS1053/audioVS1053Ex.h"
|
#include "src/audioVS1053/audioVS1053Ex.h"
|
||||||
|
|||||||
@@ -509,7 +509,7 @@ bool Audio::connecttohost(const char* host, const char* user, const char* pwd) {
|
|||||||
|
|
||||||
strcat(resp, "GET ");
|
strcat(resp, "GET ");
|
||||||
strcat(resp, extension);
|
strcat(resp, extension);
|
||||||
strcat(resp, " HTTP/1.0\r\n");
|
strcat(resp, " HTTP/1.1\r\n");
|
||||||
strcat(resp, "Host: ");
|
strcat(resp, "Host: ");
|
||||||
strcat(resp, hostwoext);
|
strcat(resp, hostwoext);
|
||||||
strcat(resp, "\r\n");
|
strcat(resp, "\r\n");
|
||||||
@@ -517,7 +517,7 @@ bool Audio::connecttohost(const char* host, const char* user, const char* pwd) {
|
|||||||
strcat(resp, "Authorization: Basic ");
|
strcat(resp, "Authorization: Basic ");
|
||||||
strcat(resp, authorization);
|
strcat(resp, authorization);
|
||||||
strcat(resp, "\r\n");
|
strcat(resp, "\r\n");
|
||||||
strcat(resp, "User-Agent: ESP32 audioI2S\r\n");
|
strcat(resp, "User-Agent: Mozilla/5.0\r\n");
|
||||||
// strcat(resp, "Accept-Encoding: gzip;q=0\r\n"); // otherwise the server assumes gzip compression
|
// strcat(resp, "Accept-Encoding: gzip;q=0\r\n"); // otherwise the server assumes gzip compression
|
||||||
// strcat(resp, "Transfer-Encoding: \r\n"); // otherwise the server assumes gzip compression
|
// strcat(resp, "Transfer-Encoding: \r\n"); // otherwise the server assumes gzip compression
|
||||||
strcat(resp, "Connection: keep-alive\r\n\r\n");
|
strcat(resp, "Connection: keep-alive\r\n\r\n");
|
||||||
@@ -541,7 +541,7 @@ bool Audio::connecttohost(const char* host, const char* user, const char* pwd) {
|
|||||||
wtf = millis();
|
wtf = millis();
|
||||||
while(!client.connected()){
|
while(!client.connected()){
|
||||||
if(millis()-wtf>TIMEOUT_MS * 2){
|
if(millis()-wtf>TIMEOUT_MS * 2){
|
||||||
sprintf(chbuf, "Request %s failed! with WTF", m_lastHost);
|
sprintf(chbuf, "Request %s failed with timeout!", m_lastHost);
|
||||||
if(audio_info) audio_info(chbuf);
|
if(audio_info) audio_info(chbuf);
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
@@ -556,7 +556,7 @@ bool Audio::connecttohost(const char* host, const char* user, const char* pwd) {
|
|||||||
if(m_f_ssl == true) {
|
if(m_f_ssl == true) {
|
||||||
uint32_t t = millis();
|
uint32_t t = millis();
|
||||||
if(clientsecure.connect(hostwoext, port, TIMEOUT_MS_SSL)) {
|
if(clientsecure.connect(hostwoext, port, TIMEOUT_MS_SSL)) {
|
||||||
// clientsecure.setNoDelay(true);
|
clientsecure.setNoDelay(true);
|
||||||
// if(audio_info) audio_info("SSL/TLS Connected to server");
|
// if(audio_info) audio_info("SSL/TLS Connected to server");
|
||||||
clientsecure.print(resp);
|
clientsecure.print(resp);
|
||||||
uint32_t dt = millis() - t;
|
uint32_t dt = millis() - t;
|
||||||
@@ -571,16 +571,8 @@ bool Audio::connecttohost(const char* host, const char* user, const char* pwd) {
|
|||||||
//while(!clientsecure.connected()){;} // wait until the connection is established
|
//while(!clientsecure.connected()){;} // wait until the connection is established
|
||||||
wtf = millis();
|
wtf = millis();
|
||||||
while(!clientsecure.connected()){
|
while(!clientsecure.connected()){
|
||||||
/*wtf++;
|
|
||||||
if(wtf>1000){
|
|
||||||
wtf=0;
|
|
||||||
sprintf(chbuf, "Request %s failed! with WTF", m_lastHost);
|
|
||||||
if(audio_info) audio_info(chbuf);
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
}*/
|
|
||||||
if(millis()-wtf>TIMEOUT_MS_SSL){
|
if(millis()-wtf>TIMEOUT_MS_SSL){
|
||||||
sprintf(chbuf, "Request %s failed! with WTF", m_lastHost);
|
sprintf(chbuf, "Request %s failed with timeout!", m_lastHost);
|
||||||
if(audio_info) audio_info(chbuf);
|
if(audio_info) audio_info(chbuf);
|
||||||
return false;
|
return false;
|
||||||
break;
|
break;
|
||||||
|
|||||||
436
yoRadio/src/displays/displayILI9225.cpp
Normal file
436
yoRadio/src/displays/displayILI9225.cpp
Normal file
@@ -0,0 +1,436 @@
|
|||||||
|
#include "../../options.h"
|
||||||
|
#if DSP_MODEL==DSP_ILI9225
|
||||||
|
|
||||||
|
#include "displayILI9225.h"
|
||||||
|
#include <SPI.h>
|
||||||
|
#include "fonts/bootlogo.h"
|
||||||
|
#include "../../player.h"
|
||||||
|
#include "../../config.h"
|
||||||
|
#include "../../network.h"
|
||||||
|
|
||||||
|
const char *dow[7] = {"вс","пн","вт","ср","чт","пт","сб"};
|
||||||
|
const char *mnths[12] = {"января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"};
|
||||||
|
extern unsigned char yofont5x7[];
|
||||||
|
extern unsigned char yofont10x14[];
|
||||||
|
|
||||||
|
SPIClass hspi(VSPI);
|
||||||
|
|
||||||
|
DspCore::DspCore(): TFT_22_ILI9225(TFT_RST, TFT_DC, TFT_CS, 0) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
char* DspCore::utf8Rus(const char* str, bool uppercase) {
|
||||||
|
int index = 0;
|
||||||
|
static char strn[BUFLEN];
|
||||||
|
bool E = false;
|
||||||
|
strlcpy(strn, str, BUFLEN);
|
||||||
|
if (uppercase) {
|
||||||
|
bool next = false;
|
||||||
|
for (char *iter = strn; *iter != '\0'; ++iter)
|
||||||
|
{
|
||||||
|
if (E) {
|
||||||
|
E = false;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
byte rus = (byte) * iter;
|
||||||
|
if (rus == 208 && (byte) * (iter + 1) == 129) {
|
||||||
|
*iter = (char)209;
|
||||||
|
*(iter + 1) = (char)145;
|
||||||
|
E = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (rus == 209 && (byte) * (iter + 1) == 145) {
|
||||||
|
*iter = (char)209;
|
||||||
|
*(iter + 1) = (char)145;
|
||||||
|
E = true;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (next) {
|
||||||
|
if (rus >= 128 && rus <= 143) *iter = (char)(rus + 32);
|
||||||
|
if (rus >= 176 && rus <= 191) *iter = (char)(rus - 32);
|
||||||
|
next = false;
|
||||||
|
}
|
||||||
|
if (rus == 208) next = true;
|
||||||
|
if (rus == 209) {
|
||||||
|
*iter = (char)208;
|
||||||
|
next = true;
|
||||||
|
}
|
||||||
|
*iter = toupper(*iter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (strn[index])
|
||||||
|
{
|
||||||
|
if (strn[index] >= 0xBF)
|
||||||
|
{
|
||||||
|
switch (strn[index]) {
|
||||||
|
case 0xD0: {
|
||||||
|
if (strn[index + 1] == 0x81) {
|
||||||
|
strn[index] = 0xA8;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (strn[index + 1] >= 0x90 && strn[index + 1] <= 0xBF) strn[index] = strn[index + 1] + 0x30;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 0xD1: {
|
||||||
|
if (strn[index + 1] == 0x91) {
|
||||||
|
//strn[index] = 0xB7;
|
||||||
|
strn[index] = 0xB8;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (strn[index + 1] >= 0x80 && strn[index + 1] <= 0x8F) strn[index] = strn[index + 1] + 0x70;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int sind = index + 2;
|
||||||
|
while (strn[sind]) {
|
||||||
|
strn[sind - 1] = strn[sind];
|
||||||
|
sind++;
|
||||||
|
}
|
||||||
|
strn[sind - 1] = 0;
|
||||||
|
}
|
||||||
|
index++;
|
||||||
|
}
|
||||||
|
return strn;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::apScreen() {
|
||||||
|
setTextSize(TITLE_SIZE1);
|
||||||
|
setTextColor(TFT_FG, TFT_BG);
|
||||||
|
setCursor(TFT_FRAMEWDT, TITLE_TOP1);
|
||||||
|
print("AP NAME: ");
|
||||||
|
print(apSsid);
|
||||||
|
setCursor(TFT_FRAMEWDT, TITLE_TOP2);
|
||||||
|
print("PASSWORD: ");
|
||||||
|
print(apPassword);
|
||||||
|
setTextColor(SILVER, TFT_BG);
|
||||||
|
setCursor(TFT_FRAMEWDT, sheight-TFT_FRAMEWDT-TFT_LINEHGHT*4);
|
||||||
|
print("SETTINGS PAGE ON: ");
|
||||||
|
setCursor(TFT_FRAMEWDT, sheight-TFT_FRAMEWDT-TFT_LINEHGHT*2);
|
||||||
|
print("http://");
|
||||||
|
print(WiFi.softAPIP().toString().c_str());
|
||||||
|
print("/");
|
||||||
|
drawLine(TFT_FRAMEWDT, TITLE_TOP1-8, swidth-TFT_FRAMEWDT*2, TITLE_TOP1-8, SILVER);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::setTextSize(uint8_t s){
|
||||||
|
if(s==2){
|
||||||
|
setFont(yofont10x14, true);
|
||||||
|
}else{
|
||||||
|
setFont(yofont5x7, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::setTextColor(uint16_t fg, uint16_t bg){
|
||||||
|
bgcolor=bg;
|
||||||
|
setBackgroundColor(bgcolor);
|
||||||
|
fgcolor=fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::setCursor(int16_t x, int16_t y){
|
||||||
|
cursorx=x;
|
||||||
|
cursory=y;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t DspCore::print(const char* s){
|
||||||
|
if(gFont){
|
||||||
|
drawGFXText(cursorx, cursory, s, fgcolor);
|
||||||
|
return 0;
|
||||||
|
}else{
|
||||||
|
cursorx=drawText(cursorx, cursory, s, fgcolor);
|
||||||
|
return cursorx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::getTextBounds(const char *string, int16_t x, int16_t y, int16_t *x1,
|
||||||
|
int16_t *y1, uint16_t *w, uint16_t *h){
|
||||||
|
if(!gFont){
|
||||||
|
_currentFont cfont = getFont();
|
||||||
|
*w = getTextWidth(string);
|
||||||
|
*h = cfont.height;
|
||||||
|
}else{
|
||||||
|
int16_t iw, ih;
|
||||||
|
getGFXTextExtent(string, x, y, &iw, &ih);
|
||||||
|
*w = (uint16_t)iw;
|
||||||
|
*h = (uint16_t)ih;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::setFont(uint8_t* font, bool monoSp) {
|
||||||
|
gFont = false;
|
||||||
|
TFT_22_ILI9225::setFont(font, monoSp);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::setFont(const GFXfont *f) {
|
||||||
|
if (f) {
|
||||||
|
gFont = true;
|
||||||
|
setGFXFont(f);
|
||||||
|
} else {
|
||||||
|
setFont(yofont5x7, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::fillRect(int16_t x, int16_t y, int16_t w, int16_t h,
|
||||||
|
uint16_t color) {
|
||||||
|
if(y<0){
|
||||||
|
h=h+y;
|
||||||
|
y=0;
|
||||||
|
}
|
||||||
|
fillRectangle(x, y, x+w, y+h, color);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::initD(uint16_t &screenwidth, uint16_t &screenheight) {
|
||||||
|
hspi.begin();
|
||||||
|
begin(hspi);
|
||||||
|
invert(TFT_INVERT);
|
||||||
|
setBackgroundColor(TFT_BG);
|
||||||
|
clear();
|
||||||
|
setOrientation(TFT_ROTATE);
|
||||||
|
setTextSize(1);
|
||||||
|
screenwidth = maxX();
|
||||||
|
screenheight = maxY();
|
||||||
|
swidth = screenwidth;
|
||||||
|
sheight = screenheight;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::drawLogo() {
|
||||||
|
drawBitmap((swidth - 99) / 2, (sheight-64)/2 - TFT_LINEHGHT*2, bootlogo2, 99, 64);
|
||||||
|
}
|
||||||
|
|
||||||
|
// http://greekgeeks.net/#maker-tools_convertColor
|
||||||
|
uint16_t iclrs[] = { 0x738E /*707070*/, 0x52AA /*575757*/, 0x39C7, 0x18E3 };
|
||||||
|
void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) {
|
||||||
|
for (byte i = 0; i < PLMITEMS; i++) {
|
||||||
|
plMenu[i][0] = '\0';
|
||||||
|
}
|
||||||
|
config.fillPlMenu(plMenu, currentItem - 4, PLMITEMS);
|
||||||
|
setTextSize(2);
|
||||||
|
int yStart = (sheight / 2 - PLMITEMHEIGHT / 2) - PLMITEMHEIGHT * (PLMITEMS - 1) / 2 + 3;
|
||||||
|
fillRect(0, (sheight / 2 - PLMITEMHEIGHT / 2) - 1, swidth, PLMITEMHEIGHT, TFT_LOGO);
|
||||||
|
for (byte i = 0; i < PLMITEMS; i++) {
|
||||||
|
if (i == 4) {
|
||||||
|
strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1);
|
||||||
|
} else {
|
||||||
|
setTextColor(iclrs[abs(i - 4)-1], TFT_BG);
|
||||||
|
setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT);
|
||||||
|
fillRect(0, yStart + i * PLMITEMHEIGHT-1, swidth, PLMITEMHEIGHT-7, TFT_BG);
|
||||||
|
print(utf8Rus(plMenu[i], true));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::clearDsp() {
|
||||||
|
//fillScreen(TFT_BG);
|
||||||
|
clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::drawScrollFrame(uint16_t texttop, uint16_t textheight, uint16_t bg) {
|
||||||
|
if (TFT_FRAMEWDT==0) return;
|
||||||
|
fillRect(swidth - TFT_FRAMEWDT, texttop, TFT_FRAMEWDT, textheight, bg);
|
||||||
|
fillRect(0, texttop, TFT_FRAMEWDT-1, textheight, bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::getScrolBbounds(const char* text, const char* separator, byte textsize, uint16_t &tWidth, uint16_t &tHeight, uint16_t &sWidth) {
|
||||||
|
int16_t x1, y1;
|
||||||
|
uint16_t w, h;
|
||||||
|
setTextSize(textsize);
|
||||||
|
getTextBounds(text, 0, 0, &x1, &y1, &w, &h);
|
||||||
|
tWidth = w;
|
||||||
|
tHeight = h;
|
||||||
|
getTextBounds(separator, 0, 0, &x1, &y1, &w, &h);
|
||||||
|
sWidth = w;
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::clearScroll(uint16_t texttop, uint16_t textheight, uint16_t bg) {
|
||||||
|
fillRect(0, texttop, swidth, textheight, bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::centerText(const char* text, uint16_t y, uint16_t fg, uint16_t bg) {
|
||||||
|
int16_t x1, y1;
|
||||||
|
uint16_t w, h;
|
||||||
|
const char* txt = text;
|
||||||
|
if(y==90) y=(sheight-64)/2 + 64 + TFT_LINEHGHT;
|
||||||
|
if(y==110) y=(sheight-64)/2 + 64 + TFT_LINEHGHT*3;
|
||||||
|
getTextBounds(txt, 0, 0, &x1, &y1, &w, &h);
|
||||||
|
setTextColor(fg);
|
||||||
|
setCursor((swidth - w) / 2, y);
|
||||||
|
fillRect((swidth-w)/2-5, y, w+10, h, bg);
|
||||||
|
print(txt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::rightText(const char* text, uint16_t y, uint16_t fg, uint16_t bg, bool fliprect, uint16_t delta) {
|
||||||
|
int16_t x1, y1;
|
||||||
|
uint16_t w, h;
|
||||||
|
getTextBounds(text, 0, 0, &x1, &y1, &w, &h);
|
||||||
|
setTextColor(fg,bg);
|
||||||
|
setCursor(swidth - w - TFT_FRAMEWDT - delta, y);
|
||||||
|
print(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::displayHeapForDebug() {
|
||||||
|
int16_t vTop = sheight - TFT_FRAMEWDT * 2 - TFT_LINEHGHT * 2 - 2;
|
||||||
|
char buf[50];
|
||||||
|
setTextSize(1);
|
||||||
|
setTextColor(DARK_GRAY, TFT_BG);
|
||||||
|
setCursor(TFT_FRAMEWDT, vTop);
|
||||||
|
fillRect(TFT_FRAMEWDT, vTop, swidth - TFT_FRAMEWDT / 2, 7, TFT_BG);
|
||||||
|
sprintf(buf, "%d / %d", ESP.getFreeHeap(), ESP.getMaxAllocHeap());
|
||||||
|
print(buf);
|
||||||
|
#if VS1053_CS==255
|
||||||
|
// audio buffer;
|
||||||
|
fillRect(0, sheight - 2, swidth, 2, TFT_BG);
|
||||||
|
int astored = player.inBufferFilled();
|
||||||
|
int afree = player.inBufferFree();
|
||||||
|
int aprcnt = 100 * astored / (astored + afree);
|
||||||
|
byte sbw = map(aprcnt, 0, 100 , 0, swidth);
|
||||||
|
fillRect(0, sheight - 2, sbw, 2, SILVER);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::printClock(const char* timestr) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
uint16_t cltop = 0;
|
||||||
|
uint8_t clsp = 24;
|
||||||
|
uint16_t clleft = 0;
|
||||||
|
uint16_t clwidth = 0;
|
||||||
|
|
||||||
|
void DspCore::printClock(struct tm timeinfo, bool dots, bool redraw){
|
||||||
|
char timeBuf[50] = { 0 };
|
||||||
|
strftime(timeBuf, sizeof(timeBuf), "%H:%M", &timeinfo);
|
||||||
|
if(strstr(oldTimeBuf, timeBuf)==NULL || redraw){
|
||||||
|
int16_t x1, y1;
|
||||||
|
gFont=true;
|
||||||
|
setGFXFont(&DS_DIGI28pt7b);
|
||||||
|
getTextBounds(oldTimeBuf, 0, 0, &x1, &y1, &wot, &hot);
|
||||||
|
if(cltop==0){
|
||||||
|
cltop=sheight-(TFT_FRAMEWDT * 2 + TFT_LINEHGHT + 38) - hot;
|
||||||
|
}
|
||||||
|
clwidth = wot+clsp+34;
|
||||||
|
clleft=swidth-TFT_FRAMEWDT-clwidth;
|
||||||
|
setCursor(clleft, cltop);
|
||||||
|
setTextColor(TFT_BG);
|
||||||
|
print(oldTimeBuf);
|
||||||
|
strlcpy(oldTimeBuf, timeBuf, 20);
|
||||||
|
getTextBounds(timeBuf, 0, 0, &x1, &y1, &wot, &hot);
|
||||||
|
clwidth = wot+clsp+34;
|
||||||
|
clleft=swidth-TFT_FRAMEWDT-clwidth;
|
||||||
|
setTextColor(TFT_LOGO, TFT_BG);
|
||||||
|
setCursor(clleft, cltop);
|
||||||
|
print(timeBuf);
|
||||||
|
gFont=false;
|
||||||
|
setTextSize(2);
|
||||||
|
setTextColor(TFT_FG, TFT_BG);
|
||||||
|
setCursor(clleft+wot+clsp, cltop-hot+22);
|
||||||
|
print(utf8Rus(dow[timeinfo.tm_wday], false));
|
||||||
|
drawLine(clleft+wot+clsp/2, cltop-34, clleft+wot+clsp/2, cltop+1, SILVER); //vert
|
||||||
|
drawLine(clleft+wot+clsp/2, cltop-hot+20, clleft+wot+clsp/2+35, cltop-hot+20, SILVER); //hor
|
||||||
|
drawLine(TFT_FRAMEWDT, TITLE_TOP1-8, swidth-TFT_FRAMEWDT*2, TITLE_TOP1-8, SILVER);
|
||||||
|
|
||||||
|
sprintf(timeBuf, "%2d %s %d", timeinfo.tm_mday,mnths[timeinfo.tm_mon], timeinfo.tm_year+1900);
|
||||||
|
uint16_t wdate, hdate;
|
||||||
|
getTextBounds(timeBuf, 0, 0, &x1, &y1, &wdate, &hdate);
|
||||||
|
fillRect(swidth - wdate - TFT_FRAMEWDT-20, cltop+10, wdate+20, hdate, TFT_BG);
|
||||||
|
setTextSize(1);
|
||||||
|
rightText(utf8Rus(timeBuf,true), cltop+10, TFT_FG, TFT_BG, false, 12);
|
||||||
|
}
|
||||||
|
setTextSize(2);
|
||||||
|
setTextColor(TFT_LOGO, TFT_BG);
|
||||||
|
setCursor(clleft+wot+clsp, cltop-hot+1);
|
||||||
|
sprintf(timeBuf, "%02d", timeinfo.tm_sec);
|
||||||
|
print(timeBuf);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::drawVolumeBar(bool withNumber) {
|
||||||
|
int16_t vTop = sheight - TFT_FRAMEWDT * 2;
|
||||||
|
int16_t volTop = sheight - TFT_FRAMEWDT * 2 - TFT_LINEHGHT - 2;
|
||||||
|
int16_t vWidth = swidth - TFT_FRAMEWDT *2;
|
||||||
|
uint16_t ww = map(config.store.volume, 0, 254, 0, vWidth - 2);
|
||||||
|
fillRect(TFT_FRAMEWDT, vTop - 2, vWidth, 6, TFT_BG);
|
||||||
|
drawRectangle(TFT_FRAMEWDT, vTop - 2, TFT_FRAMEWDT+vWidth, 6+vTop - 2, TFT_LOGO);
|
||||||
|
fillRect(TFT_FRAMEWDT + 1, vTop - 1, ww, 5, TFT_LOGO);
|
||||||
|
if (withNumber) {
|
||||||
|
setTextSize(1);
|
||||||
|
setTextColor(TFT_FG);
|
||||||
|
setFont(&DS_DIGI28pt7b);
|
||||||
|
char volstr[4];
|
||||||
|
uint16_t wv, hv;
|
||||||
|
int16_t x1, y1;
|
||||||
|
|
||||||
|
/*setTextColor(TFT_BG);
|
||||||
|
sprintf(volstr, "%d", oldVolume);
|
||||||
|
getTextBounds(volstr, 0, 0, &x1, &y1, &wv, &hv);
|
||||||
|
setCursor((swidth - wv) / 2, (sheight-hv)/2 + hv);
|
||||||
|
print(volstr);*/
|
||||||
|
sprintf(volstr, "%d", oldVolume);
|
||||||
|
getTextBounds(volstr, 0, 0, &x1, &y1, &wv, &hv);
|
||||||
|
fillRect((swidth - wv) / 2 - 12, (sheight-hv)/2, wv+24, hv, TFT_BG);
|
||||||
|
|
||||||
|
setTextColor(TFT_FG);
|
||||||
|
sprintf(volstr, "%d", config.store.volume);
|
||||||
|
getTextBounds(volstr, 0, 0, &x1, &y1, &wv, &hv);
|
||||||
|
setCursor((swidth - wv) / 2, (sheight-hv)/2 + hv);
|
||||||
|
print(volstr);
|
||||||
|
oldVolume=config.store.volume;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::drawNextStationNum(uint16_t num) {
|
||||||
|
setTextSize(1);
|
||||||
|
setTextColor(TFT_FG);
|
||||||
|
setFont(&DS_DIGI28pt7b);
|
||||||
|
char numstr[7];
|
||||||
|
uint16_t wv, hv;
|
||||||
|
int16_t x1, y1;
|
||||||
|
sprintf(numstr, "%d", num);
|
||||||
|
getTextBounds(numstr, 0, 0, &x1, &y1, &wv, &hv);
|
||||||
|
fillRect(TFT_FRAMEWDT, (sheight-hv)/2, swidth - TFT_FRAMEWDT / 2, hv + 3, TFT_BG);
|
||||||
|
setCursor((swidth - wv) / 2, (sheight-hv)/2 + hv);
|
||||||
|
print(numstr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::frameTitle(const char* str) {
|
||||||
|
setTextSize(META_SIZE);
|
||||||
|
centerText(str, TFT_FRAMEWDT, TFT_LOGO, TFT_BG);
|
||||||
|
drawLine(TFT_FRAMEWDT, TITLE_TOP1-8, swidth-TFT_FRAMEWDT*2, TITLE_TOP1-8, SILVER);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::rssi(const char* str) {
|
||||||
|
int16_t vTop = sheight - TFT_FRAMEWDT * 2 - TFT_LINEHGHT - 2;
|
||||||
|
char buf[20];
|
||||||
|
sprintf(buf, "RSSI:%s", str);
|
||||||
|
setTextSize(1);
|
||||||
|
rightText(buf, vTop, SILVER, TFT_BG);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::ip(const char* str) {
|
||||||
|
int16_t vTop = sheight - TFT_FRAMEWDT * 2 - TFT_LINEHGHT - 2;
|
||||||
|
char buf[30];
|
||||||
|
sprintf(buf, "IP: %s", str);
|
||||||
|
setTextSize(1);
|
||||||
|
setTextColor(SILVER, TFT_BG);
|
||||||
|
setCursor(TFT_FRAMEWDT, vTop);
|
||||||
|
print(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::set_TextSize(uint8_t s) {
|
||||||
|
setTextSize(s);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::set_TextColor(uint16_t fg, uint16_t bg) {
|
||||||
|
setTextColor(fg, bg);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::set_Cursor(int16_t x, int16_t y) {
|
||||||
|
setCursor(x, y);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::printText(const char* txt) {
|
||||||
|
print(txt);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DspCore::loop(bool force) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
111
yoRadio/src/displays/displayILI9225.h
Normal file
111
yoRadio/src/displays/displayILI9225.h
Normal file
@@ -0,0 +1,111 @@
|
|||||||
|
#ifndef displayILI9225_h
|
||||||
|
#define displayILI9225_h
|
||||||
|
|
||||||
|
#include "Arduino.h"
|
||||||
|
#include "TFT_22_ILI9225.h"
|
||||||
|
#include "fonts/DS_DIGI28pt7b.h"
|
||||||
|
|
||||||
|
#define TFT_LINEHGHT 10
|
||||||
|
#define TFT_FRAMEWDT 4
|
||||||
|
#define META_SIZE 2
|
||||||
|
#define TITLE_SIZE1 1
|
||||||
|
#define TITLE_SIZE2 1
|
||||||
|
|
||||||
|
#if !defined(SCROLLDELTA) || !defined(SCROLLTIME)
|
||||||
|
#define SCROLLDELTA 3
|
||||||
|
#define SCROLLTIME 30
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define PLMITEMS 9
|
||||||
|
#define PLMITEMLENGHT 40
|
||||||
|
#define PLMITEMHEIGHT 22
|
||||||
|
#define TFT_FULLTIME 1
|
||||||
|
|
||||||
|
#define TITLE_TOP1 TFT_FRAMEWDT + META_SIZE * TFT_LINEHGHT + 8
|
||||||
|
#define TITLE_TOP2 TFT_FRAMEWDT + (META_SIZE+2) * TFT_LINEHGHT
|
||||||
|
#define TITLE_FG2 SILVER
|
||||||
|
|
||||||
|
class DspCore: public TFT_22_ILI9225 {
|
||||||
|
public:
|
||||||
|
DspCore();
|
||||||
|
char plMenu[PLMITEMS][PLMITEMLENGHT];
|
||||||
|
uint16_t clockY;
|
||||||
|
void initD(uint16_t &screenwidth, uint16_t &screenheight);
|
||||||
|
void apScreen();
|
||||||
|
void drawLogo();
|
||||||
|
void clearDsp();
|
||||||
|
void centerText(const char* text, uint16_t y, uint16_t fg, uint16_t bg);
|
||||||
|
void rightText(const char* text, uint16_t y, uint16_t fg, uint16_t bg, bool fliprect=false, uint16_t delta = 0);
|
||||||
|
void set_TextSize(uint8_t s);
|
||||||
|
void set_TextColor(uint16_t fg, uint16_t bg);
|
||||||
|
void set_Cursor(int16_t x, int16_t y);
|
||||||
|
void printText(const char* txt);
|
||||||
|
void printClock(const char* timestr);
|
||||||
|
void printClock(struct tm timeinfo, bool dots, bool redraw = false);
|
||||||
|
void displayHeapForDebug();
|
||||||
|
void drawVolumeBar(bool withNumber);
|
||||||
|
void drawNextStationNum(uint16_t num);
|
||||||
|
char* utf8Rus(const char* str, bool uppercase);
|
||||||
|
void drawScrollFrame(uint16_t texttop, uint16_t textheight, uint16_t bg);
|
||||||
|
void getScrolBbounds(const char* text, const char* separator, byte textsize, uint16_t &tWidth, uint16_t &tHeight, uint16_t &sWidth);
|
||||||
|
void clearScroll(uint16_t texttop, uint16_t textheight, uint16_t bg);
|
||||||
|
void frameTitle(const char* str);
|
||||||
|
void rssi(const char* str);
|
||||||
|
void ip(const char* str);
|
||||||
|
void drawPlaylist(uint16_t currentItem, char* currentItemText);
|
||||||
|
void loop(bool force=false);
|
||||||
|
void setFont(uint8_t* font, bool monoSp=false );
|
||||||
|
void setFont(const GFXfont *f = NULL);
|
||||||
|
private:
|
||||||
|
uint16_t swidth, sheight;
|
||||||
|
uint16_t bgcolor, fgcolor;
|
||||||
|
int16_t cursorx, cursory;
|
||||||
|
bool gFont;
|
||||||
|
char oldTimeBuf[20];
|
||||||
|
uint8_t oldVolume;
|
||||||
|
uint16_t wot, hot;
|
||||||
|
void setTextSize(uint8_t s);
|
||||||
|
void setTextColor(uint16_t fg, uint16_t bg=0x0000);
|
||||||
|
void setCursor(int16_t x, int16_t y);
|
||||||
|
uint16_t print(const char* s);
|
||||||
|
void getTextBounds(const char *string, int16_t x, int16_t y, int16_t *x1,
|
||||||
|
int16_t *y1, uint16_t *w, uint16_t *h);
|
||||||
|
void fillRect(int16_t x, int16_t y, int16_t w, int16_t h,
|
||||||
|
uint16_t color);
|
||||||
|
};
|
||||||
|
|
||||||
|
extern DspCore dsp;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* TFT COLORS
|
||||||
|
*/
|
||||||
|
#define BLACK 0x0000
|
||||||
|
#define BLUE 0x001F
|
||||||
|
#define RED 0xF800
|
||||||
|
#define GREEN 0x07E0
|
||||||
|
#define MAGENTA 0xF81F
|
||||||
|
#define YELLOW 0xFFE0
|
||||||
|
#define WHITE 0xFFFF
|
||||||
|
#define GRAY 0x7BEF
|
||||||
|
#define DARK_GRAY 0x2945
|
||||||
|
#define LIGHT_GRAY 0xC618
|
||||||
|
#define LIME 0x87E0
|
||||||
|
#define AQUA 0x5D1C
|
||||||
|
#define CYAN 0x07FF
|
||||||
|
#define DARK_CYAN 0x03EF
|
||||||
|
#define ORANGE 0xFCA0
|
||||||
|
#define PINK 0xF97F
|
||||||
|
#define BROWN 0x8200
|
||||||
|
#define VIOLET 0x9199
|
||||||
|
#define SILVER 0xA510
|
||||||
|
#define GOLD 0xA508
|
||||||
|
#define NAVY 0x000F
|
||||||
|
#define MAROON 0x7800
|
||||||
|
#define PURPLE 0x780F
|
||||||
|
#define OLIVE 0x7BE0
|
||||||
|
|
||||||
|
#define TFT_BG BLACK
|
||||||
|
#define TFT_FG WHITE
|
||||||
|
#define TFT_LOGO 0xE68B // 224, 209, 92
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -258,6 +258,9 @@ void DspCore::printClock(struct tm timeinfo, bool dots, bool redraw){
|
|||||||
|
|
||||||
sprintf(timeBuf, "%2d %s %d", timeinfo.tm_mday,mnths[timeinfo.tm_mon], timeinfo.tm_year+1900);
|
sprintf(timeBuf, "%2d %s %d", timeinfo.tm_mday,mnths[timeinfo.tm_mon], timeinfo.tm_year+1900);
|
||||||
setTextSize(1);
|
setTextSize(1);
|
||||||
|
uint16_t wdate, hdate;
|
||||||
|
getTextBounds(timeBuf, 0, 0, &x1, &y1, &wdate, &hdate);
|
||||||
|
fillRect(swidth - wdate - TFT_FRAMEWDT-20, cltop+10, wdate+20, hdate, TFT_BG);
|
||||||
rightText(utf8Rus(timeBuf,true), cltop+10, TFT_FG, TFT_BG, false, swidth>240?12:0);
|
rightText(utf8Rus(timeBuf,true), cltop+10, TFT_FG, TFT_BG, false, swidth>240?12:0);
|
||||||
drawFastVLine(clleft+wot+clsp/2+3, cltop-hot, hot+3, SILVER);
|
drawFastVLine(clleft+wot+clsp/2+3, cltop-hot, hot+3, SILVER);
|
||||||
drawFastHLine(clleft+wot+clsp/2+3, cltop-hot+29, 42, SILVER);
|
drawFastHLine(clleft+wot+clsp/2+3, cltop-hot+29, 42, SILVER);
|
||||||
@@ -293,11 +296,14 @@ void DspCore::drawVolumeBar(bool withNumber) {
|
|||||||
uint16_t wv, hv;
|
uint16_t wv, hv;
|
||||||
int16_t x1, y1;
|
int16_t x1, y1;
|
||||||
|
|
||||||
setTextColor(TFT_BG);
|
/*setTextColor(TFT_BG);
|
||||||
sprintf(volstr, "%d", oldVolume);
|
sprintf(volstr, "%d", oldVolume);
|
||||||
getTextBounds(volstr, 0, 0, &x1, &y1, &wv, &hv);
|
getTextBounds(volstr, 0, 0, &x1, &y1, &wv, &hv);
|
||||||
setCursor((swidth - wv) / 2, (sheight-hv)/2 + hv);
|
setCursor((swidth - wv) / 2, (sheight-hv)/2 + hv);
|
||||||
print(volstr);
|
print(volstr);*/
|
||||||
|
sprintf(volstr, "%d", oldVolume);
|
||||||
|
getTextBounds(volstr, 0, 0, &x1, &y1, &wv, &hv);
|
||||||
|
fillRect((swidth - wv) / 2 - 12, (sheight-hv)/2, wv+24, hv, TFT_BG);
|
||||||
|
|
||||||
setTextColor(TFT_FG);
|
setTextColor(TFT_FG);
|
||||||
sprintf(volstr, "%d", config.store.volume);
|
sprintf(volstr, "%d", config.store.volume);
|
||||||
|
|||||||
278
yoRadio/src/displays/fonts/yofont10x14.c
Normal file
278
yoRadio/src/displays/fonts/yofont10x14.c
Normal file
@@ -0,0 +1,278 @@
|
|||||||
|
#include "../../../options.h"
|
||||||
|
#if DSP_MODEL==DSP_ILI9225
|
||||||
|
#ifndef YOFONT10X14_H
|
||||||
|
#define YOFONT10X14_H
|
||||||
|
|
||||||
|
#ifdef __AVR__
|
||||||
|
#include <avr/io.h>
|
||||||
|
#include <avr/pgmspace.h>
|
||||||
|
#elif defined(ESP8266)
|
||||||
|
#include <pgmspace.h>
|
||||||
|
#else
|
||||||
|
#define PROGMEM
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Standard ASCII 10x14 font
|
||||||
|
|
||||||
|
const unsigned char yofont10x14[] PROGMEM = {
|
||||||
|
0x0A, 0x0E, 0x00, 0xFF,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x33, 0x33, 0x33, 0x33, 0x03, 0x33, 0x03, 0x33, 0x33, 0x33, 0x33, 0x33, 0xFC, 0x0F, 0xFC, 0x0F,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0xCF, 0x3C, 0xCF, 0x3C, 0xFF, 0x3C, 0xFF, 0x3C, 0xCF, 0x3C, 0xCF, 0x3C, 0xFC, 0x0F, 0xFC, 0x0F,
|
||||||
|
0x0A, 0xF0, 0x00, 0xF0, 0x00, 0xFC, 0x03, 0xFC, 0x03, 0xF0, 0x0F, 0xF0, 0x0F, 0xFC, 0x03, 0xFC, 0x03, 0xF0, 0x00, 0xF0, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xF0, 0x03, 0xF0, 0x03, 0xFC, 0x0F, 0xFC, 0x0F, 0xF0, 0x03, 0xF0, 0x03, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xF0, 0x03, 0xF0, 0x03, 0xCC, 0x30, 0xCC, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0xCC, 0x30, 0xCC, 0x30, 0xF0, 0x03, 0xF0, 0x03,
|
||||||
|
0x0A, 0xC0, 0x03, 0xC0, 0x03, 0xF0, 0x33, 0xF0, 0x33, 0xFF, 0x3F, 0xFF, 0x3F, 0xF0, 0x33, 0xF0, 0x33, 0xC0, 0x03, 0xC0, 0x03,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xF0, 0x03, 0xF0, 0x03, 0xF0, 0x03, 0xF0, 0x03, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xF0, 0x03, 0x30, 0x03, 0x30, 0x03, 0xF0, 0x03, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x0F, 0x3C, 0x0F, 0x3C, 0xCF, 0x3C, 0xCF, 0x3C, 0x0F, 0x3C, 0x0F, 0x3C, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0x00, 0x0F, 0x00, 0x0F, 0xC0, 0x30, 0xC0, 0x30, 0xF3, 0x30, 0xF3, 0x30, 0x0F, 0x0F, 0x0F, 0x0F, 0x3F, 0x00, 0x3F, 0x00,
|
||||||
|
0x0A, 0x3C, 0x00, 0x3C, 0x00, 0xC3, 0x0C, 0xC3, 0x0C, 0xC3, 0x3F, 0xC3, 0x3F, 0xC3, 0x0C, 0xC3, 0x0C, 0x3C, 0x00, 0x3C, 0x00,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x33, 0x00, 0x33, 0xFF, 0x0F, 0xFF, 0x0F, 0x0C, 0x00, 0x0C, 0x00, 0xF0, 0x00, 0xF0, 0x00,
|
||||||
|
0x0A, 0x00, 0x3C, 0x00, 0x3C, 0xFF, 0x3F, 0xFF, 0x3F, 0x33, 0x00, 0x33, 0x00, 0x33, 0x0F, 0x33, 0x0F, 0xFF, 0x0F, 0xFF, 0x0F,
|
||||||
|
0x0A, 0xCC, 0x0C, 0xCC, 0x0C, 0xF0, 0x03, 0xF0, 0x03, 0x3F, 0x3F, 0x3F, 0x3F, 0xF0, 0x03, 0xF0, 0x03, 0xCC, 0x0C, 0xCC, 0x0C,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xFC, 0x0F, 0xFC, 0x0F, 0xF0, 0x03, 0xF0, 0x03, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xF0, 0x03, 0xF0, 0x03, 0xFC, 0x0F, 0xFC, 0x0F, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x30, 0x03, 0x30, 0x03, 0x0C, 0x0C, 0x0C, 0x0C, 0xFF, 0x3F, 0xFF, 0x3F, 0x0C, 0x0C, 0x0C, 0x0C, 0x30, 0x03, 0x30, 0x03,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x33, 0xFF, 0x33, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x33, 0xFF, 0x33, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x3C, 0x00, 0x3C, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x00, 0x03, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xCC, 0x30, 0xCC, 0x30, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xC3, 0x0C, 0xC3, 0x0C,
|
||||||
|
0x0A, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C,
|
||||||
|
0x0A, 0x30, 0x33, 0x30, 0x33, 0x0C, 0x3C, 0x0C, 0x3C, 0xFF, 0x3F, 0xFF, 0x3F, 0x0C, 0x3C, 0x0C, 0x3C, 0x30, 0x33, 0x30, 0x33,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x30, 0x00, 0xFC, 0x3F, 0xFC, 0x3F, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFF, 0x0F, 0xFF, 0x0F, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xCC, 0x0C, 0xCC, 0x0C, 0xF0, 0x03, 0xF0, 0x03, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xF0, 0x03, 0xF0, 0x03, 0xCC, 0x0C, 0xCC, 0x0C, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xF0, 0x03, 0xF0, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03,
|
||||||
|
0x0A, 0xF0, 0x03, 0xF0, 0x03, 0xFC, 0x0F, 0xFC, 0x0F, 0xC0, 0x00, 0xC0, 0x00, 0xFC, 0x0F, 0xFC, 0x0F, 0xF0, 0x03, 0xF0, 0x03,
|
||||||
|
0x0A, 0x00, 0x0F, 0x00, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xFF, 0x0F, 0xFF, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0x00, 0x0F, 0x00, 0x0F,
|
||||||
|
0x0A, 0x3C, 0x00, 0x3C, 0x00, 0xFC, 0x03, 0xFC, 0x03, 0xFC, 0x3F, 0xFC, 0x3F, 0xFC, 0x03, 0xFC, 0x03, 0x3C, 0x00, 0x3C, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x33, 0xFF, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x30, 0x03, 0x30, 0x03, 0xFF, 0x3F, 0xFF, 0x3F, 0x30, 0x03, 0x30, 0x03, 0xFF, 0x3F, 0xFF, 0x3F, 0x30, 0x03, 0x30, 0x03,
|
||||||
|
0x0A, 0x30, 0x0C, 0x30, 0x0C, 0xCC, 0x0C, 0xCC, 0x0C, 0xFF, 0x3F, 0xFF, 0x3F, 0xCC, 0x0C, 0xCC, 0x0C, 0x0C, 0x03, 0x0C, 0x03,
|
||||||
|
0x0A, 0x0F, 0x0C, 0x0F, 0x0C, 0x0F, 0x03, 0x0F, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x3C, 0x30, 0x3C, 0x0C, 0x3C, 0x0C, 0x3C,
|
||||||
|
0x0A, 0x3C, 0x0F, 0x3C, 0x0F, 0xC3, 0x30, 0xC3, 0x30, 0x3C, 0x33, 0x3C, 0x33, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x33, 0x00, 0x33,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xF0, 0x03, 0x0C, 0x0C, 0x0C, 0x0C, 0x03, 0x30, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 0x0C, 0x0C, 0x0C, 0x0C, 0xF0, 0x03, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0xFC, 0x0F, 0xFC, 0x0F, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xFC, 0x0F, 0xFC, 0x0F, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0xCC, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x33, 0x03, 0x33, 0xC3, 0x30, 0xC3, 0x30, 0x33, 0x30, 0x33, 0x30, 0xFC, 0x0F, 0xFC, 0x0F,
|
||||||
|
0x0A, 0x30, 0x30, 0x30, 0x30, 0x0C, 0x30, 0x0C, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30,
|
||||||
|
0x0A, 0x0C, 0x30, 0x0C, 0x30, 0x03, 0x3C, 0x03, 0x3C, 0x03, 0x33, 0x03, 0x33, 0xC3, 0x30, 0xC3, 0x30, 0x3C, 0x30, 0x3C, 0x30,
|
||||||
|
0x0A, 0x03, 0x0C, 0x03, 0x0C, 0x03, 0x30, 0x03, 0x30, 0x33, 0x30, 0x33, 0x30, 0xCF, 0x30, 0xCF, 0x30, 0x03, 0x0F, 0x03, 0x0F,
|
||||||
|
0x0A, 0xC0, 0x03, 0xC0, 0x03, 0x30, 0x03, 0x30, 0x03, 0x0C, 0x03, 0x0C, 0x03, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x03, 0x00, 0x03,
|
||||||
|
0x0A, 0x3F, 0x0C, 0x3F, 0x0C, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0xC3, 0x0F, 0xC3, 0x0F,
|
||||||
|
0x0A, 0xF0, 0x0F, 0xF0, 0x0F, 0xCC, 0x30, 0xCC, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x00, 0x0F, 0x00, 0x0F,
|
||||||
|
0x0A, 0x03, 0x00, 0x03, 0x00, 0x03, 0x3F, 0x03, 0x3F, 0xC3, 0x00, 0xC3, 0x00, 0x33, 0x00, 0x33, 0x00, 0x0F, 0x00, 0x0F, 0x00,
|
||||||
|
0x0A, 0x3C, 0x0F, 0x3C, 0x0F, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x3C, 0x0F, 0x3C, 0x0F,
|
||||||
|
0x0A, 0x3C, 0x00, 0x3C, 0x00, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x0C, 0xC3, 0x0C, 0xFC, 0x03, 0xFC, 0x03,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, 0xF0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xCC, 0xF0, 0xCC, 0xF0, 0x3C, 0xF0, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03, 0x0C, 0x0C, 0x0C, 0x0C, 0x03, 0x30, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 0x0C, 0x0C, 0x0C, 0x0C, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0x0C, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x33, 0x03, 0x33, 0xC3, 0x00, 0xC3, 0x00, 0x3C, 0x00, 0x3C, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x30, 0x03, 0x30, 0xF3, 0x33, 0xF3, 0x33, 0x33, 0x33, 0x33, 0x33, 0xFC, 0x33, 0xFC, 0x33,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x0C, 0x03, 0x0C, 0x03, 0x03, 0x03, 0x03, 0x03, 0x0C, 0x03, 0x0C, 0x03, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x3C, 0x0F, 0x3C, 0x0F,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x0C, 0x0C, 0x0C, 0x0C, 0xF0, 0x03, 0xF0, 0x03,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x03, 0x30, 0x03, 0x30,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0x03, 0x00, 0x03, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x30, 0x03, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xCC, 0x3F, 0xCC, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x30, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x0F, 0xFF, 0x0F, 0x03, 0x00, 0x03, 0x00,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03, 0x0C, 0x0C, 0x0C, 0x0C, 0x03, 0x30, 0x03, 0x30,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x3C, 0x00, 0x3C,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x0C, 0x00, 0x0C, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0xFC, 0x0F, 0xFC, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0x3C, 0x00, 0x3C, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x33, 0x03, 0x33, 0x03, 0x0C, 0x03, 0x0C, 0xFC, 0x33, 0xFC, 0x33,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x03, 0xC3, 0x03, 0xC3, 0x0C, 0xC3, 0x0C, 0x3C, 0x30, 0x3C, 0x30,
|
||||||
|
0x0A, 0x3C, 0x30, 0x3C, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x03, 0x0F, 0x03, 0x0F,
|
||||||
|
0x0A, 0x0F, 0x00, 0x0F, 0x00, 0x03, 0x00, 0x03, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x0F, 0x00,
|
||||||
|
0x0A, 0xFF, 0x0F, 0xFF, 0x0F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0xFF, 0x0F, 0xFF, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x03, 0xFF, 0x03, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C, 0xFF, 0x03, 0xFF, 0x03,
|
||||||
|
0x0A, 0xFF, 0x0F, 0xFF, 0x0F, 0x00, 0x30, 0x00, 0x30, 0xF0, 0x0F, 0xF0, 0x0F, 0x00, 0x30, 0x00, 0x30, 0xFF, 0x0F, 0xFF, 0x0F,
|
||||||
|
0x0A, 0x0F, 0x3C, 0x0F, 0x3C, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03, 0x0F, 0x3C, 0x0F, 0x3C,
|
||||||
|
0x0A, 0x3F, 0x00, 0x3F, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x3F, 0x00, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x3F, 0x00, 0x3F, 0x00,
|
||||||
|
0x0A, 0x03, 0x3C, 0x03, 0x3C, 0x03, 0x33, 0x03, 0x33, 0xC3, 0x30, 0xC3, 0x30, 0x33, 0x30, 0x33, 0x30, 0x0F, 0x30, 0x0F, 0x30,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0C, 0x00, 0x0C,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x00,
|
||||||
|
0x0A, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0xC0, 0x3F, 0xC0, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x30, 0xC0, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x0F, 0xC0, 0x0F,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x30, 0xC0, 0x30,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0xC0, 0x03, 0xC0, 0x03,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xFC, 0x3F, 0xFC, 0x3F, 0xC3, 0x00, 0xC3, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0C, 0x00, 0x0C, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0xC0, 0x33, 0xC0, 0x33, 0xF0, 0x0F, 0xF0, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x3F, 0xC0, 0x3F,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x30, 0xF3, 0x3F, 0xF3, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x30, 0x30, 0x30, 0x30, 0xF3, 0x0F, 0xF3, 0x0F, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x0C, 0xC0, 0x0C, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x3F, 0xC0, 0x3F, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x3F, 0xC0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x3F, 0xC0, 0x3F,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x0F, 0xC0, 0x0F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0xF0, 0x00, 0xF0, 0x00, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xC0, 0x30, 0xC0, 0x30, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x0C, 0x30, 0x0C,
|
||||||
|
0x0A, 0x30, 0x00, 0x30, 0x00, 0xFF, 0x0F, 0xFF, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C,
|
||||||
|
0x0A, 0xF0, 0x0F, 0xF0, 0x0F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x03, 0xF0, 0x03, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C, 0xF0, 0x03, 0xF0, 0x03,
|
||||||
|
0x0A, 0xF0, 0x0F, 0xF0, 0x0F, 0x00, 0x30, 0x00, 0x30, 0xC0, 0x0F, 0xC0, 0x0F, 0x00, 0x30, 0x00, 0x30, 0xF0, 0x0F, 0xF0, 0x0F,
|
||||||
|
0x0A, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x0C, 0xC0, 0x0C, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x0C, 0xC0, 0x0C, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x0A, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0xF0, 0x0F, 0xF0, 0x0F,
|
||||||
|
0x0A, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x30, 0x3C, 0x30, 0x33, 0x30, 0x33, 0xF0, 0x30, 0xF0, 0x30, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x3C, 0x0F, 0x3C, 0x0F, 0x03, 0x30, 0x03, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x03, 0x30, 0x3C, 0x0F, 0x3C, 0x0F, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x0C, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C, 0x00,
|
||||||
|
0x0A, 0x00, 0x3F, 0x00, 0x3F, 0xC0, 0x30, 0xC0, 0x30, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0x00, 0x3F, 0x00, 0x3F,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0x03, 0x03, 0x03, 0x03, 0xFC, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x0C, 0x03, 0xFF, 0x03, 0xFF, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x0C, 0x03, 0xC3, 0x03, 0xC3, 0x03, 0x3C, 0x03, 0x3C, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x33, 0x03, 0x33, 0x03, 0xCF, 0x00, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0xFF, 0x03, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x03, 0x3F, 0x03, 0x33, 0x03, 0x33, 0x03, 0xC3, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0xFC, 0x00, 0x33, 0x03, 0x33, 0x03, 0xC3, 0x00, 0xC3, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0xF3, 0x03, 0xF3, 0x03, 0x0F, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0xCC, 0x00, 0x33, 0x03, 0x33, 0x03, 0xCC, 0x00, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x03, 0x0C, 0x03, 0x33, 0x03, 0x33, 0x03, 0xFC, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F, 0xFC, 0x0F,
|
||||||
|
0x0A, 0xC0, 0x33, 0xC0, 0x33, 0x30, 0x3C, 0x30, 0x3C, 0x30, 0x00, 0x30, 0x00, 0x30, 0x3C, 0x30, 0x3C, 0xC0, 0x33, 0xC0, 0x33,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xFC, 0x0F, 0xFC, 0x0F, 0xF0, 0x03, 0xF0, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0xF0, 0x03, 0xF0, 0x03, 0xFC, 0x0F, 0xFC, 0x0F, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xFC, 0x0F, 0xFC, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||||
|
0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xFC, 0x0F, 0xFC, 0x0F, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30,
|
||||||
|
0x0A, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30,
|
||||||
|
0x0A, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30,
|
||||||
|
0x0A, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0xC0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x30,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0xFC, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x03, 0xF0, 0x03, 0x3F, 0x3F, 0x3F, 0x3F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30,
|
||||||
|
0x0A, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30,
|
||||||
|
0x0A, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xF0, 0x03, 0xF0, 0x03, 0x3F, 0x3F, 0x3F, 0x3F, 0x03, 0x30, 0x03, 0x30, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33,
|
||||||
|
0x0A, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33,
|
||||||
|
0x0A, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33, 0x03, 0x30, 0x03, 0x30, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33,
|
||||||
|
0x0A, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33, 0xF3, 0x33, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0xF0, 0x03, 0xF0, 0x03, 0x30, 0x03, 0x30, 0x03, 0xF0, 0x03, 0xF0, 0x03, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xF0, 0x03, 0xF0, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x3C, 0x30, 0x3C, 0x30, 0xF3, 0x33, 0xF3, 0x33, 0x33, 0x33, 0x33, 0x33, 0xF3, 0x33, 0xF3, 0x33, 0x03, 0x0F, 0x03, 0x0F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x33, 0x33, 0x33, 0x33, 0x30, 0x33, 0x30, 0x33, 0x33, 0x33, 0x33, 0x33, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xCC, 0x0C, 0xCC, 0x0C, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03, 0x0C, 0x0C, 0x0C, 0x0C, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x3F, 0x03, 0x3F, 0x03, 0x0F, 0x03, 0x0F, 0xFF, 0x03, 0xFF, 0x03,
|
||||||
|
0x0A, 0x0F, 0x00, 0x0F, 0x00, 0x33, 0x00, 0x33, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x33, 0x00, 0x33, 0x00, 0x0F, 0x00, 0x0F, 0x00,
|
||||||
|
0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x30, 0x03, 0x30, 0x03, 0xFF, 0x3F, 0xFF, 0x3F, 0x33, 0x33, 0x33, 0x33, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||||
|
0x0A, 0x0C, 0x00, 0x0C, 0x00, 0x33, 0x33, 0x33, 0x33, 0xF3, 0x3F, 0xF3, 0x3F, 0x33, 0x00, 0x33, 0x00, 0x0C, 0x00, 0x0C, 0x00,
|
||||||
|
0x0A, 0x3C, 0x00, 0x3C, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xFF, 0x33, 0xFF, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x0A, 0xF0, 0x03, 0xF0, 0x03, 0x30, 0x03, 0x30, 0x03, 0xF0, 0x03, 0xF0, 0x03, 0x0C, 0x0C, 0x0C, 0x0C, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x3C, 0x03, 0x3C, 0xFC, 0x0F, 0xFC, 0x0F, 0x00, 0x0C, 0x00, 0x0C,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x33, 0x00, 0x33, 0xFF, 0x0F, 0xFF, 0x0F, 0x0C, 0x00, 0x0C, 0x00, 0xF0, 0x00, 0xF0, 0x00,
|
||||||
|
0x0A, 0x00, 0xC0, 0x00, 0xC0, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x0C, 0x00, 0x0C, 0xF0, 0x0F, 0xF0, 0x0F, 0x00, 0x30, 0x00, 0x30,
|
||||||
|
0x0A, 0x30, 0x30, 0x30, 0x30, 0xF0, 0x0F, 0xF0, 0x0F, 0x30, 0x00, 0x30, 0x00, 0xF0, 0x3F, 0xF0, 0x3F, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x33, 0x33, 0x33, 0x33, 0x30, 0x33, 0x30, 0x33, 0x33, 0x33, 0x33, 0x33, 0xC0, 0x03, 0xC0, 0x03,
|
||||||
|
0x0A, 0xFC, 0x3F, 0xFC, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x03, 0x00, 0x03, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x00, 0x03, 0x00,
|
||||||
|
0x0A, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C, 0x00,
|
||||||
|
0x0A, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x0C, 0x0C, 0x0C, 0x0C, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xFC, 0x00, 0xFC, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0xCC, 0x00, 0xCC, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0C, 0x00, 0x0C,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x03, 0xCC, 0x00, 0xCC, 0x00, 0x3C, 0x00, 0x3C, 0x00, 0xFC, 0x00, 0xFC, 0x00,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0xC0, 0x0C, 0xC0, 0x0C, 0x30, 0x00, 0x30, 0x00, 0x0C, 0x00, 0x0C, 0x00,
|
||||||
|
0x0A, 0x0C, 0x00, 0x0C, 0x00, 0x30, 0x00, 0x30, 0x00, 0xC0, 0x0C, 0xC0, 0x0C, 0x00, 0x0F, 0x00, 0x0F, 0xC0, 0x0F, 0xC0, 0x0F,
|
||||||
|
0x0A, 0xFC, 0x3F, 0xFC, 0x3F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xFC, 0x3F, 0xFC, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x03, 0x0F, 0x03, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x3C, 0x0F, 0x3C, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x0F, 0x00, 0x0F, 0x00,
|
||||||
|
0x0A, 0x00, 0xF0, 0x00, 0xF0, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x30, 0x03, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0xF0, 0x00, 0xF0,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x03, 0x30, 0x03, 0x30,
|
||||||
|
0x0A, 0x3F, 0x3F, 0x3F, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x3F, 0x3F, 0x3F, 0x3F,
|
||||||
|
0x0A, 0x03, 0x30, 0x03, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x3C, 0x0F, 0x3C, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x00, 0x30, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x03, 0x0C, 0x03, 0x0C, 0x0C, 0x03, 0x0C, 0x03, 0xC3, 0x00, 0xC3, 0x00, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03, 0x0C, 0x0C, 0x0C, 0x0C, 0x03, 0x30, 0x03, 0x30,
|
||||||
|
0x0A, 0x00, 0x30, 0x00, 0x30, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x0C, 0x00, 0x0C, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0xFC, 0x0F, 0xFC, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0xC3, 0x00, 0x3C, 0x00, 0x3C, 0x00,
|
||||||
|
0x0A, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x0C, 0x0C, 0x0C, 0x0C,
|
||||||
|
0x0A, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00,
|
||||||
|
0x0A, 0x3F, 0x00, 0x3F, 0x00, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xFF, 0x0F, 0xFF, 0x0F,
|
||||||
|
0x0A, 0xFC, 0x00, 0xFC, 0x00, 0x03, 0x03, 0x03, 0x03, 0xFF, 0x3F, 0xFF, 0x3F, 0x03, 0x03, 0x03, 0x03, 0xFC, 0x00, 0xFC, 0x00,
|
||||||
|
0x0A, 0x0F, 0x3C, 0x0F, 0x3C, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0x30, 0x03, 0x30, 0x03, 0x0F, 0x3C, 0x0F, 0x3C,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0xF0, 0x00, 0xF0,
|
||||||
|
0x0A, 0x3F, 0x00, 0x3F, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0xFF, 0x3F, 0xFF, 0x3F, 0x00, 0x30, 0x00, 0x30, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0x0A, 0x03, 0x00, 0x03, 0x00, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0x00, 0x0F, 0x00, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0x00, 0x0F, 0x00, 0x0F, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0xC0, 0x30, 0x00, 0x0F, 0x00, 0x0F,
|
||||||
|
0x0A, 0x0C, 0x0C, 0x0C, 0x0C, 0x03, 0x30, 0x03, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0xFC, 0x0F, 0xFC, 0x0F,
|
||||||
|
0x0A, 0xFF, 0x3F, 0xFF, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0xFC, 0x0F, 0xFC, 0x0F, 0x03, 0x30, 0x03, 0x30, 0xFC, 0x0F, 0xFC, 0x0F,
|
||||||
|
0x0A, 0x3C, 0x30, 0x3C, 0x30, 0xC3, 0x0C, 0xC3, 0x0C, 0xC3, 0x03, 0xC3, 0x03, 0xC3, 0x00, 0xC3, 0x00, 0xFF, 0x3F, 0xFF, 0x3F,
|
||||||
|
0x0A, 0x00, 0x0C, 0x00, 0x0C, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0xC0, 0x3F, 0xC0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x0F, 0xF0, 0x0F, 0xCC, 0x30, 0xCC, 0x30, 0xCC, 0x30, 0xCC, 0x30, 0xC3, 0x30, 0xC3, 0x30, 0x03, 0x0F, 0x03, 0x0F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0xC0, 0x0C, 0xC0, 0x0C,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xF0, 0x00, 0xF0, 0x00,
|
||||||
|
0x0A, 0x00, 0xF0, 0x00, 0xF0, 0xC0, 0x3F, 0xC0, 0x3F, 0x30, 0x30, 0x30, 0x30, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0xF0, 0x00, 0xF0,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0xC0, 0x03, 0xC0, 0x03,
|
||||||
|
0x0A, 0xF0, 0x3C, 0xF0, 0x3C, 0x00, 0x03, 0x00, 0x03, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x03, 0x00, 0x03, 0xF0, 0x3C, 0xF0, 0x3C,
|
||||||
|
0x0A, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0xC0, 0x0C, 0xC0, 0x0C,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x0C, 0x00, 0x0C, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x3C, 0x0C, 0x3C, 0x0C, 0x00, 0x03, 0x00, 0x03, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x0C, 0xC0, 0x0C, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x0A, 0x00, 0x30, 0x00, 0x30, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0xC0, 0x00, 0xC0, 0x00, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x00, 0xC0, 0x00, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x0F, 0xC0, 0x0F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0xC0, 0x00, 0xC0, 0x00,
|
||||||
|
0x0A, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x30, 0xC0, 0x30,
|
||||||
|
0x0A, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0xF0, 0x3F, 0xF0, 0x3F, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
|
||||||
|
0x0A, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0xF0, 0x0F, 0xF0, 0x0F,
|
||||||
|
0x0A, 0xC0, 0x03, 0xC0, 0x03, 0x30, 0x0C, 0x30, 0x0C, 0xF0, 0xFF, 0xF0, 0xFF, 0x30, 0x0C, 0x30, 0x0C, 0xC0, 0x03, 0xC0, 0x03,
|
||||||
|
0x0A, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x0C, 0xC0, 0x0C, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x0C, 0xC0, 0x0C, 0x30, 0x30, 0x30, 0x30,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0xF0, 0x00, 0xF0,
|
||||||
|
0x0A, 0xF0, 0x00, 0xF0, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x30, 0x00, 0x30, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x30, 0x00, 0x30, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x30, 0x00, 0x30, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x30, 0x00, 0x30, 0xF0, 0xFF, 0xF0, 0xFF,
|
||||||
|
0x0A, 0x30, 0x00, 0x30, 0x00, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x0C, 0x00, 0x0C,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x0C, 0x00, 0x0C, 0xF0, 0x3F, 0xF0, 0x3F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x33, 0x00, 0x0C, 0x00, 0x0C,
|
||||||
|
0x0A, 0xC0, 0x0C, 0xC0, 0x0C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0x30, 0x33, 0xC0, 0x0F, 0xC0, 0x0F,
|
||||||
|
0x0A, 0xF0, 0x3F, 0xF0, 0x3F, 0x00, 0x03, 0x00, 0x03, 0xC0, 0x0F, 0xC0, 0x0F, 0x30, 0x30, 0x30, 0x30, 0xC0, 0x0F, 0xC0, 0x0F,
|
||||||
|
0x0A, 0xC0, 0x30, 0xC0, 0x30, 0x30, 0x0F, 0x30, 0x0F, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0x30, 0x03, 0xF0, 0x3F, 0xF0, 0x3F
|
||||||
|
};
|
||||||
|
#endif // YOFONT10X14_H
|
||||||
|
|
||||||
|
#endif //DSP_ILI9225
|
||||||
275
yoRadio/src/displays/fonts/yofont5x7.c
Normal file
275
yoRadio/src/displays/fonts/yofont5x7.c
Normal file
@@ -0,0 +1,275 @@
|
|||||||
|
#include "../../../options.h"
|
||||||
|
#if DSP_MODEL==DSP_ILI9225
|
||||||
|
#ifndef YOFONTFONT5X7_H
|
||||||
|
#define YOFONTFONT5X7_H
|
||||||
|
|
||||||
|
#ifdef __AVR__
|
||||||
|
#include <avr/io.h>
|
||||||
|
#include <avr/pgmspace.h>
|
||||||
|
#elif defined(ESP8266)
|
||||||
|
#include <pgmspace.h>
|
||||||
|
#else
|
||||||
|
#define PROGMEM
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const unsigned char yofont5x7[] PROGMEM = {
|
||||||
|
0x05, 0x07, 0x00, 0xFF,
|
||||||
|
0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x05, 0x3E, 0x55, 0x51, 0x55, 0x3E,
|
||||||
|
0x05, 0x3E, 0x6B, 0x6F, 0x6B, 0x3E,
|
||||||
|
0x05, 0x0C, 0x1E, 0x3C, 0x1E, 0x0C,
|
||||||
|
0x05, 0x08, 0x1C, 0x3E, 0x1C, 0x08,
|
||||||
|
0x05, 0x1C, 0x4A, 0x7F, 0x4A, 0x1C,
|
||||||
|
0x05, 0x18, 0x5C, 0x7F, 0x5C, 0x18,
|
||||||
|
0x05, 0x00, 0x1C, 0x1C, 0x1C, 0x00,
|
||||||
|
0x05, 0x7F, 0x63, 0x63, 0x63, 0x7F,
|
||||||
|
0x05, 0x00, 0x1C, 0x14, 0x1C, 0x00,
|
||||||
|
0x05, 0x7F, 0x63, 0x6B, 0x63, 0x7F,
|
||||||
|
0x05, 0x30, 0x48, 0x4D, 0x33, 0x07,
|
||||||
|
0x05, 0x06, 0x29, 0x79, 0x29, 0x06,
|
||||||
|
0x05, 0x20, 0x50, 0x3F, 0x02, 0x0C,
|
||||||
|
0x05, 0x60, 0x7F, 0x05, 0x35, 0x3F,
|
||||||
|
0x05, 0x2A, 0x1C, 0x77, 0x1C, 0x2A,
|
||||||
|
0x05, 0x00, 0x7F, 0x3E, 0x1C, 0x08,
|
||||||
|
0x05, 0x08, 0x1C, 0x3E, 0x7F, 0x00,
|
||||||
|
0x05, 0x14, 0x22, 0x7F, 0x22, 0x14,
|
||||||
|
0x05, 0x00, 0x5F, 0x00, 0x5F, 0x00,
|
||||||
|
0x05, 0x06, 0x09, 0x7F, 0x01, 0x7F,
|
||||||
|
0x05, 0x4A, 0x55, 0x55, 0x55, 0x29,
|
||||||
|
0x05, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||||
|
0x05, 0x54, 0x62, 0x7F, 0x62, 0x54,
|
||||||
|
0x05, 0x08, 0x04, 0x7E, 0x04, 0x08,
|
||||||
|
0x05, 0x08, 0x10, 0x3F, 0x10, 0x08,
|
||||||
|
0x05, 0x08, 0x08, 0x2A, 0x1C, 0x08,
|
||||||
|
0x05, 0x08, 0x1C, 0x2A, 0x08, 0x08,
|
||||||
|
0x05, 0x1C, 0x10, 0x10, 0x10, 0x10,
|
||||||
|
0x05, 0x1C, 0x3E, 0x08, 0x3E, 0x1C,
|
||||||
|
0x05, 0x30, 0x3C, 0x3F, 0x3C, 0x30,
|
||||||
|
0x05, 0x06, 0x1E, 0x7E, 0x1E, 0x06,
|
||||||
|
0x05, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x05, 0x00, 0x00, 0x5F, 0x00, 0x00,
|
||||||
|
0x05, 0x00, 0x07, 0x00, 0x07, 0x00,
|
||||||
|
0x05, 0x14, 0x7F, 0x14, 0x7F, 0x14,
|
||||||
|
0x05, 0x24, 0x2A, 0x7F, 0x2A, 0x12,
|
||||||
|
0x05, 0x23, 0x13, 0x08, 0x64, 0x62,
|
||||||
|
0x05, 0x36, 0x49, 0x56, 0x20, 0x50,
|
||||||
|
0x05, 0x00, 0x00, 0x07, 0x00, 0x00,
|
||||||
|
0x05, 0x00, 0x1C, 0x22, 0x41, 0x00,
|
||||||
|
0x05, 0x00, 0x41, 0x22, 0x1C, 0x00,
|
||||||
|
0x05, 0x14, 0x08, 0x3E, 0x08, 0x14,
|
||||||
|
0x05, 0x08, 0x08, 0x3E, 0x08, 0x08,
|
||||||
|
0x05, 0x00, 0xA0, 0x60, 0x00, 0x00,
|
||||||
|
0x05, 0x08, 0x08, 0x08, 0x08, 0x08,
|
||||||
|
0x05, 0x00, 0x60, 0x60, 0x00, 0x00,
|
||||||
|
0x05, 0x20, 0x10, 0x08, 0x04, 0x02,
|
||||||
|
0x05, 0x3E, 0x51, 0x49, 0x45, 0x3E,
|
||||||
|
0x05, 0x44, 0x42, 0x7F, 0x40, 0x40,
|
||||||
|
0x05, 0x42, 0x61, 0x51, 0x49, 0x46,
|
||||||
|
0x05, 0x21, 0x41, 0x45, 0x4B, 0x31,
|
||||||
|
0x05, 0x18, 0x14, 0x12, 0x7F, 0x10,
|
||||||
|
0x05, 0x27, 0x45, 0x45, 0x45, 0x39,
|
||||||
|
0x05, 0x3C, 0x4A, 0x49, 0x49, 0x30,
|
||||||
|
0x05, 0x01, 0x71, 0x09, 0x05, 0x03,
|
||||||
|
0x05, 0x36, 0x49, 0x49, 0x49, 0x36,
|
||||||
|
0x05, 0x06, 0x49, 0x49, 0x29, 0x1E,
|
||||||
|
0x05, 0x00, 0x6C, 0x6C, 0x00, 0x00,
|
||||||
|
0x05, 0x00, 0xAC, 0x6C, 0x00, 0x00,
|
||||||
|
0x05, 0x08, 0x14, 0x22, 0x41, 0x00,
|
||||||
|
0x05, 0x14, 0x14, 0x14, 0x14, 0x14,
|
||||||
|
0x05, 0x00, 0x41, 0x22, 0x14, 0x08,
|
||||||
|
0x05, 0x02, 0x01, 0x51, 0x09, 0x06,
|
||||||
|
0x05, 0x3E, 0x41, 0x5D, 0x55, 0x5E,
|
||||||
|
0x05, 0x7C, 0x12, 0x11, 0x12, 0x7C,
|
||||||
|
0x05, 0x7F, 0x49, 0x49, 0x49, 0x36,
|
||||||
|
0x05, 0x3E, 0x41, 0x41, 0x41, 0x22,
|
||||||
|
0x05, 0x7F, 0x41, 0x41, 0x22, 0x1C,
|
||||||
|
0x05, 0x7F, 0x49, 0x49, 0x49, 0x41,
|
||||||
|
0x05, 0x7F, 0x09, 0x09, 0x09, 0x01,
|
||||||
|
0x05, 0x3E, 0x41, 0x49, 0x49, 0x7A,
|
||||||
|
0x05, 0x7F, 0x08, 0x08, 0x08, 0x7F,
|
||||||
|
0x05, 0x00, 0x41, 0x7F, 0x41, 0x00,
|
||||||
|
0x05, 0x20, 0x40, 0x41, 0x3F, 0x01,
|
||||||
|
0x05, 0x7F, 0x08, 0x14, 0x22, 0x41,
|
||||||
|
0x05, 0x7F, 0x40, 0x40, 0x40, 0x60,
|
||||||
|
0x05, 0x7F, 0x02, 0x0C, 0x02, 0x7F,
|
||||||
|
0x05, 0x7F, 0x04, 0x08, 0x10, 0x7F,
|
||||||
|
0x05, 0x3E, 0x41, 0x41, 0x41, 0x3E,
|
||||||
|
0x05, 0x7F, 0x09, 0x09, 0x09, 0x06,
|
||||||
|
0x05, 0x3E, 0x41, 0x51, 0x21, 0x5E,
|
||||||
|
0x05, 0x7F, 0x09, 0x19, 0x29, 0x46,
|
||||||
|
0x05, 0x46, 0x49, 0x49, 0x49, 0x31,
|
||||||
|
0x05, 0x03, 0x01, 0x7F, 0x01, 0x03,
|
||||||
|
0x05, 0x3F, 0x40, 0x40, 0x40, 0x3F,
|
||||||
|
0x05, 0x1F, 0x20, 0x40, 0x20, 0x1F,
|
||||||
|
0x05, 0x3F, 0x40, 0x3C, 0x40, 0x3F,
|
||||||
|
0x05, 0x63, 0x14, 0x08, 0x14, 0x63,
|
||||||
|
0x05, 0x07, 0x08, 0x70, 0x08, 0x07,
|
||||||
|
0x05, 0x61, 0x51, 0x49, 0x45, 0x43,
|
||||||
|
0x05, 0x00, 0x7F, 0x41, 0x41, 0x00,
|
||||||
|
0x05, 0x02, 0x04, 0x08, 0x10, 0x20,
|
||||||
|
0x05, 0x00, 0x41, 0x41, 0x7F, 0x00,
|
||||||
|
0x05, 0x04, 0x02, 0x01, 0x02, 0x04,
|
||||||
|
0x05, 0x40, 0x40, 0x40, 0x40, 0x40,
|
||||||
|
0x05, 0x00, 0x01, 0x02, 0x04, 0x00,
|
||||||
|
0x05, 0x20, 0x54, 0x54, 0x54, 0x78,
|
||||||
|
0x05, 0x7F, 0x48, 0x44, 0x44, 0x38,
|
||||||
|
0x05, 0x38, 0x44, 0x44, 0x44, 0x48,
|
||||||
|
0x05, 0x38, 0x44, 0x44, 0x48, 0x7F,
|
||||||
|
0x05, 0x38, 0x54, 0x54, 0x54, 0x18,
|
||||||
|
0x05, 0x08, 0x7E, 0x09, 0x01, 0x02,
|
||||||
|
0x05, 0x08, 0x54, 0x54, 0x58, 0x3C,
|
||||||
|
0x05, 0x7F, 0x08, 0x04, 0x04, 0x78,
|
||||||
|
0x05, 0x00, 0x44, 0x7D, 0x40, 0x00,
|
||||||
|
0x05, 0x20, 0x40, 0x44, 0x3D, 0x00,
|
||||||
|
0x05, 0x7F, 0x10, 0x10, 0x28, 0x44,
|
||||||
|
0x05, 0x00, 0x41, 0x7F, 0x40, 0x00,
|
||||||
|
0x05, 0x7C, 0x04, 0x78, 0x04, 0x78,
|
||||||
|
0x05, 0x7C, 0x08, 0x04, 0x04, 0x78,
|
||||||
|
0x05, 0x38, 0x44, 0x44, 0x44, 0x38,
|
||||||
|
0x05, 0x7C, 0x14, 0x14, 0x14, 0x08,
|
||||||
|
0x05, 0x08, 0x14, 0x14, 0x0C, 0x7C,
|
||||||
|
0x05, 0x7C, 0x08, 0x04, 0x04, 0x08,
|
||||||
|
0x05, 0x48, 0x54, 0x54, 0x54, 0x24,
|
||||||
|
0x05, 0x04, 0x3F, 0x44, 0x40, 0x20,
|
||||||
|
0x05, 0x3C, 0x40, 0x40, 0x20, 0x7C,
|
||||||
|
0x05, 0x1C, 0x20, 0x40, 0x20, 0x1C,
|
||||||
|
0x05, 0x3C, 0x40, 0x38, 0x40, 0x3C,
|
||||||
|
0x05, 0x44, 0x28, 0x10, 0x28, 0x44,
|
||||||
|
0x05, 0x0C, 0x50, 0x50, 0x50, 0x3C,
|
||||||
|
0x05, 0x44, 0x64, 0x54, 0x4C, 0x44,
|
||||||
|
0x05, 0x00, 0x08, 0x36, 0x41, 0x00,
|
||||||
|
0x05, 0x00, 0x00, 0x7F, 0x00, 0x00,
|
||||||
|
0x05, 0x00, 0x41, 0x36, 0x08, 0x00,
|
||||||
|
0x05, 0x02, 0x01, 0x02, 0x04, 0x02,
|
||||||
|
0x05, 0x70, 0x48, 0x44, 0x48, 0x70,
|
||||||
|
0x05, 0x00, 0x0E, 0x11, 0x0E, 0x00,
|
||||||
|
0x05, 0x00, 0x12, 0x1F, 0x10, 0x00,
|
||||||
|
0x05, 0x00, 0x12, 0x19, 0x16, 0x00,
|
||||||
|
0x05, 0x00, 0x11, 0x15, 0x0B, 0x00,
|
||||||
|
0x05, 0x00, 0x07, 0x04, 0x1F, 0x00,
|
||||||
|
0x05, 0x00, 0x17, 0x15, 0x09, 0x00,
|
||||||
|
0x05, 0x00, 0x0E, 0x15, 0x09, 0x00,
|
||||||
|
0x05, 0x00, 0x01, 0x1D, 0x03, 0x00,
|
||||||
|
0x05, 0x00, 0x0A, 0x15, 0x0A, 0x00,
|
||||||
|
0x05, 0x00, 0x12, 0x15, 0x0E, 0x00,
|
||||||
|
0x05, 0x00, 0x04, 0x04, 0x04, 0x00,
|
||||||
|
0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||||
|
0x05, 0x3E, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x05, 0x3E, 0x3E, 0x00, 0x00, 0x00,
|
||||||
|
0x05, 0x3E, 0x3E, 0x00, 0x3E, 0x00,
|
||||||
|
0x05, 0x3E, 0x3E, 0x00, 0x3E, 0x3E,
|
||||||
|
0x05, 0x58, 0x64, 0x04, 0x64, 0x58,
|
||||||
|
0x05, 0x7F, 0x3E, 0x1C, 0x08, 0x7F,
|
||||||
|
0x05, 0x7F, 0x08, 0x1C, 0x3E, 0x7F,
|
||||||
|
0x05, 0x7F, 0x7F, 0x00, 0x7F, 0x7F,
|
||||||
|
0x05, 0x08, 0x3E, 0x22, 0x22, 0x22,
|
||||||
|
0x05, 0x22, 0x22, 0x22, 0x3E, 0x08,
|
||||||
|
0x05, 0x40, 0x00, 0x40, 0x00, 0x40,
|
||||||
|
0x05, 0x60, 0x00, 0x40, 0x00, 0x40,
|
||||||
|
0x05, 0x60, 0x00, 0x70, 0x00, 0x40,
|
||||||
|
0x05, 0x60, 0x00, 0x70, 0x00, 0x78,
|
||||||
|
0x05, 0x7C, 0x00, 0x40, 0x00, 0x40,
|
||||||
|
0x05, 0x7C, 0x00, 0x7E, 0x00, 0x40,
|
||||||
|
0x05, 0x7C, 0x00, 0x7E, 0x00, 0x7F,
|
||||||
|
0x05, 0x1C, 0x77, 0x41, 0x41, 0x41,
|
||||||
|
0x05, 0x41, 0x41, 0x41, 0x41, 0x41,
|
||||||
|
0x05, 0x41, 0x41, 0x41, 0x7F, 0x00,
|
||||||
|
0x05, 0x1C, 0x77, 0x41, 0x5D, 0x5D,
|
||||||
|
0x05, 0x41, 0x41, 0x41, 0x5D, 0x5D,
|
||||||
|
0x05, 0x5D, 0x5D, 0x41, 0x5D, 0x5D,
|
||||||
|
0x05, 0x5D, 0x5D, 0x41, 0x7F, 0x00,
|
||||||
|
0x05, 0x22, 0x1C, 0x14, 0x1C, 0x22,
|
||||||
|
0x05, 0x00, 0x08, 0x1C, 0x08, 0x00,
|
||||||
|
0x05, 0x00, 0x00, 0x77, 0x00, 0x00,
|
||||||
|
0x05, 0x46, 0x5D, 0x55, 0x5D, 0x31,
|
||||||
|
0x05, 0x7C, 0x55, 0x54, 0x55, 0x44,
|
||||||
|
0x05, 0x08, 0x08, 0x2A, 0x08, 0x08,
|
||||||
|
0x05, 0x00, 0x14, 0x08, 0x14, 0x00,
|
||||||
|
0x05, 0x08, 0x14, 0x22, 0x08, 0x14,
|
||||||
|
0x05, 0x7F, 0x41, 0x71, 0x31, 0x1F,
|
||||||
|
0x05, 0x03, 0x05, 0x7F, 0x05, 0x03,
|
||||||
|
0x05, 0x22, 0x14, 0x7F, 0x55, 0x22,
|
||||||
|
0x05, 0x02, 0x55, 0x7D, 0x05, 0x02,
|
||||||
|
0x05, 0x06, 0x09, 0x09, 0x06, 0x00,
|
||||||
|
0x05, 0x44, 0x44, 0x5F, 0x44, 0x44,
|
||||||
|
0x05, 0x1C, 0x14, 0x1C, 0x22, 0x7F,
|
||||||
|
0x05, 0x20, 0x3E, 0x61, 0x3E, 0x20,
|
||||||
|
0x05, 0x20, 0x50, 0x3F, 0x02, 0x0C,
|
||||||
|
0x05, 0x80, 0x7C, 0x20, 0x3C, 0x40,
|
||||||
|
0x05, 0x44, 0x3C, 0x04, 0x7C, 0x44,
|
||||||
|
0x05, 0x00, 0x00, 0x08, 0x00, 0x00,
|
||||||
|
0x05, 0x38, 0x55, 0x54, 0x55, 0x18,
|
||||||
|
0x05, 0x7E, 0x08, 0x10, 0x7F, 0x01,
|
||||||
|
0x05, 0x08, 0x10, 0x08, 0x04, 0x02,
|
||||||
|
0x05, 0x14, 0x08, 0x22, 0x14, 0x08,
|
||||||
|
0x05, 0x0E, 0x06, 0x0A, 0x10, 0x20,
|
||||||
|
0x05, 0x20, 0x10, 0x0A, 0x06, 0x0E,
|
||||||
|
0x05, 0x38, 0x30, 0x28, 0x04, 0x02,
|
||||||
|
0x05, 0x02, 0x04, 0x28, 0x30, 0x38,
|
||||||
|
0x05, 0x7E, 0x11, 0x11, 0x11, 0x7E,
|
||||||
|
0x05, 0x7F, 0x49, 0x49, 0x49, 0x31,
|
||||||
|
0x05, 0x7F, 0x49, 0x49, 0x49, 0x36,
|
||||||
|
0x05, 0x7F, 0x01, 0x01, 0x01, 0x03,
|
||||||
|
0x05, 0xC0, 0x7F, 0x41, 0x7F, 0xC0,
|
||||||
|
0x05, 0x7F, 0x49, 0x49, 0x49, 0x41,
|
||||||
|
0x05, 0x77, 0x08, 0x7F, 0x08, 0x77,
|
||||||
|
0x05, 0x41, 0x49, 0x49, 0x49, 0x36,
|
||||||
|
0x05, 0x7F, 0x10, 0x08, 0x04, 0x7F,
|
||||||
|
0x05, 0x7C, 0x21, 0x12, 0x09, 0x7C,
|
||||||
|
0x05, 0x7F, 0x08, 0x14, 0x22, 0x41,
|
||||||
|
0x05, 0x40, 0x3E, 0x01, 0x01, 0x7F,
|
||||||
|
0x05, 0x7F, 0x02, 0x0C, 0x02, 0x7F,
|
||||||
|
0x05, 0x7F, 0x08, 0x08, 0x08, 0x7F,
|
||||||
|
0x05, 0x3E, 0x41, 0x41, 0x41, 0x3E,
|
||||||
|
0x05, 0x7F, 0x01, 0x01, 0x01, 0x7F,
|
||||||
|
0x05, 0x7F, 0x09, 0x09, 0x09, 0x06,
|
||||||
|
0x05, 0x3E, 0x41, 0x41, 0x41, 0x22,
|
||||||
|
0x05, 0x01, 0x01, 0x7F, 0x01, 0x01,
|
||||||
|
0x05, 0x07, 0x48, 0x48, 0x48, 0x3F,
|
||||||
|
0x05, 0x0E, 0x11, 0x7F, 0x11, 0x0E,
|
||||||
|
0x05, 0x63, 0x14, 0x08, 0x14, 0x63,
|
||||||
|
0x05, 0x7F, 0x40, 0x40, 0x7F, 0xC0,
|
||||||
|
0x05, 0x07, 0x08, 0x08, 0x08, 0x7F,
|
||||||
|
0x05, 0x7F, 0x40, 0x7F, 0x40, 0x7F,
|
||||||
|
0x05, 0x7F, 0x40, 0x7F, 0x40, 0xFF,
|
||||||
|
0x05, 0x01, 0x7F, 0x48, 0x48, 0x30,
|
||||||
|
0x05, 0x7F, 0x48, 0x48, 0x30, 0x7F,
|
||||||
|
0x05, 0x7F, 0x48, 0x48, 0x48, 0x30,
|
||||||
|
0x05, 0x22, 0x41, 0x49, 0x49, 0x3E,
|
||||||
|
0x05, 0x7F, 0x08, 0x3E, 0x41, 0x3E,
|
||||||
|
0x05, 0x46, 0x29, 0x19, 0x09, 0x7F,
|
||||||
|
0x05, 0x20, 0x54, 0x54, 0x54, 0x78,
|
||||||
|
0x05, 0x3C, 0x4A, 0x4A, 0x49, 0x31,
|
||||||
|
0x05, 0x7C, 0x54, 0x54, 0x54, 0x28,
|
||||||
|
0x05, 0x7C, 0x04, 0x04, 0x04, 0x0C,
|
||||||
|
0x05, 0xC0, 0x78, 0x44, 0x7C, 0xC0,
|
||||||
|
0x05, 0x38, 0x54, 0x54, 0x54, 0x18,
|
||||||
|
0x05, 0x6C, 0x10, 0x7C, 0x10, 0x6C,
|
||||||
|
0x05, 0x44, 0x54, 0x54, 0x54, 0x28,
|
||||||
|
0x05, 0x7C, 0x20, 0x10, 0x08, 0x7C,
|
||||||
|
0x05, 0x7C, 0x40, 0x26, 0x10, 0x7C,
|
||||||
|
0x05, 0x7C, 0x10, 0x10, 0x28, 0x44,
|
||||||
|
0x05, 0x40, 0x38, 0x04, 0x04, 0x7C,
|
||||||
|
0x05, 0x7C, 0x08, 0x10, 0x08, 0x7C,
|
||||||
|
0x05, 0x7C, 0x10, 0x10, 0x10, 0x7C,
|
||||||
|
0x05, 0x38, 0x44, 0x44, 0x44, 0x38,
|
||||||
|
0x05, 0x7C, 0x04, 0x04, 0x04, 0x7C,
|
||||||
|
0x05, 0x7C, 0x14, 0x14, 0x14, 0x08,
|
||||||
|
0x05, 0x38, 0x44, 0x44, 0x44, 0x48,
|
||||||
|
0x05, 0x04, 0x04, 0x7C, 0x04, 0x04,
|
||||||
|
0x05, 0x0C, 0x50, 0x50, 0x50, 0x3C,
|
||||||
|
0x05, 0x18, 0x24, 0xFC, 0x24, 0x18,
|
||||||
|
0x05, 0x44, 0x28, 0x10, 0x28, 0x44,
|
||||||
|
0x05, 0x7C, 0x40, 0x40, 0x7C, 0xC0,
|
||||||
|
0x05, 0x0C, 0x10, 0x10, 0x10, 0x7C,
|
||||||
|
0x05, 0x7C, 0x40, 0x7C, 0x40, 0x7C,
|
||||||
|
0x05, 0x7C, 0x40, 0x7C, 0x40, 0xFC,
|
||||||
|
0x05, 0x04, 0x7C, 0x50, 0x50, 0x20,
|
||||||
|
0x05, 0x7C, 0x50, 0x50, 0x20, 0x7C,
|
||||||
|
0x05, 0x7C, 0x50, 0x50, 0x50, 0x20,
|
||||||
|
0x05, 0x28, 0x44, 0x54, 0x54, 0x38,
|
||||||
|
0x05, 0x7C, 0x10, 0x38, 0x44, 0x38,
|
||||||
|
0x05, 0x48, 0x34, 0x14, 0x14, 0x7C
|
||||||
|
};
|
||||||
|
#endif // YOFONTFONT5X7_H
|
||||||
|
#endif //DSP_ILI9225
|
||||||
@@ -71,5 +71,8 @@ void checkConnection(){
|
|||||||
display.putRequest({NEWMODE, PLAYER});
|
display.putRequest({NEWMODE, PLAYER});
|
||||||
if (playing) player.request.station = config.store.lastStation;
|
if (playing) player.request.station = config.store.lastStation;
|
||||||
checkMillis = millis();
|
checkMillis = millis();
|
||||||
|
#ifdef MQTT_HOST
|
||||||
|
connectToMqtt();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user