Release 1.01
FactoryResetMenu.cpp@4:7226c43320b5, 2019-09-12 (annotated)
- Committer:
- foxbrianr
- Date:
- Thu Sep 12 11:27:50 2019 +0000
- Revision:
- 4:7226c43320b5
- Child:
- 5:9f4d4f8ffc00
beta1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
foxbrianr | 4:7226c43320b5 | 1 | #include "mbed.h" |
foxbrianr | 4:7226c43320b5 | 2 | #include "FactoryResetMenu.h" |
foxbrianr | 4:7226c43320b5 | 3 | #include "TimeUtilities.h" |
foxbrianr | 4:7226c43320b5 | 4 | #include "ESCMControlApp.h" |
foxbrianr | 4:7226c43320b5 | 5 | |
foxbrianr | 4:7226c43320b5 | 6 | #define DEFAULT_DISPLAY 0 |
foxbrianr | 4:7226c43320b5 | 7 | |
foxbrianr | 4:7226c43320b5 | 8 | FactoryResetMenu::FactoryResetMenu(char* id): Menu(id) |
foxbrianr | 4:7226c43320b5 | 9 | { |
foxbrianr | 4:7226c43320b5 | 10 | active_selection=0; |
foxbrianr | 4:7226c43320b5 | 11 | } |
foxbrianr | 4:7226c43320b5 | 12 | |
foxbrianr | 4:7226c43320b5 | 13 | |
foxbrianr | 4:7226c43320b5 | 14 | |
foxbrianr | 4:7226c43320b5 | 15 | void FactoryResetMenu::init() |
foxbrianr | 4:7226c43320b5 | 16 | { |
foxbrianr | 4:7226c43320b5 | 17 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 18 | active_selection=0; |
foxbrianr | 4:7226c43320b5 | 19 | } |
foxbrianr | 4:7226c43320b5 | 20 | |
foxbrianr | 4:7226c43320b5 | 21 | void FactoryResetMenu::display(LCD * lcd) |
foxbrianr | 4:7226c43320b5 | 22 | { |
foxbrianr | 4:7226c43320b5 | 23 | static int counter = 5; |
foxbrianr | 4:7226c43320b5 | 24 | |
foxbrianr | 4:7226c43320b5 | 25 | if (update_needed) { |
foxbrianr | 4:7226c43320b5 | 26 | switch(active_selection) { |
foxbrianr | 4:7226c43320b5 | 27 | |
foxbrianr | 4:7226c43320b5 | 28 | case 1: |
foxbrianr | 4:7226c43320b5 | 29 | lcd->cls(); |
foxbrianr | 4:7226c43320b5 | 30 | lcd->locate(1,0); |
foxbrianr | 4:7226c43320b5 | 31 | lcd->printf("Resetting to Factory Default"); |
foxbrianr | 4:7226c43320b5 | 32 | lcd->locate(1,0); |
foxbrianr | 4:7226c43320b5 | 33 | counter = 5; |
foxbrianr | 4:7226c43320b5 | 34 | active_selection=2; |
foxbrianr | 4:7226c43320b5 | 35 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 36 | break; |
foxbrianr | 4:7226c43320b5 | 37 | |
foxbrianr | 4:7226c43320b5 | 38 | case 2: |
foxbrianr | 4:7226c43320b5 | 39 | lcd->locate(2,0); |
foxbrianr | 4:7226c43320b5 | 40 | lcd->printf("Please wait %d...", counter--); |
foxbrianr | 4:7226c43320b5 | 41 | if (counter == 0) active_selection=0; |
foxbrianr | 4:7226c43320b5 | 42 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 43 | break; |
foxbrianr | 4:7226c43320b5 | 44 | |
foxbrianr | 4:7226c43320b5 | 45 | default: |
foxbrianr | 4:7226c43320b5 | 46 | lcd->cls(); |
foxbrianr | 4:7226c43320b5 | 47 | lcd->locate(0,0); |
foxbrianr | 4:7226c43320b5 | 48 | lcd->printf("Press <Set> to Reset"); |
foxbrianr | 4:7226c43320b5 | 49 | update_needed=0; |
foxbrianr | 4:7226c43320b5 | 50 | break; |
foxbrianr | 4:7226c43320b5 | 51 | }; |
foxbrianr | 4:7226c43320b5 | 52 | } |
foxbrianr | 4:7226c43320b5 | 53 | |
foxbrianr | 4:7226c43320b5 | 54 | displayCurrentTime(lcd); |
foxbrianr | 4:7226c43320b5 | 55 | displayVersion(lcd); |
foxbrianr | 4:7226c43320b5 | 56 | } |
foxbrianr | 4:7226c43320b5 | 57 | |
foxbrianr | 4:7226c43320b5 | 58 | void FactoryResetMenu::pressMode() |
foxbrianr | 4:7226c43320b5 | 59 | { |
foxbrianr | 4:7226c43320b5 | 60 | // toggle active menu |
foxbrianr | 4:7226c43320b5 | 61 | switch(active_selection) { |
foxbrianr | 4:7226c43320b5 | 62 | |
foxbrianr | 4:7226c43320b5 | 63 | case 0: |
foxbrianr | 4:7226c43320b5 | 64 | back(); |
foxbrianr | 4:7226c43320b5 | 65 | break; |
foxbrianr | 4:7226c43320b5 | 66 | case 1: |
foxbrianr | 4:7226c43320b5 | 67 | back(); |
foxbrianr | 4:7226c43320b5 | 68 | break; |
foxbrianr | 4:7226c43320b5 | 69 | |
foxbrianr | 4:7226c43320b5 | 70 | default: |
foxbrianr | 4:7226c43320b5 | 71 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 72 | break; |
foxbrianr | 4:7226c43320b5 | 73 | }; |
foxbrianr | 4:7226c43320b5 | 74 | |
foxbrianr | 4:7226c43320b5 | 75 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 76 | } |
foxbrianr | 4:7226c43320b5 | 77 | |
foxbrianr | 4:7226c43320b5 | 78 | void FactoryResetMenu::pressSet() |
foxbrianr | 4:7226c43320b5 | 79 | { |
foxbrianr | 4:7226c43320b5 | 80 | // set button advances to next character position OR |
foxbrianr | 4:7226c43320b5 | 81 | // goes back to normal |
foxbrianr | 4:7226c43320b5 | 82 | switch(active_selection) { |
foxbrianr | 4:7226c43320b5 | 83 | |
foxbrianr | 4:7226c43320b5 | 84 | case 0: |
foxbrianr | 4:7226c43320b5 | 85 | active_selection = 1; |
foxbrianr | 4:7226c43320b5 | 86 | addressMap.reset(); |
foxbrianr | 4:7226c43320b5 | 87 | escmEventLog.reset(); |
foxbrianr | 4:7226c43320b5 | 88 | break; |
foxbrianr | 4:7226c43320b5 | 89 | |
foxbrianr | 4:7226c43320b5 | 90 | case 1: // press yes |
foxbrianr | 4:7226c43320b5 | 91 | active_selection = 2; |
foxbrianr | 4:7226c43320b5 | 92 | break; |
foxbrianr | 4:7226c43320b5 | 93 | |
foxbrianr | 4:7226c43320b5 | 94 | case 2: // complete |
foxbrianr | 4:7226c43320b5 | 95 | //back(); |
foxbrianr | 4:7226c43320b5 | 96 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 97 | break; |
foxbrianr | 4:7226c43320b5 | 98 | |
foxbrianr | 4:7226c43320b5 | 99 | default: |
foxbrianr | 4:7226c43320b5 | 100 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 101 | break; |
foxbrianr | 4:7226c43320b5 | 102 | |
foxbrianr | 4:7226c43320b5 | 103 | }; |
foxbrianr | 4:7226c43320b5 | 104 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 105 | } |
foxbrianr | 4:7226c43320b5 | 106 | |
foxbrianr | 4:7226c43320b5 | 107 | |
foxbrianr | 4:7226c43320b5 | 108 |