Fixes #2015
This commit is contained in:
+1
-1
@@ -708,7 +708,7 @@ ifeq ($(PCB), $(filter $(PCB), SKY9X 9XRPRO))
|
||||
SDCARD = YES
|
||||
BUZZER = NO
|
||||
THR_TRACE = YES
|
||||
CPPDEFS += -DPCBSKY9X -DCPUARM -DEEPROM_VARIANT=0 -DAUDIO -DHAPTIC -DDSM2 -DDSM2_PPM -DSWR
|
||||
CPPDEFS += -DPCBSKY9X -DCPUARM -DEEPROM_VARIANT=0 -DAUDIO -DHAPTIC -DDSM2 -DDSM2_PPM
|
||||
ifeq ($(PCB), SKY9X)
|
||||
CPPDEFS += -DROTARY_ENCODERS=1
|
||||
CPPSRC += targets/sky9x/rotenc_driver.cpp
|
||||
|
||||
+2
-4
@@ -149,10 +149,8 @@ void writeHeader()
|
||||
#endif
|
||||
|
||||
#if defined(FRSKY)
|
||||
#if defined(CPUARM) && defined(SWR)
|
||||
#if defined(CPUARM)
|
||||
f_puts("SWR,RSSI,", &g_oLogFile);
|
||||
#elif defined(CPUARM)
|
||||
f_puts("RSSI,", &g_oLogFile);
|
||||
#else
|
||||
f_puts("Buffer,RX,TX,A1,A2,", &g_oLogFile);
|
||||
#if defined(FRSKY_HUB)
|
||||
@@ -232,7 +230,7 @@ void writeLogs()
|
||||
#endif
|
||||
|
||||
#if defined(FRSKY)
|
||||
#if defined(CPUARM) && defined(SWR)
|
||||
#if defined(CPUARM)
|
||||
f_printf(&g_oLogFile, "%d,%d,", RAW_FRSKY_MINMAX(frskyData.swr), RAW_FRSKY_MINMAX(frskyData.rssi));
|
||||
#elif defined(CPUARM)
|
||||
f_printf(&g_oLogFile, "%d,", RAW_FRSKY_MINMAX(frskyData.rssi));
|
||||
|
||||
@@ -338,6 +338,12 @@ void telemetryWakeup()
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(PCBTARANIS) && defined(REVPLUS)
|
||||
#define FRSKY_BAD_ANTENNA() (IS_VALID_XJT_VERSION() && frskyData.swr.value > 0x33)
|
||||
#else
|
||||
#define FRSKY_BAD_ANTENNA() (frskyData.swr.value > 0x33)
|
||||
#endif
|
||||
|
||||
#if defined(CPUARM)
|
||||
static tmr10ms_t alarmsCheckTime = 0;
|
||||
#define SCHEDULE_NEXT_ALARMS_CHECK(seconds) alarmsCheckTime = get_tmr10ms() + (100*(seconds))
|
||||
@@ -355,8 +361,8 @@ void telemetryWakeup()
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(PCBTARANIS) && defined(SWR)
|
||||
if (IS_FRSKY_SPORT_PROTOCOL() && frskyData.swr.value > 0x33) {
|
||||
#if defined(PCBTARANIS)
|
||||
if (IS_FRSKY_SPORT_PROTOCOL() && FRSKY_BAD_ANTENNA()) {
|
||||
AUDIO_SWR_RED();
|
||||
POPUP_WARNING(STR_ANTENNAPROBLEM);
|
||||
SCHEDULE_NEXT_ALARMS_CHECK(10/*seconds*/);
|
||||
@@ -499,9 +505,7 @@ void telemetryReset()
|
||||
#if defined(SIMU)
|
||||
|
||||
#if defined(CPUARM)
|
||||
#if defined(SWR)
|
||||
frskyData.swr.value = 30;
|
||||
#endif
|
||||
frskyData.rssi.value = 75;
|
||||
#else
|
||||
frskyData.rssi[0].value = 75;
|
||||
|
||||
@@ -137,6 +137,7 @@
|
||||
#define ADC2_ID 0xf103
|
||||
#define BATT_ID 0xf104
|
||||
#define SWR_ID 0xf105
|
||||
#define XJT_VERSION_ID 0xf106
|
||||
|
||||
// Default sensor data IDs (Physical IDs + CRC)
|
||||
#define DATA_ID_VARIO 0x00 // 0
|
||||
@@ -318,10 +319,9 @@ enum TelemAnas {
|
||||
|
||||
#if defined(CPUARM)
|
||||
struct FrskyData {
|
||||
#if defined(SWR)
|
||||
FrskyValueWithMin swr; // TODO Min not needed
|
||||
#endif
|
||||
FrskyValueWithMin rssi; // TODO Min not needed
|
||||
uint16_t xjtVersion;
|
||||
};
|
||||
#else
|
||||
struct FrskyData {
|
||||
@@ -331,6 +331,8 @@ struct FrskyData {
|
||||
};
|
||||
#endif
|
||||
|
||||
#define IS_VALID_XJT_VERSION() (frskyData.xjtVersion != 0 && frskyData.xjtVersion != 0xff)
|
||||
|
||||
enum AlarmLevel {
|
||||
alarm_off = 0,
|
||||
alarm_yellow = 1,
|
||||
|
||||
@@ -117,16 +117,27 @@ void processSportPacket(uint8_t *packet)
|
||||
data = SPORT_DATA_U8(packet);
|
||||
frskyData.rssi.set(data);
|
||||
}
|
||||
|
||||
else if (appId == SWR_ID) {
|
||||
#if defined(SWR)
|
||||
data = SPORT_DATA_U8(packet);
|
||||
frskyData.swr.set(data);
|
||||
#else
|
||||
// SWR skipped (not reliable on Taranis+)
|
||||
return;
|
||||
#endif
|
||||
#if defined(PCBTARANIS) && defined(REVPLUS)
|
||||
else if (appId == XJT_VERSION_ID) {
|
||||
frskyData.xjtVersion = HUB_DATA_U16(packet);
|
||||
if (!IS_VALID_XJT_VERSION()) {
|
||||
frskyData.swr.set(0x00);
|
||||
}
|
||||
}
|
||||
else if (appId == SWR_ID) {
|
||||
if (IS_VALID_XJT_VERSION())
|
||||
frskyData.swr.set(SPORT_DATA_U8(packet));
|
||||
else
|
||||
frskyData.swr.set(0x00);
|
||||
}
|
||||
#else
|
||||
else if (appId == XJT_VERSION_ID) {
|
||||
frskyData.xjtVersion = HUB_DATA_U16(packet);
|
||||
}
|
||||
else if (appId == SWR_ID) {
|
||||
frskyData.swr.set(SPORT_DATA_U8(packet));
|
||||
}
|
||||
#endif
|
||||
|
||||
if (TELEMETRY_STREAMING()/* because when Rx is OFF it happens that some old A1/A2 values are sent from the XJT module*/) {
|
||||
if ((appId >> 8) == 0) {
|
||||
|
||||
Reference in New Issue
Block a user