You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
5.0 KiB
136 lines
5.0 KiB
/*
|
|
______ _
|
|
/ _____) _ | |
|
|
( (____ _____ ____ _| |_ _____ ____| |__
|
|
\____ \| ___ | (_ _) ___ |/ ___) _ \
|
|
_____) ) ____| | | || |_| ____( (___| | | |
|
|
(______/|_____)_|_|_| \__)_____)\____)_| |_|
|
|
(C)2015 Semtech
|
|
|
|
Description: Handling of the node configuration protocol // 节点配置协议的处理
|
|
|
|
License: Revised BSD License, see LICENSE.TXT file include in the project
|
|
|
|
Maintainer: Miguel Luis, Matthieu Verdy and Benjamin Boulet
|
|
*/
|
|
#ifndef __SX1280_HAL_H__
|
|
#define __SX1280_HAL_H__
|
|
|
|
//#include "hw.h"
|
|
#include "stdint.h"
|
|
|
|
#include "sx1280.h"
|
|
/*!
|
|
* * \brief Define which DIOs are connected
|
|
*/
|
|
#define RADIO_DIO1_ENABLE 1
|
|
#define RADIO_DIO2_ENABLE 0
|
|
#define RADIO_DIO3_ENABLE 0
|
|
|
|
void SX1280HalWaitOnBusy( void );
|
|
|
|
void SX1280HalInit( DioIrqHandler **irqHandlers );
|
|
|
|
void SX1280HalIoInit( void );
|
|
|
|
/*!
|
|
* \brief Soft resets the radio 软件复位 射频模块
|
|
*/
|
|
void SX1280HalReset( void );
|
|
|
|
/*!
|
|
* \brief Clears the instruction ram memory block 清除指令RAM内存块
|
|
*/
|
|
void SX1280HalClearInstructionRam( void );
|
|
|
|
/*!
|
|
* \brief Wakes up the radio 射频模块唤醒
|
|
*/
|
|
void SX1280HalWakeup( void );
|
|
|
|
/*!
|
|
* \brief Send a command that write data to the radio
|
|
* 发送 写指令 到射频模块
|
|
* \param [in] opcode Opcode of the command 需要写入的指令
|
|
* \param [in] buffer Buffer to be send to the radio 发送给射频模块的数据区
|
|
* \param [in] size Size of the buffer to send 要发送的数据大小
|
|
*/
|
|
void SX1280HalWriteCommand( RadioCommands_t opcode, uint8_t *buffer, uint16_t size );
|
|
|
|
/*!
|
|
* \brief Send a command that read data from the radio
|
|
* 发送从射频 模块读取到的数据 命令
|
|
* \param [in] opcode Opcode of the command 命令的操作码
|
|
* \param [out] buffer Buffer holding data from the radio 保存从无线电读取的数据的缓冲区
|
|
* \param [in] size Size of the buffer 缓冲区的大小
|
|
*/
|
|
void SX1280HalReadCommand( RadioCommands_t opcode, uint8_t *buffer, uint16_t size );
|
|
|
|
/*!
|
|
* \brief Write data to the radio memory 将 数据写入无线电内存
|
|
*
|
|
* \param [in] address The address of the first byte to write in the radio 要写入无线电的第一个字节的地址
|
|
* \param [in] buffer The data to be written in radio's memory 要写入无线电内存的数据
|
|
* \param [in] size The number of bytes to write in radio's memory要写入无线电内存的字节数
|
|
*/
|
|
void SX1280HalWriteRegisters( uint16_t address, uint8_t *buffer, uint16_t size );
|
|
|
|
/*!
|
|
* \brief Write a single byte of data to the radio memory 将单个字节的数据写入无线电内存
|
|
*
|
|
* \param [in] address The address of the first byte to write in the radio要写入无线电的第一个字节的地址
|
|
* \param [in] value The data to be written in radio's memory 要写入无线电内存的数据
|
|
*/
|
|
void SX1280HalWriteRegister( uint16_t address, uint8_t value );
|
|
|
|
/*!
|
|
* \brief Read data from the radio memory 从无线电内存读取数据
|
|
*
|
|
* \param [in] address The address of the first byte to read from the radio要从无线电读取的第一个字节的地址
|
|
* \param [out] buffer The buffer that holds data read from radio保存从无线电读取的数据的缓冲区
|
|
* \param [in] size The number of bytes to read from radio's memory 要从无线电内存读取的字节数
|
|
*/
|
|
void SX1280HalReadRegisters( uint16_t address, uint8_t *buffer, uint16_t size );
|
|
|
|
/*!
|
|
* \brief Read a single byte of data from the radio memory 从无线电内存读取单个字节的数据
|
|
*
|
|
* \param [in] address The address of the first byte to write in the
|
|
* radio 要写入无线电的第一个字节的地址
|
|
*
|
|
*
|
|
* \retval value The value of the byte at the given address in
|
|
* radio's memory 无线电内存中给定地址的字节的值
|
|
*/
|
|
uint8_t SX1280HalReadRegister( uint16_t address );
|
|
|
|
/*!
|
|
* \brief Write data to the buffer holding the payload in the radio 将数据写入无线电缓冲区,即载荷
|
|
*
|
|
* \param [in] offset The offset to start writing the payload 开始写入载荷的偏移量
|
|
* \param [in] buffer The data to be written (the payload)要写入的数据(载荷)
|
|
* \param [in] size The number of byte to be written要写入的字节数
|
|
*/
|
|
void SX1280HalWriteBuffer( uint8_t offset, uint8_t *buffer, uint8_t size );
|
|
|
|
/*!
|
|
* \brief Read data from the buffer holding the payload in the radio 从无线电缓冲区读取数据,
|
|
*
|
|
* \param [in] offset The offset to start reading the payload 开始读取载荷的偏移量
|
|
* \param [out] buffer A pointer to a buffer holding the data from the radio指向保存从无线电读取的数据的缓冲区的指针
|
|
* \param [in] size The number of byte to be read 要读取的字节数
|
|
*/
|
|
void SX1280HalReadBuffer( uint8_t offset, uint8_t *buffer, uint8_t size );
|
|
|
|
/*!
|
|
* \brief Returns the status of DIOs pins 返回DIOs引脚的状态
|
|
*
|
|
* \retval dioStatus A byte where each bit represents a DIO state:
|
|
* [ DIOx | BUSY ]
|
|
*/
|
|
uint8_t SX1280HalGetDioStatus( void );
|
|
|
|
void SX1280HalIoIrqInit( DioIrqHandler **irqHandlers );
|
|
void SX1280HalWriteCommand2( RadioCommands_t command, uint8_t *buffer, uint16_t size ) ;
|
|
|
|
#endif // __SX1280_HAL_H__
|
|
|