121 Commits

Author SHA1 Message Date
Alex Shepherd
954e2b3525 bump version to 2.0.17 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 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
2.0.15
2023-02-15 23:37:33 +13:00
Alex Shepherd
5b681f49de oops missed the use of #ifdef ARDUINO_SAMD_ZERO 2.0.14 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
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
2.0.12
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 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 2.0.10 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
Jueff
037070b899 Add support for Raspberry Pico (#56)
* fix ESP32 bug on interrupt reinitialisation

* - add first version of Raspberry Pico support

* - add first version of Raspberry Pico support

* Fix problem with missing type PinStatus
merge changes from master project

* fix encoding issue
2021-04-26 23:33:17 +12:00
Fred
eb15c25491 Update NmraDcc.h (#53)
Fix notifyDccAccTurnoutOutput() comments to show this is used when CV29_OUTPUT_ADDRESS_MODE IS set. Add emphasis to this and notifyDccAccTurnoutBoard() similar routine.
2021-04-26 23:32:58 +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
Geoff Bunza
f5d7e9b8c3 Gbidec (#44)
* Create IDEC

* Delete IDEC

* Add files via upload

* Add files via upload
2020-11-20 12:10:19 +13:00
Alex Shepherd
7e3b3e3469 Changed how INPUT_PULLUP is done to be compatibile with ESP32
Bumped version to 2.0.6
2.0.6
2020-10-20 09:42:00 +13:00
Alex Shepherd
a09c6b1002 bumped NMRADCC_VERSION to 205 2.0.5 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
d8fb99ed91 Update NmraDcc.cpp
Added some more comments to the ServiceMode programming DCC Packet comparison logic
2019-08-19 19:04:51 +12:00
Roeland
794128fe4b Update NmraDcc.cpp (#28)
Changed the Service Mode duplicate packet comparison to only compare the packet Size and  Data fields and ignore the number of Preamble bits as some command stations appear to send different numbers of preamble bits for otherwise duplicated packets, so we detecting the required two identical packets in sequence and performing the ServiceMode Operation
2019-08-19 18:59:29 +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
Bob Jacobsen
462025b9fe Comment update (#27)
Incredibly trivial update to comment noticed while reading code.
2019-08-06 09:10:21 +12:00
Franz-Peter
71bb657e3a Esp32 iram attr (#26)
* changed the version to 201 in the header

* added conditional compilation for ESP8266 to add ICACHE_RAM_ATTR to ExternalInterruptHandler
changed storage for Micros to unsigned long

* some tuning to bit recognition and nested IRQ (STM32)
2019-08-06 01:14:58 +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