Alex Shepherd
954e2b3525
bump version to 2.0.17
2024-08-24 12:40:04 +12:00
Alex Shepherd
f994cab0c5
Changes the return from NmraDcc::process() to be the number of times a DCC Packet is ready to be able to detect DCC packet buffer overflow.
2024-08-24 12:39:03 +12:00
Alex Shepherd
ee89abe4d7
Test adding support for Arduino UNO R4. Code now compiles ok, but needs testing
2024-06-16 23:31:52 +12:00
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
Alex Shepherd
159a4bc5bf
added Seeed SAMD M0 Xiao + Xiao Expansion board specific example
...
bumped version to 2.0.15
2023-02-15 23:37:33 +13:00
Alex Shepherd
5b681f49de
oops missed the use of #ifdef ARDUINO_SAMD_ZERO
2023-02-08 00:12:21 +13:00
Alex Shepherd
02be948ed2
added support for the SAMD_21 chip with no EEPROM using the FlashStorage_SAMD emulated EEPROM library
...
added disable interrupts on the ESP8266 and ESP32 to avoid a crash during FLASH Write of emulated EEPROM
bumped version to 2.0.14
2023-02-07 23:58:45 +13:00
Alex Shepherd
24d6689b24
added DCC Message Debug code to Fahrstuhl example to assist with debugging initial setup
...
bumped to version 2.0.13
2022-07-30 15:39:39 +12:00
Alex Shepherd
f1f214af3a
Added FLAGS_OUTPUT_ADDRESS_MODE to Dcc.init() to make it work again after the DCC Addressing changes
2022-07-30 14:54:12 +12:00
Alex Shepherd
e1080f28fd
change default board settings to Uwe
2022-07-24 22:54:46 +12:00
Alex Shepherd
54c56b7cda
Added DCC Decoder logic to move levels
2022-07-24 22:52:45 +12:00
Alex Shepherd
2e1f9098ad
Changed Interrupt handling for RP2040 architectures to be similar to ESP32
...
Added check for proper USB Serial initialisation to examples
2022-07-23 20:26:32 +12:00
Alex Shepherd
37b66af743
Got Manual Operation and Home Sensor working
2022-07-02 23:49:44 +12:00
Alex Shepherd
4cf529e8c5
bump version to 2.0.11
2022-03-12 21:34:39 +13:00
Alex Shepherd
cea2913e8a
Fix example DCCInterface_TurntableControl.ino sketch to work with library changes
2022-03-12 21:30:12 +13:00
Alex Shepherd
ae9afe9c24
added CV_MANUFACTURER_START
2022-02-27 18:35:58 +13:00
Alex Shepherd
afe488d792
bumbump version to 2.0.10 to force update of Arduino Library Manager Indexer
2021-08-30 22:48:44 +12:00
Alex Shepherd
61a730bf82
unified example folder/sketch name that was detected by the arduino-lint utility
2021-08-30 17:55:25 +12:00
Alex Shepherd
b0b27ce0cc
bump version to 2.0.9
2021-08-30 14:14:38 +12:00
Alex Shepherd
c3dc28479a
corrected Fwd/Rev LED logic in NmraDccMultiFunctionMotorDecoder example
...
added conditional compilation to use the newer Dcc.pin() method that used digitalPinToInterrupt() to determine the Ext Interrupt Number based on Arduino Pin to reduce confusion
2021-08-30 14:11:54 +12:00
Alex Shepherd
a05c12ce95
tidied up Ardunio Every and Raspberry Pi Pico attachInterrupt() function calls
2021-07-23 21:38:24 +12:00
Alex Shepherd
0a72fc610b
reformatted the NmraDcc.h & NmraDcc.cpp files using the astyle rules in the new file: .astyle as per the PR from David Zuhn (davidzuhn)
2021-05-09 16:56:08 +12:00
Alex Shepherd
ad5ce96253
after making a mess of a PR from davidzuhn and not having the git skills to fix it, I've resorted to simply copying the desired files from his PR.
...
I've excluded his reformatted NmraDcc.h NmraDcc.cpp because there were too many merge conflicts now, so I'll reapply his formatting rules in another commit
2021-05-09 16:51:08 +12:00
Alex Shepherd
1e81b95044
removed incorrect comment about notifyDccAccTurnoutOutput() callback function
2021-05-02 23:06:59 +12:00
Alex Shepherd
84fdf45dce
added support for the Arduino AVR Nano Every
2021-05-02 23:02:37 +12:00
Alex Shepherd
681b362811
Added MACROs CALC_MULTIFUNCTION_EXTENDED_ADDRESS_MSB and CALC_MULTIFUNCTION_EXTENDED_ADDRESS_LSB to correctly compute the DCC Address for CV storage
...
Corrected bug: ESP32 version stops working when loosing interupts or signal is bad (#48 )
bumped version to 2.0.7
2021-04-04 14:01:35 +12:00
Alex Shepherd
7e3b3e3469
Changed how INPUT_PULLUP is done to be compatibile with ESP32
...
Bumped version to 2.0.6
2020-10-20 09:42:00 +13:00
Alex Shepherd
a09c6b1002
bumped NMRADCC_VERSION to 205
2020-06-02 09:50:12 +12:00
Alex Shepherd
29bc2aa1c0
default to DISABLE_OUTPUTS_IDLE uncommented
2020-06-01 19:04:56 +12:00
Alex Shepherd
3abb683d8d
improved DCCInterface_TurntableControl example to:
...
- Added selectable Movement Strategy: Positive Direction Only, Negative Direction Only, Shortest Distance
- Made Disabling Output on Idle optional
2020-06-01 18:49:00 +12:00
Alex Shepherd
f3da07c739
added Franz-Peter's changes to pass NMRA Tests ( always search for preamble )
2020-05-31 20:14:28 +12:00
Alex Shepherd
dead808af2
added work-around for ATtiny1614 range of chips that have a bug in: eeprom_is_ready()
2020-05-30 16:14:27 +12:00
Alex Shepherd
38194c0148
Correct the inconsistent license text in the source files to be the Lesser GPL as was intended by the LICENSE file and the repo classification
2020-02-03 22:16:00 +13:00
Alex Shepherd
7819716ac0
manually merged in Franz-Peter's changes as his PR#30 pull-request had too many differences to merge once I'd already solved the advancedAck issue.
...
This commit contains the remaining relevant changes after doing a manual diff of the library files
2020-01-10 17:33:09 +13:00
Alex Shepherd
5349a21e2e
fix bug caused when AdvancedCVAck logic was added as the CV Programming code was shared between Service Mode and Ops Mode programming.
2020-01-10 15:30:30 +13:00
Alex Shepherd
36418f4d66
fixed a bug with the Extended DCC Packet Decoder Reset command was only handling the Hard Reset but not the Soft Reset
2019-11-23 14:25:28 +13:00
Alex Shepherd
a8081526ba
Merge commit '71bb657e3a7d80edc096094564f5d279e8a1fb69'
...
* commit '71bb657e3a7d80edc096094564f5d279e8a1fb69':
Esp32 iram attr (#26 )
The merge adds extra STM32 handling
Als manually resolved the conflict around the type for lastMicros, to now be:
static unsigned int lastMicros = 0;
Howefully this does the right thing on each platform
2019-10-28 18:58:02 +13:00
Alex Shepherd
7063e4e7e7
Merge branch 'master' of https://github.com/mrrwa/NmraDcc
...
* 'master' of https://github.com/mrrwa/NmraDcc :
Update NmraDcc.cpp
Update NmraDcc.cpp (#28 )
2019-08-19 19:08:28 +12:00
Alex Shepherd and GitHub
d8fb99ed91
Update NmraDcc.cpp
...
Added some more comments to the ServiceMode programming DCC Packet comparison logic
2019-08-19 19:04:51 +12:00
Alex Shepherd
1542a6fe6c
Merge branch 'AdvancedCVAck'
...
* AdvancedCVAck:
corrected method description
split out ServiceMode ackCV from Ops Mode AdvancedCVAck as doing a ackCV in Ops Mode is wrong and adds 6ms busy delay add cache of CV29 value
2019-08-09 08:20:45 +12:00
Alex Shepherd
828b1feaba
corrected method description
2019-08-09 08:19:53 +12:00
Alex Shepherd
f3a2b87693
split out ServiceMode ackCV from Ops Mode AdvancedCVAck as doing a ackCV in Ops Mode is wrong and adds 6ms busy delay
...
add cache of CV29 value
2019-08-06 00:22:04 +12:00
Alex Shepherd
e06f6b3bce
bumped version to 2.0.2
2019-08-05 21:34:48 +12:00
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
b249762550
changed the version to 201 in the header
2019-05-02 21:42:59 +12:00
Alex Shepherd and GitHub
5cee0d28ed
Merge branch 'master' into ESP32-IRAM_ATTR
2019-05-02 19:11:05 +12:00
Alex Shepherd
5ba1ee3e8e
added another example of s simple DCC Multifunction (Locomotive) decoder
2019-05-02 11:13:22 +12: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
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
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
Alex Shepherd
0fbe2a13d1
Changed version to 2.0.0
...
Added more detail to the README.md
NOT READY FOR PRODUCTION YET, needs more checking and change to provide some backwards compatibility for call-backs that had been removed
2018-03-06 18:48:43 +13:00
Alex Shepherd
369786325f
updated the examples to reflect the removal of support for the two call-back functions: notifyDccAccState(), notifyDccSigState()
2018-03-01 00:00:15 +13:00
Alex Shepherd
ec801bf463
updated the examples to reflect the removal of support for the two call-back functions: notifyDccAccState(), notifyDccSigState()
2018-02-28 23:50:59 +13: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
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
Alex Shepherd
8c782d5f15
Added ESU ECoS CV Programming support
2016-11-27 22:25:12 +13:00
Alex Shepherd
dafa1c9964
Merged Geoff's Update-Examples-5.4 branch
2016-11-27 19:49:29 +13:00
Alex Shepherd and GitHub
dcbd20ef7e
Merge pull request #11 from mrrwa/Update-Examples-5.4
...
V5.4 Bug Fixes and Minor Chages
2016-11-27 19:42:57 +13:00
Alex Shepherd
4c1d5fd6e4
changed version to 1.4.1 as a bug fix as something changed in the ESP8266 Core
2016-11-16 10:03:36 +13:00
Alex Shepherd
3a5986d10d
added esp8266 to supported architectures
...
added addition #include file for esp8266 to resolve missing SPI_FLASH_SEC_SIZE symbol
2016-11-16 10:01:36 +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
Alex Shepherd and GitHub
0c3385b27d
Merge pull request #4 from MicroBahner/master
...
Update DCC bit decoding
2016-07-23 19:48:42 +12:00
Alex Shepherd
47d052a939
Added Franz-Peter Müller to the authors list
2016-06-11 16:21:48 +12:00
Alex Shepherd
275dc8ea94
Updated description paragraph to mention that we no longer use the Timer0 Compare MatchB interrupt
2016-06-11 15:58:53 +12:00
Alex Shepherd
dc45375a5a
Changed version to 1.3.0
2016-06-11 15:47:03 +12:00
Alex Shepherd
9e656f49c6
Commented out #define NMRA_DCC_ENABLE_14_SPEED_STEP_MODE
2016-06-11 15:46:05 +12:00
Alex Shepherd
2c55e735b7
Added Geoff's 5.1 changes
2016-06-11 15:31:34 +12: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
f50fea1a85
Added Iowa Scaled Engineering ARD-DCCSHIELD example
2016-04-09 13:06:05 +12:00
Alex Shepherd
1a60cb8cf6
fixed call-back function void notifyDccFunc and changed version to 1.2.1
2016-03-28 11:10:09 +13: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
8dc6ee950f
fixed call-back function void notifyDccFunc( uint16_t Addr, DCC_ADDR_TYPE AddrType, FN_GROUP FuncGrp, uint8_t FuncState) to include the new parameter: DCC_ADDR_TYPE AddrType
2016-03-20 20:45:33 +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
Alex Shepherd
70b44eb5d4
Added a MultiFunction decoder example and change the name of the other to Accessory decoder
2016-02-13 23:34:14 +13:00
Alex Shepherd
3a293152fc
Merge pull request #1 from mrrwa/SMA_Examples_Update
...
Bug fix line 625- missing break statement added
2015-12-20 23:57:32 +13: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
d0b4f71282
Added missing example sketches
2015-11-17 08:02:31 +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
8f6fbdead1
Added extern "C" wrapper around C call-back functions
2015-09-27 09:36:25 +13:00
Alex Shepherd
e19dd605c4
Added Geoff Bunza to Authors list
2015-05-14 00:23:28 +12:00
Alex Shepherd
b01ca7f31e
Initial checkin to git and added library.properties
2015-05-12 18:46:14 +12:00
Alex Shepherd
0091ab0cd9
Update README.md
2015-05-12 18:42:06 +12:00
Alex Shepherd
9406265156
Initial commit
2015-05-12 18:40:22 +12:00