Skip to content

Commit

Permalink
finished refactoring so pio works
Browse files Browse the repository at this point in the history
  • Loading branch information
Comerm28 committed Sep 25, 2024
1 parent 9ec4712 commit 7589dc2
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 15 deletions.
2 changes: 1 addition & 1 deletion lib/systems/include/DrivetrainSystem.tpp
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ void DrivetrainSystem<InverterType>::command_drivetrain(const DrivetrainCommand_
int index = 0;
for (auto inv_pointer : inverters_)
{
inv_pointer->handle_command({data.torqueSetpoints[index], data.speeds_rpm[index]});
inv_pointer->handle_command({data.inverter_torque_limit[index], data.speeds_rpm[index]});
index++;
}
// last_general_cmd_time_ = curr_system_millis_;
Expand Down
16 changes: 8 additions & 8 deletions lib/systems/src/Controllers/LoadCellVectoringController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ void TorqueControllerLoadCellVectoring::tick(
writeout_.command.speeds_rpm[RL] = PhysicalParameters::AMK_MAX_RPM;
writeout_.command.speeds_rpm[RR] = PhysicalParameters::AMK_MAX_RPM;

writeout_.command.torqueSetpoints[FL] = torquePool * frontTorqueScale_ * loadCellForcesFiltered_[0] / sumNormalForce;
writeout_.command.torqueSetpoints[FR] = torquePool * frontTorqueScale_ * loadCellForcesFiltered_[1] / sumNormalForce;
writeout_.command.torqueSetpoints[RL] = torquePool * rearTorqueScale_ * loadCellForcesFiltered_[2] / sumNormalForce;
writeout_.command.torqueSetpoints[RR] = torquePool * rearTorqueScale_ * loadCellForcesFiltered_[3] / sumNormalForce;
writeout_.command.inverter_torque_limit[FL] = torquePool * frontTorqueScale_ * loadCellForcesFiltered_[0] / sumNormalForce;
writeout_.command.inverter_torque_limit[FR] = torquePool * frontTorqueScale_ * loadCellForcesFiltered_[1] / sumNormalForce;
writeout_.command.inverter_torque_limit[RL] = torquePool * rearTorqueScale_ * loadCellForcesFiltered_[2] / sumNormalForce;
writeout_.command.inverter_torque_limit[RR] = torquePool * rearTorqueScale_ * loadCellForcesFiltered_[3] / sumNormalForce;
}
else
{
Expand All @@ -80,10 +80,10 @@ void TorqueControllerLoadCellVectoring::tick(
writeout_.command.speeds_rpm[RL] = 0.0;
writeout_.command.speeds_rpm[RR] = 0.0;

writeout_.command.torqueSetpoints[FL] = torqueRequest * frontRegenTorqueScale_;
writeout_.command.torqueSetpoints[FR] = torqueRequest * frontRegenTorqueScale_;
writeout_.command.torqueSetpoints[RL] = torqueRequest * rearRegenTorqueScale_;
writeout_.command.torqueSetpoints[RR] = torqueRequest * rearRegenTorqueScale_;
writeout_.command.inverter_torque_limit[FL] = torqueRequest * frontRegenTorqueScale_;
writeout_.command.inverter_torque_limit[FR] = torqueRequest * frontRegenTorqueScale_;
writeout_.command.inverter_torque_limit[RL] = torqueRequest * rearRegenTorqueScale_;
writeout_.command.inverter_torque_limit[RR] = torqueRequest * rearRegenTorqueScale_;
}
}
else
Expand Down
13 changes: 7 additions & 6 deletions test/test_systems/tc_mux_v2_testing.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
#include "TorqueControllerMux.h"
#include "TorqueControllers.h"
#include "fake_controller_type.h"
#include "gtest/gtest.h"



Expand Down Expand Up @@ -55,7 +56,7 @@ TEST(TorqueControllerMuxTesting, test_invalid_controller_request_error)
SharedCarState_s state({}, {}, {}, {}, {}, {});
auto res = test.getDrivetrainCommand(ControllerMode_e::MODE_2, TorqueLimit_e::TCMUX_FULL_TORQUE, state);

ASSERT_EQ(test.get_tc_mux_status().current_error, TorqueControllerMuxError::ERROR_CONTROLLER_INDEX_OUT_OF_BOUNDS);
ASSERT_EQ(test.get_tc_mux_status().active_error, TorqueControllerMuxError::ERROR_CONTROLLER_INDEX_OUT_OF_BOUNDS);
for (int i =0; i< 4; i++)
{

Expand Down Expand Up @@ -85,7 +86,7 @@ TEST(TorqueControllerMuxTesting, test_controller_output_swap_logic)
out1 = test.getDrivetrainCommand(ControllerMode_e::MODE_1, TorqueLimit_e::TCMUX_FULL_TORQUE, state);

ASSERT_EQ(test.get_tc_mux_status().active_controller_mode, ControllerMode_e::MODE_0);
ASSERT_EQ(test.get_tc_mux_status().current_error, TorqueControllerMuxError::ERROR_SPEED_DIFF_TOO_HIGH);
ASSERT_EQ(test.get_tc_mux_status().active_error, TorqueControllerMuxError::ERROR_SPEED_DIFF_TOO_HIGH);

set_outputs(inst1, 0, 1);
set_outputs(inst2, 0, 1);
Expand All @@ -94,7 +95,7 @@ TEST(TorqueControllerMuxTesting, test_controller_output_swap_logic)
out1 = test.getDrivetrainCommand(ControllerMode_e::MODE_1, TorqueLimit_e::TCMUX_FULL_TORQUE, state);

ASSERT_EQ(test.get_tc_mux_status().active_controller_mode, ControllerMode_e::MODE_1);
ASSERT_EQ(test.get_tc_mux_status().current_error, TorqueControllerMuxError::NO_ERROR);
ASSERT_EQ(test.get_tc_mux_status().active_error, TorqueControllerMuxError::NO_ERROR);
}

TEST(TorqueControllerMuxTesting, test_torque_diff_swap_limit)
Expand All @@ -108,7 +109,7 @@ TEST(TorqueControllerMuxTesting, test_torque_diff_swap_limit)
auto out1 = test.getDrivetrainCommand(ControllerMode_e::MODE_0, TorqueLimit_e::TCMUX_FULL_TORQUE, state);
out1 = test.getDrivetrainCommand(ControllerMode_e::MODE_1, TorqueLimit_e::TCMUX_FULL_TORQUE, state);
ASSERT_EQ(test.get_tc_mux_status().active_controller_mode, ControllerMode_e::MODE_0);
ASSERT_EQ(test.get_tc_mux_status().current_error, TorqueControllerMuxError::ERROR_TORQUE_DIFF_TOO_HIGH);
ASSERT_EQ(test.get_tc_mux_status().active_error, TorqueControllerMuxError::ERROR_TORQUE_DIFF_TOO_HIGH);

// tick it a bunch of times
out1 = test.getDrivetrainCommand(ControllerMode_e::MODE_1, TorqueLimit_e::TCMUX_FULL_TORQUE, state);
Expand All @@ -118,7 +119,7 @@ TEST(TorqueControllerMuxTesting, test_torque_diff_swap_limit)
out1 = test.getDrivetrainCommand(ControllerMode_e::MODE_1, TorqueLimit_e::TCMUX_FULL_TORQUE, state);
out1 = test.getDrivetrainCommand(ControllerMode_e::MODE_1, TorqueLimit_e::TCMUX_FULL_TORQUE, state);

ASSERT_EQ(test.get_tc_mux_status().current_error, TorqueControllerMuxError::ERROR_TORQUE_DIFF_TOO_HIGH);
ASSERT_EQ(test.get_tc_mux_status().active_error, TorqueControllerMuxError::ERROR_TORQUE_DIFF_TOO_HIGH);

ASSERT_EQ(test.get_tc_mux_status().active_controller_mode, ControllerMode_e::MODE_0);

Expand Down Expand Up @@ -278,6 +279,6 @@ TEST(TorqueControllerMuxTesting, test_null_pointer_error_state)
ASSERT_EQ(res.inverter_torque_limit[i], 0.0f);
ASSERT_EQ(res.speeds_rpm[i], 0.0f);
}
ASSERT_EQ(test.get_tc_mux_status().current_error, TorqueControllerMuxError::ERROR_CONTROLLER_NULL_POINTER);
ASSERT_EQ(test.get_tc_mux_status().active_error, TorqueControllerMuxError::ERROR_CONTROLLER_NULL_POINTER);
}
#endif // __TC_MUX_V2_TESTING_H__

0 comments on commit 7589dc2

Please sign in to comment.