Browse Source

Compile-errors, fixes & docu

master
Torsten Stauder 4 years ago
parent
commit
df7fdb5686
  1. 107
      src/main.cpp
  2. 29
      src/settings.h
  3. 20
      src/values.h

107
src/main.cpp

@ -316,22 +316,23 @@ QueueHandle_t rfidCardQueue;
RingbufHandle_t explorerFileUploadRingBuffer;
QueueHandle_t explorerFileUploadStatusQueue;
#if (NEXT_BUTTON > 0 && NEXT_BUTTON<50)
// Only enable those buttons that use GPIOs <= 39
#if (NEXT_BUTTON >= 0 && NEXT_BUTTON <= 39)
#define BUTTON_0_ENABLE
#endif
#if (PREVIOUS_BUTTON > 0 && PREVIOUS_BUTTON<50)
#if (PREVIOUS_BUTTON >= 0 && PREVIOUS_BUTTON <= 39)
#define BUTTON_1_ENABLE
#endif
#if (PAUSEPLAY_BUTTON > 0 && PAUSEPLAY_BUTTON<50)
#if (PAUSEPLAY_BUTTON >= 0 && PAUSEPLAY_BUTTON <= 39)
#define BUTTON_2_ENABLE
#endif
#ifdef USEROTARY_ENABLE
#define BUTTON_3_ENABLE
#endif
#if (BUTTON_4 > 0 && BUTTON_4<50)
#if (BUTTON_4 >= 0 && BUTTON_4 <= 39)
#define BUTTON_4_ENABLE
#endif
#if (BUTTON_5 > 0 && BUTTON_5<50)
#if (BUTTON_5 >= 0 && BUTTON_5 <= 39)
#define BUTTON_5_ENABLE
#endif
@ -2566,7 +2567,7 @@ void doRfidCardModifications(const uint32_t mod) {
void doCmdAction(const uint32_t mod) {
switch (mod) {
case LOCK_BUTTONS_MOD: // Locks/unlocks all buttons
case LOCK_BUTTONS_MOD: { // Locks/unlocks all buttons
lockControls = !lockControls;
if (lockControls) {
loggerNl(serialDebug, (char *) FPSTR(modificatorAllButtonsLocked), LOGLEVEL_NOTICE);
@ -2582,8 +2583,9 @@ void doCmdAction(const uint32_t mod) {
publishMqtt((char *) FPSTR(topicLockControlsState), "OFF", false);
#endif
}
}
case SLEEP_TIMER_MOD_15: // Enables/disables sleep after 15 minutes
case SLEEP_TIMER_MOD_15: { // Enables/disables sleep after 15 minutes
if (sleepTimerStartTimestamp && sleepTimer == 15) {
sleepTimerStartTimestamp = 0;
#ifdef NEOPIXEL_ENABLE
@ -2615,8 +2617,9 @@ void doCmdAction(const uint32_t mod) {
showLedOk = true;
#endif
break;
}
case SLEEP_TIMER_MOD_30: // Enables/disables sleep after 30 minutes
case SLEEP_TIMER_MOD_30: { // Enables/disables sleep after 30 minutes
if (sleepTimerStartTimestamp && sleepTimer == 30) {
sleepTimerStartTimestamp = 0;
#ifdef NEOPIXEL_ENABLE
@ -2648,8 +2651,9 @@ void doCmdAction(const uint32_t mod) {
showLedOk = true;
#endif
break;
}
case SLEEP_TIMER_MOD_60: // Enables/disables sleep after 60 minutes
case SLEEP_TIMER_MOD_60: { // Enables/disables sleep after 60 minutes
if (sleepTimerStartTimestamp && sleepTimer == 60) {
sleepTimerStartTimestamp = 0;
#ifdef NEOPIXEL_ENABLE
@ -2681,8 +2685,9 @@ void doCmdAction(const uint32_t mod) {
showLedOk = true;
#endif
break;
}
case SLEEP_TIMER_MOD_120: // Enables/disables sleep after 2 hrs
case SLEEP_TIMER_MOD_120: { // Enables/disables sleep after 2 hrs
if (sleepTimerStartTimestamp && sleepTimer == 120) {
sleepTimerStartTimestamp = 0;
#ifdef NEOPIXEL_ENABLE
@ -2714,8 +2719,9 @@ void doCmdAction(const uint32_t mod) {
showLedOk = true;
#endif
break;
}
case SLEEP_AFTER_END_OF_TRACK: // Puts uC to sleep after end of current track
case SLEEP_AFTER_END_OF_TRACK: { // Puts uC to sleep after end of current track
if (playProperties.playMode == NO_PLAYLIST) {
loggerNl(serialDebug, (char *) FPSTR(modificatorNotallowedWhenIdle), LOGLEVEL_NOTICE);
#ifdef NEOPIXEL_ENABLE
@ -2753,8 +2759,9 @@ void doCmdAction(const uint32_t mod) {
showLedOk = true;
#endif
break;
}
case SLEEP_AFTER_END_OF_PLAYLIST: // Puts uC to sleep after end of whole playlist (can take a while :->)
case SLEEP_AFTER_END_OF_PLAYLIST: { // Puts uC to sleep after end of whole playlist (can take a while :->)
if (playProperties.playMode == NO_PLAYLIST) {
loggerNl(serialDebug, (char *) FPSTR(modificatorNotallowedWhenIdle), LOGLEVEL_NOTICE);
#ifdef NEOPIXEL_ENABLE
@ -2792,8 +2799,9 @@ void doCmdAction(const uint32_t mod) {
showLedOk = true;
#endif
break;
}
case SLEEP_AFTER_5_TRACKS:
case SLEEP_AFTER_5_TRACKS:{
if (playProperties.playMode == NO_PLAYLIST) {
loggerNl(serialDebug, (char *) FPSTR(modificatorNotallowedWhenIdle), LOGLEVEL_NOTICE);
#ifdef NEOPIXEL_ENABLE
@ -2840,8 +2848,9 @@ void doCmdAction(const uint32_t mod) {
showLedOk = true;
#endif
break;
}
case REPEAT_PLAYLIST:
case REPEAT_PLAYLIST: {
if (playProperties.playMode == NO_PLAYLIST) {
loggerNl(serialDebug, (char *) FPSTR(modificatorNotallowedWhenIdle), LOGLEVEL_NOTICE);
#ifdef NEOPIXEL_ENABLE
@ -2864,8 +2873,9 @@ void doCmdAction(const uint32_t mod) {
#endif
}
break;
}
case REPEAT_TRACK: // Introduces looping for track-mode
case REPEAT_TRACK: { // Introduces looping for track-mode
if (playProperties.playMode == NO_PLAYLIST) {
loggerNl(serialDebug, (char *) FPSTR(modificatorNotallowedWhenIdle), LOGLEVEL_NOTICE);
#ifdef NEOPIXEL_ENABLE
@ -2888,8 +2898,9 @@ void doCmdAction(const uint32_t mod) {
#endif
}
break;
}
case DIMM_LEDS_NIGHTMODE:
case DIMM_LEDS_NIGHTMODE: {
#ifdef MQTT_ENABLE
publishMqtt((char *) FPSTR(topicLedBrightnessState), ledBrightness, false);
#endif
@ -2899,8 +2910,9 @@ void doCmdAction(const uint32_t mod) {
showLedOk = true;
#endif
break;
}
case TOGGLE_WIFI_STATUS:
case TOGGLE_WIFI_STATUS: {
if (writeWifiStatusToNVS(!getWifiEnableStatusFromNVS())) {
#ifdef NEOPIXEL_ENABLE
showLedOk = true;
@ -2911,8 +2923,9 @@ void doCmdAction(const uint32_t mod) {
#endif
}
break;
}
#ifdef BLUETOOTH_ENABLE
case TOGGLE_BLUETOOTH_MODE:
case TOGGLE_BLUETOOTH_MODE: {
if (readOperationModeFromNVS() == OPMODE_NORMAL) {
#ifdef NEOPIXEL_ENABLE
showLedOk = true;
@ -2929,8 +2942,9 @@ void doCmdAction(const uint32_t mod) {
#endif
}
break;
}
#endif
case ENABLE_FTP_SERVER:
case ENABLE_FTP_SERVER: {
if (wifiManager() == WL_CONNECTED && !ftpEnableLastStatus && !ftpEnableCurrentStatus) {
ftpEnableLastStatus = true;
#ifdef NEOPIXEL_ENABLE
@ -2944,31 +2958,40 @@ void doCmdAction(const uint32_t mod) {
}
break;
case CMD_PLAYPAUSE:
}
case CMD_PLAYPAUSE: {
trackControlToQueueSender(PAUSEPLAY);
break;
case CMD_PREVTRACK:
}
case CMD_PREVTRACK: {
trackControlToQueueSender(PREVIOUSTRACK);
break;
case CMD_NEXTTRACK:
}
case CMD_NEXTTRACK: {
trackControlToQueueSender(NEXTTRACK);
break;
case CMD_FIRSTTRACK:
}
case CMD_FIRSTTRACK: {
trackControlToQueueSender(FIRSTTRACK);
break;
case CMD_LASTTRACK:
}
case CMD_LASTTRACK: {
trackControlToQueueSender(LASTTRACK);
break;
case CMD_VOLUMEINIT:
}
case CMD_VOLUMEINIT: {
volumeToQueueSender(initVolume);
break;
case CMD_VOLUMEUP:
}
case CMD_VOLUMEUP: {
volumeToQueueSender(currentVolume + 2);
break;
case CMD_VOLUMEDOWN:
}
case CMD_VOLUMEDOWN: {
volumeToQueueSender(currentVolume - 2);
break;
case CMD_MEASUREBATTERY:
}
case CMD_MEASUREBATTERY: {
#ifdef MEASURE_BATTERY_VOLTAGE
float voltage = measureBatteryVoltage();
snprintf(logBuf, serialLoglength, "%s: %.2f V", (char *) FPSTR(currentVoltageMsg), voltage);
@ -2983,10 +3006,12 @@ void doCmdAction(const uint32_t mod) {
#endif
#endif
break;
case CMD_SLEEPMODE:
}
case CMD_SLEEPMODE: {
gotoSleep = true;
break;
default:
}
default: {
snprintf(logBuf, serialLoglength, "%s %d !", (char *) FPSTR(modificatorDoesNotExist), mod);
loggerNl(serialDebug, logBuf, LOGLEVEL_ERROR);
#ifdef NEOPIXEL_ENABLE
@ -2994,6 +3019,7 @@ void doCmdAction(const uint32_t mod) {
#endif
}
}
}
// Tries to lookup RFID-tag-string in NVS and extracts parameter from it if found
@ -4582,11 +4608,26 @@ void setup() {
0 /* Core where the task should run */
);
// Activate internal pullups for all buttons
pinMode(DREHENCODER_BUTTON, INPUT_PULLUP);
pinMode(PAUSEPLAY_BUTTON, INPUT_PULLUP);
// Activate internal pullups for all enabled buttons
#ifdef BUTTON_0_ENABLE
pinMode(NEXT_BUTTON, INPUT_PULLUP);
#endif
#ifdef BUTTON_1_ENABLE
pinMode(PREVIOUS_BUTTON, INPUT_PULLUP);
#endif
#ifdef BUTTON_2_ENABLE
pinMode(PAUSEPLAY_BUTTON, INPUT_PULLUP);
#endif
#ifdef BUTTON_3_ENABLE
pinMode(DREHENCODER_BUTTON, INPUT_PULLUP);
#endif
#ifdef BUTTON_4_ENABLE
pinMode(BUTTON_4, INPUT_PULLUP);
#endif
#ifdef BUTTON_5_ENABLE
pinMode(BUTTON_5, INPUT_PULLUP);
#endif
unsigned long currentTimestamp = millis();
// Init rotary encoder
encoder.attachHalfQuad(DREHENCODER_CLK, DREHENCODER_DT);

29
src/settings.h

@ -30,6 +30,7 @@
#define MEASURE_BATTERY_VOLTAGE // Enables battery-measurement via GPIO (ADC) and voltage-divider
//#define PLAY_LAST_RFID_AFTER_REBOOT // When restarting ESPuino, the last RFID that was active before, is recalled and played
//#define USE_LAST_VOLUME_AFTER_REBOOT // Remembers the volume used at last shutdown after reboot
#define USEROTARY_ENABLE // If rotary-encoder is used
#define BLUETOOTH_ENABLE // If enabled and bluetooth-mode is active, you can stream to your ESPuino via bluetooth (a2dp-sink).
@ -150,11 +151,35 @@ float voltageIndicatorHigh = 4.2; // Upper range for Neopixel-
#define CHUNK_SIZE 1024
// Button Layout
// Button-layout
/* Please note the following numbers as you need to know them in order to define actions for buttons.
Even if you don't use all of them, their numbers won't change
0: NEXT_BUTTON
1: PREVIOUS_BUTTON
2: PAUSEPLAY_BUTTON
3: DREHENCODER_BUTTON
4: BUTTON_4
5: BUTTON_5
Don't forget to enable those buttons you want to use in your develboard-specific config (e.g. settings-custom.h)
Multi-buttons (examples):
BUTTON_MULTI_01 => Buttons 0+1 (NEXT+PREVIOUS) pressed in parallel
BUTTON_MULTI_23 => Buttons 0+2 (NEXT+PAUSEPLAY_BUTTON) pressed in parallel
Single-buttons (examples):
BUTTON_0_SHORT => Button 0 (NEXT) pressed shortly
BUTTON_3_SHORT => Button 3 (DREHENCODER) pressed shortly
Actions:
To all of those buttons, an action can be assigned freely.
Please have a look at values.h to look up actions available (>100 can be used)
*/
// *****BUTTON***** *****ACTION*****
#define BUTTON_MULTI_01 TOGGLE_WIFI_STATUS
#define BUTTON_MULTI_02 ENABLE_FTP_SERVER
#define BUTTON_MULTI_03 CMD_NOTHING
#define BUTTON_MULTI_12 CMD_MEASUREBATTERY
#define BUTTON_MULTI_12 CMD_NOTHING
#define BUTTON_MULTI_13 CMD_NOTHING
#define BUTTON_MULTI_23 CMD_NOTHING

20
src/values.h

@ -45,16 +45,16 @@
#define TOGGLE_BLUETOOTH_MODE 140 // Toggles Normal/Bluetooth Mode
#define ENABLE_FTP_SERVER 150 // Enables FTP-server
#define CMD_PLAYPAUSE 170 // Admin-Cmd Play/Pause
#define CMD_PREVTRACK 171 // Admin-Cmd Prev Track
#define CMD_NEXTTRACK 172 // Admin-Cmd Next Track
#define CMD_FIRSTTRACK 173 // Admin-Cmd Prev Track
#define CMD_LASTTRACK 174 // Admin-Cmd Next Track
#define CMD_VOLUMEINIT 175 // Set Volume to Initial
#define CMD_VOLUMEUP 176 // Set Volume up
#define CMD_VOLUMEDOWN 177 // Set Volume down
#define CMD_MEASUREBATTERY 178 // Measure Battery Voltage
#define CMD_SLEEPMODE 179 // Goto Sleepmode
#define CMD_PLAYPAUSE 170 // Admin-cmd Play/Pause
#define CMD_PREVTRACK 171 // Admin-cmd Prev Track
#define CMD_NEXTTRACK 172 // Admin-cmd Next Track
#define CMD_FIRSTTRACK 173 // Admin-cmd Prev Track
#define CMD_LASTTRACK 174 // Admin-cmd Next Track
#define CMD_VOLUMEINIT 175 // Set volume to Initial
#define CMD_VOLUMEUP 176 // Set volume up
#define CMD_VOLUMEDOWN 177 // Set volume down
#define CMD_MEASUREBATTERY 178 // Measure battery-voltage
#define CMD_SLEEPMODE 179 // Goto deepsleep
// Repeat-Modes
#define NO_REPEAT 0 // No repeat

Loading…
Cancel
Save