diff --git a/companion/src/modelprinter.cpp b/companion/src/modelprinter.cpp index 04e78db91..aea195c24 100644 --- a/companion/src/modelprinter.cpp +++ b/companion/src/modelprinter.cpp @@ -202,6 +202,25 @@ QString ModelPrinter::printTrainerMode() return result; } +QString ModelPrinter::printHeliSwashType () +{ + switch (model.swashRingData.type) { + case HELI_SWASH_TYPE_90: + return tr("90"); + case HELI_SWASH_TYPE_120: + return tr("120"); + case HELI_SWASH_TYPE_120X: + return tr("120X"); + case HELI_SWASH_TYPE_140: + return tr("140"); + case HELI_SWASH_TYPE_NONE: + return tr("Off"); + default: + return "???"; + } +} + + QString ModelPrinter::printCenterBeep() { QStringList strl; diff --git a/companion/src/modelprinter.h b/companion/src/modelprinter.h index 8f46dc619..a633d8aac 100644 --- a/companion/src/modelprinter.h +++ b/companion/src/modelprinter.h @@ -46,6 +46,7 @@ class ModelPrinter: public QObject QString printModule(int idx); QString printTrainerMode(); QString printCenterBeep(); + QString printHeliSwashType(); QString printTrim(int flightModeIndex, int stickIndex); QString printGlobalVar(int flightModeIndex, int gvarIndex); QString printRotaryEncoder(int flightModeIndex, int reIndex); diff --git a/companion/src/multimodelprinter.cpp b/companion/src/multimodelprinter.cpp index 2b126282e..3e7a6ebfe 100644 --- a/companion/src/multimodelprinter.cpp +++ b/companion/src/multimodelprinter.cpp @@ -128,6 +128,8 @@ QString MultiModelPrinter::print(QTextDocument * document) QString str = ""; str += printSetup(); + if (firmware->getCapability(Heli)) + str += printHeliSetup(); if (firmware->getCapability(FlightModes)) str += printFlightModes(); str += printInputs(); @@ -181,6 +183,57 @@ QString MultiModelPrinter::printSetup() return str; } + +QString MultiModelPrinter::printHeliSetup() +{ + bool heliEnabled = false; + for (int k=0; kswashRingData.type != HELI_SWASH_TYPE_NONE; + } + + if (!heliEnabled) + return ""; + + QString str = printTitle(tr("Helicopter Setup")); + MultiColumns columns(models.size()); + columns.appendTitle (tr("Swash Type:")); + COMPARE(modelPrinter->printHeliSwashType()); + columns.append ("
"); + + columns.appendTitle (tr("Swash Ring:")); + COMPARE(model->swashRingData.value); + + columns.append ("
"); + columns.append(""); + columns.append(""); + columns.append(""); + + columns.append(""); + + columns.append(""); + + + columns.append(""); + columns.append("
" + tr("Input") + "" + tr("Weight") + "
" + tr("Long. cyc") + ""); + COMPARE(model->swashRingData.elevatorSource.toString(model)); + columns.append(""); + COMPARE(model->swashRingData.elevatorWeight) + columns.append("
" + tr("Lateral cyc") + ""); + COMPARE(model->swashRingData.aileronSource.toString(model)); + columns.append(""); + COMPARE(model->swashRingData.aileronWeight) + columns.append("
" + tr("Collective") + ""); + COMPARE(model->swashRingData.collectiveSource.toString(model)); + columns.append(""); + COMPARE(model->swashRingData.collectiveWeight) + columns.append("
"); + + + + str.append(columns.print()); + return str; +} + QString MultiModelPrinter::printFlightModes() { QString str = printTitle(tr("Flight modes")); diff --git a/companion/src/multimodelprinter.h b/companion/src/multimodelprinter.h index bb85ff371..fa1c19f33 100644 --- a/companion/src/multimodelprinter.h +++ b/companion/src/multimodelprinter.h @@ -43,6 +43,7 @@ class MultiModelPrinter: public QObject QString printTitle(const QString & label); QString printSetup(); + QString printHeliSetup(); QString printFlightModes(); QString printLimits(); QString printInputs();