EEPROM version 208: 12bits for storing FrSky A1/A2 offset

This commit is contained in:
bsongis
2012-04-27 11:05:10 +00:00
parent 33c4363c93
commit d39c35439a
5 changed files with 10 additions and 9 deletions
+3 -3
View File
@@ -2125,7 +2125,7 @@ void menuProcFunctionSwitches(uint8_t event)
}
#ifdef FRSKY
#define TELEM_COL2 (9*FW+2)
#define TELEM_COL2 (8*FW-2)
void menuProcTelemetry(uint8_t event)
{
#if defined(FRSKY_HUB) || defined(WS_HOW_HIGH)
@@ -2191,7 +2191,7 @@ void menuProcTelemetry(uint8_t event)
y=(subN-s_pgOfs)*FH;
lcd_puts(4, y, STR_OFFSET);
putsTelemetryChannel(TELEM_COL2, y, i+MAX_TIMERS, 0, (sub==subN ? blink:0)|LEFT);
if(sub==subN) CHECK_INCDEC_MODELVAR(event, g_model.frsky.channels[i].offset, -128, 127);
if(sub==subN) g_model.frsky.channels[i].offset = checkIncDec(event, g_model.frsky.channels[i].offset, -256, 256, EE_MODEL);
}
subN++;
@@ -2320,7 +2320,7 @@ void menuProcTelemetry(uint8_t event)
y = (subN-s_pgOfs)*FH;
lcd_putsiAtt(4, y, STR_VTELEMCHNS, barSource, (sub==subN && m_posHorz==0) ? blink : 0);
if (barSource) {
putsTelemetryChannel(TELEM_COL2-3*FW, y, barSource-1, convertTelemValue(barSource, g_model.frsky.bars[j].barMin*5), (sub==subN && m_posHorz==1 ? blink : 0) | LEFT);
putsTelemetryChannel(56-3*FW, y, barSource-1, convertTelemValue(barSource, g_model.frsky.bars[j].barMin*5), (sub==subN && m_posHorz==1 ? blink : 0) | LEFT);
putsTelemetryChannel(14*FW-3, y, barSource-1, convertTelemValue(barSource, (51-g_model.frsky.bars[j].barMax)*5), (sub==subN && m_posHorz==2 ? blink : 0) | LEFT);
}
else {
+4 -3
View File
@@ -53,7 +53,7 @@
#elif defined(PCBV4)
#define EEPROM_VER 208
#else
#define EEPROM_VER 205
#define EEPROM_VER 208
#endif
#ifndef PACK
@@ -311,6 +311,7 @@ PACK(typedef struct t_FuncSwData { // Function Switches data
enum TelemetryUnit {
UNIT_VOLTS,
UNIT_AMPS,
UNIT_METERS_PER_SECOND,
UNIT_RAW,
UNIT_KMH,
UNIT_KTS = UNIT_KMH,
@@ -324,12 +325,12 @@ enum TelemetryUnit {
PACK(typedef struct t_FrSkyChannelData {
uint8_t ratio; // 0.0 means not used, 0.1V steps EG. 6.6 Volts = 66. 25.1V = 251, etc.
uint8_t type; // channel unit (0=volts, ...)
int16_t offset:12;
uint16_t type:4; // channel unit (0=volts, ...)
uint8_t alarms_value[2]; // 0.1V steps EG. 6.6 Volts = 66. 25.1V = 251, etc.
uint8_t alarms_level:4;
uint8_t alarms_greater:2; // 0=LT(<), 1=GT(>)
uint8_t multiplier:2; // 0=no multiplier, 1=*2 multiplier
int8_t offset;
}) FrSkyChannelData;
enum TelemetrySource {
+1 -1
View File
@@ -124,7 +124,7 @@
#endif
#define LEN_VTELEMUNIT "\003"
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
#define TR_VTELEMUNIT "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
#define STR_V (STR_VTELEMUNIT+1)
#define STR_A (STR_VTELEMUNIT+4)
+1 -1
View File
@@ -124,7 +124,7 @@
#endif
#define LEN_VTELEMUNIT "\003"
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
#define TR_VTELEMUNIT "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
#define STR_V (STR_VTELEMUNIT+1)
#define STR_A (STR_VTELEMUNIT+4)
+1 -1
View File
@@ -124,7 +124,7 @@
#endif
#define LEN_VTELEMUNIT "\003"
#define TR_VTELEMUNIT "v\0 ""A\0 ""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
#define TR_VTELEMUNIT "v\0 ""A\0 ""m/s""-\0 " SPEED_UNIT LENGTH_UNIT "@\0 ""%\0 ""mA\0"
#define STR_V (STR_VTELEMUNIT+1)
#define STR_A (STR_VTELEMUNIT+4)