Index: leahi_dialin/dd/modules/records.py =================================================================== diff -u -r87ffed5716c48332d6dc3c5f5a80660614d813c0 -ra397a5ff2a5b498ab86e8e4843105f5b4ed99fd7 --- leahi_dialin/dd/modules/records.py (.../records.py) (revision 87ffed5716c48332d6dc3c5f5a80660614d813c0) +++ leahi_dialin/dd/modules/records.py (.../records.py) (revision a397a5ff2a5b498ab86e8e4843105f5b4ed99fd7) @@ -27,7 +27,7 @@ from leahi_dialin.utils.abstract_classes import AbstractSubSystem from leahi_dialin.utils.base import publish from leahi_dialin.utils.enums import DialinEnum -from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray, byte_to_bytearray, short_to_bytearray +from leahi_dialin.utils.conversions import integer_to_bytearray, float_to_bytearray, byte_to_bytearray, unsigned_short_to_bytearray class DDRecords(AbstractSubSystem): @@ -620,7 +620,7 @@ payload += byte_to_bytearray(c) payload += integer_to_bytearray(manufacturing_location) payload += integer_to_bytearray(manufacturing_date) - payload += short_to_bytearray(crc16_modbus(payload)) + payload += unsigned_short_to_bytearray(crc16_modbus(payload)) return cmd_generic_override( payload = payload, @@ -634,6 +634,8 @@ def cmd_set_service_records(self, + is_hdf_online: bool=False, + water_recovery: int=0, service_loc: int=0, last_service_date: int=0, service_interval_sec: int=0, @@ -645,12 +647,14 @@ Must be in Service mode. @return: 1 if successful, zero otherwise - """ - payload = byte_to_bytearray(service_loc) + """ + payload = integer_to_bytearray(is_hdf_online) + payload += integer_to_bytearray(water_recovery) + payload += byte_to_bytearray(service_loc) payload += integer_to_bytearray(last_service_date) payload += integer_to_bytearray(service_interval_sec) payload += integer_to_bytearray(last_reset_time) - payload += short_to_bytearray(crc16_modbus(payload)) + payload += unsigned_short_to_bytearray(crc16_modbus(payload)) return cmd_generic_override( payload = payload, @@ -777,7 +781,7 @@ # Calculate the CRC for the total institutional record (should be the last message) if record_enum == dd_enum_repository.InstitutionalRecordFields.CRC: - payload += short_to_bytearray(crc16_modbus(total_payload)) + payload += unsigned_short_to_bytearray(crc16_modbus(total_payload)) # Else just send the data elif record_enum.datatype() in [DataTypes.U32, DataTypes.BOOL, DataTypes.S32]: @@ -787,8 +791,8 @@ payload += float_to_bytearray(value) total_payload += float_to_bytearray(value) elif record_enum.datatype() in [DataTypes.U16]: - payload += short_to_bytearray(value) - total_payload += short_to_bytearray(value) + payload += unsigned_short_to_bytearray(value) + total_payload += unsigned_short_to_bytearray(value) elif record_enum.datatype() in [DataTypes.U08, DataTypes.BOOL_U08]: payload += byte_to_bytearray(value) total_payload += byte_to_bytearray(value) @@ -839,7 +843,7 @@ payload += integer_to_bytearray(last_heat_active_cool_date) payload += integer_to_bytearray(last_filter_flush_date) payload += integer_to_bytearray(last_reset_time) - payload += short_to_bytearray(crc16_modbus(payload)) + payload += unsigned_short_to_bytearray(crc16_modbus(payload)) return cmd_generic_override( payload = payload, @@ -873,7 +877,7 @@ payload += float_to_bytearray(gain) payload += float_to_bytearray(offset) payload += integer_to_bytearray(calibration_time) - payload += short_to_bytearray(crc16_modbus(payload)) + payload += unsigned_short_to_bytearray(crc16_modbus(payload)) sensor_type = '' if msg_id == MsgIds.TBD: @@ -908,7 +912,7 @@ payload += float_to_bytearray(conductivity_uspcm) payload += float_to_bytearray(temperature_c) payload += integer_to_bytearray(calibration_time) - payload += short_to_bytearray(crc16_modbus(payload)) + payload += unsigned_short_to_bytearray(crc16_modbus(payload)) conc_type = '' if msg_id == MsgIds.TBD: @@ -937,7 +941,7 @@ payload += float_to_bytearray(accel_y_offset) payload += float_to_bytearray(accel_z_offset) payload += integer_to_bytearray(calibration_time) - payload += short_to_bytearray(crc16_modbus(payload)) + payload += unsigned_short_to_bytearray(crc16_modbus(payload)) conc_type = '' if msg_id == MsgIds.TBD: @@ -963,7 +967,7 @@ payload = float_to_bytearray(set_point) payload += integer_to_bytearray(calibration_time) - payload += short_to_bytearray(crc16_modbus(payload)) + payload += unsigned_short_to_bytearray(crc16_modbus(payload)) return cmd_generic_override(payload = payload, reset = None,