| | |
| | | #include "sx126x-board.h" |
| | | #include "main.h" |
| | | #include "stm32l0xx_hal_spi.h" |
| | | |
| | | #include "Spi.h" |
| | | extern SPI_HandleTypeDef hspi1; |
| | | |
| | | |
| | |
| | | // tickstart = HAL_GetTick( ); |
| | | // while( ( HAL_GetTick( ) - tickstart ) < Delay ); |
| | | //} |
| | | void SX126x_CS_Di( ) |
| | | { |
| | | if(!HAL_GPIO_ReadPin( SPIx_CS_GPIO, SPIx_CS)) |
| | | { |
| | | HAL_GPIO_WritePin( SPIx_CS_GPIO, SPIx_CS,GPIO_PIN_SET); |
| | | printf("uwb_cs_error\r\n"); |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | /*! |
| | | * @brief Sends txBuffer and receives rxBuffer |
| | |
| | | void SX126xReset( void ) |
| | | { |
| | | HAL_Delay_nMS( 10 ); |
| | | HAL_GPIO_WritePin( RADIO_nRESET_GPIO_Port, RADIO_nRESET_Pin,GPIO_PIN_RESET); |
| | | HAL_GPIO_WritePin( RADIO_nRESET_GPIO_Port, RADIO_nRESET_Pin,GPIO_PIN_RESET); |
| | | delay_us( 2000 ); |
| | | HAL_GPIO_WritePin( RADIO_nRESET_GPIO_Port, RADIO_nRESET_Pin,GPIO_PIN_SET); |
| | | HAL_Delay_nMS( 10 ); |
| | |
| | | |
| | | void SX126xWakeup( void ) |
| | | { |
| | | SX126x_CS_Di( ); |
| | | HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); |
| | | |
| | | SpiInOut(RADIO_GET_STATUS); |
| | | SpiInOut(0); |
| | | |
| | |
| | | { |
| | | |
| | | SX126xCheckDeviceReady( ); |
| | | |
| | | SX126x_CS_Di( ); |
| | | HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); |
| | | |
| | | SpiInOut(( uint8_t )command ); |
| | |
| | | void SX126xReadCommand( RadioCommands_t command, uint8_t *buffer, uint16_t size ) |
| | | { |
| | | SX126xCheckDeviceReady( ); |
| | | |
| | | SX126x_CS_Di( ); |
| | | HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); |
| | | |
| | | SpiInOut(( uint8_t )command ); |
| | |
| | | void SX126xWriteRegisters( uint16_t address, uint8_t *buffer, uint16_t size ) |
| | | { |
| | | SX126xCheckDeviceReady( ); |
| | | |
| | | SX126x_CS_Di( ); |
| | | HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); |
| | | |
| | | SpiInOut(RADIO_WRITE_REGISTER ); |
| | |
| | | void SX126xReadRegisters( uint16_t address, uint8_t *buffer, uint16_t size ) |
| | | { |
| | | SX126xCheckDeviceReady( ); |
| | | |
| | | SX126x_CS_Di( ); |
| | | HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); |
| | | |
| | | SpiInOut(RADIO_READ_REGISTER ); |
| | |
| | | void SX126xWriteBuffer( uint8_t offset, uint8_t *buffer, uint8_t size ) |
| | | { |
| | | SX126xCheckDeviceReady( ); |
| | | |
| | | SX126x_CS_Di( ); |
| | | HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); |
| | | |
| | | SpiInOut( RADIO_WRITE_BUFFER ); |
| | |
| | | void SX126xReadBuffer( uint8_t offset, uint8_t *buffer, uint8_t size ) |
| | | { |
| | | SX126xCheckDeviceReady( ); |
| | | |
| | | SX126x_CS_Di( ); |
| | | HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET); |
| | | |
| | | SpiInOut( RADIO_READ_BUFFER ); |