From 40f194ab26798e9c9344729689d8350d571453d0 Mon Sep 17 00:00:00 2001 From: e2002 Date: Tue, 5 Apr 2022 12:18:25 +0300 Subject: [PATCH] v0.6.110 --- Images.md | 4 +- README.md | 8 ++ exsamples/displayhandlers.ino | 100 ++++++++++----- exsamples/myoptions.h | 4 - images/img21.jpg | Bin 0 -> 284560 bytes yoRadio/config.cpp | 137 ++++++++++---------- yoRadio/config.h | 2 +- yoRadio/controls.cpp | 26 ++-- yoRadio/display.cpp | 161 +++++++++++++++++------- yoRadio/display.h | 19 +-- yoRadio/netserver.cpp | 10 +- yoRadio/netserver.h | 2 +- yoRadio/network.cpp | 1 + yoRadio/network.h | 2 + yoRadio/options.h | 7 +- yoRadio/player.cpp | 33 ++--- yoRadio/player.h | 10 +- yoRadio/src/audioI2S/AudioEx.h | 2 + yoRadio/src/audioVS1053/audioVS1053Ex.h | 4 +- yoRadio/src/displays/displayDummy.cpp | 2 +- yoRadio/src/displays/displayDummy.h | 2 +- yoRadio/src/displays/displayILI9341.cpp | 6 +- yoRadio/src/displays/displayILI9341.h | 6 +- yoRadio/src/displays/displayLC1602.cpp | 4 +- yoRadio/src/displays/displayLC1602.h | 3 +- yoRadio/src/displays/displayN5110.cpp | 6 +- yoRadio/src/displays/displayN5110.h | 11 +- yoRadio/src/displays/displaySH1106.cpp | 26 ++-- yoRadio/src/displays/displaySH1106.h | 11 +- yoRadio/src/displays/displaySSD1305.cpp | 12 +- yoRadio/src/displays/displaySSD1305.h | 6 +- yoRadio/src/displays/displaySSD1306.cpp | 12 +- yoRadio/src/displays/displaySSD1306.h | 7 +- yoRadio/src/displays/displaySSD1327.cpp | 22 ++-- yoRadio/src/displays/displaySSD1327.h | 35 +++++- yoRadio/src/displays/displayST7735.cpp | 102 +++++++++------ yoRadio/src/displays/displayST7735.h | 16 ++- yoRadio/src/displays/displayST7789.cpp | 13 +- yoRadio/src/displays/displayST7789.h | 8 +- yoRadio/yoRadio.ino | 55 +------- 40 files changed, 530 insertions(+), 367 deletions(-) create mode 100644 images/img21.jpg diff --git a/Images.md b/Images.md index d1cb481..9409647 100644 --- a/Images.md +++ b/Images.md @@ -41,4 +41,6 @@ \ ![ёRadio](images/img19.jpg)\ \ -![ёRadio](images/img20.jpg) +![ёRadio](images/img20.jpg)\ +\ +![ёRadio](images/img21.jpg) diff --git a/README.md b/README.md index 93af113..b49e6ab 100644 --- a/README.md +++ b/README.md @@ -280,6 +280,14 @@ Work is in progress... --- ## Version history +#### v0.6.110 +- the logic of division by cores has been changed +- fixed choppy playback (again) +- improvements in the stability of the web interface +- increased smoothness of the encoder +- bug fixes +- bug fixes + #### v0.6.012 - fixed choppy playback diff --git a/exsamples/displayhandlers.ino b/exsamples/displayhandlers.ino index 6f6edbf..56d8474 100644 --- a/exsamples/displayhandlers.ino +++ b/exsamples/displayhandlers.ino @@ -1,14 +1,17 @@ /************************************************************** -* -* An example of displaying user information on the display. -* This file must be in the root directory of the sketch. -* + + An example of displaying user information on the display. + This file must be in the root directory of the sketch. + **************************************************************/ #if DSP_MODEL==DSP_ST7735 +// 3600s = 60 minutes to not flooding +#define WEATHER_REQUEST_INTERVAL 3600 // 60min #include // https://github.com/Bodmer/OpenWeather #include // https://github.com/Bodmer/JSON_Decoder +#include String api_key = "********************************"; // openweathermap.org API key @@ -19,59 +22,90 @@ String units = "metric"; String language = "ru"; OW_Weather ow; +Ticker ticker; /*********************************************** - * scrolled line + scrolled line ***********************************************/ Scroll hello; +char weather[140] = { 0 }; +bool weatherRequest = false; +TaskHandle_t weatherUpdateTaskHandle; -/*********************************************** - * Occurs when the display is initialized - ***********************************************/ -void dsp_on_init(){ - hello.init(" * ", 1, TFT_LINEHGHT*4+6, 2000, ORANGE, TFT_BG); -} - -/********************************************************************************************* - * The display has initialized, the network is connected, the player is ready to play. - * DspCore class documentation is missing :^( See the source in src/displays - *********************************************************************************************/ -void dsp_on_start(DspCore *dsp){ +void getWeather( void * pvParameters ) { OW_current *current = new OW_current; OW_hourly *hourly = new OW_hourly; OW_daily *daily = new OW_daily; - char weather[140] = { 0 }; + delay(5000); ow.getForecast(current, hourly, daily, api_key, latitude, longitude, units, language); - - sprintf(weather, "temp: %.1f * pressure: %d * humidity: %d", current->temp, (int)(current->pressure/1.333), current->humidity); - - hello.setText(dsp->utf8Rus(weather, true)); + sprintf(weather, "TEMP: %.1f C * PRESS: %d HG * HUM: %d%%", current->temp, (int)(current->pressure / 1.333), current->humidity); + weatherRequest = true; + vTaskDelete( NULL ); } -/************************ - * The loop cycle - ************************/ -void dsp_on_loop(){ - if(display.mode==PLAYER) hello.loop(); +void updateWeather() { + xTaskCreatePinnedToCore( + getWeather, /* Task function. */ + "getWeather1", /* name of task. */ + 8192, /* Stack size of task */ + NULL, /* parameter of the task */ + 0, /* priority of the task */ + &weatherUpdateTaskHandle, /* Task handle to keep track of created task */ + 0); /* pin task to core CORE_FOR_LOOP_CONTROLS */ } /*********************************************** - * Occurs when the display changes mode + Occurs when the network is connected ***********************************************/ -void dsp_on_newmode(displayMode_e newmode){ +void network_on_connect() { + ticker.attach(WEATHER_REQUEST_INTERVAL, updateWeather); + updateWeather(); +} + +/********************************************************************************************* + The display has initialized, the network is connected, the player is ready to play. + DspCore class documentation is missing :^( See the source in src/displays + *********************************************************************************************/ +void dsp_on_start(DspCore *dsp) { + +} + +/*********************************************** + Occurs when the display is initialized + ***********************************************/ +void dsp_on_init() { + hello.init(5, " * ", 1, TFT_LINEHGHT*4+6, 0, ORANGE, TFT_BG); + Serial.println(TFT_LINEHGHT*4+6); +} + +/************************ + The loop cycle + ************************/ +void dsp_on_loop() { + if (weatherRequest) { + weatherRequest = false; + hello.setText(weather); + } + if (display.mode == PLAYER) hello.loop(); +} + +/*********************************************** + Occurs when the display changes mode + ***********************************************/ +void dsp_on_newmode(displayMode_e newmode) { if (newmode == PLAYER) { hello.reset(); - }else{ + } else { hello.lock(); } } /************************ - * Before print the clock + Before print the clock ************************/ -bool dsp_before_clock(DspCore *dsp, bool dots){ - if(display.mode==PLAYER){ +bool dsp_before_clock(DspCore *dsp, bool dots) { + if (display.mode == PLAYER) { dsp->setFont(); dsp->setTextSize(1); display.centerText(dsp->utf8Rus("Hello from plugin!", true), display.screenheight - TFT_FRAMEWDT * 2 - TFT_LINEHGHT * 2 - 2, PINK, TFT_BG); diff --git a/exsamples/myoptions.h b/exsamples/myoptions.h index 514d9ea..b88cf0c 100644 --- a/exsamples/myoptions.h +++ b/exsamples/myoptions.h @@ -9,10 +9,6 @@ Uncomment the lines you need, to override the default value and set the values a The connection tables are located here https://github.com/e2002/yoradio#connection-tables ********************************************************/ -/* CORE_FOR_LOOP_CONTROLS. See description/available values in the options.h file */ -/* This setting was added to eliminate audio jerking when adjusting the volume/playlist. The default value is 2 */ -#define CORE_FOR_LOOP_CONTROLS 2 -/******************************************/ /* DSP_MODEL. See description/available values in the options.h file */ /* This option is required. Use DSP_DUMMY if no display is connected */ diff --git a/images/img21.jpg b/images/img21.jpg new file mode 100644 index 0000000000000000000000000000000000000000..327a769a6849fbe95b8d85bf0c5af265805c9131 GIT binary patch literal 284560 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�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

-QF<8Re)v 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

