Add M17 Settings
This commit is contained in:
parent
882a657359
commit
87703a76e6
|
|
@ -31,6 +31,7 @@ typedef struct
|
||||||
int8_t utc_timezone;
|
int8_t utc_timezone;
|
||||||
bool gps_enabled;
|
bool gps_enabled;
|
||||||
bool gps_set_time;
|
bool gps_set_time;
|
||||||
|
char callsign[10]; // Plaintext callsign, used for M17
|
||||||
}
|
}
|
||||||
__attribute__((packed)) settings_t;
|
__attribute__((packed)) settings_t;
|
||||||
|
|
||||||
|
|
@ -46,7 +47,8 @@ static const settings_t default_settings =
|
||||||
#endif
|
#endif
|
||||||
0, // UTC Timezone
|
0, // UTC Timezone
|
||||||
false, // GPS enabled
|
false, // GPS enabled
|
||||||
true // GPS set time
|
true, // GPS set time
|
||||||
|
"" // Empty callsign
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* SETTINGS_H */
|
#endif /* SETTINGS_H */
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@ enum uiScreen
|
||||||
SETTINGS_TIMEDATE_SET,
|
SETTINGS_TIMEDATE_SET,
|
||||||
SETTINGS_DISPLAY,
|
SETTINGS_DISPLAY,
|
||||||
SETTINGS_GPS,
|
SETTINGS_GPS,
|
||||||
|
SETTINGS_M17,
|
||||||
LOW_BAT
|
LOW_BAT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -87,6 +88,7 @@ enum settingsItems
|
||||||
#ifdef HAS_GPS
|
#ifdef HAS_GPS
|
||||||
,S_GPS
|
,S_GPS
|
||||||
#endif
|
#endif
|
||||||
|
,S_M17
|
||||||
};
|
};
|
||||||
|
|
||||||
enum displayItems
|
enum displayItems
|
||||||
|
|
|
||||||
|
|
@ -104,6 +104,7 @@ extern void _ui_drawSettingsTimeDate();
|
||||||
extern void _ui_drawSettingsTimeDateSet(ui_state_t* ui_state);
|
extern void _ui_drawSettingsTimeDateSet(ui_state_t* ui_state);
|
||||||
#endif
|
#endif
|
||||||
extern void _ui_drawSettingsDisplay(ui_state_t* ui_state);
|
extern void _ui_drawSettingsDisplay(ui_state_t* ui_state);
|
||||||
|
extern void _ui_drawSettingsM17();
|
||||||
extern bool _ui_drawMacroMenu();
|
extern bool _ui_drawMacroMenu();
|
||||||
|
|
||||||
const char *menu_items[] =
|
const char *menu_items[] =
|
||||||
|
|
@ -126,8 +127,9 @@ const char *settings_items[] =
|
||||||
"Time & Date",
|
"Time & Date",
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAS_GPS
|
#ifdef HAS_GPS
|
||||||
"GPS"
|
"GPS",
|
||||||
#endif
|
#endif
|
||||||
|
"M17"
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *display_items[] =
|
const char *display_items[] =
|
||||||
|
|
@ -1053,6 +1055,9 @@ void ui_updateFSM(event_t event, bool *sync_rtx)
|
||||||
state.ui_screen = SETTINGS_GPS;
|
state.ui_screen = SETTINGS_GPS;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
case S_M17:
|
||||||
|
state.ui_screen = SETTINGS_M17;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
state.ui_screen = MENU_SETTINGS;
|
state.ui_screen = MENU_SETTINGS;
|
||||||
}
|
}
|
||||||
|
|
@ -1209,6 +1214,11 @@ void ui_updateFSM(event_t event, bool *sync_rtx)
|
||||||
_ui_menuBack(MENU_SETTINGS);
|
_ui_menuBack(MENU_SETTINGS);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
// M17 Settings
|
||||||
|
case SETTINGS_M17:
|
||||||
|
if(msg.keys & KEY_ESC)
|
||||||
|
_ui_menuBack(MENU_SETTINGS);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1297,6 +1307,10 @@ void ui_updateGUI()
|
||||||
_ui_drawSettingsGPS(&ui_state);
|
_ui_drawSettingsGPS(&ui_state);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
// M17 settings screen
|
||||||
|
case SETTINGS_M17:
|
||||||
|
_ui_drawSettingsM17();
|
||||||
|
break;
|
||||||
// Low battery screen
|
// Low battery screen
|
||||||
case LOW_BAT:
|
case LOW_BAT:
|
||||||
_ui_drawLowBatteryScreen();
|
_ui_drawLowBatteryScreen();
|
||||||
|
|
|
||||||
|
|
@ -513,6 +513,21 @@ void _ui_drawSettingsTimeDateSet(ui_state_t* ui_state)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void _ui_drawSettingsM17()
|
||||||
|
{
|
||||||
|
gfx_clearScreen();
|
||||||
|
// Print "M17 Settings" on top bar
|
||||||
|
gfx_print(layout.top_pos, layout.top_font, TEXT_ALIGN_CENTER,
|
||||||
|
color_white, "M17 Settings");
|
||||||
|
gfx_printLine(1, 4, layout.top_h, SCREEN_HEIGHT - layout.bottom_h,
|
||||||
|
layout.horizontal_pad, layout.menu_font,
|
||||||
|
TEXT_ALIGN_LEFT, color_white, "Callsign:");
|
||||||
|
// Print M17 current callsign
|
||||||
|
gfx_printLine(1, 1, layout.top_h, SCREEN_HEIGHT - layout.bottom_h,
|
||||||
|
layout.horizontal_pad, layout.input_font,
|
||||||
|
TEXT_ALIGN_CENTER, color_white, last_state.settings.callsign);
|
||||||
|
}
|
||||||
|
|
||||||
bool _ui_drawMacroMenu() {
|
bool _ui_drawMacroMenu() {
|
||||||
// Header
|
// Header
|
||||||
gfx_print(layout.top_pos, layout.top_font, TEXT_ALIGN_CENTER,
|
gfx_print(layout.top_pos, layout.top_font, TEXT_ALIGN_CENTER,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue