view src/cs/services/fcbm/fcbm_display_ctrl.c @ 276:4221c724c664

R2D: preparations for adding LCD hardware suspend handling
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 07 Sep 2021 21:05:38 +0000
parents 35474f3a1782
children
line wrap: on
line source

/*
 * 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:
		rvf_stop_timer(FCBM_TIMER_DSPL_OFF);
		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;
	}
}