Index: leahi_dialin/td/modules/pressure_sensors.py =================================================================== diff -u -r4b63107021e34fd1968e02f9d72bbb31f38fefd7 -rf762fd31ac5b03734f000f9fcd671851581def8a --- leahi_dialin/td/modules/pressure_sensors.py (.../pressure_sensors.py) (revision 4b63107021e34fd1968e02f9d72bbb31f38fefd7) +++ leahi_dialin/td/modules/pressure_sensors.py (.../pressure_sensors.py) (revision f762fd31ac5b03734f000f9fcd671851581def8a) @@ -7,16 +7,17 @@ # # @file pressure_occlusion.py # -# @author (last) Vinayakam Mani -# @date (last) 02-May-2024 +# @author (last) Zoltan Miskolci +# @date (last) 08-Jan-2026 # @author (original) Peter Lucia # @date (original) 02-Apr-2020 # ############################################################################ + import struct from logging import Logger -from leahi_dialin.common.constants import RESET, NO_RESET +from leahi_dialin.common.constants import NO_RESET from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.common.td_defs import TDPressureSensorNames, TDPressureSensorAttributes from leahi_dialin.common.override_templates import cmd_generic_broadcast_interval_override, cmd_generic_override @@ -129,6 +130,28 @@ self.td_pressure_timestamp = timestamp + def cmd_pressure_sensors_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: + """ + Constructs and sends the measured pressure sensors broadcast interval override command + Constraints: + Must be logged into TD. + Given interval must be non-zero and a multiple of the TD general task interval (50 ms). + + @param ms: integer - interval (in ms) to override with + @param reset: integer - 1 to reset a previous override, 0 to override + @return: 1 if successful, zero otherwise + """ + + return cmd_generic_broadcast_interval_override( + ms = ms, + reset = reset, + channel_id = DenaliChannels.dialin_to_td_ch_id, + msg_id = MsgIds.MSG_ID_TD_PRESSURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST, + module_name = 'TD pressure sensors', + logger = self.logger, + can_interface = self.can_interface) + + def cmd_pressure_sensor_override(self, sensor: int, pressure: float, reset: int = NO_RESET) -> int: """ Constructs and sends the measured pressure sensor override command @@ -142,23 +165,21 @@ @return: 1 if successful, zero otherwise """ - sensor_name = TDPressureSensorNames(sensor).name.split('_')[0] - rst = integer_to_bytearray(reset) sen = integer_to_bytearray(sensor) prs = float_to_bytearray(pressure) payload = rst + prs + sen + sensor_name = TDPressureSensorNames(sensor).name.split('_')[0] return cmd_generic_override( payload = payload, reset = reset, channel_id = DenaliChannels.dialin_to_td_ch_id, msg_id = MsgIds.MSG_ID_TD_PRESSURE_OVERRIDE_REQUEST, - entity_name = f'{sensor_name} pressure', + entity_name = f'TD {sensor_name} Pressure Sensor pressure', override_text = str(prs) + " mmHg. ", logger = self.logger, - can_interface = self.can_interface - ) + can_interface = self.can_interface) def cmd_tmp_sensor_override(self, pressure: float, reset: int = NO_RESET) -> int: @@ -182,30 +203,7 @@ reset = reset, channel_id = DenaliChannels.dialin_to_td_ch_id, msg_id = MsgIds.MSG_ID_TD_TMP_PRESSURE_OVERRIDE_REQUEST, - entity_name = 'TMP pressure', + entity_name = 'TD TMP Pressure Sensor', override_text = str(prs) + " mmHg. ", logger = self.logger, - can_interface = self.can_interface - ) - - - def cmd_pressure_sensors_broadcast_interval_override(self, ms: int, reset: int = NO_RESET) -> int: - """ - Constructs and sends the measured pressure sensors broadcast interval override command - Constraints: - Must be logged into TD. - Given interval must be non-zero and a multiple of the TD general task interval (50 ms). - - @param ms: integer - interval (in ms) to override with - @param reset: integer - 1 to reset a previous override, 0 to override - @return: 1 if successful, zero otherwise - """ - - return cmd_generic_broadcast_interval_override( - ms = ms, - reset = reset, - channel_id = DenaliChannels.dialin_to_td_ch_id, - msg_id = MsgIds.MSG_ID_TD_PRESSURE_PUBLISH_INTERVAL_OVERRIDE_REQUEST, - module_name = 'TD pressure sensors', - logger = self.logger, can_interface = self.can_interface)