接口实现及说明
模块参数结构
typedef struct {
uint8_t uart_band; // 串口速率,默认9600
uint8_t uart_check_num; // 校验个数,默认8N1
uint8_t air_speed; // 空中速度,默认2.4k bps
uint8_t channel; // 通道选择,和通信频率有关。 通信频率(410 + CHAN*1M),默认433Mhz
uint8_t trans_mode; // 传输模式,有透明传输和定点传输。默认,透明传输。
uint8_t wakeup_time; // 唤醒时间,需要两端匹配。默认0ms,表示不休眠
bool fec_flag; // fec使能开关,默认关闭
uint8_t power; // 发送功率,典型值是1w
uint8_t addr_h; // 高位地址
uint8_t addr_l; // 低位地址
}as62t30
模块配置
/*
* brief: use to init the lora mode with ram
* 设置模块参数,模块内部断电丢失。
* @name: as62_set_device_config:
* @param:
* @config: 模块配置信息,包括设备地址,信道,空中速率,串口速率,串口格式,发射功率。
* @return: null
*/
bool as62_set_device_config(config);
/*
* brief: use to init the lora mode with flash
* 设置模块参数,模块内部断电不丢失。
* @name: as62_set_device_config_nv:
* @param:
* @config: 设备配置
* @return: null
*/
bool as62_set_device_config_nv(config);
设置通信秘钥
/*
* brief: To set the trans key
* 设置模块参数,模块内部断电不丢失。
* @name: as62_set_trans_key:
* @param:
* @ trans_key: 16 Bytes trans_key
* @return: void
*/
bool as62_set_trans_key(trans_key);
读取模块参数
/*
* brief: To get device config
* 读取模块参数,返回数据为6字节大小,
* @name: as62_get_device_config:
* @param:
* @void
* @return: void
*/
void as62_get_device_config(config);
读取模块硬件版本号
/*
* brief: To get device hard version
* 读取模块硬件版本号
* @name: as62_get_device_hd_ver:
* @param:
* @ver: 20字节,AS62-T30-V3.0
* @return: void
*/
void as62_get_device_hd_ver(ver);
读取模块电压
/*
* brief: To get device voltage
* 读取模块硬件版本号
* @name: as62_get_device_voltage:
* @param:
* @vol: uint16_t ,unit is mv, such as: 3100 mv
* @return: void
*/
void as62_get_device_voltage(vol);
读取模块软复位
/*
* brief: To reboot the device
* 读取模块硬件版本号
* @name: as62_soft_reset
* @param:
* @void
* @return: void
*/
void as62_soft_reset(void);
读取模块软复位
/*
* brief: To reboot the device
* lora模块软复位
* @name: as62_soft_reset
* @param:
* @void
* @return: void
*/
void as62_soft_reset(void);
恢复默认参数
/*
* brief: To restore factory settings
* 恢复出产设置
* @name: as62_device_restore
* @param:
* @void
* @return: void
*/
void as62_device_restore(void);
握手
/*
* brief: To check alive by handshack
* 恢复出产设置
* @name: as62_device_check_alive
* @param:
* @void
* @return: void
*/
bool as62_device_check_alive(void);
获取模块软件版本
/*
* brief: To get device soft version
* 恢复出产设置
* @name: as62_get_device_soft_ver
* @param:
* @void
* @return: void
*/
bool as62_get_device_soft_ver(ver);
获取通信rssi
/*
* brief: To get device trans rssi
* 恢复出产设置
* @name: as62_get_trans_rssi
* @param:
* @trans_rssi: trans rssi
* @return: void
*/
bool as62_get_trans_rssi(trans_rssi);
获取环境rssi
/*
* brief: To get env rssi
* 恢复出产设置
* @name: as62_get_env_rssi
* @param:
* @env_rssi: env rssi
* @return: void
*/
bool as62_get_trans_rssi(env_rssi);
设备是否繁忙
/*
* brief: To get env rssi
* 查看lora设备是否繁忙,繁忙期间,不可进行模式切换,数据发送等操作。
* @name: as62_check_is_busy
* @param:
* @void:
* @return: bool
*/
bool as62_check_is_busy(void);
工作模式切换
/*
* brief: To get env rssi
* 查看lora设备是否繁忙,繁忙期间,不可进行模式切换,数据发送等操作。
* @name: as62_set_work_mode
* @param:
* @as62_mode: it includes:
* [as62_normal] or
* [as62_power_save_mode] or
* [as62_wake_up_mode] or
* [as62_sleeping_mode]
* @return: bool,true means success
*/
bool as62_set_work_mode(as62_mode);