Option GRAPHICS=YES/NO introduced for checkboxes and sliders (today it uses 144bytes)

This commit is contained in:
bsongis
2012-05-22 07:33:35 +00:00
parent ecf7831af5
commit dceec43442
11 changed files with 63 additions and 20 deletions
+12 -5
View File
@@ -62,6 +62,9 @@ HAPTIC = NO
# SPLASH on START
SPLASH = YES
# GRAPHICS (sliders / checkboxes)
GRAPHICS = YES
# PPM center adjustable
# Values = YES, NO
PPM_CENTER_ADJUSTABLE = NO
@@ -245,6 +248,10 @@ ifeq ($(SPLASH), YES)
CPPDEFS += -DSPLASH
endif
ifeq ($(GRAPHICS), YES)
CPPDEFS += -DGRAPHICS
endif
ifeq ($(FLIGHT_PHASES), YES)
CPPDEFS += -DFLIGHT_PHASES
endif
@@ -384,17 +391,17 @@ ifeq ($(DECIMALS), YES)
endif
ifeq ($(HELI), YES)
MODS:=${MODS}H
CPPDEFS += -DHELI
MODS:=${MODS}H
CPPDEFS += -DHELI
endif
ifeq ($(TEMPLATES), YES)
CPPDEFS += -DTEMPLATES
CPPSRC += templates.cpp
CPPDEFS += -DTEMPLATES
CPPSRC += templates.cpp
endif
ifeq ($(DISPLAY_USER_DATA), YES)
CPPDEFS += -DDISPLAY_USER_DATA
CPPDEFS += -DDISPLAY_USER_DATA
endif
ifeq ($(PXX), YES)
+17 -10
View File
@@ -82,16 +82,30 @@ NOINLINE int8_t selectMenuItem(uint8_t y, const pm_char *label, const pm_char *v
NOINLINE uint8_t onoffMenuItem(uint8_t value, uint8_t y, const pm_char *label, uint8_t attr, uint8_t event )
{
#if defined(GRAPHICS)
menu_lcd_onoff(GENERAL_PARAM_OFS, y, value, attr);
return selectMenuItem(y, label, NULL, value, 0, 1, attr, event);
#else
return selectMenuItem(y, label, STR_OFFON, value, 0, 1, attr, event);
#endif
}
#if defined(GRAPHICS)
void displaySlider(uint8_t x, uint8_t y, uint8_t value, uint8_t attr)
{
lcd_putc(GENERAL_PARAM_OFS+2*FW+(value*FW), y, '$');
lcd_hline(GENERAL_PARAM_OFS, y+3, 5*FW-1, SOLID);
if (attr && (!(attr & BLINK) || !BLINK_ON_PHASE)) lcd_filled_rect(GENERAL_PARAM_OFS, y, 5*FW-1, FH-1);
}
#define SLIDER(y, value, min, max, label, values, event, attr) { \
int8_t tmp = value; \
displaySlider(GENERAL_PARAM_OFS, y, tmp, attr); \
value = selectMenuItem(y, label, NULL, tmp, min, max, attr, event); \
}
#else
#define SLIDER(y, value, min, max, label, values, event, attr) \
value = selectMenuItem(y, label, values, value, min, max, attr, event)
#endif
enum menuProcSetupItems {
ITEM_SETUP_BEEPER_MODE,
@@ -205,12 +219,9 @@ void menuProcSetup(uint8_t event)
}
#endif
case ITEM_SETUP_BEEPER_LENGTH: {
int8_t beeperLength = g_eeGeneral.beeperLength;
displaySlider(GENERAL_PARAM_OFS, y, beeperLength, attr);
g_eeGeneral.beeperLength = selectMenuItem(y, STR_BEEPERLEN, NULL, beeperLength, -2, 2, attr, event);
case ITEM_SETUP_BEEPER_LENGTH:
SLIDER(y, g_eeGeneral.beeperLength, -2, 2, STR_BEEPERLEN, STR_VBEEPLEN, event, attr);
break;
}
#if defined(AUDIO)
case ITEM_SETUP_SPEAKER_PITCH:
@@ -228,12 +239,8 @@ void menuProcSetup(uint8_t event)
break;
case ITEM_SETUP_HAPTIC_LENGTH:
{
int8_t hapticLength = g_eeGeneral.hapticLength;
displaySlider(GENERAL_PARAM_OFS, y, hapticLength, attr);
g_eeGeneral.hapticLength = selectMenuItem(y, STR_HAPTICLENGTH, NULL, hapticLength, -2, 2, attr, event);
SLIDER(y, g_eeGeneral.hapticLength, -2, 2, STR_HAPTICLENGTH, STR_VBEEPLEN, event, attr);
break;
}
case ITEM_SETUP_HAPTIC_STRENGTH:
lcd_putsLeft( y, STR_HAPTICSTRENGTH);
+4 -4
View File
@@ -43,10 +43,7 @@ int16_t g_chans512[NUM_CHNOUT]; // TODO not here!
void menu_lcd_onoff(uint8_t x,uint8_t y, uint8_t value, uint8_t attr)
{
#if 0
/* ON / OFF version */
lcd_putsiAtt(x, y, STR_OFFON, value, attr ? INVERS:0) ;
#else
#if defined(GRAPHICS)
if (value) {
lcd_putc(x+1, y, '#');
}
@@ -54,6 +51,9 @@ void menu_lcd_onoff(uint8_t x,uint8_t y, uint8_t value, uint8_t attr)
lcd_filled_rect(x, y, 7, 7);
else
lcd_square(x, y, 7);
#else
/* ON / OFF version */
lcd_putsiAtt(x, y, STR_OFFON, value, attr ? INVERS:0) ;
#endif
}
+3
View File
@@ -40,6 +40,9 @@ const pm_char STR_OPEN9X[] PROGMEM =
ISTR(OFFON)
ISTR(MMMINV)
ISTR(NCHANNELS)
#if !defined(GRAPHICS)
ISTR(VBEEPLEN)
#endif
ISTR(VBEEPMODE)
#if defined(ROTARY_ENCODERS)
ISTR(VRENAVIG)
+8
View File
@@ -63,7 +63,12 @@ extern const pm_char STR_OPEN9X[];
#define OFS_OFFON 0
#define OFS_MMMINV (OFS_OFFON + sizeof(TR_OFFON))
#define OFS_NCHANNELS (OFS_MMMINV + sizeof(TR_MMMINV))
#if defined(GRAPHICS)
#define OFS_VBEEPMODE (OFS_NCHANNELS + sizeof(TR_NCHANNELS))
#else
#define OFS_VBEEPLEN (OFS_NCHANNELS + sizeof(TR_NCHANNELS))
#define OFS_VBEEPMODE (OFS_VBEEPLEN + sizeof(TR_VBEEPLEN))
#endif
#if defined(ROTARY_ENCODERS)
#define OFS_VRENAVIG (OFS_VBEEPMODE + sizeof(TR_VBEEPMODE))
#define OFS_VFILTERADC (OFS_VRENAVIG + sizeof(TR_VRENAVIG))
@@ -128,6 +133,9 @@ extern const pm_char STR_OPEN9X[];
#define STR_OFFON (STR_OPEN9X + OFS_OFFON)
#define STR_MMMINV (STR_OPEN9X + OFS_MMMINV)
#define STR_NCHANNELS (STR_OPEN9X + OFS_NCHANNELS)
#if !defined(GRAPHICS)
#define STR_VBEEPLEN (STR_OPEN9X + OFS_VBEEPLEN)
#endif
#define STR_VBEEPMODE (STR_OPEN9X + OFS_VBEEPMODE)
#define STR_VRENAVIG (STR_OPEN9X + OFS_VRENAVIG)
#define STR_VFILTERADC (STR_OPEN9X + OFS_VFILTERADC)
+3
View File
@@ -11,6 +11,9 @@
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Tich\212""Alarm""BezKL""V\207e "
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
#define LEN_VRENAVIG "\003"
#define TR_VRENAVIG "Ne REaREb"
+4 -1
View File
@@ -10,7 +10,10 @@
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Stumm""Alarm""NoKey""Alle "
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
#define LEN_VRENAVIG "\003"
#define TR_VRENAVIG "No REaREb"
+3
View File
@@ -11,6 +11,9 @@
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Quiet""Alarm""NoKey""All "
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
#define LEN_VRENAVIG "\003"
#define TR_VRENAVIG "No REaREb"
+3
View File
@@ -11,6 +11,9 @@
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Aucun""Alarm""NoKey""Tout "
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
#define LEN_VRENAVIG "\003"
#define TR_VRENAVIG "No REaREb"
+3
View File
@@ -11,6 +11,9 @@
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Silen""Avvis""Notst""Tutti"
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
#define LEN_VRENAVIG "\003"
#define TR_VRENAVIG "No REaREb"
+3
View File
@@ -11,6 +11,9 @@
#define LEN_VBEEPMODE "\005"
#define TR_VBEEPMODE "Tyst ""Alarm""EjKnp""Alla "
#define LEN_VBEEPLEN "\005"
#define TR_VBEEPLEN "0====""=0===""==0==""===0=""====0"
#define LEN_VRENAVIG "\003"
#define TR_VRENAVIG "No REaREb"