Allow to disable telemetry alarams (#4981)

* Allow to disable telemetry alarams

This mainly useful for cheap transceivers that have telemetry but no power amplifier and very limited range of often 10-20 meters. This includes fishpepper's tinyFISH FC (and its legal/illegal clones) and also Spektrum BNF models.

* Always disable a warning when RSSI Warnings are disabled

* Compile fix

* Fix typos, also mute sensor lost

Refactor the FrskyRSSIAlarm[2] into a EEPROM compatible RssiAlarm struct

* Compile fixes

* Also refactor Companion

* Cleanup unused datastruct on ARM

* Compile fix for AVR

* Change int to uin8_t for avr

* Fix strings
This commit is contained in:
Arne Schwabe
2017-06-14 23:34:27 +02:00
committed by Bertrand Songis
parent 656daa75fa
commit 8e07f9b0f4
32 changed files with 297 additions and 187 deletions
+19 -17
View File
@@ -829,24 +829,26 @@ void TelemetryPanel::setup()
}
ui->telemetryProtocol->setCurrentIndex(model->telemetryProtocol);
ui->ignoreSensorIds->setField(model->frsky.ignoreSensorIds, this);
ui->disableTelemetryAlarms->setField(model->rssiAlarms.disabled);
}
else {
ui->telemetryProtocolLabel->hide();
ui->telemetryProtocol->hide();
ui->ignoreSensorIds->hide();
ui->disableTelemetryAlarms->hide();
}
ui->rssiAlarm1SB->setValue(model->frsky.rssiAlarms[0].value);
ui->rssiAlarm2SB->setValue(model->frsky.rssiAlarms[1].value);
if (!IS_HORUS_OR_TARANIS(firmware->getBoard())) {
ui->rssiAlarm1CB->setCurrentIndex(model->frsky.rssiAlarms[0].level);
ui->rssiAlarm2CB->setCurrentIndex(model->frsky.rssiAlarms[1].level);
ui->rssiAlarmWarningSB->setValue(model->rssiAlarms.warning);
ui->rssiAlarmCriticalSB->setValue(model->rssiAlarms.critical);
if (!IS_ARM(firmware->getBoard())) {
ui->rssiAlarmWarningCB->setCurrentIndex(model->rssiAlarms.level[0]);
ui->rssiAlarmCriticalCB->setCurrentIndex(model->rssiAlarms.level[1]);
}
else {
ui->rssiAlarm1CB->hide();
ui->rssiAlarm2CB->hide();
ui->rssiAlarm1Label->setText(tr("Low Alarm"));
ui->rssiAlarm2Label->setText(tr("Critical Alarm"));
ui->rssiAlarmWarningCB->hide();
ui->rssiAlarmCriticalCB->hide();
ui->rssiAlarmWarningLabel->setText(tr("Low Alarm"));
ui->rssiAlarmCriticalLabel->setText(tr("Critical Alarm"));
}
/*if (IS_ARM(firmware->getBoard())) {
@@ -1001,27 +1003,27 @@ void TelemetryPanel::on_frskyProtoCB_currentIndexChanged(int index)
}
}
void TelemetryPanel::on_rssiAlarm1CB_currentIndexChanged(int index)
void TelemetryPanel::on_rssiAlarmWarningCB_currentIndexChanged(int index)
{
model->frsky.rssiAlarms[0].level = index;
model->rssiAlarms.level[0] = index;
emit modified();
}
void TelemetryPanel::on_rssiAlarm2CB_currentIndexChanged(int index)
void TelemetryPanel::on_rssiAlarmCriticalCB_currentIndexChanged(int index)
{
model->frsky.rssiAlarms[1].level = index;
model->rssiAlarms.level[1] = index;
emit modified();
}
void TelemetryPanel::on_rssiAlarm1SB_editingFinished()
void TelemetryPanel::on_rssiAlarmWarningSB_editingFinished()
{
model->frsky.rssiAlarms[0].value = ui->rssiAlarm1SB->value();
model->rssiAlarms.warning= ui->rssiAlarmWarningSB->value();
emit modified();
}
void TelemetryPanel::on_rssiAlarm2SB_editingFinished()
void TelemetryPanel::on_rssiAlarmCriticalSB_editingFinished()
{
model->frsky.rssiAlarms[1].value = ui->rssiAlarm2SB->value();
model->rssiAlarms.critical = ui->rssiAlarmCriticalSB->value();
emit modified();
}