removed some volatiles and minor optimization

This commit is contained in:
Benjamin Vedder 2022-04-12 12:50:17 +02:00
parent 887b23d7e7
commit abdc517a72
1 changed files with 7 additions and 7 deletions

View File

@ -1693,13 +1693,13 @@ void mc_interface_mc_timer_isr(bool is_second_motor) {
ledpwm_update_pwm();
#ifdef HW_HAS_DUAL_MOTORS
volatile motor_if_state_t *motor = is_second_motor ? &m_motor_2 : &m_motor_1;
motor_if_state_t *motor = is_second_motor ? (motor_if_state_t*)&m_motor_2 : (motor_if_state_t*)&m_motor_1;
#else
volatile motor_if_state_t *motor = &m_motor_1;
motor_if_state_t *motor = (motor_if_state_t*)&m_motor_1;
(void)is_second_motor;
#endif
volatile mc_configuration *conf_now = &motor->m_conf;
mc_configuration *conf_now = (mc_configuration*)&motor->m_conf;
const float input_voltage = GET_INPUT_VOLTAGE();
UTILS_LP_FAST(motor->m_input_voltage_filtered, input_voltage, 0.02);
@ -1823,7 +1823,7 @@ void mc_interface_mc_timer_isr(bool is_second_motor) {
}
#endif
float f_samp = motor->m_f_samp_now;
float t_samp = 1.0 / motor->m_f_samp_now;
// Watt and ah counters
if (fabsf(current_filtered) > 1.0) {
@ -1831,8 +1831,8 @@ void mc_interface_mc_timer_isr(bool is_second_motor) {
static float curr_diff_sum = 0.0;
static float curr_diff_samples = 0;
curr_diff_sum += current_in_filtered / f_samp;
curr_diff_samples += 1.0 / f_samp;
curr_diff_sum += current_in_filtered * t_samp;
curr_diff_samples += t_samp;
if (curr_diff_samples >= 0.01) {
if (curr_diff_sum > 0.0) {
@ -1998,7 +1998,7 @@ void mc_interface_mc_timer_isr(bool is_second_motor) {
m_vzero_samples[m_sample_now] = zero;
m_curr_fir_samples[m_sample_now] = (int16_t)(current * (8.0 / FAC_CURRENT));
m_f_sw_samples[m_sample_now] = (int16_t)(f_samp / 10.0);
m_f_sw_samples[m_sample_now] = (int16_t)(0.1 / t_samp);
m_status_samples[m_sample_now] = mcpwm_get_comm_step() | (mcpwm_read_hall_phase() << 3);
m_sample_now++;