HP Module Release Notes

From OpenMotics
Jump to navigation Jump to search

Contents

General

The HP Module firmware is published as Open Source since firmware release V6.0.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.

Important Notes:

V7.0.8

Date: 09/02/2023

Resolved bugs

Added functionality

  • RS485 instruction "FIV" has been added: Request Firmware version, see HVAC Module Commands
  • RS485 instruction "EAC" has been added: Perform an eeprom activate -> All PID values from eeprom are copied to RAM, see HVAC Module Commands
  • Module will react on RS485 broadcast messages with following ID: 'H' 255 (instead of 0 0)

V7.0.6

Date: 07/02/2023

Resolved bugs

Added functionality

  • In eeprom, byte 2 is used for module type and in this byte, 'H' for HVAC module will be found after first startup in application mode, see HVAC Memory Model
  • CRC errors, previous found in error type 10_0 are now being moved to error type 8_0, see Energy Bus Error Codes
  • RS485 instruction "BGT" has been added, see HVAC Module Commands

V7.0.5

Date: 26/01/2023

Resolved bugs

Added functionality

  • RS485 instruction "PID" has been extended with following values:
    • Output Nr
    • Output Value

V7.0.4

Date: 23/12/2022

Resolved bugs

  • RS485 "EEP" instruction was not working correctly and has been solved in this release
  • Code modification to resolve CID errors
  • TCA9534: This chip is used for the front panel leds.
    • At startup, the IO pins of this chip must be set as outputs to allow the leds to work correctly. When this chip performs a reset during normal operations, the leds won't work anymore. To resolve this issue, the IO configuration is written more often.
    • Every 30 seconds, the leds are updated even when no led changes are being performed

Added functionality

  • Detection I2C errors:
    • A detection mechanism is added so when I2C errors happen, the HVAC module will detect and perform a soft reset of the I2C bus.
    • When a soft reset has been performed, a reinitialization of all i2c chips will happen
  • RS485 error feedback has been added, see Energy Bus Error Codes

V7.0.3

Date: 19/12/2022

Resolved bugs

Added functionality

  • The CRC calculation for all the messages places and received on the energy bus is changed from CRC7 to CRC8

V7.0.1

Date: 15/11/2022

Resolved bugs

Added functionality

V6.0.24

Date: 23/12/2022

Resolved bugs

  • TCA9534: This chip is used for the front panel leds.
    • At startup, the IO pins of this chip must be set as outputs to allow the leds to work correctly. When this chip performs a reset during normal operations, the leds won't work anymore. To resolve this issue, the IO configuration is written more often.
    • Every 30 seconds, the leds are updated even when no led changes are being performed

Added functionality

  • Detection I2C errors:
    • A detection mechanism is added so when I2C errors happen, the HVAC module will detect and perform a soft reset of the I2C bus.
    • When a soft reset has been performed, a reinitialization of all i2c chips will happen

V6.0.23

Date: 04/11/2022

Resolved bugs

Added functionality

V6.0.22

Date: 28/10/2022

Resolved bugs

Added functionality

  • The 0-10V outputs are correctly set conform the latest hardware and hardware layout
  • The Sensor inputs are correctly set conform the latest hardware and hardware layout
  • Init button functionality has been added

Important Note

  • Since firmware correction have been made to sensor and 0-10V order, the configuration of the PID parameters should be verified after installation of this firmware.

V6.0.21

Date: 10/10/2022

Resolved bugs

  • Some debug messages have been deleted which interfered with PID information printed on the console
  • In some circumstances, the 0-10V output was producing 11V even when the output was switched off. This issue is resolved in this release.

Added functionality

  • The Relay output leds of the new front panel have been programmed
  • The Relay outputs are correctly set conform the latest hardware and hardware layout
  • The Sensor leds have been programmed
  • The 0-10V output leds and 2 analog input leds have been programmed
  • In this release, the AD conversion will be forwarded in mV instead of a 16bits value:
    • Eeprom Byte 40 (MSB) and 41 (LSB) has been added: In this word, the value that represents 1000mV is stored. This will allow, when other input resistors on the PCB are being used, to easily change the conversion ratio. This will also allow to calibrate both inputs when needed.
    • When eeprom byte40=255 and eeprom byte41=255, the default value of 6630 will be used and automatically programmed in eeprom

