v0.8.901
This commit is contained in:
@@ -21,7 +21,7 @@ Button actions:
|
|||||||
longpress: quick volume down
|
longpress: quick volume down
|
||||||
- BTN_CENTER\
|
- BTN_CENTER\
|
||||||
click: start/stop playing\
|
click: start/stop playing\
|
||||||
dblclick: toggle between PLAYER/PLAYLIST mode\
|
dblclick: switch SD/WEB mode\
|
||||||
longpress: toggle between PLAYER/PLAYLIST mode
|
longpress: toggle between PLAYER/PLAYLIST mode
|
||||||
- BTN_RIGHT\
|
- BTN_RIGHT\
|
||||||
click: volume up\
|
click: volume up\
|
||||||
@@ -35,6 +35,9 @@ Button actions:
|
|||||||
click: without display - prev station, with display - move down\
|
click: without display - prev station, with display - move down\
|
||||||
dblclick: doing nothing\
|
dblclick: doing nothing\
|
||||||
longpress: with display - quick move down
|
longpress: with display - quick move down
|
||||||
|
- BTN_MODE\
|
||||||
|
click: switch SD/WEB mode\
|
||||||
|
longpress: go to sleep
|
||||||
|
|
||||||
---
|
---
|
||||||
### Encoders
|
### Encoders
|
||||||
|
|||||||
19
README.md
19
README.md
@@ -142,6 +142,16 @@ https://www.aliexpress.com/item/33009687492.html
|
|||||||
| 5V | +5V | - |
|
| 5V | +5V | - |
|
||||||
| DGND | GND | - |
|
| DGND | GND | - |
|
||||||
|
|
||||||
|
##### SD CARD
|
||||||
|
| Display | ESP-32 | myoptions.h |
|
||||||
|
| ------ | ------ | ------ |
|
||||||
|
| GND | GND | - |
|
||||||
|
| VCC | +5v | - |
|
||||||
|
| SCK | 18 | - |
|
||||||
|
| MISO | 19 | - |
|
||||||
|
| MOSI | 23 | - |
|
||||||
|
| CS | 255* | SDC_CS |
|
||||||
|
|
||||||
_\#\# Important! You must choose between I2S DAC and VS1053 by disabling the second module in the settings (see below)_
|
_\#\# Important! You must choose between I2S DAC and VS1053 by disabling the second module in the settings (see below)_
|
||||||
##### Nextion Displays
|
##### Nextion Displays
|
||||||
| Display | ESP-32 | myoptions.h |
|
| Display | ESP-32 | myoptions.h |
|
||||||
@@ -301,6 +311,15 @@ Work is in progress...
|
|||||||
|
|
||||||
---
|
---
|
||||||
## Version history
|
## Version history
|
||||||
|
#### v0.8.901
|
||||||
|
**!!! a [full update](#update-over-web-interface) with Sketch data upload is required. After updating please press CTRL+F5 in browser !!!** \
|
||||||
|
**Please backup playlist.csv and wifi.csv before updating.**
|
||||||
|
- added SD Card support (more info in [connection table](#connection-tables) and [exsamples/myoptions.h](https://github.com/e2002/yoradio/blob/main/exsamples/myoptions.h))
|
||||||
|
- added MODE button to switch SD/WEB modes (more info in [Controls.md](https://github.com/e2002/yoradio/blob/main/Controls.md))
|
||||||
|
- asterisk on the remote control now switches SD/WEB modes
|
||||||
|
- double click BTN_CENTER and ENC_BTNB now toggles SD/WEB modes
|
||||||
|
- bug fixes
|
||||||
|
|
||||||
#### v0.8.173
|
#### v0.8.173
|
||||||
- bootlog added
|
- bootlog added
|
||||||
- fixed work of start/stop button in configurations with DSP_DUMMY
|
- fixed work of start/stop button in configurations with DSP_DUMMY
|
||||||
|
|||||||
@@ -74,7 +74,9 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti
|
|||||||
|
|
||||||
/* SDCARD */
|
/* SDCARD */
|
||||||
/* MISO is the same as D0, MOSI is the same as D1 */
|
/* MISO is the same as D0, MOSI is the same as D1 */
|
||||||
//#define SDC_SPI 18, 19, 23 /* SDCARD SPI pins (SCK, MISO, MOSI) */
|
/* SD VSPI PINS. SD SCK must be connected to pin 18
|
||||||
|
SD MISO must be connected to pin 19
|
||||||
|
SD MOSI must be connected to pin 23 */
|
||||||
//#define SDC_CS 255 /* SDCARD CS pin */
|
//#define SDC_CS 255 /* SDCARD CS pin */
|
||||||
|
|
||||||
/* ENCODER2 */
|
/* ENCODER2 */
|
||||||
@@ -95,6 +97,8 @@ The connection tables are located here https://github.com/e2002/yoradio#connecti
|
|||||||
//#define BTN_LONGPRESS_LOOP_DELAY 200 /* Delay between calling DuringLongPress event */
|
//#define BTN_LONGPRESS_LOOP_DELAY 200 /* Delay between calling DuringLongPress event */
|
||||||
//#define BTN_CLICK_TICKS 300 /* Event Timing https://github.com/mathertel/OneButton#event-timing */
|
//#define BTN_CLICK_TICKS 300 /* Event Timing https://github.com/mathertel/OneButton#event-timing */
|
||||||
//#define BTN_PRESS_TICKS 500 /* Event Timing https://github.com/mathertel/OneButton#event-timing */
|
//#define BTN_PRESS_TICKS 500 /* Event Timing https://github.com/mathertel/OneButton#event-timing */
|
||||||
|
|
||||||
|
//#define BTN_MODE 255 /* MODE switcher */
|
||||||
/******************************************/
|
/******************************************/
|
||||||
|
|
||||||
/* LCD DISPLAY 1602 */
|
/* LCD DISPLAY 1602 */
|
||||||
|
|||||||
@@ -9,7 +9,6 @@ Config config;
|
|||||||
#if DSP_HSPI || TS_HSPI || VS_HSPI || SD_HSPI
|
#if DSP_HSPI || TS_HSPI || VS_HSPI || SD_HSPI
|
||||||
SPIClass SPI2(HSPI);
|
SPIClass SPI2(HSPI);
|
||||||
#endif
|
#endif
|
||||||
//SPIClass SDSPI(VSPI);
|
|
||||||
|
|
||||||
void u8fix(char *src){
|
void u8fix(char *src){
|
||||||
char last = src[strlen(src)-1];
|
char last = src[strlen(src)-1];
|
||||||
@@ -24,7 +23,6 @@ void Config::init() {
|
|||||||
eepromRead(EEPROM_START, store);
|
eepromRead(EEPROM_START, store);
|
||||||
if (store.config_set != 4262) setDefaults();
|
if (store.config_set != 4262) setDefaults();
|
||||||
backupLastStation = store.lastStation;
|
backupLastStation = store.lastStation;
|
||||||
Serial.print("Config::init, backupLastStation=\t"); Serial.println(backupLastStation);
|
|
||||||
if(store.play_mode==80) store.play_mode=0b100;
|
if(store.play_mode==80) store.play_mode=0b100;
|
||||||
sdSnuffle = bitRead(store.play_mode, 2);
|
sdSnuffle = bitRead(store.play_mode, 2);
|
||||||
store.play_mode = store.play_mode & 0b11;
|
store.play_mode = store.play_mode & 0b11;
|
||||||
@@ -37,10 +35,6 @@ void Config::init() {
|
|||||||
ssidsCount = 0;
|
ssidsCount = 0;
|
||||||
sdResumePos = 0;
|
sdResumePos = 0;
|
||||||
if(SDC_CS!=255){
|
if(SDC_CS!=255){
|
||||||
//pinMode(SDC_CS, OUTPUT); digitalWrite(SDC_CS, HIGH);
|
|
||||||
//SDSPI.begin(SDC_SPI);
|
|
||||||
//SDSPI.setFrequency(1000000);
|
|
||||||
//SDSPI.setFrequency(100000);
|
|
||||||
if(!SD.begin(SDC_CS)){
|
if(!SD.begin(SDC_CS)){
|
||||||
store.play_mode=PM_WEB;
|
store.play_mode=PM_WEB;
|
||||||
Serial.println("##[ERROR]#\tCard Mount Failed");
|
Serial.println("##[ERROR]#\tCard Mount Failed");
|
||||||
|
|||||||
@@ -332,7 +332,9 @@ void Display::_layoutChange(bool played){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#ifndef DSP_QUEUE_TICKS
|
||||||
|
#define DSP_QUEUE_TICKS 8
|
||||||
|
#endif
|
||||||
void Display::loop() {
|
void Display::loop() {
|
||||||
if(_bootStep==0) {
|
if(_bootStep==0) {
|
||||||
_pager.begin();
|
_pager.begin();
|
||||||
@@ -345,7 +347,7 @@ void Display::loop() {
|
|||||||
nextion.loop();
|
nextion.loop();
|
||||||
#endif
|
#endif
|
||||||
requestParams_t request;
|
requestParams_t request;
|
||||||
if(xQueueReceive(displayQueue, &request, 5)){
|
if(xQueueReceive(displayQueue, &request, DSP_QUEUE_TICKS)){
|
||||||
switch (request.type){
|
switch (request.type){
|
||||||
case NEWMODE: _swichMode((displayMode_e)request.payload); break;
|
case NEWMODE: _swichMode((displayMode_e)request.payload); break;
|
||||||
case CLOCK:
|
case CLOCK:
|
||||||
|
|||||||
@@ -512,7 +512,6 @@ void NetServer::onWsMessage(void *arg, uint8_t *data, size_t len, uint8_t client
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (strcmp(cmd, "snuffle") == 0) {
|
if (strcmp(cmd, "snuffle") == 0) {
|
||||||
Serial.printf("snuffle=%s\t********************\n", val);
|
|
||||||
config.setSnuffle(strcmp(val, "true") == 0);
|
config.setSnuffle(strcmp(val, "true") == 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user