1#ifndef __TELEMETRY_INTERFACE_TEST__
2#define __TELEMETRY_INTERFACE_TEST__
7#include "TelemetryInterface.h"
10#include "HyTech_CAN.h"
23 AnalogConversion_s accel1;
24 AnalogConversion_s accel2;
25 AnalogConversion_s brake1;
26 AnalogConversion_s brake2;
33 MCU_pedal_readings pedal_can_msg;
34 uint8_t buf[
sizeof(CAN_message_t)];
36 memmove(&
msg, buf,
sizeof(
msg));
37 TEST_ASSERT_EQUAL(ID_MCU_PEDAL_READINGS,
msg.id);
38 pedal_can_msg.load(
msg.buf);
39 TEST_ASSERT_EQUAL(accel1.raw, pedal_can_msg.get_accelerator_pedal_1());
40 TEST_ASSERT_EQUAL(accel2.raw, pedal_can_msg.get_accelerator_pedal_2());
41 TEST_ASSERT_EQUAL(brake1.raw, pedal_can_msg.get_brake_pedal_1());
42 TEST_ASSERT_EQUAL(brake2.raw, pedal_can_msg.get_brake_pedal_2());
46 AnalogConversion_s steer2;
47 AnalogConversion_s current;
48 AnalogConversion_s reference;
49 AnalogConversion_s glv;
50 steer1.
angle = 1234.567890;
56 MCU_analog_readings analog_can_msg;
58 memmove(&
msg, buf,
sizeof(
msg));
59 TEST_ASSERT_EQUAL(ID_MCU_ANALOG_READINGS,
msg.id);
60 analog_can_msg.load(
msg.buf);
61 TEST_ASSERT_EQUAL(
static_cast<int16_t
>(steer1.
angle * 10000), analog_can_msg.get_steering_1());
62 TEST_ASSERT_EQUAL(steer2.raw, analog_can_msg.get_steering_2());
63 TEST_ASSERT_EQUAL(current.raw - reference.raw, analog_can_msg.get_hall_effect_current());
64 TEST_ASSERT_EQUAL(glv.raw, analog_can_msg.get_glv_battery_voltage());
67 AnalogConversion_s lc_fl;
68 AnalogConversion_s lc_fr;
71 telem_interface.update_load_cells_CAN_msg(lc_fl, lc_fr);
72 MCU_load_cells load_cells_can_msg;
74 memmove(&
msg, buf,
sizeof(
msg));
75 TEST_ASSERT_EQUAL(ID_MCU_LOAD_CELLS,
msg.id);
76 load_cells_can_msg.load(
msg.buf);
77 TEST_ASSERT_EQUAL(lc_fl.raw, load_cells_can_msg.get_FL_load_cell());
78 TEST_ASSERT_EQUAL(lc_fr.raw, load_cells_can_msg.get_FR_load_cell());
81 AnalogConversion_s pots_fl;
82 AnalogConversion_s pots_fr;
85 telem_interface.update_potentiometers_CAN_msg(pots_fl, pots_fr);
86 MCU_front_potentiometers front_pots_can_msg;
88 memmove(&
msg, buf,
sizeof(
msg));
89 TEST_ASSERT_EQUAL(ID_MCU_FRONT_POTS,
msg.id);
90 front_pots_can_msg.load(
msg.buf);
91 TEST_ASSERT_EQUAL(pots_fl.raw, front_pots_can_msg.get_pot1());
92 TEST_ASSERT_EQUAL(pots_fr.raw, front_pots_can_msg.get_pot3());
Circular_Buffer< uint8_t,(uint32_t) 128, sizeof(CAN_message_t)> CANBufferType
void test_telemetry_update_CAN()
CANBufferType CAN_tx_test
void update_pedal_readings_CAN_msg(float accel_percent, float brake_percent, float mech_brake_percent)
void update_analog_readings_CAN_msg(const SteeringEncoderConversion_s &steer1, const AnalogConversion_s &steer2, const AnalogConversion_s ¤t, const AnalogConversion_s &reference, const AnalogConversion_s &glv)