x

Dependents:   20180621_FT813

Committer:
JackB
Date:
Mon Jul 23 12:24:05 2018 +0000
Revision:
0:0ee5e6b7245e
AP

Who changed what in which revision?

UserRevisionLine numberNew 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