Halcyon protocol removed. Halcyon vario added instead.

This commit is contained in:
bsongis
2013-01-27 16:35:31 +00:00
parent 302de76fff
commit 0b1bdc540e
12 changed files with 36 additions and 39 deletions
+9 -7
View File
@@ -258,7 +258,7 @@ void parseTelemHubByte(uint8_t byte)
// First received barometer altitude => Altitude offset
if (!frskyData.hub.baroAltitudeOffset)
frskyData.hub.baroAltitudeOffset = -frskyData.hub.baroAltitude_bp;
if (g_model.frsky.usrProto == USR_PROTO_FRSKY_HUB && g_model.frsky.varioSource == VARIO_SOURCE_DATA) {
if (g_model.frsky.varioSource == VARIO_SOURCE_DATA) {
evalVario(frskyData.hub.baroAltitude_bp, 0);
}
frskyData.hub.baroAltitude_bp += frskyData.hub.baroAltitudeOffset;
@@ -266,7 +266,7 @@ void parseTelemHubByte(uint8_t byte)
break;
case offsetof(FrskyHubData, baroAltitude_ap):
if (g_model.frsky.usrProto == USR_PROTO_HALCYON && g_model.frsky.varioSource == VARIO_SOURCE_DATA) {
if (g_model.frsky.varioSource == VARIO_SOURCE_HALCYON) {
evalVario(frskyData.hub.baroAltitude_bp-frskyData.hub.baroAltitudeOffset, frskyData.hub.baroAltitude_ap);
}
break;
@@ -367,22 +367,24 @@ void processFrskyPacket(uint8_t *packet)
switch (packet[0])
{
case LINKPKT: // A1/A2/RSSI values
{
link_counter += 32;
frskyData.analog[0].set(packet[1], g_model.frsky.channels[0].type);
frskyData.analog[1].set(packet[2], g_model.frsky.channels[1].type);
frskyData.rssi[0].set(packet[3]);
frskyData.rssi[1].set(packet[4] / 2);
frskyStreaming = FRSKY_TIMEOUT10ms; // reset counter only if valid frsky packets are being detected
if (g_model.frsky.varioSource >= VARIO_SOURCE_A1) {
frskyData.varioSpeed = applyChannelRatio(g_model.frsky.varioSource - VARIO_SOURCE_A1, frskyData.analog[g_model.frsky.varioSource - VARIO_SOURCE_A1].value);
}
uint8_t varioSource = g_model.frsky.varioSource - VARIO_SOURCE_A1;
if (varioSource < 2)
frskyData.varioSpeed = applyChannelRatio(varioSource, frskyData.analog[varioSource].value);
break;
}
#if defined(FRSKY_HUB) || defined (WS_HOW_HIGH)
case USRPKT: // User Data packet
uint8_t numBytes = 3 + (packet[1] & 0x07); // sanitize in case of data corruption leading to buffer overflow
for (uint8_t i=3; i<numBytes; i++) {
#if defined(FRSKY_HUB)
if (g_model.frsky.usrProto == USR_PROTO_FRSKY_HUB || g_model.frsky.usrProto == USR_PROTO_HALCYON)
if (g_model.frsky.usrProto == USR_PROTO_FRSKY)
parseTelemHubByte(packet[i]);
#endif
#if defined(WS_HOW_HIGH)
@@ -1444,7 +1446,7 @@ void menuTelemetryFrsky(uint8_t event)
#if defined(FRSKY_HUB)
else if (s_frsky_view == e_frsky_after_flight) {
uint8_t line=1*FH+1;
if (g_model.frsky.usrProto == USR_PROTO_FRSKY_HUB || g_model.frsky.usrProto == USR_PROTO_HALCYON) {
if (g_model.frsky.usrProto == USR_PROTO_FRSKY) {
// Latitude
lcd_putsLeft(line, STR_LATITUDE);
displayGpsCoord(line, frskyData.hub.gpsLatitudeNS, frskyData.hub.gpsLatitude_bp, frskyData.hub.gpsLatitude_ap);
+2 -2
View File
@@ -102,7 +102,7 @@ const pm_char * openLogs()
#endif
#if defined(FRSKY_HUB)
if (g_model.frsky.usrProto == USR_PROTO_FRSKY_HUB || g_model.frsky.usrProto == USR_PROTO_HALCYON)
if (g_model.frsky.usrProto == USR_PROTO_FRSKY)
f_puts("GPS Date,GPS Time,Long,Lat,Course,GPS Speed,GPS Alt,Baro Alt,Temp1,Temp2,RPM,Fuel,Volts,AccelX,AccelY,AccelZ,", &g_oLogFile);
#endif
@@ -171,7 +171,7 @@ void writeLogs()
#endif
#if defined(FRSKY_HUB)
if (g_model.frsky.usrProto == USR_PROTO_FRSKY_HUB || g_model.frsky.usrProto == USR_PROTO_HALCYON) {
if (g_model.frsky.usrProto == USR_PROTO_FRSKY) {
f_printf(&g_oLogFile, "%4d-%02d-%02d,", frskyData.hub.year+2000, frskyData.hub.month, frskyData.hub.day);
f_printf(&g_oLogFile, "%02d:%02d:%02d,", frskyData.hub.hour, frskyData.hub.min, frskyData.hub.sec);
f_printf(&g_oLogFile, "%03d.%04d%c,", frskyData.hub.gpsLongitude_bp, frskyData.hub.gpsLongitude_ap,
+1 -1
View File
@@ -3337,7 +3337,7 @@ void menuModelTelemetry(uint8_t event)
case ITEM_TELEMETRY_USR_PROTO:
lcd_putsLeft(y, STR_PROTO);
lcd_putsiAtt(TELEM_COL2, y, STR_VTELPROTO, g_model.frsky.usrProto, attr);
if (attr) CHECK_INCDEC_MODELVAR(event, g_model.frsky.usrProto, 0, 3);
if (attr) CHECK_INCDEC_MODELVAR(event, g_model.frsky.usrProto, 0, USR_PROTO_LAST);
break;
case ITEM_TELEMETRY_USR_BLADES:
+5 -10
View File
@@ -122,12 +122,6 @@ enum BeeperMode {
int8_t speakerVolume
#endif
enum AdcInput {
e_adc_single,
e_adc_osmp,
e_adc_filtered
};
enum BacklightMode {
e_backlight_mode_off = 0,
e_backlight_mode_keys,
@@ -172,7 +166,7 @@ PACK(typedef struct t_EEGeneral {
uint8_t preBeep:1;
SPLASH_MODE; /* 3bits */
int8_t hapticMode:2; // -2=quiet, -1=only alarms, 0=no keys, 1=all
uint8_t filterInput;
uint8_t spare3;
uint8_t lightAutoOff;
uint8_t templateSetup; //RETA order according to chout_ar array
int8_t PPM_Multiplier;
@@ -458,7 +452,8 @@ enum VarioSource {
VARIO_SOURCE_DATA = VARIO_SOURCE_FIRST,
VARIO_SOURCE_A1,
VARIO_SOURCE_A2,
VARIO_SOURCE_LAST = VARIO_SOURCE_A2,
VARIO_SOURCE_HALCYON,
VARIO_SOURCE_LAST = VARIO_SOURCE_HALCYON,
};
PACK(typedef struct t_FrSkyBarData {
@@ -478,9 +473,9 @@ typedef union t_FrSkyScreenData {
enum FrskyUsrProtocols {
USR_PROTO_NONE,
USR_PROTO_FRSKY_HUB,
USR_PROTO_FRSKY,
USR_PROTO_WS_HOW_HIGH,
USR_PROTO_HALCYON,
USR_PROTO_LAST = USR_PROTO_WS_HOW_HIGH,
};
enum FrskySource {
+2 -2
View File
@@ -172,8 +172,8 @@
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\004"
#define TR_VARIOSRC "Data""A1\0 ""A2\0"
#define LEN_VARIOSRC "\005"
#define TR_VARIOSRC "FrSky\0 ""A1\0 ""A2\0 ""Halcyon"
#define LEN_VSCREEN "\010"
#define TR_VSCREEN "Hodnota ""Ukazatel"
+4 -4
View File
@@ -173,11 +173,11 @@
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\005"
#define TR_VARIOSRC "Daten""A1\0 ""A2\0 "
#define LEN_VARIOSRC "\007"
#define TR_VARIOSRC "FrSky\0 ""A1\0 ""A2\0 ""Halcyon"
#define LEN_VSCREEN "\004"
#define TR_VSCREEN "Wert""Str."
#define LEN_VSCREEN "\004"
#define TR_VSCREEN "Wert""Str."
#define LEN_GPSFORMAT "\004"
#define TR_GPSFORMAT "HMS NMEA"
+3 -3
View File
@@ -182,13 +182,13 @@
#define TR_VALARMFN "<>"
#define LEN_VTELPROTO "\007"
#define TR_VTELPROTO "None\0 ""Hub\0 ""WSHHigh""Halcyon"
#define TR_VTELPROTO "None\0 ""Hub\0 ""WSHHigh"
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\004"
#define TR_VARIOSRC "Data""A1\0 ""A2\0"
#define LEN_VARIOSRC "\007"
#define TR_VARIOSRC "FrSky\0 ""A1\0 ""A2\0 ""Halcyon"
#define LEN_VSCREEN "\004"
#define TR_VSCREEN "Nums""Bars"
+2 -2
View File
@@ -165,8 +165,8 @@
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\004"
#define TR_VARIOSRC "Data""A1\0 ""A2\0"
#define LEN_VARIOSRC "\007"
#define TR_VARIOSRC "FrSky\0 ""A1\0 ""A2\0 ""Halcyon"
#define LEN_VSCREEN "\004"
#define TR_VSCREEN "Nums""Bars"
+2 -2
View File
@@ -173,8 +173,8 @@
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\004"
#define TR_VARIOSRC "Data""A1\0 ""A2\0"
#define LEN_VARIOSRC "\007"
#define TR_VARIOSRC "FrSky\0 ""A1\0 ""A2\0 ""Halcyon"
#define LEN_VSCREEN "\004"
#define TR_VSCREEN "Val.""Bars"
+2 -2
View File
@@ -171,8 +171,8 @@
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\004"
#define TR_VARIOSRC "Data""A1\0 ""A2\0"
#define LEN_VARIOSRC "\007"
#define TR_VARIOSRC "FrSky\0 ""A1\0 ""A2\0 ""Halcyon"
#define LEN_VSCREEN "\004"
#define TR_VSCREEN "Nums""Bars"
+2 -2
View File
@@ -173,8 +173,8 @@
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\004"
#define TR_VARIOSRC "Data""A1\0 ""A2\0"
#define LEN_VARIOSRC "\007"
#define TR_VARIOSRC "FrSky\0 ""A1\0 ""A2\0 ""Halcyon"
#define LEN_VSCREEN "\004"
#define TR_VSCREEN "Nums""Bars"
+2 -2
View File
@@ -173,8 +173,8 @@
#define LEN_VOLTSRC "\003"
#define TR_VOLTSRC "---""A1\0""A2\0""FAS""Cel"
#define LEN_VARIOSRC "\004"
#define TR_VARIOSRC "Data""A1\0 ""A2\0"
#define LEN_VARIOSRC "\007"
#define TR_VARIOSRC "FrSky\0 ""A1\0 ""A2\0 ""Halcyon"
#define LEN_VSCREEN "\004"
#define TR_VSCREEN "Nums""Bars"