x
AP3000.h@0:0ee5e6b7245e, 2018-07-23 (annotated)
- Committer:
- JackB
- Date:
- Mon Jul 23 12:24:05 2018 +0000
- Revision:
- 0:0ee5e6b7245e
AP
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JackB | 0:0ee5e6b7245e | 1 | #ifndef __AP3000_H__ |
JackB | 0:0ee5e6b7245e | 2 | #define __AP3000_H__ |
JackB | 0:0ee5e6b7245e | 3 | |
JackB | 0:0ee5e6b7245e | 4 | #include "mbed.h" |
JackB | 0:0ee5e6b7245e | 5 | #include "main.h" |
JackB | 0:0ee5e6b7245e | 6 | |
JackB | 0:0ee5e6b7245e | 7 | #define TAGVAL_NONE 0xffff |
JackB | 0:0ee5e6b7245e | 8 | |
JackB | 0:0ee5e6b7245e | 9 | #define BUTTON_ACCEPT_ALARM_TAG 1 |
JackB | 0:0ee5e6b7245e | 10 | #define BUTTON_ACCEPT_HORN_TAG 2 |
JackB | 0:0ee5e6b7245e | 11 | #define BUTTON_SET_TAG 3 |
JackB | 0:0ee5e6b7245e | 12 | #define BUTTON_DIM_TAG 4 |
JackB | 0:0ee5e6b7245e | 13 | |
JackB | 0:0ee5e6b7245e | 14 | #define BUTTON_RELEASED 0 |
JackB | 0:0ee5e6b7245e | 15 | #define BUTTON_PRESSED 1 |
JackB | 0:0ee5e6b7245e | 16 | |
JackB | 0:0ee5e6b7245e | 17 | #define BIGHTNESS_SELECT_LOW 0 |
JackB | 0:0ee5e6b7245e | 18 | #define BIGHTNESS_SELECT_HIGH 1 |
JackB | 0:0ee5e6b7245e | 19 | |
JackB | 0:0ee5e6b7245e | 20 | #define INDICATOR_OFF 0 |
JackB | 0:0ee5e6b7245e | 21 | #define INDICATOR_ON 1 |
JackB | 0:0ee5e6b7245e | 22 | |
JackB | 0:0ee5e6b7245e | 23 | //#define INDICATOR_RUN_STATUS_OFF 0 |
JackB | 0:0ee5e6b7245e | 24 | //#define INDICATOR_RUN_STATUS_RUNNING 1 |
JackB | 0:0ee5e6b7245e | 25 | //#define INDICATOR_RUN_STATUS_WARNING 2 |
JackB | 0:0ee5e6b7245e | 26 | //#define INDICATOR_RUN_STATUS_OFF_RED 3 |
JackB | 0:0ee5e6b7245e | 27 | //#define INDICATOR_RUN_STATUS_DISABLED 4 |
JackB | 0:0ee5e6b7245e | 28 | // |
JackB | 0:0ee5e6b7245e | 29 | //#define INDICATOR_ALARM_STATUS_OFF 0 |
JackB | 0:0ee5e6b7245e | 30 | //#define INDICATOR_ALARM_STATUS_WARNING 1 |
JackB | 0:0ee5e6b7245e | 31 | //#define INDICATOR_ALARM_STATUS_FAILURE 2 |
JackB | 0:0ee5e6b7245e | 32 | |
JackB | 0:0ee5e6b7245e | 33 | enum System { |
JackB | 0:0ee5e6b7245e | 34 | MAIN_SYSTEM = 0, |
JackB | 0:0ee5e6b7245e | 35 | AUX_SYSTEM, |
JackB | 0:0ee5e6b7245e | 36 | GLOBAL_SYSTEM |
JackB | 0:0ee5e6b7245e | 37 | }; |
JackB | 0:0ee5e6b7245e | 38 | |
JackB | 0:0ee5e6b7245e | 39 | enum Alarm { |
JackB | 0:0ee5e6b7245e | 40 | PHASE_FAIL = 0, |
JackB | 0:0ee5e6b7245e | 41 | MAIN_POWER, |
JackB | 0:0ee5e6b7245e | 42 | CTRL_POWER, |
JackB | 0:0ee5e6b7245e | 43 | OIL_PRESS, |
JackB | 0:0ee5e6b7245e | 44 | HYDR_LOCK, |
JackB | 0:0ee5e6b7245e | 45 | OVERLOAD, |
JackB | 0:0ee5e6b7245e | 46 | OIL_LEVEL, |
JackB | 0:0ee5e6b7245e | 47 | OIL_FILTER, |
JackB | 0:0ee5e6b7245e | 48 | OIL_TEMP, |
JackB | 0:0ee5e6b7245e | 49 | FU_FAILURE |
JackB | 0:0ee5e6b7245e | 50 | }; |
JackB | 0:0ee5e6b7245e | 51 | |
JackB | 0:0ee5e6b7245e | 52 | enum IndicatorRunStatus { |
JackB | 0:0ee5e6b7245e | 53 | RUN_STATUS_OFF = 0, |
JackB | 0:0ee5e6b7245e | 54 | RUN_STATUS_RUNNING, |
JackB | 0:0ee5e6b7245e | 55 | RUN_STATUS_WARNING, |
JackB | 0:0ee5e6b7245e | 56 | RUN_STATUS_DISABLED, |
JackB | 0:0ee5e6b7245e | 57 | RUN_STATUS_OFF_RED, |
JackB | 0:0ee5e6b7245e | 58 | RUN_STATUS_BLANK |
JackB | 0:0ee5e6b7245e | 59 | }; |
JackB | 0:0ee5e6b7245e | 60 | |
JackB | 0:0ee5e6b7245e | 61 | enum IndicatorAlarmStatus { |
JackB | 0:0ee5e6b7245e | 62 | ALARM_STATUS_OFF = 0, |
JackB | 0:0ee5e6b7245e | 63 | ALARM_STATUS_WARNING, |
JackB | 0:0ee5e6b7245e | 64 | ALARM_STATUS_FAILURE |
JackB | 0:0ee5e6b7245e | 65 | }; |
JackB | 0:0ee5e6b7245e | 66 | |
JackB | 0:0ee5e6b7245e | 67 | enum Pump { |
JackB | 0:0ee5e6b7245e | 68 | PUMP_OFF = 0, |
JackB | 0:0ee5e6b7245e | 69 | PUMP_IN_USE, |
JackB | 0:0ee5e6b7245e | 70 | PUMP_IN_USE_MAIN, |
JackB | 0:0ee5e6b7245e | 71 | PUMP_IN_USE_AUX |
JackB | 0:0ee5e6b7245e | 72 | }; |
JackB | 0:0ee5e6b7245e | 73 | |
JackB | 0:0ee5e6b7245e | 74 | enum IndicatorLightStatus { |
JackB | 0:0ee5e6b7245e | 75 | STEADY_OFF = 0, |
JackB | 0:0ee5e6b7245e | 76 | BLINK_WARNING_ON, |
JackB | 0:0ee5e6b7245e | 77 | STEADY_WARNING_ON, |
JackB | 0:0ee5e6b7245e | 78 | BLINK_FAILURE_ON, |
JackB | 0:0ee5e6b7245e | 79 | STEADY_FAILURE_ON, |
JackB | 0:0ee5e6b7245e | 80 | BLINK_RUNNING_ON, |
JackB | 0:0ee5e6b7245e | 81 | STEADY_RUNNING_ON, |
JackB | 0:0ee5e6b7245e | 82 | BLINK_DISABLED_ON, |
JackB | 0:0ee5e6b7245e | 83 | STEADY_DISABLED_ON, |
JackB | 0:0ee5e6b7245e | 84 | BLINK_OFF_RED_ON, |
JackB | 0:0ee5e6b7245e | 85 | STEADY_OFF_RED_ON |
JackB | 0:0ee5e6b7245e | 86 | }; |
JackB | 0:0ee5e6b7245e | 87 | |
JackB | 0:0ee5e6b7245e | 88 | typedef struct Button { |
JackB | 0:0ee5e6b7245e | 89 | uint8_t accept_alarm_pressed; |
JackB | 0:0ee5e6b7245e | 90 | uint8_t accept_horn_pressed; |
JackB | 0:0ee5e6b7245e | 91 | uint8_t set_pressed; |
JackB | 0:0ee5e6b7245e | 92 | uint8_t dim_pressed; |
JackB | 0:0ee5e6b7245e | 93 | } button; |
JackB | 0:0ee5e6b7245e | 94 | |
JackB | 0:0ee5e6b7245e | 95 | typedef struct Indicator { |
JackB | 0:0ee5e6b7245e | 96 | enum IndicatorRunStatus md_main_running; |
JackB | 0:0ee5e6b7245e | 97 | enum IndicatorLightStatus md_main_running_light; |
JackB | 0:0ee5e6b7245e | 98 | enum IndicatorAlarmStatus rb_main_phase_fail; |
JackB | 0:0ee5e6b7245e | 99 | enum IndicatorLightStatus rb_main_phase_fail_light; |
JackB | 0:0ee5e6b7245e | 100 | enum IndicatorAlarmStatus rb_main_main_power; |
JackB | 0:0ee5e6b7245e | 101 | enum IndicatorLightStatus rb_main_main_power_light; |
JackB | 0:0ee5e6b7245e | 102 | enum IndicatorAlarmStatus rb_main_ctrl_power; |
JackB | 0:0ee5e6b7245e | 103 | enum IndicatorLightStatus rb_main_ctrl_power_light; |
JackB | 0:0ee5e6b7245e | 104 | enum IndicatorAlarmStatus rb_main_oil_press; |
JackB | 0:0ee5e6b7245e | 105 | enum IndicatorLightStatus rb_main_oil_press_light; |
JackB | 0:0ee5e6b7245e | 106 | enum IndicatorAlarmStatus rb_main_hydr_lock; |
JackB | 0:0ee5e6b7245e | 107 | enum IndicatorLightStatus rb_main_hydr_lock_light; |
JackB | 0:0ee5e6b7245e | 108 | enum IndicatorAlarmStatus rb_main_overload; |
JackB | 0:0ee5e6b7245e | 109 | enum IndicatorLightStatus rb_main_overload_light; |
JackB | 0:0ee5e6b7245e | 110 | enum IndicatorAlarmStatus rb_main_oil_level; |
JackB | 0:0ee5e6b7245e | 111 | enum IndicatorLightStatus rb_main_oil_level_light; |
JackB | 0:0ee5e6b7245e | 112 | enum IndicatorAlarmStatus rb_main_oil_filter; |
JackB | 0:0ee5e6b7245e | 113 | enum IndicatorLightStatus rb_main_oil_filter_light; |
JackB | 0:0ee5e6b7245e | 114 | enum IndicatorAlarmStatus rb_main_oil_temp; |
JackB | 0:0ee5e6b7245e | 115 | enum IndicatorLightStatus rb_main_oil_temp_light; |
JackB | 0:0ee5e6b7245e | 116 | |
JackB | 0:0ee5e6b7245e | 117 | enum IndicatorRunStatus md_aux_running; |
JackB | 0:0ee5e6b7245e | 118 | enum IndicatorLightStatus md_aux_running_light; |
JackB | 0:0ee5e6b7245e | 119 | enum IndicatorAlarmStatus rb_aux_phase_fail; |
JackB | 0:0ee5e6b7245e | 120 | enum IndicatorLightStatus rb_aux_phase_fail_light; |
JackB | 0:0ee5e6b7245e | 121 | enum IndicatorAlarmStatus rb_aux_main_power; |
JackB | 0:0ee5e6b7245e | 122 | enum IndicatorLightStatus rb_aux_main_power_light; |
JackB | 0:0ee5e6b7245e | 123 | enum IndicatorAlarmStatus rb_aux_ctrl_power; |
JackB | 0:0ee5e6b7245e | 124 | enum IndicatorLightStatus rb_aux_ctrl_power_light; |
JackB | 0:0ee5e6b7245e | 125 | enum IndicatorAlarmStatus rb_aux_oil_press; |
JackB | 0:0ee5e6b7245e | 126 | enum IndicatorLightStatus rb_aux_oil_press_light; |
JackB | 0:0ee5e6b7245e | 127 | enum IndicatorAlarmStatus rb_aux_hydr_lock; |
JackB | 0:0ee5e6b7245e | 128 | enum IndicatorLightStatus rb_aux_hydr_lock_light; |
JackB | 0:0ee5e6b7245e | 129 | enum IndicatorAlarmStatus rb_aux_overload; |
JackB | 0:0ee5e6b7245e | 130 | enum IndicatorLightStatus rb_aux_overload_light; |
JackB | 0:0ee5e6b7245e | 131 | enum IndicatorAlarmStatus rb_aux_oil_level; |
JackB | 0:0ee5e6b7245e | 132 | enum IndicatorLightStatus rb_aux_oil_level_light; |
JackB | 0:0ee5e6b7245e | 133 | enum IndicatorAlarmStatus rb_aux_oil_filter; |
JackB | 0:0ee5e6b7245e | 134 | enum IndicatorLightStatus rb_aux_oil_filter_light; |
JackB | 0:0ee5e6b7245e | 135 | enum IndicatorAlarmStatus rb_aux_oil_temp; |
JackB | 0:0ee5e6b7245e | 136 | enum IndicatorLightStatus rb_aux_oil_temp_light; |
JackB | 0:0ee5e6b7245e | 137 | |
JackB | 0:0ee5e6b7245e | 138 | enum IndicatorAlarmStatus rb_fu_failure; |
JackB | 0:0ee5e6b7245e | 139 | enum IndicatorLightStatus rb_fu_failure_light; |
JackB | 0:0ee5e6b7245e | 140 | enum Pump pump_in_use; |
JackB | 0:0ee5e6b7245e | 141 | enum IndicatorLightStatus pump_in_use_light; |
JackB | 0:0ee5e6b7245e | 142 | } indicator; |
JackB | 0:0ee5e6b7245e | 143 | |
JackB | 0:0ee5e6b7245e | 144 | void InitAP3000(void); |
JackB | 0:0ee5e6b7245e | 145 | void RegularButton(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t corner, uint8_t style, uint8_t R, uint8_t G, uint8_t B, uint8_t text_color, char *text); |
JackB | 0:0ee5e6b7245e | 146 | void RoundedRectangle(int16_t x0, int16_t y0, int16_t w, int16_t h, int16_t corner, uint8_t style, uint8_t Ro, uint8_t Go, uint8_t Bo, uint8_t Ri, uint8_t Gi, uint8_t Bi, uint8_t text_color, char *text); |
JackB | 0:0ee5e6b7245e | 147 | |
JackB | 0:0ee5e6b7245e | 148 | void updateAlarmLights(void); |
JackB | 0:0ee5e6b7245e | 149 | |
JackB | 0:0ee5e6b7245e | 150 | void processButtonPressed(uint16_t tagval); |
JackB | 0:0ee5e6b7245e | 151 | void processButtonReleased(void); |
JackB | 0:0ee5e6b7245e | 152 | void backupAlarms(void); |
JackB | 0:0ee5e6b7245e | 153 | void restoreAlarms(void); |
JackB | 0:0ee5e6b7245e | 154 | |
JackB | 0:0ee5e6b7245e | 155 | uint8_t getDisplayBrighnessSelect(void); |
JackB | 0:0ee5e6b7245e | 156 | void setDisplayBrighnessSelect(uint8_t select); |
JackB | 0:0ee5e6b7245e | 157 | void toggleDisplayBrighnessSelect(void); |
JackB | 0:0ee5e6b7245e | 158 | void setDisplayBrighnessHigh(uint8_t value); |
JackB | 0:0ee5e6b7245e | 159 | void setDisplayBrighnessLow(uint8_t value); |
JackB | 0:0ee5e6b7245e | 160 | |
JackB | 0:0ee5e6b7245e | 161 | uint8_t getButtonAcceptAlarm(void); |
JackB | 0:0ee5e6b7245e | 162 | void setButtonAcceptAlarm(uint8_t status); |
JackB | 0:0ee5e6b7245e | 163 | uint8_t getButtonAcceptHorn(void); |
JackB | 0:0ee5e6b7245e | 164 | void setButtonAcceptHorn(uint8_t status); |
JackB | 0:0ee5e6b7245e | 165 | uint8_t getButtonSet(void); |
JackB | 0:0ee5e6b7245e | 166 | void setButtonSet(uint8_t status); |
JackB | 0:0ee5e6b7245e | 167 | uint8_t getButtonDim(void); |
JackB | 0:0ee5e6b7245e | 168 | void setButtonDim(uint8_t status); |
JackB | 0:0ee5e6b7245e | 169 | |
JackB | 0:0ee5e6b7245e | 170 | Pump getPumpInUse(void); |
JackB | 0:0ee5e6b7245e | 171 | void setPumpInUse(Pump status); |
JackB | 0:0ee5e6b7245e | 172 | IndicatorLightStatus getPumpInUseBlinkStatus(void); |
JackB | 0:0ee5e6b7245e | 173 | void setPumpInUseBlinkStatus(IndicatorLightStatus status); |
JackB | 0:0ee5e6b7245e | 174 | |
JackB | 0:0ee5e6b7245e | 175 | IndicatorLightStatus getPumpRunningBlinkStatus(System system); |
JackB | 0:0ee5e6b7245e | 176 | void setPumpRunningBlinkStatus(System system, IndicatorLightStatus status); |
JackB | 0:0ee5e6b7245e | 177 | IndicatorRunStatus getPumpRunningStatus(System system); |
JackB | 0:0ee5e6b7245e | 178 | void setPumpRunningStatus(System system, IndicatorRunStatus status); |
JackB | 0:0ee5e6b7245e | 179 | void togglePumpRunningStatus(System system, IndicatorRunStatus status); |
JackB | 0:0ee5e6b7245e | 180 | |
JackB | 0:0ee5e6b7245e | 181 | IndicatorLightStatus getAlarmBlinkStatus(System system, Alarm alarm); |
JackB | 0:0ee5e6b7245e | 182 | void setAlarmBlinkStatus(System system, Alarm alarm, IndicatorLightStatus status); |
JackB | 0:0ee5e6b7245e | 183 | IndicatorAlarmStatus getAlarmStatus(System system, Alarm alarm); |
JackB | 0:0ee5e6b7245e | 184 | void setAlarmStatus(System system, Alarm alarm, IndicatorAlarmStatus status); |
JackB | 0:0ee5e6b7245e | 185 | void toggleAlarmStatus(System system, Alarm alarm, IndicatorAlarmStatus status); |
JackB | 0:0ee5e6b7245e | 186 | |
JackB | 0:0ee5e6b7245e | 187 | bool checkIndicatorsChanged(void); |
JackB | 0:0ee5e6b7245e | 188 | |
JackB | 0:0ee5e6b7245e | 189 | void loadSplashScreen(void); |
JackB | 0:0ee5e6b7245e | 190 | void loadBitmaps(void); |
JackB | 0:0ee5e6b7245e | 191 | void showSplashScreen(void); |
JackB | 0:0ee5e6b7245e | 192 | void showMainPage(void); |
JackB | 0:0ee5e6b7245e | 193 | |
JackB | 0:0ee5e6b7245e | 194 | void testIndicators(void); |
JackB | 0:0ee5e6b7245e | 195 | |
JackB | 0:0ee5e6b7245e | 196 | #endif |