Output Module Release Notes
- 1 General
- 2 V6.0.16
- 3 V6.0.15
- 4 V6.0.14
- 5 V6.0.13
- 6 V6.0.12
- 7 V6.0.11
- 8 V6.0.10
- 9 V6.0.9
- 10 V6.0.8
- 11 V6.0.6
- 12 V6.0.4
- 13 V6.0.3
- 14 V3.1.14
- 15 V3.1.13
- 16 V3.1.12
- 17 V3.1.11
- 18 V3.1.7
- 19 V3.1.5
- 20 V3.1.4
- 21 V3.1.2
The Output Module firmware is published as Open Source since firmware release V2.1.x. Below you'll find all the changes since that release.
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 or any other module, 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.
- V6.x.y only works with Gen 3 hardware
- For backwards compatibility with GEN2, the firmware also contains the initialisation handshaking protocol for GEN2. In some circumstances, with new modules, the wrong handshaking was used during the initialisation of the module resulting in non-successful module initialisation and non-successful module adding. This issue has been resolved in this firmware.
- Master Firmware version V1.0.104 or higher has an improved search mechanism for slave modules: When a new slave module is found during the automatic search, first the Master will check if the Slave module is responding, when positive the Master will request the slave module to program its slave address, after this the slave module will respond to the master that the slave address is programmed and only then the module is added in the Master list.
- Improved the manual discover process to avoid duplicate addresses
- To better support the automatic search function of the Brain(+), the generation of the address ID's has been modified:
- Generation of the ID also uses the serial number of the module
- A timeout based on the serial number is also used before the random value is taken to avoid the same random values between the same modules
- When a new RS485 network with new modules is started, after power up, the automatic search will be started by the master. When a module in not found yet, the status led will be orange. Ones the Master has found a specific module, the status led of that module will become green. In this way, you can follow the modules that are being found during the search.
- Modifications in Processor Eeprom logic to support the latest boot loader version
- The processor used in this module contains an Eeprom. This Eeprom is also used to share information between the application and the boot loader. In this release, byte 74 of the processor Eeprom will contain the number of retries the boot loader will use (to jump to application):
- Every time the boot loader jumps to application, the value of this byte (Eeprom byte 74) will be decreased with 1.
- After successful jumping to application, the application will reset this value (Eeprom byte 74) to 5 (retries).
- RS485 instruction "FL" has been added to read Firmware Version and serial number
- The necessary logic has been added to read/write serum number by the test system
- The necessary instructions have been added to communicate with the test system:
- Request Firmware version
- Switch ON/OFF Relays
- Front panel button test
- Write Serial number in processor Eeprom
- Write production date in processor Eeprom
- Write production company in processor Eeprom
- Write testing errors in processor Eeprom
- Display full serial number at startup
- Module was sometimes missing characters on the RS485 Bus. The release has an improved RS485 interrupt routine to make sure no characters gets lost.
- When the Dim value of 2 consecutive outputs has 13 10, this will not be seen anymore as the end of the message.
- Detection of Master type during init procedure so RS485 protocol V1 or V2 can be applied
- Do the necessary modifications to remain backwards compatible with the Traditional master
- CRC16 calculation for output writing has been added. This allows better integrity and avoid ghost output behaviour in extreme situations.
- Detection I2C routine for Eeprom M24C02
- Detection I2C routine for LM75
- Changed Firmware to work with new version of the Hardware (Gen3)
- Manual Initialisation (with button)
- Automatic Initialisation (CLI instruction "module discover search)
- CRC16 on RS485 for Initialisation to guarantee correct module discovery
- I2C framework
- Led control for the front panel
- Button detection and action
- Status led functionality added:
- Green: Module has got an ID and communication with the Master is working
- Red: Module has got an ID but the communication with the Master is not working
- Orange: Module is in discovery mode
- The RS485 Communication fix of previous release has been removed since this create incompatibility with older modules (without boot loader) and slave modules with older firmware
- RS485 communication was always ended by double CR/LF. Since the "end message" detection is only using the first CR/LF, the second send CR/LF could create a message error. This is resolved in this release
- Double output ON Timeout in shutter mode sometimes generated errors
- When a module is not initialised yet, the init button can be used to change from shutter to output mode and back (10 second press)
- When the module is initialised (it has an address), it's not possible anymore to change mode (shutter/output) when the module is in "Live" mode. The only way to change mode is to activate discovery mode (CLI instruction "module discover start") and then perform the 10 seconds press on the init button.
- In shutter mode, the time delay for 1 shutter output being switched off and next being switched on (same bank) has been improved
- Since the init button could also be used to change output state of initialised output modules resulting in a non-in-sync-state with the master and thus the cloud, this functionality has been limited for non-initialised modules only.
- Led saver mode is disabled in other words, the led functionality will remain active even when the Master requested to go in led power safe mode.
- When the module isn't initialised yet, and the output is changed by using the init button, the state will be programmed in eeprom. When the module restart due to a power reset, the last relay state will be restored.
- At Startup, all relays are put in OFF position when the module isn't initialised yet
- When the relays are being put in OFF state at startup, it will happen but 2 relays at a time to minimise current (A) at startup.
- When the module is in output ON/OFF mode (short press on the init mode), the module can also be put output/roller shutter mode when using a long press
- At Startup, all relays are always put in OFF position
- At Startup, a front panel LED sequence is executed (sequentially all LEDs ON and OFF + simultaneously all LEDs ON). After that, the module shortly indicates its current mode:
- All eight 1-8 LEDs flashing: Normal mode
- Only four of the 1-8 LEDs flashing: Roller/shutter mode
- When changing mode (5 second press on the Init Button), all relays are always switched OFF
- The Init Button can also be used to switch ON/OFF relays
- A short press will put the module in Manual Output Change mode
- The currently selected output will be indicated by the corresponding flashing 1-8 LED
- A long press (+/- 1.5 seconds) will toggle the currently selected output' state
- The module will remain in Manual Output Change mode for 1 minute, if the Init Button is used again, the timer is reset and the module will remain in Manual Output Change mode for the next minute
- When Outputs are changed through Manual Output Change mode, a difference can exist between the effective output state in the Master module. The next communication between the Master in the Manual adapter module will bring back both in sync (The Output module will take the state of the Master)