This commit is contained in:
bsongis
2015-01-28 19:34:38 +01:00
parent fa3891192c
commit 15378b8f19
5 changed files with 35 additions and 20 deletions
+1 -1
View File
@@ -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
View File
@@ -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));
+8 -4
View File
@@ -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;
+4 -2
View File
@@ -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,
+20 -9
View File
@@ -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) {