Merge remote-tracking branch 'refs/remotes/mrrwa/master'
This commit is contained in:
22
NmraDcc.cpp
22
NmraDcc.cpp
@@ -25,6 +25,7 @@
|
|||||||
// 2017-01-19 added STM32F1 support by Franz-Peter
|
// 2017-01-19 added STM32F1 support by Franz-Peter
|
||||||
// 2017-11-29 Ken West (kgw4449@gmail.com):
|
// 2017-11-29 Ken West (kgw4449@gmail.com):
|
||||||
// Minor fixes to pass NMRA Baseline Conformance Tests.
|
// Minor fixes to pass NMRA Baseline Conformance Tests.
|
||||||
|
// 2018-12-17 added ESP32 support by Trusty (thierry@lapajaparis.net)
|
||||||
//
|
//
|
||||||
//------------------------------------------------------------------------
|
//------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
@@ -174,9 +175,22 @@
|
|||||||
#define MODE_TP3 pinMode( D7,OUTPUT ) ; // GPIO 13
|
#define MODE_TP3 pinMode( D7,OUTPUT ) ; // GPIO 13
|
||||||
#define SET_TP3 GPOS = (1 << D7);
|
#define SET_TP3 GPOS = (1 << D7);
|
||||||
#define CLR_TP3 GPOC = (1 << D7);
|
#define CLR_TP3 GPOC = (1 << D7);
|
||||||
#define MODE_TP4 pinMode( D7,OUTPUT ); // GPIO 15
|
#define MODE_TP4 pinMode( D8,OUTPUT ) ; // GPIO 15
|
||||||
#define SET_TP4 GPOC = (1 << D8);
|
#define SET_TP4 GPOC = (1 << D8);
|
||||||
#define CLR_TP4 GPOC = (1 << D8);
|
#define CLR_TP4 GPOC = (1 << D8);
|
||||||
|
#elif defined(ESP32)
|
||||||
|
#define MODE_TP1 pinMode( 33,OUTPUT ) ; // GPIO 33
|
||||||
|
#define SET_TP1 GPOS = (1 << 33);
|
||||||
|
#define CLR_TP1 GPOC = (1 << 33);
|
||||||
|
#define MODE_TP2 pinMode( 25,OUTPUT ) ; // GPIO 25
|
||||||
|
#define SET_TP2 GPOS = (1 << 25);
|
||||||
|
#define CLR_TP2 GPOC = (1 << 25);
|
||||||
|
#define MODE_TP3 pinMode( 26,OUTPUT ) ; // GPIO 26
|
||||||
|
#define SET_TP3 GPOS = (1 << 26);
|
||||||
|
#define CLR_TP3 GPOC = (1 << 26);
|
||||||
|
#define MODE_TP4 pinMode( 27,OUTPUT ) ; // GPIO 27
|
||||||
|
#define SET_TP4 GPOC = (1 << 27);
|
||||||
|
#define CLR_TP4 GPOC = (1 << 27);
|
||||||
|
|
||||||
|
|
||||||
//#elif defined(__AVR_ATmega128__) ||defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__)
|
//#elif defined(__AVR_ATmega128__) ||defined(__AVR_ATmega1281__)||defined(__AVR_ATmega2561__)
|
||||||
@@ -536,6 +550,9 @@ void writeEEPROM( unsigned int CV, uint8_t Value ) {
|
|||||||
#if defined(ESP8266)
|
#if defined(ESP8266)
|
||||||
EEPROM.commit();
|
EEPROM.commit();
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(ESP32)
|
||||||
|
EEPROM.commit();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool readyEEPROM() {
|
bool readyEEPROM() {
|
||||||
@@ -1299,6 +1316,9 @@ void NmraDcc::init( uint8_t ManufacturerId, uint8_t VersionId, uint8_t Flags, ui
|
|||||||
#if defined(ESP8266)
|
#if defined(ESP8266)
|
||||||
EEPROM.begin(MAXCV);
|
EEPROM.begin(MAXCV);
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(ESP32)
|
||||||
|
EEPROM.begin(MAXCV);
|
||||||
|
#endif
|
||||||
// Clear all the static member variables
|
// Clear all the static member variables
|
||||||
memset( &DccRx, 0, sizeof( DccRx) );
|
memset( &DccRx, 0, sizeof( DccRx) );
|
||||||
|
|
||||||
|
@@ -32,7 +32,7 @@
|
|||||||
// Uncomment the following Line to Enable Service Mode CV Programming
|
// Uncomment the following Line to Enable Service Mode CV Programming
|
||||||
#define NMRA_DCC_PROCESS_SERVICEMODE
|
#define NMRA_DCC_PROCESS_SERVICEMODE
|
||||||
|
|
||||||
// Uncomment the following line to Enable MutliFunction Decoder Operations
|
// Uncomment the following line to Enable MultiFunction Decoder Operations
|
||||||
#define NMRA_DCC_PROCESS_MULTIFUNCTION
|
#define NMRA_DCC_PROCESS_MULTIFUNCTION
|
||||||
|
|
||||||
// Uncomment the following line to Enable 14 Speed Step Support
|
// Uncomment the following line to Enable 14 Speed Step Support
|
||||||
@@ -96,7 +96,10 @@ typedef struct
|
|||||||
#define CV_MANUFACTURER_ID 8
|
#define CV_MANUFACTURER_ID 8
|
||||||
#define CV_29_CONFIG 29
|
#define CV_29_CONFIG 29
|
||||||
|
|
||||||
#if defined(ESP8266)
|
#if defined(ESP32)
|
||||||
|
#include <esp_log.h>
|
||||||
|
#define MAXCV SPI_FLASH_SEC_SIZE
|
||||||
|
#elif defined(ESP8266)
|
||||||
#include <spi_flash.h>
|
#include <spi_flash.h>
|
||||||
#define MAXCV SPI_FLASH_SEC_SIZE
|
#define MAXCV SPI_FLASH_SEC_SIZE
|
||||||
#elif defined( __STM32F1__)
|
#elif defined( __STM32F1__)
|
||||||
@@ -651,7 +654,7 @@ extern uint8_t notifyIsSetCVReady(void) __attribute__ ((weak));
|
|||||||
* notifyCVChange() Called when a CV value is changed.
|
* notifyCVChange() Called when a CV value is changed.
|
||||||
* This is called whenever a CV's value is changed.
|
* This is called whenever a CV's value is changed.
|
||||||
* notifyDccCVChange() Called only when a CV value is changed by a Dcc packet or a internal lib function.
|
* notifyDccCVChange() Called only when a CV value is changed by a Dcc packet or a internal lib function.
|
||||||
* it is NOT called if the CV is chaged by means of the setCV() method.
|
* it is NOT called if the CV is changed by means of the setCV() method.
|
||||||
* Note: It is not called if notifyCVWrite() is defined
|
* Note: It is not called if notifyCVWrite() is defined
|
||||||
* or if the value in the EEPROM is the same as the value
|
* or if the value in the EEPROM is the same as the value
|
||||||
* in the write command.
|
* in the write command.
|
||||||
|
Reference in New Issue
Block a user