yincheng.zhong
2024-03-24 dbe010cbc556a3f07136b7eac67e62f115285db8
Src/radio/sx126x-board.c
@@ -23,7 +23,7 @@
#include "sx126x-board.h"
#include "main.h"
#include "stm32l0xx_hal_spi.h"
#include "Spi.h"
extern SPI_HandleTypeDef hspi1;
@@ -33,8 +33,15 @@
//    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
@@ -55,7 +62,7 @@
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 );
@@ -69,8 +76,8 @@
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);
    
@@ -84,7 +91,7 @@
{
    SX126xCheckDeviceReady( );
    SX126x_CS_Di( );
    HAL_GPIO_WritePin( RADIO_NSS_GPIO_Port, RADIO_NSS_Pin,GPIO_PIN_RESET);
    SpiInOut(( uint8_t )command );
@@ -105,7 +112,7 @@
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 );
@@ -123,7 +130,7 @@
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 );
@@ -149,7 +156,7 @@
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 );
@@ -176,7 +183,7 @@
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 );
@@ -194,7 +201,7 @@
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 );