Index: leahi_dialin/dd/modules/levels.py =================================================================== diff -u -r3f4937e339925dde0b95f08e49969f8983c5cba4 -reca9e15bc984af2b7f59eb38f3836ca354ee1251 --- leahi_dialin/dd/modules/levels.py (.../levels.py) (revision 3f4937e339925dde0b95f08e49969f8983c5cba4) +++ leahi_dialin/dd/modules/levels.py (.../levels.py) (revision eca9e15bc984af2b7f59eb38f3836ca354ee1251) @@ -49,17 +49,44 @@ function = self._handler_levels_sync) self.dd_levels_timestamp = 0 #: The timestamp of the latest message - - #: The Level Sensors data in dictionary format self.dd_level_sensors = { dd_enum_repository.DDLevelSensorNames.D46_LEVEL.name: 0, dd_enum_repository.DDLevelSensorNames.D63_LEVEL.name: 0, dd_enum_repository.DDLevelSensorNames.D98_LEVEL.name: 0, dd_enum_repository.DDLevelSensorNames.D6_LEVEL.name: 0, } - self.dd_bicarb_level = 0 #: The Bicarb level + self.dd_bicarb_level = 0 + + +# ============================================================ Properties ============================================================ + @property + def dd_level_sensors(self) -> dict: + """ + The Level Sensors data + """ + return self._level_sensors + + @dd_level_sensors.setter + def dd_level_sensors(self, value): + self._level_sensors = value + + + @property + def dd_bicarb_level(self) -> int: + """ + The Bicarb level + """ + return self._bicarb_level + + @dd_bicarb_level.setter + def dd_bicarb_level(self, value): + self._bicarb_level = value + + + +# ============================================================ Handlers ============================================================ @publish(["msg_id_dd_level_data", "dd_level_sensors", "dd_bicarb_level", "dd_levels_timestamp"]) def _handler_levels_sync(self, message, timestamp=0.0): """ @@ -68,23 +95,19 @@ @param message: published levels data message @returns none """ - sensor_list =[] - sensor_list.append((dd_enum_repository.DDLevelSensorNames.D46_LEVEL.name, DataTypes.U32)) - sensor_list.append((dd_enum_repository.DDLevelSensorNames.D63_LEVEL.name, DataTypes.U32)) - sensor_list.append((dd_enum_repository.DDLevelSensorNames.D98_LEVEL.name, DataTypes.U32)) - sensor_list.append((dd_enum_repository.DDLevelSensorNames.D6_LEVEL.name, DataTypes.U32)) msg_list =[] - msg_list.append(('self.dd_bicarb_level', DataTypes.U32)) + msg_list.append((self.dd_level_sensors, dd_enum_repository.DDLevelSensorNames.D46_LEVEL.name, DataTypes.U32)) + msg_list.append((self.dd_level_sensors, dd_enum_repository.DDLevelSensorNames.D63_LEVEL.name, DataTypes.U32)) + msg_list.append((self.dd_level_sensors, dd_enum_repository.DDLevelSensorNames.D98_LEVEL.name, DataTypes.U32)) + msg_list.append((self.dd_level_sensors, dd_enum_repository.DDLevelSensorNames.D6_LEVEL.name, DataTypes.U32)) + msg_list.append((type(self).dd_bicarb_level, DataTypes.U32)) - self.process_into_vars(dict_to_update = self.dd_level_sensors, - decoder_list = sensor_list, - message = message) - self.process_into_vars(decoder_list = msg_list, - message = message, - start_from_byte = len(sensor_list) * DataTypes.U32.size()) + self.process_into_vars(decoder_list = msg_list, message = message) self.dd_levels_timestamp = timestamp + +# ============================================================ Overrides and Requests ============================================================ def cmd_levels_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: """ Constructs and sends dd levels broadcast time interval override.