FreeCalypso > hg > fc-tourmaline
diff src/cs/services/fcbm/fcbm_display_ctrl.c @ 230:baa738eeb842
FCBM code implemented in first pass
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 01 May 2021 10:05:53 +0000 |
parents | |
children | 35474f3a1782 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cs/services/fcbm/fcbm_display_ctrl.c Sat May 01 10:05:53 2021 +0000 @@ -0,0 +1,43 @@ +/* + * In this module we are going to implement our functions + * for controlling display on/off state during charging boot mode. + */ + +#include "rv/rv_general.h" +#include "rvf/rvf_api.h" +#include "rvm/rvm_use_id_list.h" +#include "fcbm/fcbm_func_i.h" +#include "fcbm/fcbm_timer_i.h" +#include "fcbm/fcbm_life_cycle.h" +#include "kpd/kpd_api.h" +#include "r2d/r2d_blrr_api.h" + +void fcbm_display_off_timer(void) +{ + if (fcbm_life_cycle_state != FCBM_STATE_ACTIVE) { + rvf_send_trace("FCBM display off timer in wrong state", 37, + fcbm_life_cycle_state, RV_TRACE_LEVEL_WARNING, + FCBM_USE_ID); + return; + } + blrr_display_ctrl(BLRR_DISPLAY_OFF); +} + +void fcbm_process_kpd_msg(T_KPD_KEY_EVENT_MSG *msg) +{ + if (fcbm_life_cycle_state != FCBM_STATE_ACTIVE) { + rvf_send_trace("FCBM keypad message in wrong state", 34, + fcbm_life_cycle_state, RV_TRACE_LEVEL_WARNING, + FCBM_USE_ID); + return; + } + switch (msg->key_info.state) { + case KPD_KEY_PRESSED: + blrr_display_ctrl(BLRR_DISPLAY_CHG_BOOT); + return; + case KPD_KEY_RELEASED: + rvf_start_timer(FCBM_TIMER_DSPL_OFF, + RVF_SECS_TO_TICKS(FCBM_DISPLAY_SECS), FALSE); + return; + } +}