43 #include "hal_spi_rf.h" 50 #include "hal_nop_delay.h" 58 void trxRfSpiInterfaceInit()
60 log_printf(
"%s\n", __func__);
61 hal_gpio_cfg_output (RF_CS_PIN, 1);
62 hal_gpio_cfg_output (RF_SCK_PIN, 1);
64 hal_gpio_cfg_output (RF_MOSI_PIN, 1);
68 .miso_pin = RF_MISO_PIN,
69 .mosi_pin = RF_MOSI_PIN,
70 .sck_pin = RF_SCK_PIN,
71 .freq = HAL_SPIM_FREQ_2M,
75 .irq_priority = APP_IRQ_PRIORITY_HIGHEST,
76 .tx_done_handler = NULL,
77 .rx_done_handler = NULL,
106 rfStatus_t trx8BitRegAccess(uint8_t accessType, uint8_t addrByte, uint8_t *pData, uint16_t len)
121 uint8_t tx_buff[257];
122 tx_buff[0] = accessType|addrByte;
123 uint8_t rx_buff[257];
126 if((accessType&RADIO_READ_ACCESS) == RADIO_READ_ACCESS)
128 memset (&tx_buff[1], 0x00, len);
131 memcpy(pData,rx_buff + 1, len);
133 else if((accessType&RADIO_WRITE_ACCESS) == RADIO_WRITE_ACCESS)
135 memcpy (&tx_buff[1], pData, len);
142 readValue = rx_buff[0];
168 rfStatus_t trx16BitRegAccess(uint8_t accessType, uint8_t extAddr, uint8_t regAddr, uint8_t *pData, uint8_t len)
170 uint8_t readValue = 0;
185 uint8_t tx_buff[257];
186 tx_buff[0] = accessType|extAddr;
187 tx_buff[1] = regAddr;
188 uint8_t rx_buff[257];
191 if((accessType&RADIO_READ_ACCESS) == RADIO_READ_ACCESS)
193 memset (&tx_buff[2], 0x00, len);
196 memcpy(pData, &rx_buff[2], len);
198 else if((accessType&RADIO_WRITE_ACCESS) == RADIO_WRITE_ACCESS)
200 memcpy (&tx_buff[2], pData, len);
207 readValue = rx_buff[0];
227 rfStatus_t trxSpiCmdStrobe(uint8_t cmd)
void hal_spim_init(hal_spim_init_t *spim_init)
Function to Initiate the SPIM module.
void hal_spim_tx_rx(void *p_tx_data, uint32_t tx_len, void *p_rx_data, uint32_t rx_len)
Function to start communication.
uint32_t hal_spim_is_busy()
Function to check if SIPM module is available or not.