Commit Graph

35 Commits

Author SHA1 Message Date
Alex Shepherd
6a7e206032 reverted changes around lastMicros 2019-08-05 21:30:39 +12:00
Alex Shepherd
6d12e6cd3f added conditional compilation for ESP8266 to add ICACHE_RAM_ATTR to ExternalInterruptHandler
changed storage for Micros to unsigned long
2019-05-25 15:52:55 +12:00
Alex Shepherd
5cee0d28ed Merge branch 'master' into ESP32-IRAM_ATTR 2019-05-02 19:11:05 +12:00
Franz-Peter
bb2a659ebe Esp32 processor specific (#23)
* outputaddressing corrected

declared notifyDccAccState for backward compatibility

* version define in NmraDcc.h

* DB_PRINT introduced

Changed debug printing to a macro.
Added cv29 to CV-addresses that reset caching of myAddress

* Corrections regarding Outputaddressing

OutputAddress must be a signed variable

* Changes/additions regarding output addressing and CVChange callback
Change Flag FLAGS_OUTPUT_ADDRESS_MODE accordingly, when CV29 Bit 6 (output addressing) is changed.
New callback 'notifyDccCVChange' which is NOT called if the CV is changed by means of the setCV() method

* Shorten Debug Messages

Because of Buffer overrun in the serial output. This leads to blocking
Serial.write() calls

* notifyDccSigState restored

Restore the old callback notifyDccSigState for compatibiltity to version
1.4.2

* switch off debug printing

* ESP32 specific changes

insert ESP32 specific changes reagarding the ISR by Hans Tanner
2019-02-22 08:42:34 +13:00
Alex Shepherd
865d919802 Added IRAM_ATTR changes for the ESP32 from Hans Tanner
bumped version to 2.0.1
2019-02-16 22:09:19 +13:00
Thierry Paris
ff3e24dff4 Add ESP32 support (#21)
* Update README.md

* Added ESP32 support.
2019-01-23 14:15:46 +13:00
Alex Shepherd
7a3845cbdf Changed the architectures to now be * as we're no longer tied to AVR specific hardware, however I've listed the architectures its been tested on
Fixed a bug with CV bit-write
2018-07-08 00:54:21 +12:00
Alex Shepherd
1717a2efb0 Made some minor tweaks / tidy-ups after committing Franz-Peter's changes 2018-07-07 19:21:48 +12:00
Franz-Peter
32c5597870 Additional changes regarding output addressing and new callback notifyDccCVChanged() (#17)
* outputaddressing corrected

declared notifyDccAccState for backward compatibility

* version define in NmraDcc.h

* DB_PRINT introduced

Changed debug printing to a macro.
Added cv29 to CV-addresses that reset caching of myAddress

* Corrections regarding Outputaddressing

OutputAddress must be a signed variable

* Changes/additions regarding output addressing and CVChange callback
Change Flag FLAGS_OUTPUT_ADDRESS_MODE accordingly, when CV29 Bit 6 (output addressing) is changed.
New callback 'notifyDccCVChange' which is NOT called if the CV is changed by means of the setCV() method

* Shorten Debug Messages

Because of Buffer overrun in the serial output. This leads to blocking
Serial.write() calls

* notifyDccSigState restored

Restore the old callback notifyDccSigState for compatibiltity to version
1.4.2

* switch off debug printing
2018-07-07 13:26:51 +12:00
Alex Shepherd
f171dd3894 Added new FLAGS_AUTO_FACTORY_DEFAULT flag to enable checking CV 7 & 8 and if value of both is 255 then call notifyCVResetFactoryDefault() if defined 2018-04-18 23:53:01 +12:00
Franz-Peter
778de8ce74 Changes regarding output addressing (#16)
* outputaddressing corrected

declared notifyDccAccState for backward compatibility

* version define in NmraDcc.h

* DB_PRINT introduced

Changed debug printing to a macro.
Added cv29 to CV-addresses that reset caching of myAddress
2018-04-15 20:20:57 +12:00
M1118
ba3264bd87 Addition of notifyServceMode call to allow decoders to turn off high current outputs (#14)
* Add notification for entering and leaving service mode to allow the
decoder to swithc off high current outputs

* Add notification for entering and leaving service mode to allow the
decoder to swithc off high current outputs
2018-04-15 20:13:12 +12:00
Alex Shepherd
90470987a8 Merge branch 'AddOutputModeAddressing'
AddOutputModeAddressing:
  Fixed off-by-one (x4) error with DCC Accessory Output Mode Addressing. Made compatible with the DCC Spec for DCC Accessory Output Mode Addressing CV storage in CV 1 & 9. Its a bit wierd but...
  Added heaps of DEBUG PRINT to the Accessory Decoder section to follow/test the various test cases through the code and to figure out how to make this stuff work. Added more code to make the existing supported functions to be more selective about which packet bits patterns they take notice of as it was too broad previously Will remove some of the notifyCall-Back functions as some were not well conceived at the time and now need to go Testing is NOT complete as there were issues in JMRI that also need to be resolved in sync with this so we're not quite there yet..
  With eeprom_is_ready() for AVR-processors (#13)
  Fixed some bugs around DCC Accessory Output Mode Addressing and handling of edge cases Add function to set Accessory Decoder Address from next received Accessory Decoder command and new notify call-backs when a new address is set Added new notifyDccSigOutputState() with no OutputIndex parameter Bumped version but have NOT tagged the library as it needs more testing and checking for breakage
Added NmraDcc.h documentation changes and logic changes to correct a couple of issue that arose from Ken West performing a standard NMRA DCC Decoder Confirmance test. Added his test sketches and output reports
2017-12-24 16:53:22 +13:00
Alex Shepherd
9294aa29e5 Merge branch 'ESU_ECoS_CV_Programming'
* ESU_ECoS_CV_Programming:
  Added ESU ECoS CV Programming support
2017-12-24 15:25:17 +13:00
Alex Shepherd
844171f2ac Fixed off-by-one (x4) error with DCC Accessory Output Mode Addressing.
Made compatible with the DCC Spec for DCC Accessory Output Mode Addressing CV storage in CV 1 & 9. Its a bit wierd but...
2017-06-25 20:13:19 +12:00
Alex Shepherd
0656f58c5b Added heaps of DEBUG PRINT to the Accessory Decoder section to follow/test the various test cases through the code and to figure out how to make this stuff work.
Added more code to make the existing supported functions to be more selective about which packet bits patterns they take notice of as it was too broad previously
Will remove some of the notifyCall-Back functions as some were not well conceived at the time and now need to go
Testing is NOT complete as there were issues in JMRI that also need to be resolved in sync with this so we're not quite there yet..
2017-06-08 09:58:41 +12:00
Franz-Peter
0d2e8daeaf With eeprom_is_ready() for AVR-processors (#13)
* with eepromReady for AVR

* with eepromReady for AVR
2017-06-04 13:30:31 +12:00
Franz-Peter
92dd2e6ac5 With eeprom_is_ready() for AVR-processors (#13)
* with eepromReady for AVR

* with eepromReady for AVR
2017-05-25 15:19:17 +12:00
Alex Shepherd
07933e42a8 Fixed some bugs around DCC Accessory Output Mode Addressing and handling of edge cases
Add function to set Accessory Decoder Address from next received Accessory Decoder command and new notify call-backs when a new address is set
Added new notifyDccSigOutputState() with no OutputIndex parameter
Bumped version but have NOT tagged the library as it needs more testing and checking for breakage
2017-04-27 01:26:25 +12:00
Franz-Peter
f8f106962f Stm32 support (#12)
* 1st version for STM32

bit detection and EEPROM changed to support STM32

* added STM32F1 support

updated files: library.properties. NmraDcc.cpp, NmraDcc.h

* switch off debug output

* missing #endif added

Testports for esp8266 defined
2017-01-30 17:08:41 +13:00
Alex Shepherd
8c782d5f15 Added ESU ECoS CV Programming support 2016-11-27 22:25:12 +13:00
Alex Shepherd
9035e55930 Added Sven to contributors and incremented the version 2016-08-20 17:46:29 +12:00
Alex Shepherd
3eee73f6cd replaced '4096' with definition SPI_FLASH_SEC_SIZE from header file 2016-08-20 17:36:47 +12:00
Sven Bursch-Osewold
d3059d2f4e ESP8266 Support 2016-08-18 19:57:47 +02:00
MicroBahner
0bab98c838 Consider glitches on DCC line
Glitches on the DCC line could make the decoding Irq hang in an dead
lock state. ( if it interrupts itself - this is now recognized )
2016-07-18 10:57:54 +02:00
Alex Shepherd
515e56d918 Merge branch 'master' into MicroBahner-Without-use-of-HW-timers
* master:
  Fixed issue reported by lucari Despite the values set for F0-4, a packet with all fields set to zero is received. The problem seems to be related to NrmaDcc.cpp and a hidden 'break' statement at line 484. This should be swapped with the #endif on the next line. The result is that when a Speed packet is processed, it drops through to the next case statement and sends an empty DCCFunc command.
  Added Iowa Scaled Engineering ARD-DCCSHIELD example
  fixed call-back function void notifyDccFunc and changed version to 1.2.1
2016-05-17 12:09:50 +12:00
Alex Shepherd
ebfb58c1fb Fixed issue reported by lucari
Despite the values set for F0-4, a packet with all fields set to zero is received. The problem seems to be related to NrmaDcc.cpp and a hidden 'break' statement at line 484. This should be swapped with the #endif on the next line. The result is that when a Speed packet is processed, it drops through to the next case statement and sends an empty DCCFunc command.
2016-05-11 20:53:06 +12:00
Alex Shepherd
b8dac78697 merged in master and added initAccessoryDecoder method 2016-03-25 17:46:22 +13:00
Alex Shepherd
e087dc9052 Merge branch 'master' into MicroBahner-Without-use-of-HW-timers 2016-03-24 18:51:12 +13:00
Alex Shepherd
c4e693550c reversed a change to the state parameter of the notifyDccAccState() call-back that may have broken compatibility with existing code
more improvements to the NmraDccAccessoryDecoder_Pulsed_8 example code
2016-03-20 19:58:03 +13:00
Alex Shepherd
4e4007ebf7 Added new call-back functions: notifyDccAccTurnoutBoard and notifyDccAccTurnoutOutput
Added new example NmraDccAccessoryDecoder_Pulsed_8
changed version to 1.2.0
2016-03-19 23:24:55 +13:00
MicroBahner
d47795e54a No HW dependencies
Compiles for AVR and Teensy (Arm) without modifications
2016-01-03 14:17:02 +01:00
Alex Shepherd
ed03e292e4 corrected information in the file headers to reflect change to MRRwA from OpenDCC 2015-11-29 16:34:10 +13:00
Alex Shepherd
f903b3ab53 Added in enhancements from Martin Pischky for 14 & 28 speed steps and merged in more examples from Geoff into the examples/SMA folder 2015-11-16 23:49:12 +13:00
Alex Shepherd
b01ca7f31e Initial checkin to git and added library.properties 2015-05-12 18:46:14 +12:00