FF.CFG: New option osd-columns= to set number of OSD text columns.
This commit is contained in:
parent
0c15d01028
commit
bcdf9fc9f5
5 changed files with 21 additions and 12 deletions
|
|
@ -232,6 +232,10 @@ oled-contrast = 143
|
|||
display-order = default
|
||||
osd-display-order = default
|
||||
|
||||
# OSD text columns. This is currently respected only when no LCD/OLED is found.
|
||||
# Values: 16 <= N <= 40
|
||||
osd-columns = 40
|
||||
|
||||
# Turn an LCD or OLED display off after N seconds of inactivity
|
||||
# N=0: always off; N=255: always on
|
||||
# Values: 0 <= N <= 255
|
||||
|
|
|
|||
|
|
@ -165,6 +165,7 @@ struct packed ff_cfg {
|
|||
uint8_t write_drain;
|
||||
uint8_t max_cyl;
|
||||
uint16_t osd_display_order;
|
||||
uint8_t osd_columns;
|
||||
};
|
||||
|
||||
extern struct ff_cfg ff_cfg;
|
||||
|
|
|
|||
|
|
@ -577,11 +577,7 @@ bool_t lcd_init(void)
|
|||
lcd_rows = 4;
|
||||
} else {
|
||||
lcd_columns = (ff_cfg.display_type >> _DISPLAY_lcd_columns) & 63;
|
||||
lcd_columns = max_t(uint8_t, lcd_columns, 16);
|
||||
lcd_columns = min_t(uint8_t, lcd_columns, 40);
|
||||
lcd_rows = (ff_cfg.display_type >> _DISPLAY_lcd_rows) & 7;
|
||||
lcd_rows = max_t(uint8_t, lcd_rows, 2);
|
||||
lcd_rows = min_t(uint8_t, lcd_rows, 4);
|
||||
}
|
||||
|
||||
if (a != 0) {
|
||||
|
|
@ -590,10 +586,14 @@ bool_t lcd_init(void)
|
|||
i2c_addr = a;
|
||||
} else {
|
||||
is_oled_display = FALSE;
|
||||
if (ff_cfg.display_type == DISPLAY_auto)
|
||||
lcd_columns = 40;
|
||||
lcd_columns = ff_cfg.osd_columns;
|
||||
}
|
||||
|
||||
lcd_columns = max_t(uint8_t, lcd_columns, 16);
|
||||
lcd_columns = min_t(uint8_t, lcd_columns, 40);
|
||||
lcd_rows = max_t(uint8_t, lcd_rows, 2);
|
||||
lcd_rows = min_t(uint8_t, lcd_rows, 4);
|
||||
|
||||
lcd_clear();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -630,11 +630,7 @@ bool_t lcd_init(void)
|
|||
lcd_rows = 4;
|
||||
} else {
|
||||
lcd_columns = (ff_cfg.display_type >> _DISPLAY_lcd_columns) & 63;
|
||||
lcd_columns = max_t(uint8_t, lcd_columns, 16);
|
||||
lcd_columns = min_t(uint8_t, lcd_columns, 40);
|
||||
lcd_rows = (ff_cfg.display_type >> _DISPLAY_lcd_rows) & 7;
|
||||
lcd_rows = max_t(uint8_t, lcd_rows, 2);
|
||||
lcd_rows = min_t(uint8_t, lcd_rows, 4);
|
||||
}
|
||||
|
||||
if (a != 0) {
|
||||
|
|
@ -643,10 +639,14 @@ bool_t lcd_init(void)
|
|||
i2c_addr = a;
|
||||
} else {
|
||||
is_oled_display = FALSE;
|
||||
if (ff_cfg.display_type == DISPLAY_auto)
|
||||
lcd_columns = 40;
|
||||
lcd_columns = ff_cfg.osd_columns;
|
||||
}
|
||||
|
||||
lcd_columns = max_t(uint8_t, lcd_columns, 16);
|
||||
lcd_columns = min_t(uint8_t, lcd_columns, 40);
|
||||
lcd_rows = max_t(uint8_t, lcd_rows, 2);
|
||||
lcd_rows = min_t(uint8_t, lcd_rows, 4);
|
||||
|
||||
lcd_clear();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1234,6 +1234,10 @@ static void read_ff_cfg(void)
|
|||
ff_cfg.osd_display_order = parse_display_order(opts.arg);
|
||||
break;
|
||||
|
||||
case FFCFG_osd_columns:
|
||||
ff_cfg.osd_columns = strtol(opts.arg, NULL, 10);
|
||||
break;
|
||||
|
||||
case FFCFG_display_off_secs:
|
||||
ff_cfg.display_off_secs = strtol(opts.arg, NULL, 10);
|
||||
cfg.ffcfg_has_display_off_secs = TRUE;
|
||||
|
|
|
|||
Loading…
Reference in a new issue