Skip to content

Releases: gioblu/PJON

5.1

24 Sep 23:00
Compare
Choose a tag to compare
5.1

Changelog:

Bugfix:

5.0

06 Sep 04:21
Compare
Choose a tag to compare
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 the send_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 by value * 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 and SoftwareBitBang strategy is reduced, and in many cases also a complex bus can run without it
  • Methods in alphabetic order

4.3

03 Sep 14:46
Compare
Choose a tag to compare
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-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 bugfix
  • acquire_id experimental functionality removed

4.2

09 Aug 23:04
Compare
Choose a tag to compare
4.2

Changelog;

Bugfix:

  • can_start bugfix in ThroughHardwareSerial (1c8b71a) by DanRoad reddit user
  • Useless flush special case removed in ThroughHardwareSerial (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

02 Aug 04:37
Compare
Choose a tag to compare
4.1

Changelog:

  • Physical layer 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 Serial
  • Added ThroughHardwareSerial examples

Bugfix:

4.0

27 Jul 23:49
Compare
Choose a tag to compare
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 @fredilarsen
  • reply 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

24 May 01:46
Compare
Choose a tag to compare
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 and SoftwareBitBang 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

06 May 03:48
Compare
Choose a tag to compare

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

25 Apr 21:11
Compare
Choose a tag to compare
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 to bus instance name in all documentation and examples
  • Removed useless send_bit

Bugfix:

  • Backoff bugfix (ed6c899)
  • Single byte 0 sending fail bug fixed (#59)
  • micros overflow sensitive conditions bugfix
  • update bugfix (e75689e)
  • digitalWriteFast library moved to source directory to avoid problems with PlatformIO
  • 1 Second duration in all the examples to avoid ESP8266 reset

2.0 beta

07 Apr 18:37
Compare
Choose a tag to compare

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:

  • can_start bugfix now reading 10 bits (6ceb2cb)
  • read_byte bugfix (d2679d5)
  • Infinite collision bugfix (#43)