From f635ee85cf1830fd170c29d29595af71f2385319 Mon Sep 17 00:00:00 2001 From: Unknown Date: Thu, 7 May 2020 18:05:40 -0400 Subject: [PATCH] Convert an if-else tree to a switch statement for clarity --- Firmware/MotorControl/motor.cpp | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/Firmware/MotorControl/motor.cpp b/Firmware/MotorControl/motor.cpp index 48b66c98..223aba1c 100644 --- a/Firmware/MotorControl/motor.cpp +++ b/Firmware/MotorControl/motor.cpp @@ -484,22 +484,11 @@ bool Motor::update(float current_setpoint, float phase, float phase_vel) { float pwm_phase = phase + 1.5f * current_meas_period * phase_vel; // Execute current command - // TODO: move this into the mot - if (config_.motor_type == MOTOR_TYPE_HIGH_CURRENT) { - if(!FOC_current(id, iq, phase, pwm_phase)){ - return false; - } - } else if (config_.motor_type == MOTOR_TYPE_ACIM) { - if(!FOC_current(id, iq, phase, pwm_phase)){ - return false; - } - } else if (config_.motor_type == MOTOR_TYPE_GIMBAL) { - //In gimbal motor mode, current is reinterptreted as voltage. - if(!FOC_voltage(id, iq, pwm_phase)) - return false; - } else { - set_error(ERROR_NOT_IMPLEMENTED_MOTOR_TYPE); - return false; + switch(config_.motor_type){ + case MOTOR_TYPE_HIGH_CURRENT: return FOC_current(id, iq, phase, pwm_phase); break; + case MOTOR_TYPE_ACIM: return FOC_current(id, iq, phase, pwm_phase); break; + case MOTOR_TYPE_GIMBAL: return FOC_voltage(id, iq, pwm_phase); break; + default: set_error(ERROR_NOT_IMPLEMENTED_MOTOR_TYPE); return false; break; } return true; }