O`9UGoyAPBA^=YE@c+ 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 #include #include "display.h" +#include "player.h" Config config; void Config::init() { + EEPROM.begin(EEPROM_SIZE); eepromRead(EEPROM_START, store); - if (store.tz_set!=57){ // update to v0.4.200 + if (store.tz_set != 57) { // update to v0.4.200 store.tz_set = 57; store.tzHour = 3; store.tzMin = 0; @@ -29,22 +31,17 @@ void Config::init() { template int Config::eepromWrite(int ee, const T& value) { const byte* p = (const byte*)(const void*)&value; int i; - EEPROM.begin(EEPROM_SIZE); for (i = 0; i < sizeof(value); i++) EEPROM.write(ee++, *p++); EEPROM.commit(); - delay(20); - EEPROM.end(); return i; } template int Config::eepromRead(int ee, T& value) { byte* p = (byte*)(void*)&value; - int i; - EEPROM.begin(EEPROM_SIZE); + int i;; for (i = 0; i < sizeof(value); i++) *p++ = EEPROM.read(ee++); - EEPROM.end(); return i; } @@ -67,13 +64,13 @@ void Config::setDefaults() { } void Config::setTimezone(int8_t tzh, int8_t tzm) { - store.tzHour=tzh; - store.tzMin=tzm; + store.tzHour = tzh; + store.tzMin = tzm; save(); } void Config::setTimezoneOffset(uint16_t tzo) { - store.timezoneOffset=tzo; + store.timezoneOffset = tzo; save(); } @@ -87,7 +84,11 @@ void Config::save() { byte Config::setVolume(byte val, bool dosave) { store.volume = val; - if (dosave) save(); + if (dosave) { + //save(); + EEPROM.write(EEPROM_START + sizeof(store.config_set), store.volume); + EEPROM.commit(); + } return store.volume; } @@ -128,17 +129,17 @@ byte Config::setLastSSID(byte val) { return store.lastSSID; } -void Config::setTitle(const char* title){ +void Config::setTitle(const char* title) { memset(config.station.title, 0, BUFLEN); strlcpy(config.station.title, title, BUFLEN); - display.refreshTitle = true; + display.title(); } -void Config::setStation(const char* station){ +void Config::setStation(const char* station) { memset(config.station.name, 0, BUFLEN); strlcpy(config.station.name, station, BUFLEN); } - + void Config::indexPlaylist() { File playlist = SPIFFS.open(PLAYLIST_PATH, "r"); if (!playlist) { @@ -244,16 +245,16 @@ bool Config::parseCSV(const char* line, char* name, char* url, int &ovol) { char *tmpe; const char* cursor = line; char buf[5]; - tmpe=strstr(cursor, "\t"); - if(tmpe==NULL) return false; - strlcpy(name, cursor, tmpe-cursor+1); - if(strlen(name)==0) return false; - cursor=tmpe+1; - tmpe=strstr(cursor, "\t"); - if(tmpe==NULL) return false; - strlcpy(url, cursor, tmpe-cursor+1); - if(strlen(url)==0) return false; - cursor=tmpe+1; + tmpe = strstr(cursor, "\t"); + if (tmpe == NULL) return false; + strlcpy(name, cursor, tmpe - cursor + 1); + if (strlen(name) == 0) return false; + cursor = tmpe + 1; + tmpe = strstr(cursor, "\t"); + if (tmpe == NULL) return false; + strlcpy(url, cursor, tmpe - cursor + 1); + if (strlen(url) == 0) return false; + cursor = tmpe + 1; if (strlen(cursor) == 0) return false; strlcpy(buf, cursor, 4); ovol = atoi(buf); @@ -264,68 +265,68 @@ bool Config::parseJSON(const char* line, char* name, char* url, int &ovol) { char* tmps, *tmpe; const char* cursor = line; char port[8], host[254], file[254]; - tmps=strstr(cursor, "\":\""); - if(tmps==NULL) return false; - tmpe=strstr(tmps, "\",\""); - if(tmpe==NULL) return false; - strlcpy(name, tmps+3, tmpe-tmps-3+1); - if(strlen(name)==0) return false; - cursor=tmpe+3; - tmps=strstr(cursor, "\":\""); - if(tmps==NULL) return false; - tmpe=strstr(tmps, "\",\""); - if(tmpe==NULL) return false; - strlcpy(host, tmps+3, tmpe-tmps-3+1); - if(strlen(host)==0) return false; - if(strstr(host,"http://")==NULL && strstr(host,"https://")==NULL) { + tmps = strstr(cursor, "\":\""); + if (tmps == NULL) return false; + tmpe = strstr(tmps, "\",\""); + if (tmpe == NULL) return false; + strlcpy(name, tmps + 3, tmpe - tmps - 3 + 1); + if (strlen(name) == 0) return false; + cursor = tmpe + 3; + tmps = strstr(cursor, "\":\""); + if (tmps == NULL) return false; + tmpe = strstr(tmps, "\",\""); + if (tmpe == NULL) return false; + strlcpy(host, tmps + 3, tmpe - tmps - 3 + 1); + if (strlen(host) == 0) return false; + if (strstr(host, "http://") == NULL && strstr(host, "https://") == NULL) { sprintf(file, "http://%s", host); - strlcpy(host, file, strlen(file)+1); + strlcpy(host, file, strlen(file) + 1); } - cursor=tmpe+3; - tmps=strstr(cursor, "\":\""); - if(tmps==NULL) return false; - tmpe=strstr(tmps, "\",\""); - if(tmpe==NULL) return false; - strlcpy(file, tmps+3, tmpe-tmps-3+1); - cursor=tmpe+3; - tmps=strstr(cursor, "\":\""); - if(tmps==NULL) return false; - tmpe=strstr(tmps, "\",\""); - if(tmpe==NULL) return false; - strlcpy(port, tmps+3, tmpe-tmps-3+1); + cursor = tmpe + 3; + tmps = strstr(cursor, "\":\""); + if (tmps == NULL) return false; + tmpe = strstr(tmps, "\",\""); + if (tmpe == NULL) return false; + strlcpy(file, tmps + 3, tmpe - tmps - 3 + 1); + cursor = tmpe + 3; + tmps = strstr(cursor, "\":\""); + if (tmps == NULL) return false; + tmpe = strstr(tmps, "\",\""); + if (tmpe == NULL) return false; + strlcpy(port, tmps + 3, tmpe - tmps - 3 + 1); int p = atoi(port); - if(p>0){ + if (p > 0) { sprintf(url, "%s:%d%s", host, p, file); - }else{ + } else { sprintf(url, "%s%s", host, file); } - cursor=tmpe+3; - tmps=strstr(cursor, "\":\""); - if(tmps==NULL) return false; - tmpe=strstr(tmps, "\"}"); - if(tmpe==NULL) return false; - strlcpy(port, tmps+3, tmpe-tmps-3+1); + cursor = tmpe + 3; + tmps = strstr(cursor, "\":\""); + if (tmps == NULL) return false; + tmpe = strstr(tmps, "\"}"); + if (tmpe == NULL) return false; + strlcpy(port, tmps + 3, tmpe - tmps - 3 + 1); ovol = atoi(port); return true; } bool Config::parseWsCommand(const char* line, char* cmd, char* val, byte cSize) { char *tmpe; - tmpe=strstr(line, "="); - if(tmpe==NULL) return false; + tmpe = strstr(line, "="); + if (tmpe == NULL) return false; memset(cmd, 0, cSize); - strlcpy(cmd, line, tmpe-line+1); - if (strlen(tmpe+1) == 0) return false; + strlcpy(cmd, line, tmpe - line + 1); + if (strlen(tmpe + 1) == 0) return false; memset(val, 0, cSize); - strlcpy(val, tmpe+1, tmpe+1-line+1); + strlcpy(val, tmpe + 1, tmpe + 1 - line + 1); return true; } bool Config::parseSsid(const char* line, char* ssid, char* pass) { char *tmpe; - tmpe=strstr(line, "\t"); - if(tmpe==NULL) return false; - uint16_t pos= tmpe-line; + tmpe = strstr(line, "\t"); + if (tmpe == NULL) return false; + uint16_t pos = tmpe - line; if (pos > 19 || strlen(line) > 61) return false; memset(ssid, 0, 20); strlcpy(ssid, line, pos + 1); diff --git a/yoRadio/config.h b/yoRadio/config.h index e4432d8..d0cc31c 100644 --- a/yoRadio/config.h +++ b/yoRadio/config.h @@ -2,7 +2,7 @@ #define config_h #include "Arduino.h" -#define EEPROM_SIZE 1024 +#define EEPROM_SIZE 32 #define EEPROM_START 0 #define BUFLEN 140 #define PLAYLIST_PATH "/data/playlist.csv" diff --git a/yoRadio/controls.cpp b/yoRadio/controls.cpp index 03de0b0..1371ad1 100644 --- a/yoRadio/controls.cpp +++ b/yoRadio/controls.cpp @@ -103,6 +103,7 @@ void initControls() { } void loopControls() { + if(display.mode==LOST) return; #if ENC_BTNL!=255 encoderLoop(); #endif @@ -204,9 +205,9 @@ void irLoop() { irBlink(); if (display.mode == NUMBERS) { display.swichMode(PLAYER); - //player.play(display.numOfNextStation); - player.request.station = display.numOfNextStation; - player.request.doSave = true; + player.play(display.numOfNextStation); + //player.request.station = display.numOfNextStation; + //player.request.doSave = true; display.numOfNextStation = 0; break; } @@ -300,7 +301,7 @@ void irLoop() { #define TS_Y_MAX 3800 #endif #ifndef TS_STEPS - #define TS_STEPS 70 + #define TS_STEPS 40 #endif boolean wastouched = true; @@ -351,9 +352,9 @@ void touchLoop() { switch (direct) { case TSD_LEFT: case TSD_RIGHT: { + touchLongPress=millis(); if(display.mode==PLAYER || display.mode==VOL){ int16_t xDelta = map(abs(touchVol - touchX), 0, display.screenwidth, 0, TS_STEPS); - Serial.println(touchVol - touchX); display.swichMode(VOL); if (xDelta>1) { controlsEvent((touchVol - touchX)<0); @@ -364,6 +365,7 @@ void touchLoop() { } case TSD_UP: case TSD_DOWN: { + touchLongPress=millis(); if(display.mode==PLAYER || display.mode==STATIONS){ int16_t yDelta = map(abs(touchStation - touchY), 0, display.screenheight, 0, TS_STEPS); display.swichMode(STATIONS); @@ -385,7 +387,7 @@ void touchLoop() { } else { if (wastouched) {/* END TOUCH */ if (direct == TDS_REQUEST) { - if(millis()-touchLongPress < BTN_PRESS_TICKS){ + if(millis()-touchLongPress < BTN_PRESS_TICKS*2){ onBtnClick(EVT_BTNCENTER); }else{ display.swichMode(display.mode == PLAYER ? STATIONS : PLAYER); @@ -473,10 +475,10 @@ void controlsEvent(bool toRight) { } if (display.mode == STATIONS) { int p = toRight ? display.currentPlItem + 1 : display.currentPlItem - 1; - if (p < 1) p = 1; - if (p > config.store.countStation) p = config.store.countStation; + if (p < 1) p = config.store.countStation; + if (p > config.store.countStation) p = 1; display.currentPlItem = p; - display.clear(); + //display.clear(); display.drawPlaylist(); } } @@ -499,9 +501,9 @@ void onBtnClick(int id) { } if (display.mode == STATIONS) { display.swichMode(PLAYER); - //player.play(display.currentPlItem); - player.request.station = display.currentPlItem; - player.request.doSave = true; + player.play(display.currentPlItem); + //player.request.station = display.currentPlItem; + //player.request.doSave = true; } break; } diff --git a/yoRadio/display.cpp b/yoRadio/display.cpp index 5340c16..9de493a 100644 --- a/yoRadio/display.cpp +++ b/yoRadio/display.cpp @@ -21,10 +21,6 @@ void ticks() { #ifndef STARTTIME_PL #define STARTTIME_PL 0 #endif -#ifndef SCROLLDELTA -#define SCROLLDELTA 3 -#define SCROLLTIME 83 -#endif #ifndef META_SIZE #define META_SIZE 2 #endif @@ -62,8 +58,11 @@ void ticks() { #define DO_SCROLL (tWidth > (display.screenwidth - (dsp.fillSpaces?((texttop==0)?CLOCK_SPACE:VOL_SPACE):0))) #endif -void Scroll::init(const char *sep, byte tsize, byte top, uint16_t dlay, uint16_t fgcolor, uint16_t bgcolor) { +byte currentScrollId = 0; /* one scroll on one time */ + +void Scroll::init(byte ScrollId, const char *sep, byte tsize, byte top, uint16_t dlay, uint16_t fgcolor, uint16_t bgcolor) { textsize = tsize; + id = ScrollId; if (textsize == 0) return; texttop = top; fg = fgcolor; @@ -77,12 +76,17 @@ void Scroll::init(const char *sep, byte tsize, byte top, uint16_t dlay, uint16_ void Scroll::setText(const char *txt) { if (textsize == 0) return; memset(text, 0, BUFLEN / 2); - strlcpy(text, txt, BUFLEN / 2); + strlcpy(text, txt, BUFLEN / 2 - 1); getbounds(textwidth, textheight, sepwidth); + if (doscroll) { + memset(text2, 0, BUFLEN + 10); + sprintf(text2, "%s%s%s", text, separator, text); + } if (!locked) { clearscrolls(); reset(); } + lockRequest = false; } void Scroll::lock() { @@ -99,8 +103,9 @@ void Scroll::reset() { clear(); setTextParams(); dsp.set_Cursor(TFT_FRAMEWDT, texttop); - dsp.printText(text); + dsp.printText(doscroll ? text2 : text); drawFrame(); + if (currentScrollId == id) currentScrollId = 0; } void Scroll::setTextParams() { @@ -113,11 +118,17 @@ void Scroll::clearscrolls() { if (textsize == 0) return; x = TFT_FRAMEWDT; scrolldelay = millis(); - clear(); + //clear(); } void Scroll::loop() { + if (lockRequest) { + return; + } if (textsize == 0) return; + if (currentScrollId != 0 && currentScrollId != id) { + return; + } if (checkdelay(x == TFT_FRAMEWDT ? delayStartScroll : SCROLLTIME, scrolldelay)) { scroll(); sticks(); @@ -143,17 +154,25 @@ void Scroll::sticks() { if (!doscroll || locked || textsize == 0) return; setTextParams(); dsp.set_Cursor(x, texttop); - dsp.printText(text); - dsp.printText(separator); - dsp.printText(text); - drawFrame(); + dsp.printText(text2); + + //dsp.printText(separator); + //dsp.printText(text); + if (x == TFT_FRAMEWDT) drawFrame(); } void Scroll::scroll() { if (!doscroll || textsize == 0) return; + //if (textwidth > display.screenwidth) { x -= SCROLLDELTA; - if (-x > textwidth + sepwidth - TFT_FRAMEWDT) x = TFT_FRAMEWDT; + if (-x > textwidth + sepwidth - TFT_FRAMEWDT) { + x = TFT_FRAMEWDT; + drawFrame(); + currentScrollId = 0; + } else { + currentScrollId = id; + } //} } @@ -175,14 +194,14 @@ void Scroll::getbounds(uint16_t &tWidth, uint16_t &tHeight, uint16_t &sWidth) { void Display::init() { dsp.initD(screenwidth, screenheight); dsp.drawLogo(); - meta.init(" * ", META_SIZE, TFT_FRAMEWDT, STARTTIME, TFT_LOGO, TFT_BG); - title1.init(" * ", TITLE_SIZE1, TITLE_TOP1, STARTTIME, TITLE_FG1, TFT_BG); - title2.init(" * ", TITLE_SIZE2, TITLE_TOP2, STARTTIME, TITLE_FG2, TFT_BG); + meta.init(1, " * ", META_SIZE, TFT_FRAMEWDT, STARTTIME, TFT_LOGO, TFT_BG); + title1.init(2, " * ", TITLE_SIZE1, TITLE_TOP1, STARTTIME, TITLE_FG1, TFT_BG); + title2.init(3, " * ", TITLE_SIZE2, TITLE_TOP2, STARTTIME, TITLE_FG2, TFT_BG); int yStart = (screenheight / 2 - PLMITEMHEIGHT / 2) + 3; #ifdef PL_TOP yStart = PL_TOP; #endif - plCurrent.init(" * ", PLCURRENT_SIZE, yStart, STARTTIME_PL, TFT_BG, TFT_LOGO); + plCurrent.init(4, " * ", PLCURRENT_SIZE, yStart, STARTTIME_PL, TFT_BG, TFT_LOGO); plCurrent.lock(); if (dsp_on_init) dsp_on_init(); } @@ -196,9 +215,6 @@ void Display::apScreen() { void Display::start() { clear(); - refreshTitle = false; - refreshStation = false; - refreshVolume = false; if (network.status != CONNECTED) { apScreen(); return; @@ -214,7 +230,7 @@ void Display::start() { time(); timer.attach_ms(1000, ticks); if (dsp_on_start) dsp_on_start(&dsp); - // Экстреминатус секвестирован /*дважды*/ трижды + // Экстреминатус секвестирован /*дважды*/ /*трижды*/ четырежды } void Display::clear() { @@ -233,9 +249,11 @@ void Display::swichMode(displayMode_e newmode) { volume(); } if (newmode == PLAYER) { + currentScrollId = 0; meta.reset(); title1.reset(); if (TITLE_SIZE2 != 0) title2.reset(); + player.loop(); plCurrent.lock(); time(true); #ifdef CLOCK_SPACE // if set space for clock in 1602 displays @@ -244,6 +262,7 @@ void Display::swichMode(displayMode_e newmode) { rssi(); volume(); #endif + dsp.loop(true); } else { if (newmode != NUMBERS) { meta.lock(); @@ -257,6 +276,9 @@ void Display::swichMode(displayMode_e newmode) { if (newmode == VOL) { dsp.frameTitle("VOLUME"); } + if (newmode == LOST) { + dsp.frameTitle("* LOST *"); + } if (newmode == NUMBERS) { //dsp.frameTitle("STATION"); meta.reset(); @@ -264,6 +286,7 @@ void Display::swichMode(displayMode_e newmode) { if (newmode == STATIONS) { currentPlItem = config.store.lastStation; plCurrent.reset(); + currentScrollId = 0; drawPlaylist(); } if (dsp_on_newmode) dsp_on_newmode(newmode); @@ -287,10 +310,26 @@ void Display::drawVolume() { } } -void Display::drawPlaylist() { +TaskHandle_t drawPlaylistTaskHandle = NULL; +bool taskDone = true; +void getPlaylist( void * pvParameters ) { char buf[PLMITEMLENGHT]; - dsp.drawPlaylist(currentPlItem, buf); - plCurrent.setText(dsp.utf8Rus(buf, true)); + display.plCurrent.lockRequest = true; + dsp.drawPlaylist(display.currentPlItem, buf); + display.plCurrent.setText(dsp.utf8Rus(buf, true)); + taskDone = true; + vTaskDelete( NULL ); +} + +void Display::drawPlaylist() { + while (!taskDone) player.loop(); + taskDone = false; + xTaskCreatePinnedToCore(getPlaylist, "getPlaylist0", 4096, NULL, 1, &drawPlaylistTaskHandle, 0); + /* + char buf[PLMITEMLENGHT]; + dsp.drawPlaylist(currentPlItem, buf); + plCurrent.setText(dsp.utf8Rus(buf, true)); + */ } void Display::drawNextStationNum(uint16_t num) { @@ -303,18 +342,6 @@ void Display::drawNextStationNum(uint16_t num) { } void Display::loop() { - if(refreshStation){ - refreshStation = false; - station(); - } - if(refreshTitle){ - refreshTitle = false; - title(); - } - if(refreshVolume){ - refreshVolume = false; - volume(); - } switch (mode) { case PLAYER: { drawPlayer(); @@ -344,7 +371,7 @@ void Display::centerText(const char* text, byte y, uint16_t fg, uint16_t bg) { void Display::bootString(const char* text, byte y) { dsp.centerText(text, y == 1 ? BOOTSTR_TOP1 : BOOTSTR_TOP2, TFT_LOGO, TFT_BG); - dsp.loop(); + dsp.loop(true); } void Display::bootLogo() { @@ -358,20 +385,26 @@ void Display::rightText(const char* text, byte y, uint16_t fg, uint16_t bg) { void Display::station() { meta.setText(dsp.utf8Rus(config.station.name, true)); - dsp.loop(); +#ifdef DEBUG_TITLES + meta.setText(dsp.utf8Rus("Utenim adminim veniam FM", true)); +#endif + dsp.loop(true); //netserver.requestOnChange(STATION, 0); } void Display::returnTile() { meta.setText(dsp.utf8Rus(config.station.name, true)); +#ifdef DEBUG_TITLES + meta.setText(dsp.utf8Rus("Utenim adminim veniam FM", true)); +#endif meta.reset(); - dsp.loop(); + dsp.loop(true); } void Display::title() { /* - memset(config.station.title, 0, BUFLEN); - strlcpy(config.station.title, str, BUFLEN); + memset(config.station.title, 0, BUFLEN); + strlcpy(config.station.title, str, BUFLEN); */ char ttl[BUFLEN / 2] = { 0 }; char sng[BUFLEN / 2] = { 0 }; @@ -380,14 +413,19 @@ void Display::title() { if ((ici = strstr(config.station.title, " - ")) != NULL && TITLE_SIZE2 != 0) { strlcpy(sng, ici + 3, BUFLEN / 2); strlcpy(ttl, config.station.title, strlen(config.station.title) - strlen(ici) + 1); + } else { strlcpy(ttl, config.station.title, BUFLEN / 2); sng[0] = '\0'; } +#ifdef DEBUG_TITLES + strlcpy(ttl, "Duis aute irure dolor in reprehenderit in voluptate velit", BUFLEN / 2); + strlcpy(sng, "Excepteur sint occaecat cupidatat non proident", BUFLEN / 2); +#endif title1.setText(dsp.utf8Rus(ttl, true)); if (TITLE_SIZE2 != 0) title2.setText(dsp.utf8Rus(sng, true)); - dsp.loop(); + dsp.loop(true); } //netserver.requestOnChange(TITLE, 0); } @@ -408,10 +446,27 @@ void Display::ip() { dsp.ip(WiFi.localIP().toString().c_str()); } +void Display::checkConnection() { + if (WiFi.status() != WL_CONNECTED) { + bool playing = player.mode == PLAYING; + swichMode(LOST); + if (playing) player.mode = STOPPED; + WiFi.disconnect(); + ip(); + WiFi.reconnect(); + while (WiFi.status() != WL_CONNECTED) { + delay(500); + } + swichMode(PLAYER); + if (playing) player.play(config.store.lastStation); + } +} + void Display::time(bool redraw) { if (dsp_before_clock) if (!dsp_before_clock(&dsp, dt)) return; char timeStringBuff[20] = { 0 }; if (!dt) { + checkConnection(); heap(); rssi(); } @@ -429,8 +484,22 @@ void Display::time(bool redraw) { if (dsp_after_clock) dsp_after_clock(&dsp, dt); } -void Display::volume() { - dsp.drawVolumeBar(mode == VOL); - //netserver.requestOnChange(VOLUME, 0); - netserver.volRequest = true; +TaskHandle_t drawVolumeTaskHandle = NULL; +bool taskVDone = true; +void drawVolumeTask( void * pvParameters ) { + delay(20); /* but it's too fast 0__o */ + dsp.drawVolumeBar(true); + taskVDone = true; + vTaskDelete( NULL ); +} + +void Display::volume() { + if (mode == VOL) { + while (!taskVDone) player.loop(); + taskVDone = false; + xTaskCreatePinnedToCore(drawVolumeTask, "drawVolumeTask0", 2048, NULL, 1, &drawVolumeTaskHandle, 0); + } else { + dsp.drawVolumeBar(false); + } + netserver.requestOnChange(VOLUME, 0); } diff --git a/yoRadio/display.h b/yoRadio/display.h index 111df9f..4f9717d 100644 --- a/yoRadio/display.h +++ b/yoRadio/display.h @@ -33,20 +33,22 @@ #include "src/displays/displayCustom.h" #endif -enum displayMode_e { PLAYER, VOL, STATIONS, NUMBERS }; +enum displayMode_e { PLAYER, VOL, STATIONS, NUMBERS, LOST }; class Scroll { public: Scroll() { }; - void init(const char *sep, byte tsize, byte top, uint16_t dlay, uint16_t fgcolor, uint16_t bgcolor); + void init(byte ScrollId, const char *sep, byte tsize, byte top, uint16_t dlay, uint16_t fgcolor, uint16_t bgcolor); void setText(const char *txt); void loop(); void reset(); void lock(); void unlock(); + bool lockRequest; private: - byte textsize, texttop; + byte textsize, texttop, id; char text[BUFLEN/2]; + char text2[BUFLEN+10]; char separator[4]; uint16_t fg, bg; uint16_t delayStartScroll; @@ -71,13 +73,16 @@ class Display { displayMode_e mode; uint16_t currentPlItem; uint16_t numOfNextStation; - bool refreshTitle, refreshStation, refreshVolume; + Scroll plCurrent; public: Display() {}; void init(); void clear(); void loop(); void start(); + void station(); + void title(); + void volume(); void centerText(const char* text, byte y, uint16_t fg, uint16_t bg); void rightText(const char* text, byte y, uint16_t fg, uint16_t bg); void bootString(const char* text, byte y); @@ -88,19 +93,17 @@ class Display { void drawNextStationNum(uint16_t num); private: Ticker timer; - Scroll meta, title1, title2, plCurrent; + Scroll meta, title1, title2; bool dt; // dots unsigned long volDelay; void heap(); void rssi(); - void station(); - void title(); - void volume(); void ip(); void time(bool redraw = false); void apScreen(); void drawPlayer(); void drawVolume(); + void checkConnection(); }; extern Display display; diff --git a/yoRadio/netserver.cpp b/yoRadio/netserver.cpp index 7c28b95..f874059 100644 --- a/yoRadio/netserver.cpp +++ b/yoRadio/netserver.cpp @@ -24,7 +24,7 @@ byte ssidCount; bool NetServer::begin() { importRequest = false; - volRequest = false; + webserver.on("/", HTTP_GET, [](AsyncWebServerRequest * request) { ssidCount = 0; request->send(SPIFFS, "/www/index.html", String(), false, processor); @@ -71,10 +71,6 @@ void NetServer::loop() { } importRequest = false; } - if (volRequest) { - requestOnChange(VOLUME, 0); - volRequest = false; - } if(rssi<255){ requestOnChange(NRSSI, 0); } @@ -209,9 +205,9 @@ void NetServer::requestOnChange(requestType_e request, uint8_t clientId) { } case TITLE: { sprintf (buf, "{\"meta\": \"%s\"}", config.station.title); - if (player.requesToStart) { + if (player.requestToStart) { telnet.info(); - player.requesToStart = false; + player.requestToStart = false; } else { telnet.printf("##CLI.META#: %s\n> ", config.station.title); } diff --git a/yoRadio/netserver.h b/yoRadio/netserver.h index 78038e0..c87c882 100644 --- a/yoRadio/netserver.h +++ b/yoRadio/netserver.h @@ -10,7 +10,7 @@ enum requestType_e { PLAYLIST, STATION, ITEM, TITLE, VOLUME, NRSSI, BITRATE, MOD class NetServer { public: uint8_t playlistrequest; // ClientId want the playlist - bool importRequest, volRequest; + bool importRequest; public: NetServer() {}; bool begin(); diff --git a/yoRadio/network.cpp b/yoRadio/network.cpp index c5a7ce3..d649401 100644 --- a/yoRadio/network.cpp +++ b/yoRadio/network.cpp @@ -55,6 +55,7 @@ void Network::begin() { status = CONNECTED; requestTimeSync(); ntimer.attach_ms(TSYNC_DELAY, syncTime); + if (network_on_connect) network_on_connect(); } void Network::requestTimeSync(bool withTelnetOutput) { diff --git a/yoRadio/network.h b/yoRadio/network.h index b4a890d..3788ecb 100644 --- a/yoRadio/network.h +++ b/yoRadio/network.h @@ -24,4 +24,6 @@ class Network { extern Network network; +extern __attribute__((weak)) void network_on_connect(); + #endif diff --git a/yoRadio/options.h b/yoRadio/options.h index f6aaaea..6a19e3b 100644 --- a/yoRadio/options.h +++ b/yoRadio/options.h @@ -1,12 +1,12 @@ #ifndef options_h #define options_h -#define VERSION "0.6.012" +#define VERSION "0.6.110" /******************************************************* DO NOT EDIT THIS FILE. ALL YOUR SETTINGS WILL BE OVERWRITTEN DURING THE UPDATE. -STORE YOUR SETTINGS IN A myoptions.h FILE. +STORE YOUR SETTINGS IN THE *** myoptions.h *** FILE. ********************************************************/ #if __has_include("myoptions.h") @@ -202,9 +202,6 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti #ifndef MUTE_VAL #define MUTE_VAL HIGH // Write this to MUTE_PIN when player is stopped #endif -#ifndef CORE_FOR_LOOP_CONTROLS - #define CORE_FOR_LOOP_CONTROLS 2 // 0 for Core0, 1 for Core1, 2 for Auto, 255 for Not Used -#endif /* *** ST7735 display submodel *** diff --git a/yoRadio/player.cpp b/yoRadio/player.cpp index 380e813..447c756 100644 --- a/yoRadio/player.cpp +++ b/yoRadio/player.cpp @@ -41,7 +41,7 @@ void Player::init() { setVolume(0); mode = STOPPED; setOutputPins(false); - requesToStart = true; + requestToStart = true; zeroRequest(); } @@ -49,7 +49,7 @@ void Player::stopInfo() { config.setSmartStart(0); telnet.info(); netserver.requestOnChange(MODE, 0); - requesToStart = true; + requestToStart = true; } void Player::loop() { @@ -60,7 +60,7 @@ void Player::loop() { //digitalWrite(LED_BUILTIN, LOW); setOutputPins(false); //display.title("[stopped]"); - config.setTitle("[stopped]"); + config.setTitle(display.mode==LOST?"":"[stopped]"); netserver.requestOnChange(TITLE, 0); stopSong(); stopInfo(); @@ -75,13 +75,11 @@ void Player::loop() { } if (request.volume >= 0) { config.setVolume(request.volume, request.doSave); - //display.volume(); - display.refreshVolume = true; telnet.printf("##CLI.VOL#: %d\n", config.store.volume); Audio::setVolume(volToI2S(request.volume)); zeroRequest(); + display.volume(); } - yield(); } void Player::zeroRequest() { @@ -97,31 +95,26 @@ void Player::setOutputPins(bool isPlaying) { void Player::play(uint16_t stationId) { stopSong(); - //digitalWrite(LED_BUILTIN, LOW); setOutputPins(false); - //display.title("[connecting]"); - config.setTitle("[connecting]"); - //display.refreshTitle = true; netserver.requestOnChange(TITLE, 0); //telnet.printf("##CLI.META#: %s\n", config.station.title); config.loadStation(stationId); setVol(config.store.volume, true); - //display.station(); - display.refreshStation = true; + display.station(); netserver.requestOnChange(STATION, 0); telnet.printf("##CLI.NAMESET#: %d %s\n", config.store.lastStation, config.station.name); + display.loop(); if (connecttohost(config.station.url)) { mode = PLAYING; config.setSmartStart(1); netserver.requestOnChange(MODE, 0); - //digitalWrite(LED_BUILTIN, HIGH); setOutputPins(true); - requesToStart = true; + requestToStart = true; }else{ - Serial.println("Some Unknown Bug..."); + Serial.println("some unknown bug..."); } - zeroRequest(); + display.loop(); } void Player::prev() { @@ -172,15 +165,7 @@ void Player::setVol(byte volume, bool inside) { if (inside) { setVolume(volToI2S(volume)); } else { -#if CORE_FOR_LOOP_CONTROLS==255 request.volume = volume; request.doSave = true; -#else - config.setVolume(volume, true); - //display.volume(); - display.refreshVolume = true; - telnet.printf("##CLI.VOL#: %d\n", config.store.volume); - Audio::setVolume(volToI2S(volume)); -#endif } } diff --git a/yoRadio/player.h b/yoRadio/player.h index 98b6998..ac4e20e 100644 --- a/yoRadio/player.h +++ b/yoRadio/player.h @@ -9,24 +9,22 @@ #endif enum audioMode_e { PLAYING, STOPPED }; - struct audiorequest_t { uint16_t station; int volume; bool doSave; }; - class Player: public Audio { public: - audioMode_e mode; - audiorequest_t request; - bool requesToStart; + audioMode_e mode; + audiorequest_t request; + bool requestToStart; + void zeroRequest(); public: Player(); void init(); void loop(); - void zeroRequest(); void play(uint16_t stationId); void prev(); void next(); diff --git a/yoRadio/src/audioI2S/AudioEx.h b/yoRadio/src/audioI2S/AudioEx.h index 4ebaa56..8a14b31 100644 --- a/yoRadio/src/audioI2S/AudioEx.h +++ b/yoRadio/src/audioI2S/AudioEx.h @@ -30,7 +30,9 @@ #include #endif // SDFATFS_USED +#ifndef AUDIOBUFFER_MULTIPLIER #define AUDIOBUFFER_MULTIPLIER 13 +#endif #ifdef SDFATFS_USED typedef File32 File; diff --git a/yoRadio/src/audioVS1053/audioVS1053Ex.h b/yoRadio/src/audioVS1053/audioVS1053Ex.h index ccbcacb..ff79c89 100644 --- a/yoRadio/src/audioVS1053/audioVS1053Ex.h +++ b/yoRadio/src/audioVS1053/audioVS1053Ex.h @@ -9,7 +9,9 @@ #ifndef _vs1053_ext #define _vs1053_ext +#ifndef AUDIOBUFFER_MULTIPLIER #define AUDIOBUFFER_MULTIPLIER 13 +#endif #define VS1053VOLM 128 // 128 or 96 only #define VS1053VOL(v) (VS1053VOLM==128?log10(((float)v+1)) * 50.54571334 + 128:log10(((float)v+1)) * 64.54571334 + 96) @@ -269,7 +271,7 @@ public: bool isRunning() {/*Serial.printf("m_f_running=%d\n", m_f_running); */return m_f_running;} void setBalance(int8_t bal = 0); void setTone(int8_t gainLowPass, int8_t gainBandPass, int8_t gainHighPass); - + // implement several function with respect to the index of string bool startsWith (const char* base, const char* str) { return (strstr(base, str) - base) == 0;} bool endsWith (const char* base, const char* str) { diff --git a/yoRadio/src/displays/displayDummy.cpp b/yoRadio/src/displays/displayDummy.cpp index cebaeb2..74b4c2f 100644 --- a/yoRadio/src/displays/displayDummy.cpp +++ b/yoRadio/src/displays/displayDummy.cpp @@ -169,7 +169,7 @@ void DspCore::printText(const char* txt) { } -void DspCore::loop() { +void DspCore::loop(bool force) { } diff --git a/yoRadio/src/displays/displayDummy.h b/yoRadio/src/displays/displayDummy.h index 46166bb..5852baf 100644 --- a/yoRadio/src/displays/displayDummy.h +++ b/yoRadio/src/displays/displayDummy.h @@ -37,7 +37,7 @@ class DspCore { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; diff --git a/yoRadio/src/displays/displayILI9341.cpp b/yoRadio/src/displays/displayILI9341.cpp index 227bc2f..19347e2 100644 --- a/yoRadio/src/displays/displayILI9341.cpp +++ b/yoRadio/src/displays/displayILI9341.cpp @@ -109,7 +109,6 @@ void DspCore::apScreen() { } void DspCore::initD(uint16_t &screenwidth, uint16_t &screenheight) { - //begin(26000000L); /*багиловим*/ begin(); /* SPI_DEFAULT_FREQ 40000000 */ invertDisplay(TFT_INVERT); cp437(true); @@ -143,6 +142,7 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { } else { setTextColor(iclrs[abs(i - 4)-1], TFT_BG); setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT); + fillRect(0, yStart + i * PLMITEMHEIGHT-1, swidth, PLMITEMHEIGHT-4, TFT_BG); print(utf8Rus(plMenu[i], true)); } } @@ -154,8 +154,8 @@ void DspCore::clearDsp() { void DspCore::drawScrollFrame(uint16_t texttop, uint16_t textheight, uint16_t bg) { if (TFT_FRAMEWDT==0) return; - fillRect(0, texttop, TFT_FRAMEWDT, textheight, bg); fillRect(swidth - TFT_FRAMEWDT, texttop, TFT_FRAMEWDT, textheight, bg); + fillRect(0, texttop, TFT_FRAMEWDT, textheight, bg); } void DspCore::getScrolBbounds(const char* text, const char* separator, byte textsize, uint16_t &tWidth, uint16_t &tHeight, uint16_t &sWidth) { @@ -365,7 +365,7 @@ void DspCore::printText(const char* txt) { print(txt); } -void DspCore::loop() { +void DspCore::loop(bool force) { } diff --git a/yoRadio/src/displays/displayILI9341.h b/yoRadio/src/displays/displayILI9341.h index b18bab4..11fcf15 100644 --- a/yoRadio/src/displays/displayILI9341.h +++ b/yoRadio/src/displays/displayILI9341.h @@ -13,8 +13,10 @@ #define TITLE_SIZE1 2 #define TITLE_SIZE2 2 +#if !defined(SCROLLDELTA) || !defined(SCROLLTIME) #define SCROLLDELTA 4 -#define SCROLLTIME 60 +#define SCROLLTIME 40 +#endif #define PLMITEMS 9 #define PLMITEMLENGHT 40 @@ -53,7 +55,7 @@ class DspCore: public Adafruit_ILI9341 { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; char oldTimeBuf[20]; diff --git a/yoRadio/src/displays/displayLC1602.cpp b/yoRadio/src/displays/displayLC1602.cpp index 04b362a..fc25c2d 100644 --- a/yoRadio/src/displays/displayLC1602.cpp +++ b/yoRadio/src/displays/displayLC1602.cpp @@ -52,6 +52,7 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { for (byte i = 0; i < PLMITEMS; i++) { plMenu[i][0] = '\0'; } + config.fillPlMenu(plMenu, currentItem, PLMITEMS); for (byte i = 0; i < PLMITEMS; i++) { strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1); @@ -167,11 +168,10 @@ void DspCore::printText(const char* txt) { setCursor(nextX, yOffset); } -void DspCore::loop() { +void DspCore::loop(bool force) { if (checkdelay(SCROLLTIME, loopdelay)) { //display(); } - yield(); } boolean DspCore::checkdelay(int m, unsigned long & tstamp) { diff --git a/yoRadio/src/displays/displayLC1602.h b/yoRadio/src/displays/displayLC1602.h index 73b4563..8f03ede 100644 --- a/yoRadio/src/displays/displayLC1602.h +++ b/yoRadio/src/displays/displayLC1602.h @@ -20,6 +20,7 @@ #define SCROLLDELTA 1 #define SCROLLTIME 250 + #define BOOTSTR_TOP2 0 #define BOOTSTR_TOP1 1 #define STARTTIME_PL 2000 @@ -57,7 +58,7 @@ class DspCore: public LiquidCrystal { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight, xOffset, yOffset; int16_t nextX; diff --git a/yoRadio/src/displays/displayN5110.cpp b/yoRadio/src/displays/displayN5110.cpp index 3584680..5fc6fef 100644 --- a/yoRadio/src/displays/displayN5110.cpp +++ b/yoRadio/src/displays/displayN5110.cpp @@ -153,6 +153,7 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1); } else { setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT); + fillRect(0, yStart + i * PLMITEMHEIGHT, swidth, PLMITEMHEIGHT - 1, TFT_BG); print(utf8Rus(plMenu[i], true)); } } @@ -309,11 +310,10 @@ void DspCore::printText(const char* txt) { print(txt); } -void DspCore::loop() { - if (checkdelay(83, loopdelay)) { +void DspCore::loop(bool force) { + if (checkdelay(SCROLLTIME, loopdelay) || force) { display(); } - yield(); } boolean DspCore::checkdelay(int m, unsigned long &tstamp) { diff --git a/yoRadio/src/displays/displayN5110.h b/yoRadio/src/displays/displayN5110.h index 7813adc..5cf20b1 100644 --- a/yoRadio/src/displays/displayN5110.h +++ b/yoRadio/src/displays/displayN5110.h @@ -11,8 +11,13 @@ #define TFT_LINEHGHT 8 #define TFT_FRAMEWDT 0 -#define SCROLLDELTA 8 -#define SCROLLTIME 332 +#if !defined(SCROLLDELTA) || !defined(SCROLLTIME) +//#define SCROLLDELTA 8 +//#define SCROLLTIME 332 +#define SCROLLDELTA 4 +#define SCROLLTIME 250 +#endif + #define META_SIZE 1 #define TITLE_TOP1 TFT_FRAMEWDT + TFT_LINEHGHT+1 #define TITLE_SIZE2 0 @@ -50,7 +55,7 @@ class DspCore: public Adafruit_PCD8544 { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; unsigned long loopdelay; diff --git a/yoRadio/src/displays/displaySH1106.cpp b/yoRadio/src/displays/displaySH1106.cpp index b6c9be7..d262f37 100644 --- a/yoRadio/src/displays/displaySH1106.cpp +++ b/yoRadio/src/displays/displaySH1106.cpp @@ -14,6 +14,10 @@ #define LOGO_WIDTH 21 #define LOGO_HEIGHT 32 +#ifndef I2CFREQ_HZ +#define I2CFREQ_HZ 4000000UL +#endif + const char *dow[7] = {"вс","пн","вт","ср","чт","пт","сб"}; const unsigned char logo [] PROGMEM= @@ -30,7 +34,7 @@ const unsigned char logo [] PROGMEM= TwoWire I2CSH1106 = TwoWire(0); #if DSP_MODEL==DSP_SH1106 -DspCore::DspCore(): Adafruit_SH1106G(128, 64, &I2CSH1106, -1) { +DspCore::DspCore(): Adafruit_SH1106G(128, 64, &I2CSH1106, -1, I2CFREQ_HZ) { } #else @@ -177,9 +181,11 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1); } else { setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT); + fillRect(0, yStart + i * PLMITEMHEIGHT, swidth, PLMITEMHEIGHT - 1, TFT_BG); print(utf8Rus(plMenu[i], true)); } } + display(); } void DspCore::clearDsp() { @@ -218,6 +224,7 @@ void DspCore::centerText(const char* text, byte y, uint16_t fg, uint16_t bg) { setCursor((swidth - w) / 2, y); fillRect(0, y, swidth, h, bg); print(txt); + display(); } void DspCore::rightText(const char* text, byte y, uint16_t fg, uint16_t bg) { @@ -246,13 +253,14 @@ void DspCore::printClock(struct tm timeinfo, bool dots, bool redraw) { char timeStringBuff[20] = { 0 }; strftime(timeStringBuff, sizeof(timeStringBuff), "%H:%M", &timeinfo); setTextSize(2); - setCursor(CLCLF, 34); + setCursor(CLCLF, (DSP_MODEL==DSP_SH1107)?30:34); setTextColor(TFT_FG, TFT_BG); print(timeStringBuff); setTextSize(1); - setCursor(CLCLF + 6*2*5+1, 34+1); + setCursor(CLCLF + 6*2*5+1, (DSP_MODEL==DSP_SH1107)?30+1:34+1); sprintf(timeStringBuff, "%02d", timeinfo.tm_sec); print(timeStringBuff); + display(); } void DspCore::drawVolumeBar(bool withNumber) { @@ -270,10 +278,11 @@ void DspCore::drawVolumeBar(bool withNumber) { int16_t x1, y1; sprintf(volstr, "%d", config.store.volume); getTextBounds(volstr, 0, 0, &x1, &y1, &wv, &hv); - fillRect(TFT_FRAMEWDT, 24, swidth - TFT_FRAMEWDT / 2, hv + 3, TFT_BG); + fillRect(TFT_FRAMEWDT, 24, swidth - TFT_FRAMEWDT / 2, hv + 3, TFT_BG);; setCursor((swidth - wv) / 2, 24); print(volstr); } + display(); } void DspCore::drawNextStationNum(uint16_t num) { @@ -287,6 +296,7 @@ void DspCore::drawNextStationNum(uint16_t num) { fillRect(TFT_FRAMEWDT, 24, swidth - TFT_FRAMEWDT / 2, hv + 3, TFT_BG); setCursor((swidth - wv) / 2, 24); print(numstr); + display(); } void DspCore::frameTitle(const char* str) { @@ -324,13 +334,13 @@ void DspCore::set_Cursor(int16_t x, int16_t y) { void DspCore::printText(const char* txt) { print(txt); + display(); } -void DspCore::loop() { - if (checkdelay(SCROLLTIME, loopdelay)) { - display(); +void DspCore::loop(bool force) { + if (checkdelay(SCROLLTIME, loopdelay) || force) { + //display(); } - yield(); } boolean DspCore::checkdelay(int m, unsigned long &tstamp) { diff --git a/yoRadio/src/displays/displaySH1106.h b/yoRadio/src/displays/displaySH1106.h index f1c96ce..d5349a3 100644 --- a/yoRadio/src/displays/displaySH1106.h +++ b/yoRadio/src/displays/displaySH1106.h @@ -14,8 +14,15 @@ #define TITLE_TOP2 TFT_FRAMEWDT + 3 * TFT_LINEHGHT #define PLCURRENT_SIZE 1 #define TFT_FULLTIME 1 + +#if DSP_MODEL==DSP_SH1107 +#define TITLE_SIZE2 0 +#endif + +#if !defined(SCROLLDELTA) || !defined(SCROLLTIME) #define SCROLLDELTA 3 -#define SCROLLTIME 83 +#define SCROLLTIME 60 +#endif #if DSP_MODEL==DSP_SH1106 class DspCore: public Adafruit_SH1106G { @@ -49,7 +56,7 @@ class DspCore: public Adafruit_SH1107 { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; unsigned long loopdelay; diff --git a/yoRadio/src/displays/displaySSD1305.cpp b/yoRadio/src/displays/displaySSD1305.cpp index 015f93f..f8b7f6c 100644 --- a/yoRadio/src/displays/displaySSD1305.cpp +++ b/yoRadio/src/displays/displaySSD1305.cpp @@ -13,6 +13,10 @@ #define LOGO_WIDTH 21 #define LOGO_HEIGHT 32 +#ifndef DEF_SPI_FREQ +#define DEF_SPI_FREQ 7000000UL /* set it to 0 for system default */ +#endif + const char *dow[7] = {"вс","пн","вт","ср","чт","пт","сб"}; const unsigned char logo [] PROGMEM= @@ -27,7 +31,7 @@ const unsigned char logo [] PROGMEM= 0x1f, 0xff, 0xe0, 0x0f, 0xff, 0xe0, 0x03, 0xff, 0xc0, 0x00, 0xfe, 0x00 }; -DspCore::DspCore(): Adafruit_SSD1305(128, 64, &SPI, TFT_DC, TFT_RST, TFT_CS, 7000000UL) { +DspCore::DspCore(): Adafruit_SSD1305(128, 64, &SPI, TFT_DC, TFT_RST, TFT_CS, DEF_SPI_FREQ) { } @@ -161,6 +165,7 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1); } else { setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT); + fillRect(0, yStart + i * PLMITEMHEIGHT, swidth, PLMITEMHEIGHT - 1, TFT_BG); print(utf8Rus(plMenu[i], true)); } } @@ -303,11 +308,10 @@ void DspCore::printText(const char* txt) { print(txt); } -void DspCore::loop() { - if (checkdelay(FPS, loopdelay)) { +void DspCore::loop(bool force) { + if (checkdelay(SCROLLTIME, loopdelay) || force) { display(); } - yield(); } boolean DspCore::checkdelay(int m, unsigned long &tstamp) { diff --git a/yoRadio/src/displays/displaySSD1305.h b/yoRadio/src/displays/displaySSD1305.h index 97796e0..06e3180 100644 --- a/yoRadio/src/displays/displaySSD1305.h +++ b/yoRadio/src/displays/displaySSD1305.h @@ -16,9 +16,11 @@ #define TITLE_TOP2 TFT_FRAMEWDT + 2 * TFT_LINEHGHT #define PLCURRENT_SIZE 1 #define TFT_FULLTIME 1 + +#if !defined(SCROLLDELTA) || !defined(SCROLLTIME) #define SCROLLDELTA 3 #define SCROLLTIME 83 -#define FPS 50 +#endif class DspCore: public Adafruit_SSD1305 { public: @@ -48,7 +50,7 @@ class DspCore: public Adafruit_SSD1305 { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; unsigned long loopdelay; diff --git a/yoRadio/src/displays/displaySSD1306.cpp b/yoRadio/src/displays/displaySSD1306.cpp index 776591f..254fa03 100644 --- a/yoRadio/src/displays/displaySSD1306.cpp +++ b/yoRadio/src/displays/displaySSD1306.cpp @@ -15,6 +15,7 @@ #define LOGO_WIDTH 21 #define LOGO_HEIGHT 32 + const unsigned char logo [] PROGMEM= { 0x06, 0x03, 0x00, 0x0f, 0x07, 0x80, 0x1f, 0x8f, 0xc0, 0x1f, 0x8f, 0xc0, @@ -28,9 +29,13 @@ const unsigned char logo [] PROGMEM= }; #endif +#ifndef I2CFREQ_HZ +#define I2CFREQ_HZ 4000000UL +#endif + TwoWire I2CSSD1306 = TwoWire(0); -DspCore::DspCore(): Adafruit_SSD1306(128, ((DSP_MODEL==DSP_SSD1306)?64:32), &I2CSSD1306, I2C_RST) { +DspCore::DspCore(): Adafruit_SSD1306(128, ((DSP_MODEL==DSP_SSD1306)?64:32), &I2CSSD1306, I2C_RST, I2CFREQ_HZ) { } @@ -177,6 +182,7 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1); } else { setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT); + fillRect(0, yStart + i * PLMITEMHEIGHT, swidth, PLMITEMHEIGHT - 1, TFT_BG); print(utf8Rus(plMenu[i], true)); } } @@ -330,8 +336,8 @@ void DspCore::printText(const char* txt) { print(txt); } -void DspCore::loop() { - if (checkdelay(83, loopdelay)) { +void DspCore::loop(bool force) { + if (checkdelay(83, loopdelay) || force) { #if DSP_MODEL==DSP_SSD1306x32 if(fillSpaces) printClock(insideClc); #endif diff --git a/yoRadio/src/displays/displaySSD1306.h b/yoRadio/src/displays/displaySSD1306.h index 53d42aa..ceb91f7 100644 --- a/yoRadio/src/displays/displaySSD1306.h +++ b/yoRadio/src/displays/displaySSD1306.h @@ -9,6 +9,11 @@ #define TFT_FRAMEWDT 0 #define PLMITEMLENGHT 40 +#if !defined(SCROLLDELTA) || !defined(SCROLLTIME) +#define SCROLLDELTA 2 +#define SCROLLTIME 40 +#endif + #if DSP_MODEL==DSP_SSD1306 #define PLMITEMS 5 @@ -65,7 +70,7 @@ class DspCore: public Adafruit_SSD1306 { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; unsigned long loopdelay; diff --git a/yoRadio/src/displays/displaySSD1327.cpp b/yoRadio/src/displays/displaySSD1327.cpp index 95cda2f..ec62967 100644 --- a/yoRadio/src/displays/displaySSD1327.cpp +++ b/yoRadio/src/displays/displaySSD1327.cpp @@ -14,7 +14,7 @@ #ifndef I2CFREQ_HZ -#define I2CFREQ_HZ 4000000UL +#define I2CFREQ_HZ 6000000UL #endif TwoWire tw = TwoWire(0); @@ -155,10 +155,11 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1); } else { setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT); + fillRect(0, yStart + i * PLMITEMHEIGHT - 1, swidth, PLMITEMHEIGHT - 4, TFT_BG); print(utf8Rus(plMenu[i], true)); } } - //display(); + display(); } void DspCore::clearDsp() { @@ -196,6 +197,7 @@ void DspCore::centerText(const char* text, byte y, uint16_t fg, uint16_t bg) { setCursor((swidth - w) / 2, y); fillRect(0, y, swidth, h, bg); print(txt); + display(); } void DspCore::rightText(const char* text, byte y, uint16_t fg, uint16_t bg) { @@ -206,7 +208,7 @@ void DspCore::rightText(const char* text, byte y, uint16_t fg, uint16_t bg) { setCursor(swidth - w - TFT_FRAMEWDT, y); fillRect(swidth - w - TFT_FRAMEWDT, y, w, h, bg); print(text); - display(); + //display(); } void DspCore::displayHeapForDebug() { @@ -242,6 +244,7 @@ void DspCore::printClock(const char* timestr) { } void DspCore::drawVolumeBar(bool withNumber) { + if (withNumber) delay(150); /* buuuut iiiiit's toooooo faaaast 0000__oooo !!111 ommm____nomm____nomm */ int16_t vTop = sheight - TFT_FRAMEWDT * 2; int16_t vWidth = swidth - TFT_FRAMEWDT - 4; uint8_t ww = map(config.store.volume, 0, 254, 0, vWidth - 2); @@ -249,6 +252,7 @@ void DspCore::drawVolumeBar(bool withNumber) { drawRect(TFT_FRAMEWDT, vTop - 2, vWidth, 6, TFT_LOGO); fillRect(TFT_FRAMEWDT + 1, vTop - 1, ww, 5, TFT_LOGO); if (withNumber) { + setTextSize(1); setTextColor(TFT_FG); setFont(&DS_DIGI28pt7b); @@ -258,11 +262,12 @@ void DspCore::drawVolumeBar(bool withNumber) { sprintf(volstr, "%d", config.store.volume); getTextBounds(volstr, 0, 0, &x1, &y1, &wv, &hv); fillRect(TFT_FRAMEWDT, 48, swidth - TFT_FRAMEWDT / 2, hv + 3, TFT_BG); + //fillRect(24, 48, 80, hv + 3, TFT_BG); setCursor((swidth - wv) / 2, 48 + hv); print(volstr); setFont(); - display(); } + display(); } void DspCore::drawNextStationNum(uint16_t num) { @@ -278,11 +283,13 @@ void DspCore::drawNextStationNum(uint16_t num) { setCursor((swidth - wv) / 2, 48 + hv); print(numstr); setFont(); + display(); } void DspCore::frameTitle(const char* str) { setTextSize(2); centerText(str, TFT_FRAMEWDT, TFT_LOGO, TFT_BG); + //display(); } void DspCore::rssi(const char* str) { @@ -313,11 +320,12 @@ void DspCore::set_Cursor(int16_t x, int16_t y) { void DspCore::printText(const char* txt) { print(txt); + display(); } -void DspCore::loop() { - if (checkdelay(LOOP_DELAY, loopdelay)) { - display(); +void DspCore::loop(bool force) { + if (checkdelay(LOOP_DELAY, loopdelay) || force) { + //display(); } yield(); } diff --git a/yoRadio/src/displays/displaySSD1327.h b/yoRadio/src/displays/displaySSD1327.h index 3f72776..3f7cbf3 100644 --- a/yoRadio/src/displays/displaySSD1327.h +++ b/yoRadio/src/displays/displaySSD1327.h @@ -13,10 +13,27 @@ #define PLMITEMLENGHT 40 #define PLMITEMHEIGHT 22 #define TITLE_TOP2 TFT_FRAMEWDT + 3 * TFT_LINEHGHT - +/* +#ifdef DSP_FPS +#if DSP_FPS!=0 +#define SCROLLDELTA (DSP_FPS>30)?3:(80/DSP_FPS) +#define SCROLLTIME (DSP_FPS>30)?34:(1000/DSP_FPS) +#else #define SCROLLDELTA 4 #define SCROLLTIME 83 #define LOOP_DELAY 83 +#endif +#else +#define SCROLLDELTA 4 +#define SCROLLTIME 83 +#define LOOP_DELAY 40 +#endif +*/ +#if !defined(SCROLLDELTA) || !defined(SCROLLTIME) +#define SCROLLDELTA 4 +#define SCROLLTIME 83 +#define LOOP_DELAY 60 +#endif class DspCore: public Adafruit_SSD1327 { public: @@ -46,7 +63,7 @@ class DspCore: public Adafruit_SSD1327 { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; int16_t x, y; @@ -60,12 +77,18 @@ class DspCore: public Adafruit_SSD1327 { extern DspCore dsp; + /* + SSD1327_GRAYTABLE, + 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, + 0x07, 0x08, 0x10, 0x18, 0x20, 0x2f, 0x38, 0x3f, + */ + /* * TFT COLORS */ -#define SILVER 0x7 -#define TFT_BG 0x0 -#define TFT_FG 0x8 -#define TFT_LOGO 0xF +#define SILVER 0x07 +#define TFT_BG 0x00 +#define TFT_FG 0x08 +#define TFT_LOGO 0x3f #endif diff --git a/yoRadio/src/displays/displayST7735.cpp b/yoRadio/src/displays/displayST7735.cpp index fb6ec93..a50255f 100644 --- a/yoRadio/src/displays/displayST7735.cpp +++ b/yoRadio/src/displays/displayST7735.cpp @@ -8,42 +8,6 @@ #include "../../config.h" #include "../../network.h" -class GFXClock { - public: - GFXClock() {}; - uint16_t init(Adafruit_ST7735 &tftd, const GFXfont *font, uint16_t fgcolor, uint16_t bgcolor ) { - _dsp = &tftd; - tftd.setFont(font); - tftd.getTextBounds("88:88", 0, 0, &x, &y, &cwidth, &cheight); - tftd.setFont(); - fg = fgcolor; - bg = bgcolor; - swidth = tftd.width(); - _canvas = new GFXcanvas1(swidth, cheight + 3); - _canvas->setFont(font); - _canvas->setTextWrap(false); - _canvas->setTextColor(WHITE); - uint16_t header = TFT_FRAMEWDT + 4 * TFT_LINEHGHT; - uint16_t footer = TFT_FRAMEWDT * 2 + TFT_LINEHGHT + 5; - clockY = header + (tftd.height() - header - footer) / 2 - cheight / 2; - return cheight; - } - void print(const char* timestr) { - _canvas->fillScreen(BLACK); - _canvas->getTextBounds(timestr, 0, 0, &x, &y, &cwidth, &cheight); - _canvas->setCursor((swidth - cwidth) / 2 - 4, cheight); - _canvas->print(timestr); - _dsp->drawBitmap(0, clockY , _canvas->getBuffer(), swidth, cheight + 3, fg, bg); - } - private: - int16_t x, y; - uint16_t cwidth, cheight, fg, bg, clockY, swidth; - GFXcanvas1 *_canvas; - Adafruit_ST7735 *_dsp; -}; - -GFXClock gclock; - DspCore::DspCore(): Adafruit_ST7735(&SPI, TFT_CS, TFT_DC, TFT_RST) { } @@ -150,7 +114,7 @@ void DspCore::initD(uint16_t &screenwidth, uint16_t &screenheight) { screenheight = height(); swidth = screenwidth; sheight = screenheight; - gclock.init(dsp, &DS_DIGI28pt7b, TFT_LOGO, BLACK); + setClockBounds(); } void DspCore::drawLogo() { @@ -178,6 +142,7 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { strlcpy(currentItemText, plMenu[i], PLMITEMLENGHT - 1); } else { setCursor(TFT_FRAMEWDT, yStart + i * PLMITEMHEIGHT); + fillRect(0, yStart + i * PLMITEMHEIGHT - 1, swidth, PLMITEMHEIGHT - 4, TFT_BG); print(utf8Rus(plMenu[i], true)); } } @@ -248,8 +213,67 @@ void DspCore::displayHeapForDebug() { #endif } +void DspCore::setClockBounds(){ + setFont(&DS_DIGI28pt7b); + setTextSize(1); + getTextBounds("88:88", 0, 0, &x, &y, &cwidth, &cheight); + uint16_t header = TFT_FRAMEWDT + 4 * TFT_LINEHGHT; + uint16_t footer = TFT_FRAMEWDT * 2 + TFT_LINEHGHT + 5; + clockY = header + (sheight - header - footer) / 2 - cheight / 2; + setFont(); +} + void DspCore::printClock(const char* timestr) { - gclock.print(timestr); + +} + +byte DspCore::getPw(uint16_t ncwidth){ + byte pw = 6; + if(ncwidth<35) pw = 7; + if(ncwidth<20) pw = 8; + return pw; +} + +void DspCore::printClock(struct tm timeinfo, bool dots, bool redraw){ + char timeBuf[50] = { 0 }; + char tmpBuf[4] = { 0 }; + uint16_t ncwidth, ncheight; + strftime(timeBuf, sizeof(timeBuf), "%H %M", &timeinfo); + setTextSize(1); + setFont(&DS_DIGI28pt7b); + if(strstr(oldTimeBuf, timeBuf)==NULL || redraw){ + getTextBounds(oldTimeBuf, 0, 0, &x, &y, &wot, &hot); + setCursor((swidth - wot) / 2 - 4, clockY+28+6); + setTextColor(TFT_BG); + print(oldTimeBuf); + dot = (swidth - wot) / 2 - 4; + /* dots */ + strlcpy(tmpBuf, oldTimeBuf, 3); + getTextBounds(tmpBuf, 0, 0, &x, &y, &ncwidth, &ncheight); + dot = dot + ncwidth + getPw(ncwidth); + setCursor(dot, clockY+28+6); + print(":"); + /* dots */ + + strlcpy(oldTimeBuf, timeBuf, 20); + setTextSize(1); + getTextBounds(timeBuf, 0, 0, &x, &y, &ncwidth, &ncheight); + setTextColor(TFT_LOGO); + setCursor((swidth - ncwidth) / 2 - 4, clockY+28+6); + dot = (swidth - ncwidth) / 2 - 4; + setTextSize(1); + print(timeBuf); + /* dots */ + strftime(timeBuf, sizeof(timeBuf), "%H", &timeinfo); + getTextBounds(timeBuf, 0, 0, &x, &y, &ncwidth, &ncheight); + dot = dot + ncwidth + getPw(ncwidth); + /* dots */ + } + setCursor(dot, clockY+28+6); + setTextColor(dots?TFT_BG:TFT_LOGO); + print(":"); + setFont(); + yield(); } void DspCore::drawVolumeBar(bool withNumber) { @@ -325,7 +349,7 @@ void DspCore::printText(const char* txt) { print(txt); } -void DspCore::loop() { +void DspCore::loop(bool force) { } diff --git a/yoRadio/src/displays/displayST7735.h b/yoRadio/src/displays/displayST7735.h index a31bc20..54230ce 100644 --- a/yoRadio/src/displays/displayST7735.h +++ b/yoRadio/src/displays/displayST7735.h @@ -15,8 +15,12 @@ #define TITLE_TOP2 TFT_FRAMEWDT + 3 * TFT_LINEHGHT #define TITLE_FG2 SILVER +#if !defined(SCROLLDELTA) || !defined(SCROLLTIME) #define SCROLLDELTA 3 -#define SCROLLTIME 67 +#define SCROLLTIME 65 +#endif + +#define TFT_FULLTIME 1 class DspCore: public Adafruit_ST7735 { public: @@ -34,6 +38,7 @@ class DspCore: public Adafruit_ST7735 { 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); @@ -45,10 +50,15 @@ class DspCore: public Adafruit_ST7735 { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; - + char oldTimeBuf[20]; + uint16_t wot, hot, dot; + int16_t x, y; + uint16_t cwidth, cheight; + void setClockBounds(); + byte getPw(uint16_t ncwidth); }; extern DspCore dsp; diff --git a/yoRadio/src/displays/displayST7789.cpp b/yoRadio/src/displays/displayST7789.cpp index f2b7d44..ac4fa6d 100644 --- a/yoRadio/src/displays/displayST7789.cpp +++ b/yoRadio/src/displays/displayST7789.cpp @@ -140,16 +140,17 @@ void DspCore::drawPlaylist(uint16_t currentItem, char* currentItemText) { 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 + 2, TFT_LOGO); + for (byte i = 0; i < PLMITEMS; i++) { if (i == 4) { + //fillRect(0, (sheight / 2 - PLMITEMHEIGHT / 2) - 1, swidth, PLMITEMHEIGHT + 2, TFT_LOGO); 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 - 2, TFT_BG); print(utf8Rus(plMenu[i], true)); } - yield(); } } @@ -159,9 +160,8 @@ void DspCore::clearDsp() { void DspCore::drawScrollFrame(uint16_t texttop, uint16_t textheight, uint16_t bg) { if (TFT_FRAMEWDT==0) return; - fillRect(0, texttop, TFT_FRAMEWDT, textheight, bg); fillRect(swidth - TFT_FRAMEWDT, texttop, TFT_FRAMEWDT, textheight, bg); - yield(); + fillRect(0, texttop, TFT_FRAMEWDT, textheight, bg); } void DspCore::getScrolBbounds(const char* text, const char* separator, byte textsize, uint16_t &tWidth, uint16_t &tHeight, uint16_t &sWidth) { @@ -176,7 +176,7 @@ void DspCore::getScrolBbounds(const char* text, const char* separator, byte text } void DspCore::clearScroll(uint16_t texttop, uint16_t textheight, uint16_t bg) { - fillRect(0, texttop, swidth, textheight, bg); + fillRect(0, texttop-4, swidth, textheight+7, bg); yield(); } @@ -364,10 +364,9 @@ void DspCore::set_Cursor(int16_t x, int16_t y) { void DspCore::printText(const char* txt) { print(txt); - yield(); } -void DspCore::loop() { +void DspCore::loop(bool force) { } diff --git a/yoRadio/src/displays/displayST7789.h b/yoRadio/src/displays/displayST7789.h index 60168d9..a8f27d2 100644 --- a/yoRadio/src/displays/displayST7789.h +++ b/yoRadio/src/displays/displayST7789.h @@ -13,8 +13,10 @@ #define TITLE_SIZE1 2 #define TITLE_SIZE2 2 -#define SCROLLDELTA 6 -#define SCROLLTIME 83 +#if !defined(SCROLLDELTA) || !defined(SCROLLTIME) +#define SCROLLDELTA 5 +#define SCROLLTIME 50 +#endif #define PLMITEMS 9 #define PLMITEMLENGHT 40 @@ -53,7 +55,7 @@ class DspCore: public Adafruit_ST7789 { void rssi(const char* str); void ip(const char* str); void drawPlaylist(uint16_t currentItem, char* currentItemText); - void loop(); + void loop(bool force=false); private: uint16_t swidth, sheight; char oldTimeBuf[20]; diff --git a/yoRadio/yoRadio.ino b/yoRadio/yoRadio.ino index c6d8ab6..6da7d04 100644 --- a/yoRadio/yoRadio.ino +++ b/yoRadio/yoRadio.ino @@ -11,17 +11,9 @@ #include "controls.h" #include "mqtt.h" -#if CORE_FOR_LOOP_CONTROLS != 255 -TaskHandle_t TaskCore0; -#ifndef CORE_FOR_LOOP_STACK_SIZE -#define CORE_FOR_LOOP_STACK_SIZE 8192 -#endif -#endif - void setup() { Serial.begin(115200); pinMode(LED_BUILTIN, OUTPUT); - //digitalWrite(LED_BUILTIN, LOW); config.init(); display.init(); player.init(); @@ -34,57 +26,22 @@ void setup() { netserver.begin(); telnet.begin(); player.setVol(config.store.volume, true); - if(CORE_FOR_LOOP_CONTROLS == 255){ - initControls(); - display.start(); - } - + initControls(); + display.start(); + #ifdef MQTT_HOST mqttInit(); #endif -#if CORE_FOR_LOOP_CONTROLS != 255 - BaseType_t coreId = xPortGetCoreID(); - BaseType_t newCoreId = (CORE_FOR_LOOP_CONTROLS==2)?!coreId:CORE_FOR_LOOP_CONTROLS; - xTaskCreatePinnedToCore( - loopCore0, /* Task function. */ - "TaskCore0", /* name of task. */ - CORE_FOR_LOOP_STACK_SIZE, /* Stack size of task */ - NULL, /* parameter of the task */ - 1, /* priority of the task */ - &TaskCore0, /* Task handle to keep track of created task */ - newCoreId); /* pin task to core CORE_FOR_LOOP_CONTROLS */ -#endif - - delay(500); - if(config.store.smartstart==1) player.play(config.store.lastStation); + if (config.store.smartstart == 1) player.play(config.store.lastStation); } -#if CORE_FOR_LOOP_CONTROLS != 255 -void setupCore0(){ - initControls(); - display.start(); -} - -void loopCore0( void * pvParameters ){ - setupCore0(); - for(;;){ - micros(); - if (network.status == CONNECTED) { - loopControls(); - } - display.loop(); - vTaskDelay(10); - } -} -#endif - void loop() { if (network.status == CONNECTED) { telnet.loop(); player.loop(); - if(CORE_FOR_LOOP_CONTROLS==255) loopControls(); + loopControls(); } - if(CORE_FOR_LOOP_CONTROLS==255 || network.status != CONNECTED) display.loop(); + display.loop(); netserver.loop(); }