afLib update 3/14/18


Hi everybody, Happy Pi day!

Today we’re pleased to release another update to our Arduino library afLib, available at

This release includes the following updates:

We fixed a big issue with an internal FIFO queue that wasn’t always FIFO

We updated some Best Practice code around handling device OTA/reboot requests - check out the attrNotifyHandler in the afBlnk example to see how it now handles MODULE_STATE_UPDATE_READY and processes a reboot request in the MCU main loop, so your MCU can handle rebooting the ASR when it’s convenient for you to do so.

We added a getReason() method to get the reason code for why a particular update was delivered to you (if you want to know).

We updated profiles in several example apps for Modulo-2

We released an example app (aflib_time_check) to demonstrate how to get a usable time-of-day timestamp and UTS offset information for your MCU to use. For full documentation, check out or the comments in the example app. The AF_SYSTEM_LINKED_TIMESTAMP attribute will tell you when the ASR connected to the Afero Cloud, which is typically only a few seconds before the attribute is delivered to the MCU, so the MCU can use it as a reasonably accurate TOD to set a realtime clock if you have one. The Afero Cloud will also tell you your UTS offset and DST time-change information based on the location of the device set in the device’s settings in the Afero mobile app. Your device never has to blink “12:00” again! :slight_smile:

As always, we welcome your feedback, bug reports, comments, or whatever.

Afero loves you,