@@ -249,7 +249,7 @@ void Mixer::init_mixing()
249249 primary_mixer_ = invert_mixer (array_of_mixers_[mixer_choice]);
250250 } else {
251251 // Don't invert the fixedwing mixers
252- primary_mixer_ = array_of_mixers_[mixer_choice];
252+ primary_mixer_ = * array_of_mixers_[mixer_choice];
253253 }
254254
255255 // Load the primary mixer header to the mixer_to_use_ header. Note that both the primary and
@@ -293,7 +293,7 @@ void Mixer::init_mixing()
293293 secondary_mixer_ = invert_mixer (array_of_mixers_[mixer_choice]);
294294 } else {
295295 // Don't invert the fixedwing mixers
296- secondary_mixer_ = array_of_mixers_[mixer_choice];
296+ secondary_mixer_ = * array_of_mixers_[mixer_choice];
297297 }
298298
299299 init_PWM ();
@@ -317,19 +317,19 @@ void Mixer::update_parameters()
317317 V_max_ = RF_.params_ .get_param_float (PARAM_VOLT_MAX);
318318}
319319
320- Mixer::mixer_t Mixer::invert_mixer (const mixer_t mixer_to_invert)
320+ Mixer::mixer_t Mixer::invert_mixer (const mixer_t * mixer_to_invert)
321321{
322322 Eigen::Matrix<float , 6 , NUM_MIXER_OUTPUTS> mixer_matrix;
323323 mixer_matrix.setZero ();
324324
325325 // Convert the mixer_t to an Eigen matrix
326326 for (int i=0 ; i<NUM_MIXER_OUTPUTS; i++) {
327- mixer_matrix (0 , i) = mixer_to_invert. Fx [i];
328- mixer_matrix (1 , i) = mixer_to_invert. Fy [i];
329- mixer_matrix (2 , i) = mixer_to_invert. Fz [i];
330- mixer_matrix (3 , i) = mixer_to_invert. Qx [i];
331- mixer_matrix (4 , i) = mixer_to_invert. Qy [i];
332- mixer_matrix (5 , i) = mixer_to_invert. Qz [i];
327+ mixer_matrix (0 , i) = mixer_to_invert-> Fx [i];
328+ mixer_matrix (1 , i) = mixer_to_invert-> Fy [i];
329+ mixer_matrix (2 , i) = mixer_to_invert-> Fz [i];
330+ mixer_matrix (3 , i) = mixer_to_invert-> Qx [i];
331+ mixer_matrix (4 , i) = mixer_to_invert-> Qy [i];
332+ mixer_matrix (5 , i) = mixer_to_invert-> Qz [i];
333333 }
334334
335335 // Calculate the pseudoinverse of the mixing matrix using the SVD
@@ -355,8 +355,8 @@ Mixer::mixer_t Mixer::invert_mixer(const mixer_t mixer_to_invert)
355355 mixer_t inverted_mixer;
356356
357357 for (int i = 0 ; i < NUM_MIXER_OUTPUTS; i++) {
358- inverted_mixer.output_type [i] = mixer_to_invert. output_type [i];
359- inverted_mixer.default_pwm_rate [i] = mixer_to_invert. default_pwm_rate [i];
358+ inverted_mixer.output_type [i] = mixer_to_invert-> output_type [i];
359+ inverted_mixer.default_pwm_rate [i] = mixer_to_invert-> default_pwm_rate [i];
360360 inverted_mixer.Fx [i] = mixer_matrix_pinv (i, 0 );
361361 inverted_mixer.Fy [i] = mixer_matrix_pinv (i, 1 );
362362 inverted_mixer.Fz [i] = mixer_matrix_pinv (i, 2 );
0 commit comments