35 #ifndef __HAL_ACCDET_H__ 36 #define __HAL_ACCDET_H__ 37 #include "hal_platform.h" 39 #ifdef HAL_ACCDET_MODULE_ENABLED 146 HAL_ACCDET_EVENT_HOOK_KEY = 0,
147 HAL_ACCDET_EVENT_PLUG_IN = 1,
148 HAL_ACCDET_EVENT_ERROR = 2,
149 HAL_ACCDET_EVENT_PLUG_OUT = 3
150 } hal_accdet_callback_event_t;
155 HAL_ACCDET_STATUS_INVALID_PARAMETER = -3,
156 HAL_ACCDET_STATUS_ERROR_BUSY = -2,
157 HAL_ACCDET_STATUS_ERROR = -1,
158 HAL_ACCDET_STATUS_OK = 0
159 } hal_accdet_status_t;
175 uint16_t accdet_hook_key_debounce;
176 uint16_t accdet_plug_in_debounce;
177 uint16_t accdet_plug_out_debounce;
178 } hal_accdet_debounce_time_t;
189 typedef void (*hal_accdet_callback_t)(hal_accdet_callback_event_t event,
void *user_data);
205 hal_accdet_status_t hal_accdet_init(
void);
213 hal_accdet_status_t hal_accdet_deinit(
void);
221 hal_accdet_status_t hal_accdet_enable(
void);
229 hal_accdet_status_t hal_accdet_disable(
void);
240 hal_accdet_status_t hal_accdet_register_callback(hal_accdet_callback_t accdet_callback,
void *user_data);
250 hal_accdet_status_t hal_accdet_set_debounce_time(
const hal_accdet_debounce_time_t *debounce_time);