Open items not yet implemented

  • Front panel button is not yet programmed

V6.0.20

Date: 26/09/2022

Resolved bugs

Added functionality

  • The 2 AD inputs of the HVAC module have been presented as brightness values. Since AD and brightness values could be used at the same time on the same channel in the OpenMotics Framework, those values will be separated in this release:
  • In previous versions, all ADC values were displayed, also the once of the NTC sensors. As of this release, only the 2 AD inputs of the HVAC module will displayed as valid values.

Open items not yet implemented

  • New Front panel leds are not yet programmed to be compatible with the new 6T Front Panel
  • Hardware numbering (like sensor nr) is not yet in line with casing numbering

V6.0.19

Date: 16/09/2022

Resolved bugs

  • When the debug function was enabled on the local UART port of the HVAC module, the sensor values didn't get any updates anymore. This is resolved in this release.

Added functionality

Open items not yet implemented

  • New Front panel leds are not yet programmed to be compatible with the new 6T Front Panel
  • Hardware numbering (like sensor nr) is not yet in line with casing numbering

V6.0.17

Date: 08/09/2022

Resolved bugs

  • The generated ID's for the virtual Dim Control module were stored in the wrong location in eeprom resulting a lost Dim Control module after power reset of the HVAC module. This issues has been solved in this current release.
  • Process to make the module permanent after firmware upgrade to V6.0.17 or higher:
  • First perform a power reset of the full system (including the 230VAC power of the HVAC module)
  • Check the error list
el
--- Total Uptime: 000350 Hours, Last Startup: 05:28:03 17/01/01   ---
--- Module Type: BRAIN+, RS485 mode: 0, Board: 33'C --.--V --.--A ---
--- PWR RS485/CAN: 1/1, CANTERM: 1, BB Debug: 255, Fw: 1.0.143       ---
-------Output------------ID---------Err-------Status--------Pwr---
 00 (o I 000->007) 111.000.000.000 00000   GOOD       (000)  1
 01 (o I 008->015) 111.000.000.001 00000   GOOD       (000)  1
 02 (l I 016->023) 108.000.000.002 00000   GOOD       (000)  1
 03 (d I 024->031) 100.000.000.003 00000   GOOD       (000)  1
 04 (O H 032->039) 079.002.192.000 00000   GOOD       (000)  0
 05 (D H 040->047) 068.002.192.000 00075   OFFLINE    (132)  0
-------Input-------------ID---------Err-------Status--------Pwr---
 00 (i I 000->007) 105.000.000.000 00000   GOOD       (000)  1
-------Sensor------------ID---------Err-------Status--------Pwr---
 00 (T H 000->007) 084.002.192.000 00000   GOOD       (080)  0
OK
  • As you can see, the Dim control module on line 5 of the output modules has a problem and is not responding. We have 6 output module in this example:
output number modules read
6
OK
  • Let's delete the last module (which is the HVAC Dim control module):
output number modules write 5
OK
  • Start the search for new modules (the HVAC module will now see that the Dim Control module is not yet discovered)
module discover search
OK
Search started
New Output module (D) found: 068.002.192.000
Search done
  • Clear the errors or perform a power reset again
error clear
OK
  • Errors should remain at 0:
el
--- Total Uptime: 000350 Hours, Last Startup: 05:28:03 17/01/01   ---
--- Module Type: BRAIN+, RS485 mode: 0, Board: 33'C --.--V --.--A ---
--- PWR RS485/CAN: 1/1, CANTERM: 1, BB Debug: 255, Fw: 1.0.143       ---
-------Output------------ID---------Err-------Status--------Pwr---
 00 (o I 000->007) 111.000.000.000 00000   GOOD       (000)  1
 01 (o I 008->015) 111.000.000.001 00000   GOOD       (000)  1
 02 (l I 016->023) 108.000.000.002 00000   GOOD       (000)  1
 03 (d I 024->031) 100.000.000.003 00000   GOOD       (000)  1
 04 (O H 032->039) 079.002.192.000 00000   GOOD       (000)  0
 05 (D H 040->047) 068.002.192.000 00000   GOOD       (000)  0
