Releases: gioblu/PJON
Releases · gioblu/PJON
5.1
Changelog:
ThroughSerial
strategy able to leverage of the Software and Hardware Serial port (https://github.com/gioblu/PJON/tree/5.1/strategies/ThroughSerial)- Added RS485 tx enable pin handling in
ThroughSerial
(71e59a0) receive
function optimization (fd97d23)- Header driven sending, not configuration driven (6a8cdf9)
- Extended documentation in
.md
files rather than in wiki
Bugfix:
- Cubic backoff bugfix (eef9592)
5.0
PJON Protocol layer specification released v0.1 - v0.2 - v0.3
Padded jittering data link layer specification released v0.1
Changelog:
- Complete data link layer abstraction. Now a strategy includes configuration and communication pin setter, i.e.
bus.strategy.set_pin(12)
and thesend_string
method to ease other strategies creation or extension (why not an Ethernet strategy?). - Packet sending optimization. From PJON v5.0 the packet is composed, and its CRC calculated, once, when dispatched. The
PJON_Packet
buffer has been simplified and the packet's additional info saved in the content attribute with the information. - Documentation in readme to handle more efficiently versioning and avoid duplication
- Dropped
pow
substituted byvalue * value
because of its memory footprint - Definitions moved in
PJONDefines.h
- Because of a more optimized execution timing the necessity of a pull-down resistor for
OverSampling
andSoftwareBitBang
strategy is reduced, and in many cases also a complex bus can run without it - Methods in alphabetic order
4.3
Changelog:
- pre-allocated buffers to reduce memory usage, avoid fragmentation and finally drop
malloc()
.
With this change, the default PJON codebase will need more memory than the previous releases, but can be tuned to fit the requirements. To reduce the memory consumption simply pre-defineMAX_PACKETS
andPACKET_MAX_LENGTH
constants to fit your needs before PJON.h inclusion. For example if your device transmits up to one packet, you can limitMAX_PACKETS
to 1.
Bugfix:
info_overhead
function definition bugfixacquire_id
experimental functionality removed
4.2
Changelog;
get_packets_count
added to count active packets (dc62a7e) by @pantonvichremove_all_packets
added to remove active packets (dc62a7e) by @pantonvichupdate
now returning the number of packets still to be delivered (dc62a7e) by @pantonvich- Check if
Serial
is a pointer inThroughHardwareSerial
(2c7630a) by @fredilarsen ThroughHardwareSerial
strategy wiki page added
Bugfix:
can_start
bugfix inThroughHardwareSerial
(1c8b71a) by DanRoad reddit user- Useless
flush
special case removed inThroughHardwareSerial
(72cbfde) - Now agnostic header bits configuration (3266cf3) by @fredilarsen
- Wrong length in
receiver
function bugfix (1b594d2) by @fredilarsen - Fix path to examples in platformio manifest file @ivankravets
4.1
Changelog:
- Physical layer
strategy
now public, switch tostrategy.method
call reducing memory consumption by circa 5%, enabledstrategy.method
call from sketch (seeset_serial
inThroughHardwareSerial
) ThroughHardwareSerial
Strategy added to enable PJON communication over Serial- Added
ThroughHardwareSerial
examples
Bugfix:
b_id
bug fixed (fe6936f)
4.0
We are happy to release the fourth version of PJON in only one year of continuous active development.
Changelog:
- Shared medium functionality completion / optimization
- Packet header added enabling configurable transmission setup by @fredilarsen
PacketInfo
packet metainfo added to receiver function parameters by @fredilarsenreply
method to be used in the receiver function by @fredilarsen
Bugfix:
- SimpleModbusMasterV2 incompatibility thanks to @4ib3r
- Packet index 0 bugfix by @shacal
- Forcing
SIMPLEX
in OverSamplingSimplex by @eiannone
Visit the wiki to get additional info on the Standard changes.
3.0
Changelog:
- Optional 4 bytes bus id to enable shared media communication and networking (512f290)
- Local and Network bus functionality
- Complete 2 pin compatibility with both
OverSampling
andSoftwareBitBang
strategies - Complete physical layer abstraction from
PJON.h
- Router functionality
- Configurable syncronous acknowledge behaviour
- Extended Examples covering also
OverSampling
strategy
Bugfix:
- OverSampling SendAndReceive example bugfix (f5299a1)
3.0 beta
Changelog:
- PJON physical layer abstraction with the use of Strategies.
- PJON is now a template class able to receive a strategy type, allowing users to develop their own.
- PJON_ASK it is now integrated in the PJON repository with the OverSampling strategy addition, enabling long range (up to 3km) radio communication with the same codebase.
- 1 or 2 pin communication to enable usage of twisted pair or radio transceivers.
- The standard PJON physical layer is now abstracted in SoftwareBitBang strategy.
- Arduino Leonardo / Micro compatibility added.
- Teensy (MK20DX256) compatibility added by sticilface.
- Updated examples, documentation and readme.
digitalWriteFast
refactoring.SendAndReceive
example added.
2.0
Changelog:
- Switch to Apache 2.0 license
- Added CRC 8-bit table-less implementation (c22a144)
- Added auto-addressing strategy and its examples (experimental)
begin
method added (91c3844)- Arduino Zero
OVERDRIVE
mode timing optimization by @EsbenSoeltoft - ATtiny 45/85 8Mhz timing optimization (28d5a1d)
- Switch from
network
tobus
instance name in all documentation and examples - Removed useless
send_bit
Bugfix:
2.0 beta
Changelog:
- Variable type standardization to ease porting
- New Timing structure to ease porting, see
Timing.h
- Arduino Zero compatibility (c59fa8f) by @EsbenSoeltoft
pullDownFast
cross-architecture function by @EsbenSoeltoft
Bugfix: