diff --git a/README.md b/README.md index 85363b7..712dccc 100644 --- a/README.md +++ b/README.md @@ -294,11 +294,15 @@ Work is in progress... --- ## Version history +#### v0.6.320 +- fixed ILI9225 display bug when used with VS1053B module +- fixed ILI9225 plugin support + #### 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##L111) for exsample) \ +- added support for I2S internal DAC, option I2S_INTERNAL (see [myoptions.h](exsamples/myoptions.h#L111) 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##L112) for exsample) +- new option SOFT_AP_REBOOT_DELAY (see [myoptions.h](exsamples/myoptions.h#L112) for exsample) - fixed MQTT connection when WiFi reconnected - fixed date display for ILI9341 displays - fixed garbage on volume control with displays ILI9341 diff --git a/exsamples/displayhandlers.ino b/exsamples/displayhandlers.ino index f8c8af9..44575b7 100644 --- a/exsamples/displayhandlers.ino +++ b/exsamples/displayhandlers.ino @@ -5,7 +5,7 @@ **************************************************************/ -#if (DSP_MODEL==DSP_ST7735) || (DSP_MODEL==DSP_ST7789) || (DSP_MODEL==DSP_SSD1327) || (DSP_MODEL==DSP_ILI9341) +#if (DSP_MODEL==DSP_ST7735) || (DSP_MODEL==DSP_ST7789) || (DSP_MODEL==DSP_SSD1327) || (DSP_MODEL==DSP_ILI9341) || (DSP_MODEL==DSP_ILI9225) #define WEATHER_REQUEST_INTERVAL 1800 //30min #define WEATHER_REQUEST_INTERVAL_FAULTY 30 @@ -158,6 +158,8 @@ void dsp_on_start(DspCore *dsp) { void dsp_on_init() { if (DSP_MODEL == DSP_ST7735 || (DSP_MODEL == DSP_SSD1327)) { hello.init(5, " * ", 1, TFT_LINEHGHT * 4 + 6, 0, ORANGE, TFT_BG); + }else if(DSP_MODEL == DSP_ILI9225){ + hello.init(5, " * ", 1, TFT_LINEHGHT * 6 + 5, 0, ORANGE, TFT_BG); } else { hello.init(5, " * ", 2, TFT_LINEHGHT * 9 + 5, 0, ORANGE, TFT_BG); } diff --git a/yoRadio/display.cpp b/yoRadio/display.cpp index 72124a8..9ddd79f 100644 --- a/yoRadio/display.cpp +++ b/yoRadio/display.cpp @@ -202,7 +202,7 @@ void Display::createCore0Task(){ NULL, /* parameter of the task */ 4, /* no one flies higher than the Toruk */ &TaskCore0, /* Task handle to keep track of created task */ - !xPortGetCoreID()); /* pin task to core 0 */ + (DSP_MODEL==DSP_ILI9225 && VS1053_CS!=255)?xPortGetCoreID():!xPortGetCoreID()); /* pin task to core 0 */ //delay(500); } diff --git a/yoRadio/options.h b/yoRadio/options.h index 7ab52a0..8b8ec15 100644 --- a/yoRadio/options.h +++ b/yoRadio/options.h @@ -1,7 +1,7 @@ #ifndef options_h #define options_h -#define VERSION "0.6.313" +#define VERSION "0.6.320" /******************************************************* DO NOT EDIT THIS FILE. diff --git a/yoRadio/src/audioVS1053/audioVS1053Ex.cpp b/yoRadio/src/audioVS1053/audioVS1053Ex.cpp index 28f2cf1..6e7da28 100644 --- a/yoRadio/src/audioVS1053/audioVS1053Ex.cpp +++ b/yoRadio/src/audioVS1053/audioVS1053Ex.cpp @@ -1634,6 +1634,7 @@ bool Audio::connecttohost(const char* host, const char* user, const char* pwd) { strcat(resp, "Host: "); strcat(resp, hostwoext); strcat(resp, "\r\n"); + strcat(resp, "User-Agent: Mozilla/5.0 \r\n"); strcat(resp, "Icy-MetaData:1\r\n"); strcat(resp, "Authorization: Basic "); strcat(resp, authorization); diff --git a/yoRadio/src/displays/displayILI9225.cpp b/yoRadio/src/displays/displayILI9225.cpp index cec6922..dbd8a9a 100644 --- a/yoRadio/src/displays/displayILI9225.cpp +++ b/yoRadio/src/displays/displayILI9225.cpp @@ -13,7 +13,7 @@ const char *mnths[12] = {"января","февраля","марта","апре extern unsigned char yofont5x7[]; extern unsigned char yofont10x14[]; -SPIClass hspi(VSPI); +//SPIClass hspi(VSPI); DspCore::DspCore(): TFT_22_ILI9225(TFT_RST, TFT_DC, TFT_CS, 0) { @@ -179,8 +179,8 @@ void DspCore::fillRect(int16_t x, int16_t y, int16_t w, int16_t h, } void DspCore::initD(uint16_t &screenwidth, uint16_t &screenheight) { - hspi.begin(); - begin(hspi); + //hspi.begin(); + begin(); invert(TFT_INVERT); setBackgroundColor(TFT_BG); clear(); diff --git a/yoRadio/src/displays/displayILI9225.h b/yoRadio/src/displays/displayILI9225.h index a564b3b..4b65bed 100644 --- a/yoRadio/src/displays/displayILI9225.h +++ b/yoRadio/src/displays/displayILI9225.h @@ -8,9 +8,12 @@ #define TFT_LINEHGHT 10 #define TFT_FRAMEWDT 4 #define META_SIZE 2 +#ifndef TITLE_SIZE1 #define TITLE_SIZE1 1 +#endif +#ifndef TITLE_SIZE2 #define TITLE_SIZE2 1 - +#endif #if !defined(SCROLLDELTA) || !defined(SCROLLTIME) #define SCROLLDELTA 3 #define SCROLLTIME 30 @@ -20,9 +23,12 @@ #define PLMITEMLENGHT 40 #define PLMITEMHEIGHT 22 #define TFT_FULLTIME 1 - +#ifndef TITLE_TOP1 #define TITLE_TOP1 TFT_FRAMEWDT + META_SIZE * TFT_LINEHGHT + 8 +#endif +#ifndef TITLE_TOP2 #define TITLE_TOP2 TFT_FRAMEWDT + (META_SIZE+2) * TFT_LINEHGHT +#endif #define TITLE_FG2 SILVER class DspCore: public TFT_22_ILI9225 { @@ -56,14 +62,6 @@ class DspCore: public TFT_22_ILI9225 { 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); @@ -72,6 +70,15 @@ class DspCore: public TFT_22_ILI9225 { 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); + 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; + }; extern DspCore dsp;