Release 1.01
FactoryResetMenu.cpp@8:9d4e684d8eb8, 2020-03-17 (annotated)
- Committer:
- foxbrianr
- Date:
- Tue Mar 17 17:23:15 2020 +0000
- Revision:
- 8:9d4e684d8eb8
- Parent:
- 5:9f4d4f8ffc00
fix up code for barry
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
foxbrianr | 5:9f4d4f8ffc00 | 1 | /************************************************************************** |
foxbrianr | 5:9f4d4f8ffc00 | 2 | * @file FactorResetMenu.cpp |
foxbrianr | 5:9f4d4f8ffc00 | 3 | * @brief Base class for implementing the Factor Reset Menu display |
foxbrianr | 5:9f4d4f8ffc00 | 4 | * @version: V1.0 |
foxbrianr | 5:9f4d4f8ffc00 | 5 | * @date: 9/17/2019 |
foxbrianr | 5:9f4d4f8ffc00 | 6 | |
foxbrianr | 5:9f4d4f8ffc00 | 7 | * |
foxbrianr | 5:9f4d4f8ffc00 | 8 | * @note |
foxbrianr | 5:9f4d4f8ffc00 | 9 | * Copyright (C) 2019 E3 Design. All rights reserved. |
foxbrianr | 5:9f4d4f8ffc00 | 10 | * |
foxbrianr | 5:9f4d4f8ffc00 | 11 | * @par |
foxbrianr | 5:9f4d4f8ffc00 | 12 | * E3 Designers LLC is supplying this software for use with Cortex-M3 LPC1768 |
foxbrianr | 5:9f4d4f8ffc00 | 13 | * processor based microcontroller for the ESCM 2000 Monitor and Display. |
foxbrianr | 5:9f4d4f8ffc00 | 14 | * * |
foxbrianr | 5:9f4d4f8ffc00 | 15 | * @par |
foxbrianr | 5:9f4d4f8ffc00 | 16 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED |
foxbrianr | 5:9f4d4f8ffc00 | 17 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF |
foxbrianr | 5:9f4d4f8ffc00 | 18 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. |
foxbrianr | 5:9f4d4f8ffc00 | 19 | * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR |
foxbrianr | 5:9f4d4f8ffc00 | 20 | * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
foxbrianr | 5:9f4d4f8ffc00 | 21 | * |
foxbrianr | 5:9f4d4f8ffc00 | 22 | ******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 23 | #include "mbed.h" |
foxbrianr | 4:7226c43320b5 | 24 | #include "FactoryResetMenu.h" |
foxbrianr | 4:7226c43320b5 | 25 | #include "TimeUtilities.h" |
foxbrianr | 4:7226c43320b5 | 26 | #include "ESCMControlApp.h" |
foxbrianr | 4:7226c43320b5 | 27 | |
foxbrianr | 4:7226c43320b5 | 28 | #define DEFAULT_DISPLAY 0 |
foxbrianr | 4:7226c43320b5 | 29 | |
foxbrianr | 5:9f4d4f8ffc00 | 30 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 31 | FactoryResetMenu::FactoryResetMenu(char* id): Menu(id) |
foxbrianr | 4:7226c43320b5 | 32 | { |
foxbrianr | 4:7226c43320b5 | 33 | active_selection=0; |
foxbrianr | 4:7226c43320b5 | 34 | } |
foxbrianr | 4:7226c43320b5 | 35 | |
foxbrianr | 4:7226c43320b5 | 36 | |
foxbrianr | 4:7226c43320b5 | 37 | |
foxbrianr | 5:9f4d4f8ffc00 | 38 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 39 | void FactoryResetMenu::init() |
foxbrianr | 4:7226c43320b5 | 40 | { |
foxbrianr | 4:7226c43320b5 | 41 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 42 | active_selection=0; |
foxbrianr | 4:7226c43320b5 | 43 | } |
foxbrianr | 4:7226c43320b5 | 44 | |
foxbrianr | 5:9f4d4f8ffc00 | 45 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 46 | void FactoryResetMenu::display(LCD * lcd) |
foxbrianr | 4:7226c43320b5 | 47 | { |
foxbrianr | 4:7226c43320b5 | 48 | static int counter = 5; |
foxbrianr | 4:7226c43320b5 | 49 | |
foxbrianr | 4:7226c43320b5 | 50 | if (update_needed) { |
foxbrianr | 4:7226c43320b5 | 51 | switch(active_selection) { |
foxbrianr | 4:7226c43320b5 | 52 | |
foxbrianr | 4:7226c43320b5 | 53 | case 1: |
foxbrianr | 4:7226c43320b5 | 54 | lcd->cls(); |
foxbrianr | 4:7226c43320b5 | 55 | lcd->locate(1,0); |
foxbrianr | 4:7226c43320b5 | 56 | lcd->printf("Resetting to Factory Default"); |
foxbrianr | 4:7226c43320b5 | 57 | lcd->locate(1,0); |
foxbrianr | 4:7226c43320b5 | 58 | counter = 5; |
foxbrianr | 4:7226c43320b5 | 59 | active_selection=2; |
foxbrianr | 4:7226c43320b5 | 60 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 61 | break; |
foxbrianr | 4:7226c43320b5 | 62 | |
foxbrianr | 4:7226c43320b5 | 63 | case 2: |
foxbrianr | 4:7226c43320b5 | 64 | lcd->locate(2,0); |
foxbrianr | 4:7226c43320b5 | 65 | lcd->printf("Please wait %d...", counter--); |
foxbrianr | 4:7226c43320b5 | 66 | if (counter == 0) active_selection=0; |
foxbrianr | 4:7226c43320b5 | 67 | update_needed=1; |
foxbrianr | 4:7226c43320b5 | 68 | break; |
foxbrianr | 4:7226c43320b5 | 69 | |
foxbrianr | 4:7226c43320b5 | 70 | default: |
foxbrianr | 4:7226c43320b5 | 71 | lcd->cls(); |
foxbrianr | 4:7226c43320b5 | 72 | lcd->locate(0,0); |
foxbrianr | 4:7226c43320b5 | 73 | lcd->printf("Press <Set> to Reset"); |
foxbrianr | 4:7226c43320b5 | 74 | update_needed=0; |
foxbrianr | 4:7226c43320b5 | 75 | break; |
foxbrianr | 4:7226c43320b5 | 76 | }; |
foxbrianr | 4:7226c43320b5 | 77 | } |
foxbrianr | 4:7226c43320b5 | 78 | |
foxbrianr | 4:7226c43320b5 | 79 | displayCurrentTime(lcd); |
foxbrianr | 4:7226c43320b5 | 80 | displayVersion(lcd); |
foxbrianr | 4:7226c43320b5 | 81 | } |
foxbrianr | 4:7226c43320b5 | 82 | |
foxbrianr | 5:9f4d4f8ffc00 | 83 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 84 | void FactoryResetMenu::pressMode() |
foxbrianr | 4:7226c43320b5 | 85 | { |
foxbrianr | 4:7226c43320b5 | 86 | // toggle active menu |
foxbrianr | 4:7226c43320b5 | 87 | switch(active_selection) { |
foxbrianr | 4:7226c43320b5 | 88 | |
foxbrianr | 4:7226c43320b5 | 89 | case 0: |
foxbrianr | 4:7226c43320b5 | 90 | back(); |
foxbrianr | 4:7226c43320b5 | 91 | break; |
foxbrianr | 4:7226c43320b5 | 92 | case 1: |
foxbrianr | 4:7226c43320b5 | 93 | back(); |
foxbrianr | 4:7226c43320b5 | 94 | break; |
foxbrianr | 4:7226c43320b5 | 95 | |
foxbrianr | 4:7226c43320b5 | 96 | default: |
foxbrianr | 4:7226c43320b5 | 97 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 98 | break; |
foxbrianr | 4:7226c43320b5 | 99 | }; |
foxbrianr | 4:7226c43320b5 | 100 | |
foxbrianr | 4:7226c43320b5 | 101 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 102 | } |
foxbrianr | 4:7226c43320b5 | 103 | |
foxbrianr | 5:9f4d4f8ffc00 | 104 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 105 | void FactoryResetMenu::pressSet() |
foxbrianr | 4:7226c43320b5 | 106 | { |
foxbrianr | 4:7226c43320b5 | 107 | // set button advances to next character position OR |
foxbrianr | 4:7226c43320b5 | 108 | // goes back to normal |
foxbrianr | 4:7226c43320b5 | 109 | switch(active_selection) { |
foxbrianr | 4:7226c43320b5 | 110 | |
foxbrianr | 4:7226c43320b5 | 111 | case 0: |
foxbrianr | 4:7226c43320b5 | 112 | active_selection = 1; |
foxbrianr | 4:7226c43320b5 | 113 | addressMap.reset(); |
foxbrianr | 4:7226c43320b5 | 114 | escmEventLog.reset(); |
foxbrianr | 4:7226c43320b5 | 115 | break; |
foxbrianr | 4:7226c43320b5 | 116 | |
foxbrianr | 4:7226c43320b5 | 117 | case 1: // press yes |
foxbrianr | 4:7226c43320b5 | 118 | active_selection = 2; |
foxbrianr | 4:7226c43320b5 | 119 | break; |
foxbrianr | 4:7226c43320b5 | 120 | |
foxbrianr | 4:7226c43320b5 | 121 | case 2: // complete |
foxbrianr | 4:7226c43320b5 | 122 | //back(); |
foxbrianr | 4:7226c43320b5 | 123 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 124 | break; |
foxbrianr | 4:7226c43320b5 | 125 | |
foxbrianr | 4:7226c43320b5 | 126 | default: |
foxbrianr | 4:7226c43320b5 | 127 | active_selection = 0; |
foxbrianr | 4:7226c43320b5 | 128 | break; |
foxbrianr | 4:7226c43320b5 | 129 | |
foxbrianr | 4:7226c43320b5 | 130 | }; |
foxbrianr | 4:7226c43320b5 | 131 | update_needed = 1; |
foxbrianr | 4:7226c43320b5 | 132 | } |
foxbrianr | 4:7226c43320b5 | 133 | |
foxbrianr | 5:9f4d4f8ffc00 | 134 | /******************************************************************************/ |
foxbrianr | 4:7226c43320b5 | 135 | |
foxbrianr | 4:7226c43320b5 | 136 |