-------Input-------------ID---------Err-------Status--------Pwr---
 00 (i I 000->007) 105.000.000.000 00000   GOOD       (000)  1
-------Sensor------------ID---------Err-------Status--------Pwr---
 00 (T H 000->007) 084.002.192.000 00000   GOOD       (080)  0
OK
  • Switch on an output as test on the Dim Control of the HVAC module:
on 40
OK
  • Errors should remain absent:
el
--- Total Uptime: 000350 Hours, Last Startup: 05:28:03 17/01/01   ---
--- Module Type: BRAIN+, RS485 mode: 0, Board: 33'C --.--V --.--A ---
--- PWR RS485/CAN: 1/1, CANTERM: 1, BB Debug: 255, Fw: 1.0.143       ---
-------Output------------ID---------Err-------Status--------Pwr---
 00 (o I 000->007) 111.000.000.000 00000   GOOD       (000)  1
 01 (o I 008->015) 111.000.000.001 00000   GOOD       (000)  1
 02 (l I 016->023) 108.000.000.002 00000   GOOD       (000)  1
 03 (d I 024->031) 100.000.000.003 00000   GOOD       (000)  1
 04 (O H 032->039) 079.002.192.000 00000   GOOD       (000)  0
 05 (D H 040->047) 068.002.192.000 00000   GOOD       (000)  0
-------Input-------------ID---------Err-------Status--------Pwr---
 00 (i I 000->007) 105.000.000.000 00000   GOOD       (000)  1
-------Sensor------------ID---------Err-------Status--------Pwr---
 00 (T H 000->007) 084.002.192.000 00000   GOOD       (080)  0
OK

Added functionality

  • The onboard temperature/humidity sensor will not appear anymore in the list of external sensors to avoid confusing with the 2 analog inputs
  • All the AD values (including those of the NTC sensors and the 2 analog inputs) will be exposed through API and CLI:
    • The HVAC module has created a sensor ("T") module of type "H". In the "sensor list", the AD values (under Bright) can be found back.
    • The first 6 AD values will be those of the NTC sensors
    • The next 2 AD values will be those of the AD 0-10V inputs
    • Please note that in the current version of the hardware, only a maximum of 10V (1/2 divider is used on those ports) is supported on the input. Higher voltages will influence the measured values of all AD inputs (including those of the NTC sensors) and could potentially destroy the AD chip
    • CLI instruction "sensor list" can be used to see the AD values (see column Bright)
    • Master API Instruction "SI" is used to request the AD value. These values should also be available in the OM framework.
    • The AD convertor for the 2 analog inputs will return a 8 bits value:
Input AD value
0V 0
5V 128
10V 255 (NC in "sensor list")

Open items not yet implemented

  • New Front panel leds are not yet programmed to be compatible with the new 6T Front Panel
  • Hardware numbering (like sensor nr) is not yet in line with casing numbering

V6.0.16

Date: 23/08/22

Resolved bugs

Added functionality

  • This release will add an additional Dim Control module as a virtual module being generated by the HVAC module:

Open items not yet implemented

  • New Front panel leds are not yet programmed to be compatible with the new 6T Front Panel
  • Hardware numbering (like sensor nr) is not yet in line with casing numbering

V6.0.15

Date: 04/08/2022

Resolved bugs

Added functionality

  • The latest version of the HVAC module has another AD convertor built-in:
    • Support of TLA2528
    • During startup, detection happens if TLA2528 or AD7995 is mounted
    • Once the chip detection is done, the correct protocol is used to perform the conversion
    • This firmware is compatible with older hardware version in the field

Open items not yet implemented

  • New Front panel leds are not yet programmed to be compatible with the new 6T Front Panel
  • Hardware numbering (like sensor nr) is not yet in line with casing numbering

V6.0.14

Date: 30/05/2022

Resolved bugs

  • This release will only allow to have 1 set of sensor/output combination per PID filter:
    • In previous releases, a different set of sensor/output could be programmed when using heating or cooling. This is not possible anymore since this could create loops that a PID filter was switching between cooling and heating.
    • Memory map of the HVAC module has been adapted
  • In previous releases, sensor 5 could not be linked to a PID filter. This is also resolved in this release.

