x
AP3000.h
- Committer:
- JackB
- Date:
- 2018-07-23
- Revision:
- 0:0ee5e6b7245e
File content as of revision 0:0ee5e6b7245e:
#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