AIO Release Notes

From OpenMotics
Revision as of 14:51, 13 September 2019 by Wilbert (talk | contribs) (→‎V1.0.36)
Jump to navigation Jump to search

General

The Master firmware for the AIO will be published as Open Source once the module goes on sale.

This firmware is based on the new hardware of the AIO. This Master processor of the AIO is from the Microchip DSPIC33E family and the firmware is written in C

The firmware updates happening in the Openmotics portal (Settings - Update) contain not only the firmware update of the Master, but also the firmware of other modules as well as the updates for the Beagle Bone Black. All these different firmware updates are assembled in a package which get's a general version number. This version number which you see in the portal is not the same as the Firmware Version of the Master. To check which firmware version is installed on the Master, in the Openmotics portal, go to Settings - Maintenance and open maintenance mode by pressing the Connect button. Type the instruction firmware version to read the Master Firmware version.

V1.0.36

Date: In development

Resolved bugs

  • API instruction "FS" reported the wrong length

Added functionality

  • Roller/Shutter functionality
    • A consecutive set of 2 outputs (0&1, 2&3, 4&5, 6&7 etc) can be used as normal outputs or as Roller/shutter outputs (never both can be ON at the same time). When the user tries to switch ON both, those outputs will be switched off.
    • Eeprom Page 391 is used to link the Roller shutter Nr with the Output Nr
    • When an output duo is configured as roller/shutter and no shutter timer has been set, standard 255 seconds will be applied.
  • 32K PSV memory limit
    • The PSV memory has a limit of 32k to store all constants. Since this stores the text information of the BA's as well as the CLI instruction, this limit was reached
    • In this release, The CLI instructions are stored in ROM in stead of PSV.
  • FRAM functionality
    • Roller shutter data like lock status, movement direction, position etc is stored in FRAM and retrieved at reset
    • The timer values of all outputs are kept in FRAM when a light/output is ON. When a reset occurred, the timer is kept and the count down is continued after startup.
  • API instructions
  • Basic Actions
    • BA0 13, BA0 14 and BA0 15: These BA's will store their values (timer value and timer type) in the appropriate eeprom locations.

V1.0.35

Date: 6/8/2019

Resolved bugs

  • Functions like "output all off" didn't always switch off all outputs on the RS485 modules.
  • API commands "DL" and "GC" didn't respond.
  • When an input was pressed or released, the same API "EV" was sent.
  • API command "EV" did report the wrong timer value when an output was changed.
  • API command "MR" was missing 1 byte in the response string

Added functionality

  • FRAM support:
    • Add queueing for FRAM writes
    • Status outputs (status + dimmer value) are stored in FRAM
    • At startup, the FRAM Output Status values are retrieved and the outputs are restored in the status (including dimmer value) before the reset or power outage
    • At startup, the current Time and Date is written so we know when the last startup or system reset has occurred
    • The number of uptime hours are being kept in FRAM. Every hours, this is written in FRAM.
    • Uptime, firmware version & startup time/date is displayed in "error list".
    • Page 0 is protected now and can't be changed by using CLI/API instructions.
  • RS485 bus stability
    • The bus was acting too fast and giving the modules not always enough time to answer resulting in some bus errors
    • Eeprom value (Page0 Byte8) has been added which gives the number of ms between each scan of a module
    • With this value, the Bus speed can be modified and tuned if needed.
    • The standard value works for the most common environments
  • Module Type
    • Module type has been added so the BB knows which kind of module is initialised
    • Module type has been added in "error list"
    • Module type has been added in API instruction "MC"

V1.0.34

Date: 28/7/2019

Resolved bugs

Added functionality

V1.0.33

Date: 25/7/2019

Resolved bugs

  • Removing CAN bus when AIO was in ON state and after 10 minutes, reconnecting didn't bring back the CAN bus. CAN bus now comes back after +/-1 minute.
  • When the power was applied and the date was not yet set for the first time, the Clock always started at 00:00:00. This release fixes this issue.
  • With the CLI instruction "sensor list", in rare events, ghost values appeared (strange values for non connected sensor). The values remained correct in memory but were wrongly displayed. This release fixes this issue.

Added functionality

  • API instruction "EV" (Event) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • API instruction "ER" (Error) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • API instruction "SI" (Sensor Information) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • API instruction "MR" (Memory (Eeprom) Read) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • API instruction "MW" (Memory (Eeprom) Write) has been added, see https://wiki.openmotics.com/index.php/API_Reference_Guide_AIO
  • New state machine checks sensor health every 2 minutes, if a sensor is not responding, API message ERR will be send
    • This has been added for uCAN sensors
    • This has been added for sensors connected to the Openmotics Temperature module
  • If a sensor is not responding, the sensor value will be put on NA
  • CLI instruction "health debug on" and "health debug off" has been added, see https://wiki.openmotics.com/index.php/CLI_Reference_Guide_AIO
    • When a sensor is not reporting a value, this will be printed on the console when health debug is on
    • When a sensor is not reporting a value, an API ER message will always be sent to the BB even when health debug is off
  • CLI instruction "change debug on" and "change debug off" has been added, see https://wiki.openmotics.com/index.php/CLI_Reference_Guide_AIO
    • When a sensor has received a value that is changed towards the old known value, and change debug is on, a message will be printed on the console
    • When a sensor has received a value that is changed towards the old known value, an API EV message will always be sent to the BB even when the debug function is off.
    • When an output receives a trigger to update his values (output state, timer, dimmer), and change debug is on, a message will be printed on the console.
    • When an output receives a trigger to update his values (output state, timer, dimmer), an API EV message will always be sent to the BB even when the debug function is off.
  • Sensor (temperature, humidity, brightness) follow function for non-can sensors has been added including the debug functions.