Added functionality

  • When eeprom byte 248 (byte that request eeprom writing with standard PID values) is set at 255, the eeprom will be rewritten immediately without a reset being necessary
  • When a change in configuration is happening (change from heating to cooling, change of output linked to a PID filter etc), all DA outputs will be switched off. The active PID filters will afterwards set the output correct again.

Open items not yet implemented

  • New Front panel leds are not yet programmed to be compatible with the new 6T Front Panel
  • Hardware numbering (like sensor nr) is not yet in line with casing numbering

V6.0.12

Date: 30/05/2022

Resolved bugs

Added functionality

  • This version includes the default PID parameters automatically programmed in Eeprom during startup of the module:
    • When the module is new or a factory reset is performed, Eeprom byte 248 contains value 255. During startup, this byte 248 is verified and when it contains 255 the default values are written in Eeprom and Byte 248 gets value 0.
    • The default values being used can be found here: PID default Values

Open items not yet implemented

  • New Front panel leds are not yet programmed to be compatible with the new 6T Front Panel
  • Hardware numbering (like sensor nr) is not yet in line with casing numbering

V6.0.11

Date: 14/04/2022

Resolved bugs

Added functionality

V6.0.10

Date: 28/03/2022

Resolved bugs

Added functionality

  • This version supports live debugging on the CLI console of the Brain(+):
    • The RS485 protocol has been adapted to support the additional information to be sent over
    • When CLI instruction "pid debug on" is used, additional information is requested by the Brain(+) to be displayed on the console

V6.0.9

Date: 04/02/2022

Resolved bugs

Added functionality

  • A NTC sensor doesn't have a linear behaviour. To cope with this non linearity, each sensor type has a table with the associated resistor values. In this Release, more sensors and associated tables will be supported:
    • Eeprom Byte 249 has been added: In this Byte, the sensor type will be programmed:
      • Sensor Type=0 (or =255) -> Alibaba Sensor
      • Sensor Type>0 -> Acalbfi sensor
    • By writing Eeprom byte 249, the sensor type will be changed in real time and the new table will be loaded immediately

V6.0.8

Date: 25/01/2022

Resolved bugs

Added functionality

  • To have better response of the PID filter, the negative I Clamp has been added:
    • Eeprom has been extended with negative I Clamp value
    • PID filter can now also clamp on negative values

V6.0.7

Date: 16/01/2022

Resolved bugs

  • When the Front Panel was not connected, a lot of debug error were generated and printed on the console. In this release, the detection of a missing Front Panel is used to avoid communication with a non existing Front Panel

Added functionality

V6.0.6

Date: 10/01/2022

Resolved bugs

Added functionality

  • Eeprom Memory model has been changed to allow future parameters for PID configuration
  • This new memory model has been implemented in this version
  • When the Thermostat setpoint is updated in the Master (by using CLI instruction "thermostat setpoint write"), these setpoints are distributed to the HVAC module by a modified RS485 instruction.
  • UART Debug information has been extended with more information
  • The PID filter output is linked to the DAC outputs of the HVAC module
  • When a Setpoint Min (for cooling) or Max (for heating) is specified and a higher setpoint is written by the Master, the HVAC module will automatically limit this setpoint
  • When a setpoint in the HVAC module changes, it will write this updated value in eeprom which guarantees that the correct setpoint is used when the module resets or communication is lost
  • A failsafe setpoint temperature is added: When the module goes in failsafe or just after startup of the HVAC module, this thermostat failsafe setpoint temperature is loaded.

V6.0.5

Date: 04/01/2022

Resolved bugs

  • When performing a factory reset, the ID's of the Sensor module didn't got erased. This release solves this issue.

Added functionality

  • Failsafe function has been added:
    • When RS485 power is lost, the HVAC module goes in Failsafe warning state
    • When power is lost for more then 30 seconds, The HVAC module goes in failsafe state (actions can now be linked to this failsafe state)
    • When power was lost for more then 2 seconds and then restored, the HVAC module will reset
  • Execution time and execution setting for each PID filter has been added
  • Maximum Temperature Setpoint per PID filter has been added
  • Heating/Cooling per PID filter has been added
    • Heating has his own set of PID parameters
    • Cooling has his own set of PID parameters
    • An eeprom setting will define, for each PID filter, if it's configured as heating or cooling PID filter

