########################################################################### # # Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file test_hd_valves.py # # @author (last) Peter Lucia # @date (last) 21-May-2021 # @author (original) Peter Lucia # @date (original) 30-Apr-2021 # ############################################################################ import numpy as np import sys from time import sleep sys.path.append("../../") from dialin import HDSimulator from dialin.protocols.CAN import DenaliMessage, DenaliChannels from dialin.common import MsgIds from dialin.utils.conversions import integer_to_bytearray, float_to_bytearray def run(): hd_sim = HDSimulator(log_level="DEBUG") while True: vlv_id = np.random.randint(0, 5) state_id = np.random.randint(0, 1) pos_id = np.random.randint(0, 1) pos_cnt = np.random.randint(0, 1) next_pos = np.random.randint(0, 1) current = np.random.uniform(0, 250) pos_c = np.random.randint(0, 100) pos_a = np.random.randint(0, 100) pos_b = np.random.randint(0, 100) pwm = np.random.randint(0, 100) air_trap = np.random.randint(0, 100) payload = integer_to_bytearray(vlv_id) payload += integer_to_bytearray(state_id) payload += integer_to_bytearray(pos_id) payload += integer_to_bytearray(pos_cnt) payload += integer_to_bytearray(next_pos) payload += float_to_bytearray(current) payload += integer_to_bytearray(pos_c) payload += integer_to_bytearray(pos_a) payload += integer_to_bytearray(pos_b) payload += integer_to_bytearray(pwm) payload += integer_to_bytearray(air_trap) message = DenaliMessage.build_message(channel_id=DenaliChannels.hd_sync_broadcast_ch_id, message_id=MsgIds.MSG_ID_HD_VALVES_DATA.value, payload=payload) hd_sim.can_interface.send(message, 0) sleep(1) if __name__ == '__main__': run()