Support for backlight color (a slider from full A to full B?) and A3/A4

This commit is contained in:
Andre Bernet
2014-04-17 11:21:48 +02:00
parent 3829604480
commit 3d2a030868
4 changed files with 13 additions and 4 deletions
+1
View File
@@ -504,6 +504,7 @@ class GeneralSettings {
unsigned int switchUnlockStates;
unsigned int hw_uartMode;
unsigned int potsType[8];
unsigned int backlightColor;
};
class CurveReference {
@@ -2180,7 +2180,7 @@ class FrskyField: public StructField {
rssiConversionTable[1] = RSSIConversionTable(1);
if (IS_ARM(board)) {
for (int i=0; i<2; i++) {
for (int i=0; i < ((version >= 216) ? 4 : 2); i++) {
Append(new UnsignedField<8>(frsky.channels[i].ratio, "Ratio"));
Append(new SignedField<12>(frsky.channels[i].offset, "Offset"));
Append(new UnsignedField<4>(frsky.channels[i].type, "Type"));
@@ -2693,6 +2693,7 @@ OpenTxGeneralData::OpenTxGeneralData(GeneralSettings & generalData, BoardEnum bo
for (int i=0; i<4; i++) {
internalField.Append(new UnsignedField<2>(potsType[i]));
}
internalField.Append(new UnsignedField<8>(generalData.backlightColor));
}
}
}
+7 -1
View File
@@ -833,7 +833,13 @@ void ConvertModel_215_to_216(ModelData &model)
memcpy(g_model.gvars[i].name, oldModel.gvar_names[i], LEN_GVAR_NAME);
}
memcpy(&g_model.frsky, &oldModel.frsky, sizeof(oldModel.frsky));
memcpy(&g_model.frsky, &oldModel.frsky, 2*sizeof(FrSkyChannelData));
// Gap for A3-A4
uint8_t *dest = (uint8_t *)&g_model.frsky;
dest += 4*sizeof(FrSkyChannelData);
uint8_t *src = (uint8_t *)&oldModel.frsky;
src += 2*sizeof(FrSkyChannelData);
memcpy(dest, src, sizeof(oldModel.frsky) - 2*sizeof(FrSkyChannelData));
for (int i=0; i<3; i++) {
if (g_model.frsky.screensType & (1<<i)) {
// gauges
+3 -2
View File
@@ -280,7 +280,8 @@ enum uartModes {
#define EXTRA_GENERAL_FIELDS \
EXTRA_GENERAL_FIELDS_ARM \
uint8_t uart3Mode; \
uint8_t potsType;
uint8_t potsType; \
uint8_t backlightColor;
#elif defined(CPUARM)
#define EXTRA_GENERAL_FIELDS EXTRA_GENERAL_FIELDS_ARM
#elif defined(PXX)
@@ -1135,7 +1136,7 @@ enum FrskyVoltsSource {
#if defined(CPUARM)
#define MAX_FRSKY_SCREENS 3
PACK(typedef struct t_FrSkyData {
FrSkyChannelData channels[2];
FrSkyChannelData channels[4];
uint8_t usrProto; // Protocol in FrSky user data, 0=None, 1=FrSky hub, 2=WS HowHigh, 3=Halcyon
uint8_t voltsSource:7;
uint8_t altitudeDisplayed:1;