Input Module Release Notes
- 1 General
- 2 V6.0.27
- 3 V6.0.26
- 4 V6.0.25
- 5 V6.0.24
- 6 V6.0.23
- 7 V6.0.22
- 8 V6.0.20
- 9 V6.0.19
- 10 V6.0.18
- 11 V6.0.17
- 12 V6.0.16
- 13 V6.0.15
- 14 V6.0.14
- 15 V6.0.10
- 16 V6.0.8
- 17 V6.0.5
- 18 V6.0.4
- 19 V3.1.2
- 20 V3.1.1
The Input Module firmware is published as Open Source since firmware release V3.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
- This version supports the new pulse counter framework: Pulse Counter information will be requested by the Master every 30 seconds
- This version supports the reading (without writing) of the Serial number by the test system
- This version supports remote reading/writing of the built-in eeprom.
- With the CLI instruction "eeprom read", it's possible to read the eeprom content of a remote RS485 slave module
- With the CLI instruction "eeprom write", it's possible to write the eeprom of a remote RS485 slave module
- RS485 instruction "Read Slave Eeprom" have been added
- RS485 instruction "Write Slave Eeprom" have been added
- This release will allow factory reset initiated by the Master processor (Master Firmware V1.0.115 or higher)
- Broadcast FR has been implemented
- When this broadcast is received and the bus is in "discovery mode", then the module will erase itself (FRAM with pulse counters will not be erased)
- 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.
- 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 init button during initialisation mode was not working and has being solved in this release
- 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
- Read inputs
- 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 serum 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.
- 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
- Pulse Counter functionality is fully implemented
- Writing pulse counter data stored in FRAM (double in 2 different locations in case a power interrupt would corrupt data)
- Every pulse counter is written with a corresponding CRC16
- At startup, using the CRC16, the integrity of the pulse counter value is verified
- Every "input press" will increase the pulse counter value
- The manual discovery (with the button on the front) was not working. This is resolved in this release.
- API RS485 instruction "Request state of Input Module: Partial Pulse Counter Information" has been added
- API RS485 instruction "Request state of Input Module: Full Pulse Counter Information" has been added
- API RS485 instruction "Request state of Input Module: Input state" has been added
- 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
- 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.