21 #define IR_TX_CUSTOMIZE 3 29 #if !defined(BL602) && !defined(BL702) 30 #define IR_TX_FIFO_WIDTH_8BIT 0 31 #define IR_TX_FIFO_WIDTH_16BIT 1 32 #define IR_TX_FIFO_WIDTH_24BIT 2 34 #define IR_TX_FIFO_WIDTH_32BIT 3 42 #define IR_TX_INTEN_END (1 << 0) 43 #if !defined(BL602) && !defined(BL702) 44 #define IR_TX_INTEN_FIFO (1 << 1) 45 #define IR_TX_INTEN_FER (1 << 2) 54 #define IR_TX_INTSTS_END (1 << 0) 55 #if !defined(BL602) && !defined(BL702) 56 #define IR_TX_INTSTS_FIFO (1 << 1) 57 #define IR_TX_INTSTS_FER (1 << 2) 79 #define IR_RX_INTEN_END (1 << 0) 80 #if !defined(BL602) && !defined(BL702) 81 #define IR_RX_INTEN_FIFO (1 << 1) 82 #define IR_RX_INTEN_FER (1 << 2) 91 #define IR_RX_INTSTS_END (1 << 0) 92 #if !defined(BL602) && !defined(BL702) 93 #define IR_RX_INTSTS_FIFO (1 << 1) 94 #define IR_RX_INTSTS_FER (1 << 2) 250 #if !defined(BL602) && !defined(BL702)
uint16_t pulse_width_unit
void bflb_ir_swm_send(struct bflb_device_s *dev, uint16_t *data, uint8_t length)
Send data in software mode.
void bflb_ir_tx_init(struct bflb_device_s *dev, const struct bflb_ir_tx_config_s *config)
Initialize ir tx.
void bflb_ir_rx_init(struct bflb_device_s *dev, const struct bflb_ir_rx_config_s *config)
Initialize ir rx.
uint8_t logic0_pulse_width_0
uint8_t head_pulse_width_1
uint32_t bflb_ir_get_txint_status(struct bflb_device_s *dev)
Get ir tx interrupt status.
uint8_t logic1_pulse_width_1
uint8_t logic1_pulse_width_0
void bflb_ir_rxint_clear(struct bflb_device_s *dev)
Clear ir rx interrupt.
uint8_t bflb_ir_get_rxfifo_cnt(struct bflb_device_s *dev)
Get ir rx fifo available count.
void bflb_ir_rxfifo_clear(struct bflb_device_s *dev)
Clear ir rx fifo.
void bflb_ir_txint_mask(struct bflb_device_s *dev, uint8_t int_type, bool mask)
Mask or unmask ir tx interrupt.
void bflb_ir_link_txdma(struct bflb_device_s *dev, bool enable)
Enable or disable ir tx dma mode.
void bflb_ir_txfifo_clear(struct bflb_device_s *dev)
Clear ir tx fifo.
uint8_t head_pulse_width_0
void bflb_ir_rxint_mask(struct bflb_device_s *dev, uint8_t int_type, bool mask)
Mask ir rx interrupt.
void bflb_ir_txint_clear(struct bflb_device_s *dev)
Clear ir tx interrupt.
uint8_t bflb_ir_get_txfifo_cnt(struct bflb_device_s *dev)
Get ir tx fifo available count.
uint8_t output_modulation
void bflb_ir_tx_enable(struct bflb_device_s *dev, bool enable)
Enable or disable ir tx.
void bflb_ir_send(struct bflb_device_s *dev, uint32_t *data, uint32_t length)
Send data in NEC/RC5/customize mode.
uint8_t bflb_ir_receive(struct bflb_device_s *dev, uint64_t *data)
Receive data in NEC/RC5/customize mode.
uint8_t bflb_ir_swm_receive(struct bflb_device_s *dev, uint16_t *data, uint8_t length)
Receive data in software mode.
IR RX configuration structure.
int bflb_ir_feature_control(struct bflb_device_s *dev, int cmd, size_t arg)
Control ir feature.
uint8_t logic0_pulse_width_1
uint8_t tail_pulse_width_0
uint8_t tail_pulse_width_1
uint32_t bflb_ir_get_rxint_status(struct bflb_device_s *dev)
Get ir rx interrupt status.
void bflb_ir_rx_enable(struct bflb_device_s *dev, bool enable)
Enable or disable ir rx.
IR TX configuration structure.