Refactor center beep

This commit is contained in:
elecpower
2018-09-05 17:35:20 +10:00
parent 7b61185287
commit a4e92e8821
+9 -31
View File
@@ -277,38 +277,16 @@ QString ModelPrinter::printHeliSwashType ()
QString ModelPrinter::printCenterBeep() QString ModelPrinter::printCenterBeep()
{ {
QStringList strl; QStringList strl;
if (model.beepANACenter & 0x01) Board::Type board = firmware->getBoard();
strl << tr("Rudder"); int analogs = CPN_MAX_STICKS + getBoardCapability(board, Board::Pots) + getBoardCapability(board, Board::Sliders);
if (model.beepANACenter & 0x02)
strl << tr("Elevator"); for (int i=0; i < analogs + firmware->getCapability(RotaryEncoders); i++) {
if (model.beepANACenter & 0x04) RawSource src((i < analogs) ? SOURCE_TYPE_STICK : SOURCE_TYPE_ROTARY_ENCODER, (i < analogs) ? i : analogs - i);
strl << tr("Throttle"); if (model.beepANACenter & (0x01 << i)) {
if (model.beepANACenter & 0x08) strl << src.toString(&model, &generalSettings);
strl << tr("Aileron"); }
if (IS_HORUS(firmware->getBoard())) {
// TODO
qDebug() << "ModelPrinter::printCenterBeep() TODO";
}
else if (IS_TARANIS(firmware->getBoard())) {
if (model.beepANACenter & 0x10)
strl << "S1";
if (model.beepANACenter & 0x20)
strl << "S2";
if (model.beepANACenter & 0x40)
strl << "S3";
if (model.beepANACenter & 0x80)
strl << "LS";
if (model.beepANACenter & 0x100)
strl << "RS";
}
else {
if (model.beepANACenter & 0x10)
strl << "P1";
if (model.beepANACenter & 0x20)
strl << "P2";
if (model.beepANACenter & 0x40)
strl << "P3";
} }
return (strl.isEmpty() ? tr("None") : strl.join(" ")); return (strl.isEmpty() ? tr("None") : strl.join(" "));
} }