Dim Control Module Release Notes
- 1 General
- 2 V6.0.18
- 3 V6.0.17
- 4 V6.0.16
- 5 V6.0.15
- 6 V6.0.14
- 7 V6.0.13
- 8 V6.0.12
- 9 V6.0.11
- 10 V6.0.10
- 11 V6.0.9
- 12 V6.0.8
- 13 V6.0.6
- 14 V6.0.4
- 15 V6.0.3
- 16 V6.0.2
- 17 V3.1.5
- 18 V3.1.4
- 19 V3.1.3
The Dim Control 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.
- When an address reset is done (by pushing init button during startup), the reset of the address is only done after the next power reset. In this release, the reset is executed immediately.
- 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).
- When the module is not yet initialised and the init button is pressed, the status led will turn ON. This function is added to test the Front Panel.
- 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
- RS485 instruction "FL" has been added to read Firmware Version and serial number
- The necessary logic has been added to read/write serial number by the test system
- 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.
- The SPI writing was a blocking function resulting in bus errors when 2 messages for the same Dim Control module was sent too fast. This function is changed to a non blocking state machine resulting in to an error free and better performing RS485 bus.
- The Dim control module supports dim ranges 0-63 for the Traditional Master and 0-255 for the Core/Core+
- 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.
- I2C routines for Eeprom M24C02 have been added
- Detection of M24C02
- 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
- 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
- Since the init button could also be used to change output state of initialised Dim Control 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 0-10V output state will be restored.