Add safety and context to spektrum and power meter
This commit is contained in:
@@ -21,8 +21,20 @@
|
||||
#include <opentx.h>
|
||||
#include "opentx.h"
|
||||
|
||||
void pxx2ModuleRequiredScreen(event_t event);
|
||||
|
||||
void menuRadioPowerMeter(event_t event)
|
||||
{
|
||||
if(!isModulePXX2(INTERNAL_MODULE)) {
|
||||
pxx2ModuleRequiredScreen(event);
|
||||
return;
|
||||
}
|
||||
|
||||
if(TELEMETRY_STREAMING()) {
|
||||
lcdDrawCenteredText(LCD_H/2, "Turn off receiver");
|
||||
return;
|
||||
}
|
||||
|
||||
SIMPLE_SUBMENU("POWER METER", 1);
|
||||
|
||||
if (menuEvent) {
|
||||
@@ -32,8 +44,9 @@ void menuRadioPowerMeter(event_t event)
|
||||
watchdogSuspend(500);
|
||||
RTOS_WAIT_MS(500);
|
||||
resumePulses();
|
||||
return;
|
||||
}
|
||||
else if (event == EVT_ENTRY) {
|
||||
else if (moduleSettings[INTERNAL_MODULE].mode != MODULE_MODE_SPECTRUM_ANALYSER) {
|
||||
memclear(&reusableBuffer.powerMeter, sizeof(reusableBuffer.powerMeter));
|
||||
reusableBuffer.powerMeter.freq = 2400;
|
||||
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_POWER_METER;
|
||||
|
||||
@@ -20,8 +20,20 @@
|
||||
|
||||
#include "opentx.h"
|
||||
|
||||
extern void pxx2ModuleRequiredScreen(event_t event);
|
||||
|
||||
void menuRadioSpectrumAnalyser(event_t event)
|
||||
{
|
||||
if(!isModulePXX2(INTERNAL_MODULE)) {
|
||||
pxx2ModuleRequiredScreen(event);
|
||||
return;
|
||||
}
|
||||
|
||||
if(TELEMETRY_STREAMING()) {
|
||||
lcdDrawCenteredText(15, "Turn off receiver");
|
||||
return;
|
||||
}
|
||||
|
||||
SIMPLE_SUBMENU("SPECTRUM ANALYSER", 1);
|
||||
|
||||
if (menuEvent) {
|
||||
@@ -31,8 +43,9 @@ void menuRadioSpectrumAnalyser(event_t event)
|
||||
watchdogSuspend(500);
|
||||
RTOS_WAIT_MS(500);
|
||||
resumePulses();
|
||||
return;
|
||||
}
|
||||
else if (event == EVT_ENTRY) {
|
||||
else if (moduleSettings[INTERNAL_MODULE].mode != MODULE_MODE_SPECTRUM_ANALYSER) {
|
||||
memclear(reusableBuffer.spectrumAnalyser.bars, sizeof(reusableBuffer.spectrumAnalyser.bars));
|
||||
moduleSettings[INTERNAL_MODULE].mode = MODULE_MODE_SPECTRUM_ANALYSER;
|
||||
}
|
||||
|
||||
@@ -20,6 +20,19 @@
|
||||
|
||||
#include "opentx.h"
|
||||
|
||||
void pxx2ModuleRequiredScreen(event_t event)
|
||||
{
|
||||
lcdClear();
|
||||
lcdDrawCenteredText(15, "THIS FEATURE REQUIRES");
|
||||
lcdDrawCenteredText(30, "ACCESS UPGRADE ON");
|
||||
lcdDrawCenteredText(45, "YOUR INTERNAL MODULE");
|
||||
|
||||
if(event == EVT_KEY_FIRST(KEY_EXIT)) {
|
||||
killEvents(event);
|
||||
popMenu();
|
||||
}
|
||||
}
|
||||
|
||||
void addRadioTool(uint8_t index, const char * label, void (* tool)(event_t event), event_t event)
|
||||
{
|
||||
int8_t sub = menuVerticalPosition - HEADER_LINE;
|
||||
@@ -37,7 +50,7 @@ void menuRadioTools(event_t event)
|
||||
{
|
||||
SIMPLE_MENU("TOOLS", menuTabGeneral, MENU_RADIO_TOOLS, HEADER_LINE + 2);
|
||||
|
||||
#if defined(PXX2)
|
||||
#if defined(PXX2) && !(defined(PCBX9D) || defined(PCBX9DP) || defined(PCBX9E) || defined(PCBX7) || (defined(PCBXLITE) && !defined(PCBXLITES)))
|
||||
addRadioTool(0, "Spectrum Analyser", menuRadioSpectrumAnalyser, event);
|
||||
addRadioTool(1, "Power Meter", menuRadioPowerMeter, event);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user