@gioblu gioblu released this Mar 26, 2018 · 405 commits to master since this release

Assets 2

Changelog:

  • The src directory now contains all the source code
  • SimpleSwitch, Switch, Router, DynamicRouter, InteractiveRouter and VirtualBusRouter classes added to handle switching and transparent routing for tree topologies by @fredilarsen
  • Any strategy added including virtual inheritance and supporting strategy dynamic handling after instantiation and dynamic collections of PJON objects using different strategies by @fredilarsen
  • ThroughLoRa documentation added by @Matheus-Garbelini
  • SoftwareBitBang mode 2 and 3 are more reliable and more easily applied on limited micontrollers
  • SoftwareBitBang ATMega1284P support by @fabpolli
  • SoftwareBitBang examples with 2 instances now use pins of different port groups to avoid cross-talk
  • OverSampling examples with 2 instances now use pins of different port groups to avoid cross-talk
  • PJONMaster with check_slaves_presence method can discard ids of slaves that are unreachable
  • PJONMaster and PJONSlave addressing documentation added
  • ThroughSerial WINX86 example building process simplified
  • Packet id parameter added to send_packet_blocking
  • The error callback parameter data type has been changed from uint8_t to uint16_t to contain all possible packet lengths and a pointer to a custom function has been added to ease integration:
  // Older versions
  void error_handler(uint8_t code, uint8_t data) {
    // User's code here
  }

  // v11
  void error_handler(uint8_t code, uint16_t data, void *custom_pointer) {
    // User's code here
  }

Bugfix:

  • ATtiny85 PJON_IO_PIN_TO_BIT bugfix (6f55069)
  • Many compiler warnings removed
  • Fix to WINX86 Serial interface (5c58e94) reported by @sigmaeo

Communication backward compatibility is preserved except for SoftwareBitBang mode 2 and 3.
All programs using the error handler must be updated as described above.