8.0

@gioblu gioblu released this Apr 8, 2017 · 1154 commits to master since this release

Assets 2

PJON protocol specification v1.1
PJDL data-link specification v1.1
PJDLR data-link specification v1.1

Changelog:

  • Interfaces abstraction added to support cross-compilation and ease portability
  • Raspberry Pi now compatibile with ThroughSerial strategy see wiki example
  • receive_byte has been changed to receive_string to support both a single byte or a byte stream reception, eliminating the need of internal buffers in strategies and reducing program memory. Proposed and implemented by @fredilarsen
  • CRC32 enforced if packet length > 15 bytes (including overhead) to by default higher reliability
  • Added unacceptable or conflicting header configuration handling
  • In case of PJON_CONNECTION_LOST error data contains the id of the packet see error handling
  • Added send_from_id to enable the most basic form of routing or tunneling. Proposed and implemented by @fredilarsen
  • Extender example added by @fredilarsen

Bugfix:

  • In case of CRC error, NAK is not transmitted to avoid third-party exchange disruption if the data-link used does not support strong consistency
  • Attempts counter bugfix repeated async ack packet (4ecc754)
  • Avoid resend packet with asynchronous acknowledge if synchronous acknowledge is requested and received, wait until timeout and in case throw error (0bfb888)
  • Fixed a lot of compilation errors on linux to support Raspberry Pi