Infineon Logo AIROC BTSDK v4.6 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups

Data Structures

struct  IR_TX_CLOCK_SETTING
 The 20732 family includes an IRTX Hw block. More...
 

Typedefs

typedef enum IR_TX_STATUS_TAG IR_TX_STATUS
 IR Tx Status.
 
typedef enum IR_TX_STATE_TAG IR_TX_STATE
 IrTx Statemachine variables.
 

Enumerations

enum  { IR_TX_HW_FIFO_SIZE = 8 }
 IrTx HW Fifo Size.
 
enum  {
  HW_MIA_IR_CTL_INIT_ENTRY_INDEX_MASK = 0x0700, HW_MIA_IR_CTL_INIT_ENTRY_INDEX_SHIFT = 8, HW_MIA_IR_CTL_RAW_DATA_MASK = 0x0040, HW_MIA_IR_CTL_RAW_DATA_SHIFT = 6,
  HW_MIA_IR_CTL_CARRIER_MODULATE_MASK = 0x0020, HW_MIA_IR_CTL_CARRIER_MODULATE_ENABLE = 0x0020, HW_MIA_IR_CTL_CARRIER_MODULATE_DISABLE = 0x0000, HW_MIA_IR_CTL_CARRIER_MODULATE_SHIFT = 5,
  HW_MIA_IR_CTL_MODULATE_CLK_SRC_MASK = 0x0010, HW_MIA_IR_CTL_MODULATE_CLK_SRC_ACLK0 = 0x0000, HW_MIA_IR_CTL_MODULATE_CLK_SRC_ACLK1 = 0x0010, HW_MIA_IR_CTL_MODULATE_CLK_SRC_SHIFT = 4,
  HW_MIA_IR_CTL_INVERT_OUTPUT_MASK = 0x0008, HW_MIA_IR_CTL_INVERT_OUTPUT_ENABLE = 0x0008, HW_MIA_IR_CTL_INVERT_OUTPUT_DISABLE = 0x0000, HW_MIA_IR_CTL_INVERT_OUTPUT_SHIFT = 3,
  HW_MIA_IR_CTL_RAW_BIT_SRC_FINAL_MASK = 0x0004, HW_MIA_IR_CTL_RAW_BIT_SRC_FINAL_CMD_BIT_15 = 0x0004, HW_MIA_IR_CTL_RAW_BIT_SRC_PRE_BIT = 0x0000, HW_MIA_IR_CTL_RAW_BIT_SRC_FINAL_SHIFT = 2,
  HW_MIA_IR_CTL_RAW_BIT_SRC_PRE_MASK = 0x0002, HW_MIA_IR_CTL_RAW_BIT_SRC_PRE_PUART_TXD = 0x0002, HW_MIA_IR_CTL_RAW_BIT_SRC_PRE_IR_CTL_6 = 0x0000, HW_MIA_IR_CTL_RAW_BIT_SRC_PRE_SHIFT = 1,
  HW_MIA_IR_CTL_RESET_MASK = 0x0001, HW_MIA_IR_CTL_RESET_ACTIVE = 0x0001, HW_MIA_IR_CTL_RESET_INACTIVE = 0x0000, HW_MIA_IR_CTL_RESET_SHIFT = 0,
  HW_MIA_IR_BUF_CTL_WRITE_ENABLE_ALL_MASK = 0x00FF0000, HW_MIA_IR_BUF_CTL_WRITE_ENABLE_ENTRY_0_SHIFT = 16, HW_MIA_IR_BUF_CTL_INT_ENABLE_ALL_MASK = 0x0000FF00, HW_MIA_IR_BUF_CTL_INT_ENABLE_ENTRY_0_SHIFT = 8,
  HW_MIA_IR_BUF_CTL_READY_BIT_ALL_MASK = 0x000000FF, HW_MIA_IR_BUF_CTL_READY_BIT_ENTRY_0_SHIFT = 0, HW_MIA_IR_CMD_IR_WAIT_TIME_MASK = 0x7FFF, HW_MIA_IR_CMD_IR_RAW_BIT_MASK = 0x8000,
  HW_MIA_IR_CMD0_FIFO_INDEX_MASK = 0x70000, HW_MIA_IR_CMD0_FIFO_INDEX_SHIFT = 16, HW_MIA_IR_INT_STATUS_ALL_MASK = 0x00FF, HW_MIA_IR_INT_STATUS_ENTRY_0_SHIFT = 0
}
 Mia IR Control masks.
 
enum  IR_TX_STATUS_TAG { IR_TRANSMIT_FAIL, IR_TRANSMIT_SUCCESS }
 IR Tx Status.
 
enum  IR_TX_STATE_TAG { IR_TX_IDLE, IR_TX_PAYLOAD, IR_TX_BUSY, IR_TX_DONE }
 IrTx Statemachine variables.
 

Functions

void irtx_IrTx (void)
 IR TX initialization routine.
 
void irtx_doneInterruptHandler (void)
 Interrupt context TX done handler. Internal.
 
void irtx_doneHandler (void)
 IR TX done helper function. Internal.
 
void irtx_updateBufferControl (UINT32 readyUpdate)
 Update the buffer control registers. Internal.
 
void irtx_configure (IR_TX_CLOCK_SETTING irtxClockSet)
 Configures the IR TX HW block using the ACLK. More...
 
void irtx_processTxData (void)
 Runs the internal state machine. Internal.
 
void irtx_setIrTxPortPin (BYTE port, BYTE pin)
 Sets up the GPIO port nad ppin to use for IR TX.
 
IR_TX_STATUS irtx_sendData (const UINT16 *sendBuff, UINT32 pktLen, IR_TX_CLOCK_SETTING irtxClockSet)
 Transmits an array of IR tx entries. More...
 
BOOL8 irtx_isAvailable (void)
 This function checks if the IrTx HW is available for sending data. More...
 
void irtx_abortCurrentTransaction (void)
 Aborts a currently ongoing IR TX and returns the HW and driver to the idle state.
 

Detailed Description

Function Documentation

void irtx_configure ( IR_TX_CLOCK_SETTING  irtxClockSet)

Configures the IR TX HW block using the ACLK.

Parameters
irtxClockSetThe clock setting.
BOOL8 irtx_isAvailable ( void  )

This function checks if the IrTx HW is available for sending data.

Returns
TRUE if available, else FALSE.
IR_TX_STATUS irtx_sendData ( const UINT16 *  sendBuff,
UINT32  pktLen,
IR_TX_CLOCK_SETTING  irtxClockSet 
)

Transmits an array of IR tx entries.

Parameters
sendBuffPointer to an array of IR tx entries to add to tx hw fifo. The Application needs to make sure that this array does not get over written or corrupted while the transmit is still going on.
buffCountThe number of entries in array.
irtxClockSetThe structure to hold the clock settings.
  • clockSrc
  • clockSrcFreq
  • invertOutput
  • modulateFreq
Returns
Pass/fail indication