staticconstchar*msgBegin="Lower the Throttle stick all the way down as shown in diagram.\nReset all transmitter trims to center.\n\n"
"It is recommended to disconnect all motors for additional safety, however, the system is designed to not arm during the calibration.\n\n"
"Click Next to continue";
staticconstchar*msgThrottleUp="Move the Throttle stick all the way up and hold it there...";
staticconstchar*msgThrottleDown="Move the Throttle stick all the way down and leave it there...";
staticconstchar*msgYawLeft="Move the Yaw stick all the way to the left and hold it there...";
staticconstchar*msgYawRight="Move the Yaw stick all the way to the right and hold it there...";
staticconstchar*msgRollLeft="Move the Roll stick all the way to the left and hold it there...";
staticconstchar*msgRollRight="Move the Roll stick all the way to the right and hold it there...";
staticconstchar*msgPitchDown="Move the Pitch stick all the way down and hold it there...";
staticconstchar*msgPitchUp="Move the Pitch stick all the way up and hold it there...";
staticconstchar*msgPitchCenter="Allow the Pitch stick to move back to center...";
staticconstchar*msgModeSwitch="Next we will assign the channel for the Mode Switch. Move the switch or dial up and down to select the channel.";
staticconstchar*msgPosCtlSwitch="Next we will assign the channel for the PosCtl Switch. Move the switch or dial up and down to select the channel.\n\n"
"You can click Skip if you don't want to assign this switch.";
staticconstchar*msgLoiterSwitch="Next we will assign the channel for the Loiter Switch. Move the switch or dial up and down to select the channel.\n\n"
"You can click Skip if you don't want to assign this switch.";
staticconstchar*msgReturnSwitch="Next we will assign the channel for the Return Switch. Move the switch or dial up and down to select the channel.\n\n"
"You can click Skip if you don't want to assign this switch.";
staticconstchar*msgAux1Switch="Move the switch or dial you want to use for Aux1.\n\n"
"You can click Skip if you don't want to assign.";
staticconstchar*msgAux2Switch="Move the switch or dial you want to use for Aux2.\n\n"
"You can click Skip if you don't want to assign.";
staticconstchar*msgSwitchMinMax="Move all the transmitter switches and/or dials back and forth to their extreme positions.";
staticconstchar*msgFlapsDetect="Move the switch or dial you want to use for Flaps back and forth a few times. "
"Then leave the switch/dial at the position you want to use for Flaps fully extended.\n\n"
"Click Next to continue.\n"
"If you won't be using Flaps, click Skip.";
staticconstchar*msgFlapsUp="Move the switch or dial you want to use for Flaps to the position you want to use for Flaps fully retracted.";
staticconstchar*msgComplete="All settings have been captured. Click Next to write the new parameters to your board.";
QMessageBox::warning(this,tr("Receiver"),tr("Detected %1 radio channels. To operate PX4, you need at least %2 channels.").arg(_chanCount).arg(_chanMinimum));
QMessageBox::warning(this,tr("Set Trim"),tr("Setting individual trims is not yet implemented. You will need to go through full calibration to set trims."));
}
voidPX4RCCalibration::_saveAllTrims(void)
{
// We save all trims as the first step. At this point no channels are mapped but it should still
// allow us to get good trims for the roll/pitch/yaw/throttle even though we don't know which
// channels they are yet. AS we continue through the process the other channels will get their
"Ensure RC transmitter and receiver are powered and connected. It is recommended to disconnect all motors for additional safety, however, the system is designed to not arm during the calibration.\n\n"
"Reset all transmitter trims to center, then click Next to continue"));
_ui->rcCalFound->clear();
}
/// @brief Saves the current channel values, so that we can detect when the use moves an input.