Releases: aikopras/RSbus
RSBus V2.4.0
Compared to V2.3 the default timer used in combination with AtMega 2560 (as well as 640, 1280, 1281 and 2561) processors is changed from Timer 5 into Timer 3. In addition, it is possible to change the default Timer 3 into Timer 4 or 5. To make such change, modify the file RSbusVariants.h and uncomment the line with #define RSBUS_USES_SW_T4 or #define RSBUS_USES_SW_T5.
RSBus V2.3.0
For AtMega 2560 processors we will use Timer 5 to reset that RS-Bus address that is being polled (updateAddressPolled()).
In "normal" sketches this is done by checkPolling(), which should be called as frequent as possible from the main loop.
This should be done at least every 2ms.
Unfortunately some libraries, like the LCD library, are quite slow. For example, writing to a LCD display can easily costs many ms.
As a result, updateAddressPolled() may miss the right moment to reset the polled address, which in turn will lead to RS-Bus pulse count errors.
Fortunately the Mega2560 processor has multiple unused 16 bit timers. By using the Timer 5 ISR, we can ensure that updateAddressPolled() will be called exactly every 2ms..
RSBus V2.2.0
This release improves the reliability of RS-bus software by including error detection and correction. It can now detect and react upon parity errors and pulse count errors.
The retransmission option added in the previous release has been renamed into forward error correction.
The default version for the MegaCoreX and DxCore has been changed, at the expense of somewhat higher CPU load but with the ability to detect spikes on the input pin.
Documentation has been extended.
RSBus V2.1.0
Compared to version 2.0, the possibility was added that feedback messages get retransmitted. Retransmission takes place, irrespective whether the RSbus command station has detected a transmission error or not.
For this purpose the 'Retransmissions' variable was added to the RSbusConnection object.
An example sketch has been added as well
RSBus V2.0.0
For "standard" Arduino's (Nano, Uno, Mega) the hardware specific (receive and transmit) software has been rewritten. Parity errors are now detected, and (application level) retransmission of feedback bytes is now possible.
A Monitor example sketch was added, to detect various types of RS-Bus errors.
Documentation was substantially improved!
The biggest update relates to new MegaCoreX and DxCore processors, which are now supported and optionally reduce CPU load considerably by offloading RS-Bus counting to the RTC or a RTC peripheral.
Notes:
- The TCB variant waits for the release of a new version of the DxCore's Event Library
- Documentation regarding the monitoring example needs to be completed
RSBus V1.2.2
Documentation regarding the use of the type
field was updated and corrected.
RSBus V1.2.1
Documentation improved
RSBus V1.2.0
The following changes are made in this release:
- Examples have been added
- USART selection no longer based on Arduino Pin numbers, but on USART number (0, 1, ...)
- Typo changed (harware => hardware)
RSBus V1.1.0
Library for DCC Decoders using the (Lenz) RSBus for feedback information.
- Initial version, tested on ATMega 16 (MightyCore) and "standard" Arduino UNO and MEGA boards