3 Commits

Author SHA1 Message Date
Alex Shepherd
885cf9fc64 bump version to 2.0.16 2023-07-13 21:12:29 +12:00
Alex Shepherd
08da67f3c6 removed conditional compilation to no longer disable interrupts during EEPROM.comit() for the ESP32 2023-07-13 21:11:10 +12:00
Alex Shepherd
b1cd7622e3 added some final tweaks to chang ethe addressing to better suit 2023-07-13 21:09:47 +12:00
3 changed files with 7 additions and 7 deletions

View File

@@ -809,7 +809,7 @@ void writeEEPROM (unsigned int CV, uint8_t Value)
{ {
EEPROM.write (CV, Value) ; EEPROM.write (CV, Value) ;
#if defined(ESP8266) || defined(ESP32) #if defined(ESP8266)
noInterrupts(); noInterrupts();
#endif #endif
@@ -817,7 +817,7 @@ void writeEEPROM (unsigned int CV, uint8_t Value)
EEPROM.commit(); EEPROM.commit();
#endif #endif
#if defined(ESP8266) || defined(ESP32) #if defined(ESP8266)
interrupts(); interrupts();
#endif #endif
} }

View File

@@ -17,7 +17,7 @@
#define DCC_PIN 2 #define DCC_PIN 2
// Define the DCC Turnout Address to select the first level = 1 // Define the DCC Turnout Address to select the first level = 1
#define DCC_ACCESSORY_DECODER_BASE_ADDRESS 200 #define DCC_ACCESSORY_DECODER_BASE_ADDRESS 500
// Define the manimus numbr of Levels // Define the manimus numbr of Levels
#define NUM_LIFT_LEVELS 8 #define NUM_LIFT_LEVELS 8
@@ -34,7 +34,7 @@
#define BUTTON_LONG_PRESS_DELAY 2000 #define BUTTON_LONG_PRESS_DELAY 2000
// Uncomment ONE of the next 2 lines to enable AJS or UWE Board Settings // Uncomment ONE of the next 2 lines to enable AJS or UWE Board Settings
//#define AJS_BOARD_SETTINGS // #define AJS_BOARD_SETTINGS
#define UWE_BOARD_SETTINGS #define UWE_BOARD_SETTINGS
#if defined(AJS_BOARD_SETTINGS) // Setting for AJS Dev System #if defined(AJS_BOARD_SETTINGS) // Setting for AJS Dev System
@@ -267,9 +267,9 @@ elapsedMillis lastSpeedChange = 0;
// The DCC Turnout Address is checked to see if it is within the range used to Select Elevator levels and starts a Move if a new level is selected // The DCC Turnout Address is checked to see if it is within the range used to Select Elevator levels and starts a Move if a new level is selected
void notifyDccAccTurnoutOutput(uint16_t receivedAddress, uint8_t direction, uint8_t outputPower) void notifyDccAccTurnoutOutput(uint16_t receivedAddress, uint8_t direction, uint8_t outputPower)
{ {
if((receivedAddress >= DCC_ACCESSORY_DECODER_BASE_ADDRESS) && (receivedAddress < (DCC_ACCESSORY_DECODER_BASE_ADDRESS + NUM_LIFT_LEVELS))) if((receivedAddress >= DCC_ACCESSORY_DECODER_BASE_ADDRESS) && (receivedAddress < (DCC_ACCESSORY_DECODER_BASE_ADDRESS + (NUM_LIFT_LEVELS/2))))
{ {
uint8_t newLevel = receivedAddress - DCC_ACCESSORY_DECODER_BASE_ADDRESS; uint8_t newLevel = (receivedAddress - DCC_ACCESSORY_DECODER_BASE_ADDRESS) * 2 + direction;
if(persistentValues.lastLiftLevel != newLevel) if(persistentValues.lastLiftLevel != newLevel)
{ {
persistentValues.lastLiftLevel = newLevel; persistentValues.lastLiftLevel = newLevel;

View File

@@ -1,5 +1,5 @@
name=NmraDcc name=NmraDcc
version=2.0.15 version=2.0.16
author=Alex Shepherd, Wolfgang Kuffer, Geoff Bunza, Martin Pischky, Franz-Peter Müller, Sven (littleyoda), Hans Tanner, bugfixes by Jueff author=Alex Shepherd, Wolfgang Kuffer, Geoff Bunza, Martin Pischky, Franz-Peter Müller, Sven (littleyoda), Hans Tanner, bugfixes by Jueff
maintainer=Alex Shepherd <kiwi64ajs@gmail.com> maintainer=Alex Shepherd <kiwi64ajs@gmail.com>
sentence=Enables NMRA DCC Communication sentence=Enables NMRA DCC Communication