void Sub::init_joystick() { default_js_buttons(); set_mode((control_mode_t)flight_modes[0].get(), MODE_REASON_TX_COMMAND); // Initialize flight mode if (g.numGainSettings < 1) { g.numGainSettings.set_and_save(1); } if (g.numGainSettings == 1 || (g.gain_default < g.maxGain + 0.01 && g.gain_default > g.minGain - 0.01)) { gain = constrain_float(g.gain_default, g.minGain, g.maxGain); // Use default gain parameter } else { // Use setting closest to average of minGain and maxGain gain = g.minGain + (g.numGainSettings/2 - 1) * (g.maxGain - g.minGain) / (g.numGainSettings - 1); } gain = constrain_float(gain, 0.1, 1.0); }
void Sub::init_joystick() { default_js_buttons(); lights1 = RC_Channels::rc_channel(8)->get_radio_min(); lights2 = RC_Channels::rc_channel(9)->get_radio_min(); set_mode(MANUAL, MODE_REASON_TX_COMMAND); // Initialize flight mode if (g.numGainSettings < 1) { g.numGainSettings.set_and_save(1); } if (g.numGainSettings == 1 || (g.gain_default < g.maxGain + 0.01 && g.gain_default > g.minGain - 0.01)) { gain = constrain_float(g.gain_default, g.minGain, g.maxGain); // Use default gain parameter } else { // Use setting closest to average of minGain and maxGain gain = g.minGain + (g.numGainSettings/2 - 1) * (g.maxGain - g.minGain) / (g.numGainSettings - 1); } gain = constrain_float(gain, 0.1, 1.0); }