Skip to content

Commit 3ddaa25

Browse files
committed
add call to save secondary mixer parameter when secondary mixer defaults to primary
1 parent 49bb5e6 commit 3ddaa25

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

src/mixer.cpp

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -65,31 +65,36 @@ void Mixer::param_change_callback(uint16_t param_id)
6565

6666
} else if ((param_id >=PARAM_PRIMARY_MIXER_PWM_RATE_0 )&&(param_id <=PARAM_PRIMARY_MIXER_PWM_RATE_9 )) {
6767
primary_mixer_.default_pwm_rate[param_id-PARAM_PRIMARY_MIXER_PWM_RATE_0] = RF_.params_.get_param_float(param_id);
68-
// Note: secondary micer pwm rates are not used, but should match the primary mixer in case code elsewhere changes.
68+
// Note: secondary mixer pwm rates are not used, but should match the primary mixer in case code elsewhere changes.
6969
secondary_mixer_.default_pwm_rate[param_id-PARAM_PRIMARY_MIXER_PWM_RATE_0] = RF_.params_.get_param_float(param_id);
7070

7171
} else if ((param_id >=PARAM_PRIMARY_MIXER_0_0 )&&(param_id <=PARAM_PRIMARY_MIXER_5_9 )) {
7272

7373
uint16_t param_id_offset = param_id-PARAM_PRIMARY_MIXER_0_0;
7474
uint16_t param_id_row = param_id_offset%6;
7575
uint16_t param_id_col = param_id_offset/6;
76+
float param_value = RF_.params_.get_param_float(param_id);
7677

77-
if(param_id_row==0) { primary_mixer_.Fx[param_id_col] = RF_.params_.get_param_float(param_id); }
78-
if(param_id_row==1) { primary_mixer_.Fy[param_id_col] = RF_.params_.get_param_float(param_id); }
79-
if(param_id_row==2) { primary_mixer_.Fz[param_id_col] = RF_.params_.get_param_float(param_id); }
80-
if(param_id_row==3) { primary_mixer_.Qx[param_id_col] = RF_.params_.get_param_float(param_id); }
81-
if(param_id_row==4) { primary_mixer_.Qy[param_id_col] = RF_.params_.get_param_float(param_id); }
82-
if(param_id_row==5) { primary_mixer_.Qz[param_id_col] = RF_.params_.get_param_float(param_id); }
78+
if(param_id_row==0) { primary_mixer_.Fx[param_id_col] = param_value; }
79+
if(param_id_row==1) { primary_mixer_.Fy[param_id_col] = param_value; }
80+
if(param_id_row==2) { primary_mixer_.Fz[param_id_col] = param_value; }
81+
if(param_id_row==3) { primary_mixer_.Qx[param_id_col] = param_value; }
82+
if(param_id_row==4) { primary_mixer_.Qy[param_id_col] = param_value; }
83+
if(param_id_row==5) { primary_mixer_.Qz[param_id_col] = param_value; }
8384

8485
// Special Case for when secondary mixer is mirroring primary mixer.
8586
mixer_type_t mixer_choice = static_cast<mixer_type_t>(RF_.params_.get_param_int(PARAM_SECONDARY_MIXER));
8687
if (mixer_choice >= NUM_MIXERS) {
87-
if(param_id_row==0) { secondary_mixer_.Fx[param_id_col] = RF_.params_.get_param_float(param_id); }
88-
if(param_id_row==1) { secondary_mixer_.Fy[param_id_col] = RF_.params_.get_param_float(param_id); }
89-
if(param_id_row==2) { secondary_mixer_.Fz[param_id_col] = RF_.params_.get_param_float(param_id); }
90-
if(param_id_row==3) { secondary_mixer_.Qx[param_id_col] = RF_.params_.get_param_float(param_id); }
91-
if(param_id_row==4) { secondary_mixer_.Qy[param_id_col] = RF_.params_.get_param_float(param_id); }
92-
if(param_id_row==5) { secondary_mixer_.Qz[param_id_col] = RF_.params_.get_param_float(param_id); }
88+
if(param_id_row==0) { secondary_mixer_.Fx[param_id_col] = param_value; }
89+
if(param_id_row==1) { secondary_mixer_.Fy[param_id_col] = param_value; }
90+
if(param_id_row==2) { secondary_mixer_.Fz[param_id_col] = param_value; }
91+
if(param_id_row==3) { secondary_mixer_.Qx[param_id_col] = param_value; }
92+
if(param_id_row==4) { secondary_mixer_.Qy[param_id_col] = param_value; }
93+
if(param_id_row==5) { secondary_mixer_.Qz[param_id_col] = param_value; }
94+
95+
// Write the value to params -- otherwise, the secondary mixer gets out of sync
96+
uint16_t secondary_mixer_param_id = PARAM_SECONDARY_MIXER_0_0 + param_id_col*6 + param_id_row;
97+
RF_.params_.set_param_float(secondary_mixer_param_id, param_value);
9398
}
9499

95100
} else if ((param_id >=PARAM_SECONDARY_MIXER_0_0 )&&(param_id <=PARAM_SECONDARY_MIXER_5_9 )) {

0 commit comments

Comments
 (0)