PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.
Changelog:
ThroughSerial
strategy able to leverage of the Software and Hardware Serial port (https://github.com/gioblu/PJON/tree/5.1/strategies/ThroughSerial)ThroughSerial
(https://github.com/gioblu/PJON/commit/71e59a0218dd253584c7a26e735930f56ea8c698)receive
function optimization (https://github.com/gioblu/PJON/commit/fd97d2392b04592e97076d2eaf7767bc3f90fbe6).md
files rather than in wikiBugfix:
PJON Protocol layer specification released v0.1 - v0.2 - v0.3 Padded jittering data link layer specification released v0.1
Changelog:
bus.strategy.set_pin(12)
and the send_string
method to ease other strategies creation or extension (why not an Ethernet strategy?).PJON_Packet
buffer has been simplified and the packet's additional info saved in the content attribute with the information.pow
substituted by value * value
because of its memory footprintPJONDefines.h
OverSampling
and SoftwareBitBang
strategy is reduced, and in many cases also a complex bus can run without itChangelog:
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-define MAX_PACKETS
and PACKET_MAX_LENGTH
constants to fit your needs before PJON.h inclusion. For example if your device transmits up to one packet, you can limit MAX_PACKETS
to 1.Bugfix:
info_overhead
function definition bugfixacquire_id
experimental functionality removedChangelog;
get_packets_count
added to count active packets (https://github.com/gioblu/PJON/commit/dc62a7eaf5a82483945dc621c90a7efeb9b0dca4) by @pantonvichremove_all_packets
added to remove active packets (https://github.com/gioblu/PJON/commit/dc62a7eaf5a82483945dc621c90a7efeb9b0dca4) by @pantonvichupdate
now returning the number of packets still to be delivered (https://github.com/gioblu/PJON/commit/dc62a7eaf5a82483945dc621c90a7efeb9b0dca4) by @pantonvichSerial
is a pointer in ThroughHardwareSerial
(https://github.com/gioblu/PJON/commit/2c7630a7b0901fa9e30c4d5241cbed0e14a36139) by @fredilarsenThroughHardwareSerial
strategy wiki page addedBugfix:
can_start
bugfix in ThroughHardwareSerial
(https://github.com/gioblu/PJON/commit/1c8b71ab56282fd9817f09cca29452fc4481fc3b) by DanRoad reddit userflush
special case removed in ThroughHardwareSerial
(https://github.com/gioblu/PJON/commit/72cbfde2cb9481b86f9a451513d601e61c0e7c64)receiver
function bugfix (https://github.com/gioblu/PJON/commit/1b594d2d7c4807fbdcf422630b4d51b2c564166c) by @fredilarsenChangelog:
strategy
now public, switch to strategy.method
call reducing memory consumption by circa 5%, enabled strategy.method
call from sketch (see set_serial
in ThroughHardwareSerial
)ThroughHardwareSerial
Strategy added to enable PJON communication over SerialThroughHardwareSerial
examplesBugfix:
We are happy to release the fourth version of PJON in only one year of continuous active development.
Changelog:
PacketInfo
packet metainfo added to receiver function parameters by @fredilarsenreply
method to be used in the receiver function by @fredilarsenBugfix:
SIMPLEX
in OverSamplingSimplex by @eiannoneVisit the wiki to get additional info on the Standard changes.
Changelog:
OverSampling
and SoftwareBitBang
strategiesPJON.h
OverSampling
strategyBugfix:
Changelog:
digitalWriteFast
refactoring.SendAndReceive
example added.Changelog:
begin
method added (https://github.com/gioblu/PJON/commit/91c3844bdf845e35e7cb95b3e87e040f6d1d0c7a)OVERDRIVE
mode timing optimization by @EsbenSoeltoftnetwork
to bus
instance name in all documentation and examplessend_bit
Bugfix:
micros
overflow sensitive conditions bugfixupdate
bugfix (https://github.com/gioblu/PJON/commit/e75689e87718492c45b064b7239778e68e497f63)digitalWriteFast
library moved to source directory to avoid problems with PlatformIOChangelog:
Timing.h
pullDownFast
cross-architecture function by @EsbenSoeltoftBugfix:
can_start
bugfix now reading 10 bits (https://github.com/gioblu/PJON/commit/6ceb2cb4928a1b80ac7087a5691984c9cf653f60)read_byte
bugfix (https://github.com/gioblu/PJON/commit/d2679d5821470179bb73dedba8887873f90709d9)