diff --git a/Firmware/MotorControl/axis.cpp b/Firmware/MotorControl/axis.cpp index 15eaa3d5..363c75bb 100644 --- a/Firmware/MotorControl/axis.cpp +++ b/Firmware/MotorControl/axis.cpp @@ -313,14 +313,18 @@ bool Axis::start_closed_loop_control() { motor_.current_control_.Idq_setpoint_src_.connect_to(&motor_.Idq_setpoint_); motor_.current_control_.Vdq_setpoint_src_.connect_to(&motor_.Vdq_setpoint_); + bool is_acim = motor_.config_.motor_type == Motor::MOTOR_TYPE_ACIM; + // phase OutputPort* phase_src = sensorless_mode ? &sensorless_estimator_.phase_ : &encoder_.phase_; - motor_.current_control_.phase_src_.connect_to(phase_src); acim_estimator_.rotor_phase_src_.connect_to(phase_src); - + OutputPort* stator_phase_src = is_acim ? &acim_estimator_.stator_phase_ : phase_src; + motor_.current_control_.phase_src_.connect_to(stator_phase_src); + // phase vel OutputPort* phase_vel_src = sensorless_mode ? &sensorless_estimator_.phase_vel_ : &encoder_.phase_vel_; - motor_.phase_vel_src_.connect_to(phase_vel_src); - motor_.current_control_.phase_vel_src_.connect_to(phase_vel_src); acim_estimator_.rotor_phase_vel_src_.connect_to(phase_vel_src); + OutputPort* stator_phase_vel_src = is_acim ? &acim_estimator_.stator_phase_vel_ : phase_vel_src; + motor_.phase_vel_src_.connect_to(stator_phase_vel_src); + motor_.current_control_.phase_vel_src_.connect_to(stator_phase_vel_src); if (sensorless_mode) { // Make the final velocity of the loĉk-in spin the setpoint of the diff --git a/Firmware/Private b/Firmware/Private index 08908917..260d6e71 160000 --- a/Firmware/Private +++ b/Firmware/Private @@ -1 +1 @@ -Subproject commit 08908917e522ef7b02f3d762718bba81c6db7b93 +Subproject commit 260d6e71fd03647bd4df3a44b05b9a389e0dc408 diff --git a/ODrive_Workspace.code-workspace b/ODrive_Workspace.code-workspace index 5891fce2..8c1fe5c3 100644 --- a/ODrive_Workspace.code-workspace +++ b/ODrive_Workspace.code-workspace @@ -11,9 +11,6 @@ }, { "path": "analysis" - }, - { - "path": "GUI" } ], "settings": {