Index: dialin/hd/air_bubbles.py =================================================================== diff -u -r0a84621b0b0f807dd4019fa9ec44cc3efb7bb30a -r77e28fd838640e057e7a79c624345b34fd8545f9 --- dialin/hd/air_bubbles.py (.../air_bubbles.py) (revision 0a84621b0b0f807dd4019fa9ec44cc3efb7bb30a) +++ dialin/hd/air_bubbles.py (.../air_bubbles.py) (revision 77e28fd838640e057e7a79c624345b34fd8545f9) @@ -182,36 +182,46 @@ Constructs and sends the air bubbles data broadcast interval override command Constraints: Must be logged into HD. - Given interval must be non-zero and a multiple of the HD priority task interval (10 ms). + Given interval must be positive non-zero and a multiple of the HD priority 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 """ - rst = integer_to_bytearray(reset) - mis = integer_to_bytearray(ms) - payload = rst + mis + if ms > 0 and ms % 50 == 0: + rst = integer_to_bytearray(reset) + mis = integer_to_bytearray(ms) + payload = rst + mis - message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, - message_id=MsgIds.MSG_ID_HD_BUBBLES_DATA_SEND_INTERVAL_OVERRIDE.value, - payload=payload) + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, + message_id=MsgIds.MSG_ID_HD_BUBBLES_DATA_SEND_INTERVAL_OVERRIDE.value, + payload=payload) - self.logger.debug("Override HD air bubbles data broadcast interval to"+ms+"ms") + self.logger.debug("Override HD air bubbles data broadcast interval to"+ms+"ms") - # Send message - received_message = self.can_interface.send(message) + # Send message + received_message = self.can_interface.send(message) - # If there is content... - if received_message is not None: - if reset == RESET: - str_res = "reset back to normal: " + # If there is content... + if received_message is not None: + if reset == RESET: + str_res = "reset back to normal: " + else: + str_res = str(ms) + " ms: " + self.logger.debug("Air bubbles data broadcast interval overridden to " + str_res + + str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) + # response payload is OK or not OK + return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] else: - str_res = str(ms) + " ms: " - self.logger.debug("Air bubbles data broadcast interval overridden to " + str_res + - str(received_message['message'][DenaliMessage.PAYLOAD_START_INDEX])) - # response payload is OK or not OK - return received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + self.logger.debug("Timeout!!!!") + return False + elif ms <= 0: + self.logger.debug("ms must be positive non-zero.") + return False + elif ms % 50 != 0: + self.logger.debug("ms must be a multiple of 50.") + return False else: - self.logger.debug("Timeout!!!!") + self.logger.debug("ms must be an integer.") return False