Release date: 24 July 2017
Because of dependencies between the Afero Profile Editor, afLib, and Modulo firmware, upgrading to the latest Modulo release must be done in the correct order. This page documents the order and why it is the way it is. Please refer also to the Afero Profile Editor Release Notes.
The 1.2 release for Modulo will update the firmware on your Modulo. This is the first step and will be done in the background without you doing anything. Once the firmware has been upgraded, the Modulo will reboot. If you have an MCU connected, you will need to reboot the MCU. This problem is fixed in the 1.2 release but to get to the 1.2 you must manually reboot the MCU. We apologize for the inconvenience. It won't happen again.
At this point, your project should run just as it did before. If you want to continue using the same profile and MCU application, they should continue to work with no modifications.
Once you have updated the firmware, you can continue using the version of the Profile Editor that you have. However, if you want to use the new attributes in 1.2, you will need to update to the latest Profile Editor to get them.
If you update to the latest Profile Editor before your device has received the 1.2 firmware, you will have to wait for the OTA or go back to the previous release of the Profile Editor.
The 1.2 release has added several new system attributes to the device profile. You will only get these attributes once you have published your profile using the latest version of the Profile Editor. So once you have the latest Profile Editor and Modulo firmware, load and re-publish your profile. You don't need to make any changes to it; the Profile Editor will automatically add the new attributes and update your device-description.h file.
Once you have performed all these updates, you are now ready to update to the latest version of afLib. The latest afBlink example implements handlers for some of the new attributes. Pay particularly close attention to the handler for the AF_SYSTEM_ASR_STATE attribute in the attrNotifyHandler. This new attribute lets you know the state of the Modulo. It also let your sketch know when an update is pending so you can do house keeping before sending the command to the Modulo to tell it to reboot and apply the update.