2 * This file is part of Cleanflight and Betaflight.
4 * Cleanflight and Betaflight are free software. You can redistribute
5 * this software and/or modify this software under the terms of the
6 * GNU General Public License as published by the Free Software
7 * Foundation, either version 3 of the License, or (at your option)
10 * Cleanflight and Betaflight are distributed in the hope that they
11 * will be useful, but WITHOUT ANY WARRANTY; without even the implied
12 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 * See the GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this software.
18 * If not, see <http://www.gnu.org/licenses/>.
30 #include "cms/cms_types.h"
31 #include "cms/cms_menu_saveexit.h"
33 #include "config/feature.h"
35 #include "config/config.h"
37 static const OSD_Entry cmsx_menuSaveExitEntries
[] =
39 { "-- SAVE/EXIT --", OME_Label
, NULL
, NULL
},
40 { "EXIT", OME_OSD_Exit
, cmsMenuExit
, (void *)CMS_EXIT
},
41 { "SAVE&EXIT", OME_OSD_Exit
, cmsMenuExit
, (void *)CMS_POPUP_SAVE
},
42 { "SAVE&REBOOT", OME_OSD_Exit
, cmsMenuExit
, (void *)CMS_POPUP_SAVEREBOOT
},
43 { "BACK", OME_Back
, NULL
, NULL
},
44 { NULL
, OME_END
, NULL
, NULL
}
47 static CMS_Menu cmsx_menuSaveExit
= {
49 .GUARD_text
= "MENUSAVE",
50 .GUARD_type
= OME_MENU
,
54 .onDisplayUpdate
= NULL
,
55 .entries
= cmsx_menuSaveExitEntries
58 static const OSD_Entry cmsx_menuSaveExitRebootEntries
[] =
60 { "-- SAVE/EXIT (REBOOT REQD)", OME_Label
, NULL
, NULL
},
61 { "EXIT&REBOOT", OME_OSD_Exit
, cmsMenuExit
, (void *)CMS_POPUP_EXITREBOOT
},
62 { "SAVE&REBOOT", OME_OSD_Exit
, cmsMenuExit
, (void *)CMS_POPUP_SAVEREBOOT
},
63 { "BACK", OME_Back
, NULL
, NULL
},
64 { NULL
, OME_END
, NULL
, NULL
}
67 static CMS_Menu cmsx_menuSaveExitReboot
= {
69 .GUARD_text
= "MENUSAVE",
70 .GUARD_type
= OME_MENU
,
74 .onDisplayUpdate
= NULL
,
75 .entries
= cmsx_menuSaveExitRebootEntries
78 CMS_Menu
*getSaveExitMenu(void)
80 if (getRebootRequired()) {
81 return &cmsx_menuSaveExitReboot
;
83 return &cmsx_menuSaveExit
;