Skip to content

Custom Blinklib v1.3.7.

Compare
Choose a tag to compare
@brunoga brunoga released this 08 Feb 22:12
· 12 commits to bga since this release

New In This Release

  • Reduce storage requirements by another 1% by slightly rewriting the dim() and lighten() functions.

Differences from the official Blinklib release at the time of publication

  • Improved management of deadlines virtually removing collisions (which improves transfer performance).
  • Built-in simple but effective guaranteed delivery for datagrams.
  • Datagrams can not cause face value starvation.
  • Clean up of public API.
  • Considerably smaller storage requirements.
  • Ability to fully disable datagram support for games that only use face values.
  • Ability to enable/disable Blinklib IR data checksum (disabled by default).
  • Face connection/disconnection events optionally reset the sleep timer.

Notable API changes

  • All 256 possible byte values are available for face values (as opposed to 64 currently).
  • sendDatagramOnFace now returns a bool that indicates if the value was scheduled to be sent or not. If it returns false, the caller must try to send again at the next loop() iteration. If it returns true, it is guaranteed that the datagram will be received by the other Blink eventually.
  • If a datagram is not consumed when it reaches a Blink and a new datagram is sent, it will be pending in the send buffer until it can be delivered. If another one is sent before it can be delivered, sendDatagramOnFace() will return false.
  • New function isDatagramPendingOnFace() that returns true if there is a datagram pending delivery on the given face.
  • New function resetPendingDatagramOnFace(), which resets any pending datagram on the given face, allowing an immediate call to sendDatagramOnFace() to succeed.
  • New function isDatagramPendingOnAnyFace() that returns true if a datagram is pending to be sent on any face.
  • BGA_CUSTOM_BLINKLIB define can be used to check for this specific Blinklib.

Known issues

  • Because of the change to have all of the 256 face values available for apps, Blinks with programs using this custom Blinklib will not interact very well with Blinks with programs that use the original one.

How to install

Use the same instructions availabe here but use https://github.com/brunoga/blinklib/releases/latest/download/package_bga_blinklib_index.json as the additional Board Manager URL.