x
Diff: AP3000.h
- Revision:
- 0:0ee5e6b7245e
diff -r 000000000000 -r 0ee5e6b7245e AP3000.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AP3000.h Mon Jul 23 12:24:05 2018 +0000 @@ -0,0 +1,196 @@ +#ifndef __AP3000_H__ +#define __AP3000_H__ + +#include "mbed.h" +#include "main.h" + +#define TAGVAL_NONE 0xffff + +#define BUTTON_ACCEPT_ALARM_TAG 1 +#define BUTTON_ACCEPT_HORN_TAG 2 +#define BUTTON_SET_TAG 3 +#define BUTTON_DIM_TAG 4 + +#define BUTTON_RELEASED 0 +#define BUTTON_PRESSED 1 + +#define BIGHTNESS_SELECT_LOW 0 +#define BIGHTNESS_SELECT_HIGH 1 + +#define INDICATOR_OFF 0 +#define INDICATOR_ON 1 + +//#define INDICATOR_RUN_STATUS_OFF 0 +//#define INDICATOR_RUN_STATUS_RUNNING 1 +//#define INDICATOR_RUN_STATUS_WARNING 2 +//#define INDICATOR_RUN_STATUS_OFF_RED 3 +//#define INDICATOR_RUN_STATUS_DISABLED 4 +// +//#define INDICATOR_ALARM_STATUS_OFF 0 +//#define INDICATOR_ALARM_STATUS_WARNING 1 +//#define INDICATOR_ALARM_STATUS_FAILURE 2 + +enum System { + MAIN_SYSTEM = 0, + AUX_SYSTEM, + GLOBAL_SYSTEM +}; + +enum Alarm { + PHASE_FAIL = 0, + MAIN_POWER, + CTRL_POWER, + OIL_PRESS, + HYDR_LOCK, + OVERLOAD, + OIL_LEVEL, + OIL_FILTER, + OIL_TEMP, + FU_FAILURE +}; + +enum IndicatorRunStatus { + RUN_STATUS_OFF = 0, + RUN_STATUS_RUNNING, + RUN_STATUS_WARNING, + RUN_STATUS_DISABLED, + RUN_STATUS_OFF_RED, + RUN_STATUS_BLANK +}; + +enum IndicatorAlarmStatus { + ALARM_STATUS_OFF = 0, + ALARM_STATUS_WARNING, + ALARM_STATUS_FAILURE +}; + +enum Pump { + PUMP_OFF = 0, + PUMP_IN_USE, + PUMP_IN_USE_MAIN, + PUMP_IN_USE_AUX +}; + +enum IndicatorLightStatus { + STEADY_OFF = 0, + BLINK_WARNING_ON, + STEADY_WARNING_ON, + BLINK_FAILURE_ON, + STEADY_FAILURE_ON, + BLINK_RUNNING_ON, + STEADY_RUNNING_ON, + BLINK_DISABLED_ON, + STEADY_DISABLED_ON, + BLINK_OFF_RED_ON, + STEADY_OFF_RED_ON +}; + +typedef struct Button { + uint8_t accept_alarm_pressed; + uint8_t accept_horn_pressed; + uint8_t set_pressed; + uint8_t dim_pressed; +} button; + +typedef struct Indicator { + enum IndicatorRunStatus md_main_running; + enum IndicatorLightStatus md_main_running_light; + enum IndicatorAlarmStatus rb_main_phase_fail; + enum IndicatorLightStatus rb_main_phase_fail_light; + enum IndicatorAlarmStatus rb_main_main_power; + enum IndicatorLightStatus rb_main_main_power_light; + enum IndicatorAlarmStatus rb_main_ctrl_power; + enum IndicatorLightStatus rb_main_ctrl_power_light; + enum IndicatorAlarmStatus rb_main_oil_press; + enum IndicatorLightStatus rb_main_oil_press_light; + enum IndicatorAlarmStatus rb_main_hydr_lock; + enum IndicatorLightStatus rb_main_hydr_lock_light; + enum IndicatorAlarmStatus rb_main_overload; + enum IndicatorLightStatus rb_main_overload_light; + enum IndicatorAlarmStatus rb_main_oil_level; + enum IndicatorLightStatus rb_main_oil_level_light; + enum IndicatorAlarmStatus rb_main_oil_filter; + enum IndicatorLightStatus rb_main_oil_filter_light; + enum IndicatorAlarmStatus rb_main_oil_temp; + enum IndicatorLightStatus rb_main_oil_temp_light; + + enum IndicatorRunStatus md_aux_running; + enum IndicatorLightStatus md_aux_running_light; + enum IndicatorAlarmStatus rb_aux_phase_fail; + enum IndicatorLightStatus rb_aux_phase_fail_light; + enum IndicatorAlarmStatus rb_aux_main_power; + enum IndicatorLightStatus rb_aux_main_power_light; + enum IndicatorAlarmStatus rb_aux_ctrl_power; + enum IndicatorLightStatus rb_aux_ctrl_power_light; + enum IndicatorAlarmStatus rb_aux_oil_press; + enum IndicatorLightStatus rb_aux_oil_press_light; + enum IndicatorAlarmStatus rb_aux_hydr_lock; + enum IndicatorLightStatus rb_aux_hydr_lock_light; + enum IndicatorAlarmStatus rb_aux_overload; + enum IndicatorLightStatus rb_aux_overload_light; + enum IndicatorAlarmStatus rb_aux_oil_level; + enum IndicatorLightStatus rb_aux_oil_level_light; + enum IndicatorAlarmStatus rb_aux_oil_filter; + enum IndicatorLightStatus rb_aux_oil_filter_light; + enum IndicatorAlarmStatus rb_aux_oil_temp; + enum IndicatorLightStatus rb_aux_oil_temp_light; + + enum IndicatorAlarmStatus rb_fu_failure; + enum IndicatorLightStatus rb_fu_failure_light; + enum Pump pump_in_use; + enum IndicatorLightStatus pump_in_use_light; +} indicator; + +void InitAP3000(void); +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); +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); + +void updateAlarmLights(void); + +void processButtonPressed(uint16_t tagval); +void processButtonReleased(void); +void backupAlarms(void); +void restoreAlarms(void); + +uint8_t getDisplayBrighnessSelect(void); +void setDisplayBrighnessSelect(uint8_t select); +void toggleDisplayBrighnessSelect(void); +void setDisplayBrighnessHigh(uint8_t value); +void setDisplayBrighnessLow(uint8_t value); + +uint8_t getButtonAcceptAlarm(void); +void setButtonAcceptAlarm(uint8_t status); +uint8_t getButtonAcceptHorn(void); +void setButtonAcceptHorn(uint8_t status); +uint8_t getButtonSet(void); +void setButtonSet(uint8_t status); +uint8_t getButtonDim(void); +void setButtonDim(uint8_t status); + +Pump getPumpInUse(void); +void setPumpInUse(Pump status); +IndicatorLightStatus getPumpInUseBlinkStatus(void); +void setPumpInUseBlinkStatus(IndicatorLightStatus status); + +IndicatorLightStatus getPumpRunningBlinkStatus(System system); +void setPumpRunningBlinkStatus(System system, IndicatorLightStatus status); +IndicatorRunStatus getPumpRunningStatus(System system); +void setPumpRunningStatus(System system, IndicatorRunStatus status); +void togglePumpRunningStatus(System system, IndicatorRunStatus status); + +IndicatorLightStatus getAlarmBlinkStatus(System system, Alarm alarm); +void setAlarmBlinkStatus(System system, Alarm alarm, IndicatorLightStatus status); +IndicatorAlarmStatus getAlarmStatus(System system, Alarm alarm); +void setAlarmStatus(System system, Alarm alarm, IndicatorAlarmStatus status); +void toggleAlarmStatus(System system, Alarm alarm, IndicatorAlarmStatus status); + +bool checkIndicatorsChanged(void); + +void loadSplashScreen(void); +void loadBitmaps(void); +void showSplashScreen(void); +void showMainPage(void); + +void testIndicators(void); + +#endif