void mixerConfigureOutput(void) { motorCount = 0; if (currentMixerMode == MIXER_CUSTOM || currentMixerMode == MIXER_CUSTOM_TRI || currentMixerMode == MIXER_CUSTOM_AIRPLANE) { // load custom mixer into currentMixer for (int i = 0; i < MAX_SUPPORTED_MOTORS; i++) { // check if done if (customMotorMixer(i)->throttle == 0.0f) { break; } currentMixer[i] = *customMotorMixer(i); motorCount++; } } else { motorCount = mixers[currentMixerMode].motorCount; if (motorCount > MAX_SUPPORTED_MOTORS) { motorCount = MAX_SUPPORTED_MOTORS; } // copy motor-based mixers if (mixers[currentMixerMode].motor) { for (int i = 0; i < motorCount; i++) currentMixer[i] = mixers[currentMixerMode].motor[i]; } } mixerResetDisarmedMotors(); }
void mixerConfigureOutput(void) { motorCount = QUAD_MOTOR_COUNT; for (int i = 0; i < motorCount; i++) { currentMixer[i] = mixerQuadX[i]; } mixerResetDisarmedMotors(); }
void mixerUsePWMIOConfiguration(void) { motorCount = 4; uint8_t i; for (i = 0; i < motorCount; i++) { currentMixer[i] = mixerQuadX[i]; } mixerResetDisarmedMotors(); }
void mixerUsePWMIOConfiguration(pwmIOConfiguration_t *pwmIOConfiguration) { UNUSED(pwmIOConfiguration); motorCount = 4; uint8_t i; for (i = 0; i < motorCount; i++) { currentMixer[i] = mixerQuadX[i]; } mixerResetDisarmedMotors(); }
void mixerConfigureOutput(void) { syncMotorOutputWithPidLoop = pwmIsSynced(); motorCount = QUAD_MOTOR_COUNT; for (uint8_t i = 0; i < motorCount; i++) { currentMixer[i] = mixerQuadX[i]; } mixerResetDisarmedMotors(); }
void mixerUsePWMOutputConfiguration(pwmOutputConfiguration_t *pwmOutputConfiguration) { UNUSED(pwmOutputConfiguration); motorCount = 4; #ifdef USE_SERVOS servoCount = 0; #endif uint8_t i; for (i = 0; i < motorCount; i++) { currentMixer[i] = mixerQuadX[i]; } mixerResetDisarmedMotors(); }
void mixerUsePWMOutputConfiguration(pwmOutputConfiguration_t *pwmOutputConfiguration, bool use_unsyncedPwm) { UNUSED(pwmOutputConfiguration); syncPwmWithPidLoop = !use_unsyncedPwm; motorCount = 4; #ifdef USE_SERVOS servoCount = 0; #endif uint8_t i; for (i = 0; i < motorCount; i++) { currentMixer[i] = mixerQuadX[i]; } mixerResetDisarmedMotors(); }
void mixerConfigureOutput(void) { int i; motorCount = 0; syncMotorOutputWithPidLoop = pwmIsSynced(); if (currentMixerMode == MIXER_CUSTOM || currentMixerMode == MIXER_CUSTOM_TRI || currentMixerMode == MIXER_CUSTOM_AIRPLANE) { // load custom mixer into currentMixer for (i = 0; i < MAX_SUPPORTED_MOTORS; i++) { // check if done if (customMixers[i].throttle == 0.0f) break; currentMixer[i] = customMixers[i]; motorCount++; } } else { motorCount = mixers[currentMixerMode].motorCount; // copy motor-based mixers if (mixers[currentMixerMode].motor) { for (i = 0; i < motorCount; i++) currentMixer[i] = mixers[currentMixerMode].motor[i]; } } // in 3D mode, mixer gain has to be halved if (feature(FEATURE_3D)) { if (motorCount > 1) { for (i = 0; i < motorCount; i++) { currentMixer[i].pitch *= 0.5f; currentMixer[i].roll *= 0.5f; currentMixer[i].yaw *= 0.5f; } } } mixerResetDisarmedMotors(); }
void mixerUsePWMIOConfiguration(pwmIOConfiguration_t *pwmIOConfiguration) { int i; motorCount = 0; servoCount = pwmIOConfiguration->servoCount; if (currentMixerMode == MIXER_CUSTOM || currentMixerMode == MIXER_CUSTOM_TRI || currentMixerMode == MIXER_CUSTOM_AIRPLANE) { // load custom mixer into currentMixer for (i = 0; i < MAX_SUPPORTED_MOTORS; i++) { // check if done if (customMixers[i].throttle == 0.0f) break; currentMixer[i] = customMixers[i]; motorCount++; } } else { motorCount = mixers[currentMixerMode].motorCount; // copy motor-based mixers if (mixers[currentMixerMode].motor) { for (i = 0; i < motorCount; i++) currentMixer[i] = mixers[currentMixerMode].motor[i]; } } if (useServo) { servoRuleCount = servoMixers[currentMixerMode].servoRuleCount; if (servoMixers[currentMixerMode].rule) { for (i = 0; i < servoRuleCount; i++) currentServoMixer[i] = servoMixers[currentMixerMode].rule[i]; } } // in 3D mode, mixer gain has to be halved if (feature(FEATURE_3D)) { if (motorCount > 1) { for (i = 0; i < motorCount; i++) { currentMixer[i].pitch *= 0.5f; currentMixer[i].roll *= 0.5f; currentMixer[i].yaw *= 0.5f; } } } // set flag that we're on something with wings if (currentMixerMode == MIXER_FLYING_WING || currentMixerMode == MIXER_AIRPLANE || currentMixerMode == MIXER_CUSTOM_AIRPLANE ) { ENABLE_STATE(FIXED_WING); if (currentMixerMode == MIXER_CUSTOM_AIRPLANE) { loadCustomServoMixer(); } } else { DISABLE_STATE(FIXED_WING); if (currentMixerMode == MIXER_CUSTOM_TRI) { loadCustomServoMixer(); } } mixerResetDisarmedMotors(); }