V6.0.4

Date: 30/12/2021

Resolved bugs

Added functionality

  • Sensor measurement frequency has been added: Eeprom parameter 95 will set the sensor refresh rate. This will allow the user to set the correct sensor measurement rate.
  • Sensor debug information via direct UART has been added: This can be configured via eeprom parameter 94.
  • PID epic has been added:
    • Eeprom Memory model has been created, see HP Tips & tricks during installation and troubleshooting
    • Loading of all PID parameters from eeprom
    • Checking loaded PID parameters, abnormal values will be overruled by default values
    • 2 simultaneous PID filters can run, this can be extended to maximum 6
    • Each PID filter can be linked to it's own temperature sensor and output (configurable via eeprom parameters)
    • All PID parameters can be programmed via CLI instruction "eeprom write"
    • When a PID Eeprom parameter has been changed, it will be automatically loaded in RAM memory and will be active immediately
    • UART debugging has been added for testing and setting the right PID parameters
  • Factory Reset RS485 instruction has been added: The Master can perform a Factory reset of the HVAC module.

V6.0.3

Date: 28/12/2021

Resolved bugs

Added functionality

  • This version supports the automatic detection of the HP module on the Brain(+)
    • When a new module is linked to a Brain, the Brain will do the automatic handshaking and will add the HP module
    • An output module and a sensor module will be added without user intervention
    • When performing "error list" in the CLI will give you the following result (modules with "H" are HP modules):
error list
--- Total Uptime: 000426 Hours, Last Startup: 15:01:19 28/12/21   ---
--- Module Type: BRAIN, RS485 mode: 0, Board: 28'C  --.--V --.--A ---
--- PWR RS485/CAN: 1/1, CANTERM: 1, BB Debug: 255, Fw: 1.0.120       ---
-------Output------------ID---------Err-------Status--------Pwr---
 00 (l I 000->007) 108.000.000.000 00000   GOOD       (000)  1
 01 (O H 008->015) 079.190.070.000 00000   GOOD       (000)  0
-------Input-------------ID---------Err-------Status--------Pwr---
 00 (i I 000->007) 105.000.000.000 00000   GOOD       (000)  1
 01 (b C 008->015) 098.000.000.001 00000   GOOD       (000)  1
 02 (I E 016->023) 073.108.217.179 00000   GOOD       (016)  1
-------Sensor------------ID---------Err-------Status--------Pwr---
 00 (s C 000->007) 115.000.000.000 00000   GOOD       (064)  1
 01 (T H 008->015) 084.190.070.000 00000   GOOD       (016)  0
-------CAN Control-------ID---------Err-------Status--------Pwr---
 00 (C E 000->000) 067.051.255.000 00000   GOOD       (016)  1
-------Micro CAN---------ID---------Err-------Status--------Pwr---
 00 (m C 000->000) 100.005.051.245 00000   GOOD       (000)  1
OK

V6.0.2

Date: 27/12/2021

Resolved bugs

Added functionality

  • 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

V6.0.1

Date: 2/11/2021

Resolved bugs

Added functionality

  • I2C framework has been implemented to read write front panel, sensors and AD converter
  • Front panel logic has been implemented: Control of front panel leds and button
  • Read/write of the AD IC's (AD7995)
  • NTC support:
    • Flexible conversion table for NTC 5K has been added so other NTC types can be easily supported/added in the future
    • Conversion ADC value to temperature
    • Read of all 6 NTC temperature sensors
  • SHT30 support:
    • I2C driver for SHT30
    • Read motherboard temperature
    • Read motherboard humidity
  • Relay support:
    • 6 relays have been programmed
    • Linked to output value so 1 value from the Master will trigger all relays in the correct position
  • RS485 support:
    • Switching between sending and receiving
    • Sending messages
    • Receiving messages
    • Discover & Live mode
    • Manual adding of the output module with init button
    • Manual adding of the sensor module with init button
    • Firmware version and serial read is supported
    • Switching outputs ON/OFF
    • Reading sensor values (including value PCB sensor)
  • Button support
    • Factory reset at startup when button is pressed for more then 5 seconds
    • In discovery mode, pressing the button will initiate manual discovery mode