35 #ifndef __HAL_IRTX_H__ 36 #define __HAL_IRTX_H__ 38 #include "hal_platform.h" 40 #ifdef HAL_IRTX_MODULE_ENABLED 178 #define HAL_IRTX_MAX_DATA_LENGTH (12) 192 HAL_IRTX_REPEAT_ENABLE = 0,
193 HAL_IRTX_REPEAT_DISABLE
194 } hal_irtx_repeat_code_t;
199 HAL_IRTX_STATUS_ERROR = -1,
200 HAL_IRTX_STATUS_OK = 0
206 HAL_IRTX_EVENT_TRANSACTION_ERROR = -1,
207 HAL_IRTX_EVENT_TRANSACTION_SUCCESS = 0
215 } hal_irtx_running_status_t;
237 typedef void (*hal_irtx_pulse_data_callback_t)(hal_irtx_event_t event,
void *user_data);
253 hal_irtx_status_t hal_irtx_init(
void);
266 hal_irtx_status_t hal_irtx_deinit(
void);
282 hal_irtx_status_t hal_irtx_send_nec_data(hal_irtx_repeat_code_t repeat_code,
283 const uint8_t data[HAL_IRTX_MAX_DATA_LENGTH],
284 uint32_t bit_length);
300 hal_irtx_status_t hal_irtx_send_rc5_data(hal_irtx_repeat_code_t repeat_code,
301 const uint8_t data[HAL_IRTX_MAX_DATA_LENGTH],
302 uint32_t bit_length);
317 hal_irtx_status_t hal_irtx_send_rc6_data(hal_irtx_repeat_code_t repeat_code,
318 const uint8_t data[HAL_IRTX_MAX_DATA_LENGTH],
319 uint32_t bit_length);
334 hal_irtx_status_t hal_irtx_configure_pulse_data_carrier(uint32_t frequency,
335 uint32_t duty_cycle);
349 hal_irtx_status_t hal_irtx_register_pulse_data_callback(hal_irtx_pulse_data_callback_t callback,
364 hal_irtx_status_t hal_irtx_send_pulse_data(uint32_t base_period, uint8_t *data, uint32_t length);
379 hal_irtx_status_t hal_irtx_get_running_status(hal_irtx_running_status_t *running_status);