LoRa Basics™Modem用户手册v1.0文档
LoRa Basics™Modem API¶
LoRa Basics™Modem提供了一组实现低层LoRaWAN®网络通信的功能。这允许开发人员在高层工作,使用由单个命令函数组成的API执行与LoRaWAN网络的所有交互。本章详细介绍了构成LoRa Basics Modem API的功能。
smtc_modem_adr_get_profile ()¶
smtc_modem_return_code_tsmtc_modem_adr_get_profile(uint8_tstack_id,smtc_modem_adr_profile_t*adr_profile);
- 短暂的
-
获取当前自适应数据速率(ADR)配置文件。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
adr_profile
现有的ADR概要
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数adr_profile为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_adr_set_profile ()¶
smtc_modem_return_code_tsmtc_modem_adr_set_profile(uint8_tstack_id,smtc_modem_adr_profile_t*adr_profile常量uint8_tadr_custom_data[SMTC_MODEM_CUSTOM_ADR_DATA_LENGTH]);
- 短暂的
-
设置ADR配置文件。
- 讲话
-
如果选择“SMTC_MODEM_ADR_PROFILE_CUSTOM”,则会考虑自定义数据。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
adr_profile
需要配置ADR配置文件
(在)
adr_custom_data
自定义ADR配置文件的定义
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
一个或多个无效参数
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_alarm_clear_timer ()¶
smtc_modem_return_code_tsmtc_modem_alarm_clear_timer(无效);
- 短暂的
-
停止并清除报警计时器。
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_NOT_INIT
当前没有运行报警定时器
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_alarm_get_remaining_time ()¶
smtc_modem_return_code_tsmtc_modem_alarm_get_remaining_time(uint32_t*remaining_time_in_s);
- 短暂的
-
获取在告警触发事件前的剩余秒数。
- 参数
-
(出)
remaining_time_in_s
距离告警触发事件还有多少秒
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_NOT_INIT
当前没有运行报警定时器
SMTC_MODEM_RC_INVALID
参数remaining_time_in_s为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_alarm_start_timer ()¶
smtc_modem_return_code_tsmtc_modem_alarm_start_timer(uint32_talarm_timer_in_s);
- 短暂的
-
设置并启动闹钟定时器。
- 讲话
-
当定时器超时时,产生告警事件。
- 参数
-
(在)
alarm_timer_in_s
以秒为单位的报警计时器
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_connection_timeout_get_current_values ()¶
smtc_modem_return_code_tsmtc_modem_connection_timeout_get_current_values(uint8_tstack_id,uint16_t*nb_of_uplinks_before_network_controlled,uint16_t*nb_of_uplinks_before_reset);
- 短暂的
-
获取连接超时的当前状态。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
nb_of_uplinks_before_network_controlled
在ADR配置文件切换到网络控制之前,剩余的没有下行链路的上行链路数
(出)
nb_of_uplinks_before_reset
重置前未下行的剩余上行链路数
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数nb_of_uplinks_before_network_controlled和/或nb_of_uplinks_before_reset是零
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_connection_timeout_get_thresholds ()¶
smtc_modem_return_code_tsmtc_modem_connection_timeout_get_thresholds(uint8_tstack_id,uint16_t*nb_of_uplinks_before_network_controlled,uint16_t*nb_of_uplinks_before_reset);
- 短暂的
-
获取配置的连接超时阈值。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
nb_of_uplinks_before_network_controlled
ADR策略切换为网络控制前,不含下行链路的上行链路数
(出)
nb_of_uplinks_before_reset
复位前无下行上行链路数
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数nb_of_uplinks_before_network _controlled和/或nb_of_uplinks_before_reset是零
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_connection_timeout_set_thresholds ()¶
smtc_modem_return_code_tsmtc_modem_connection_timeout_set_thresholds(uint8_tstack_id,uint16_tnb_of_uplinks_before_network_controlled,uint16_tnb_of_uplinks_before_reset);
- 短暂的
-
设置连接超时阈值。
- 讲话
-
当值为0时,命令将失效。建议有nb_of_uplinks_before_network_controlled小于nb_of_uplink_before_reset.
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
nb_of_uplinks_before_network_controlled
ADR策略切换为网络控制前,不包含下行链路的上行链路数
(出)
nb_of_uplinks_before_reset
复位前没有下行链路的上行链路数
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_dm_get_fport ()¶
smtc_modem_return_code_tsmtc_modem_dm_get_fport(uint8_t*dm_fport);
- 短暂的
-
获取设备管理LoRaWAN FPort
- 参数
-
(出)
dm_fport
发送DM信息的FPort
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数dm_fport为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_dm_get_info_fields ()¶
smtc_modem_return_code_tsmtc_modem_dm_get_info_fields(uint8_t*dm_fields_payload,uint8_t*dm_field_length);
- 短暂的
-
获取设备管理(DM)信息字段。
- 参数
-
(在)
dm_fields_payload
中定义的DM字段LoRa Basics™调制解调器设备管理字段代码)
(在)
dm_field_length
DM字段长度
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数dm_fields_payload和/或dm_field_length是零
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_dm_get_info_interval ()¶
smtc_modem_return_code_tsmtc_modem_dm_get_info_interval(smtc_modem_dm_info_interval_format_t*格式,uint8_t*时间间隔);
- 短暂的
-
获取两个DM信息字段消息之间的间隔。
- 参数
-
(出)
格式
报告时间间隔的格式
(出)
时间间隔
格式中定义的单位间隔
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数格式和/或时间间隔是零
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_dm_get_user_data ()¶
smtc_modem_return_code_tsmtc_modem_dm_get_user_data(uint8_tuser_data[SMTC_MODEM_DM_USER_DATA_LENGTH]);
- 短暂的
-
获取设备管理帧报告的用户特定数据。
- 参数
-
(出)
user_data
特定于用户的数据
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数user_data为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_dm_request_single_uplink ()¶
smtc_modem_return_code_tsmtc_modem_dm_request_single_uplink(常量uint8_t*dm_fields_payload,uint8_tdm_field_length);
- 短暂的
-
请求即时DM状态。
- 讲话
-
内容独立于配置集smtc_modem_dm_set_info_fields ().
- 参数
-
(在)
dm_fields_payload
中定义的DM字段LoRa Basics™调制解调器设备管理字段代码)
(在)
dm_field_length
DM字段长度
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
无效或重复的字段代码或参数dm_fields_payload为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
smtc_modem_dm_set_fport ()¶
smtc_modem_return_code_tsmtc_modem_dm_set_fport(uint8_tdm_fport);
- 短暂的
-
设置LoRaWAN网络的设备管理FPort。
- 参数
-
(在)
dm_fport
发送DM信息的FPort。此值必须在[1:223]的范围内
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数dm_fport超出了[1:223]的范围
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_dm_set_info_fields ()¶
smtc_modem_return_code_tsmtc_modem_dm_set_info_fields(常量uint8_t*dm_fields_payload,uint8_tdm_field_length);
- 短暂的
-
设置DM信息字段定期发送。
- 讲话
-
两个DM信息字段消息之间的间隔定义为smtc_modem_dm_set_info_interval ().
- 参数
-
(在)
dm_fields_payload
DM字段(定义在LoRa Basics™调制解调器设备管理字段代码)
(在)
dm_field_length
DM字段长度
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
无效或重复的dm字段代码
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_dm_set_info_interval ()¶
smtc_modem_return_code_tsmtc_modem_dm_set_info_interval(smtc_modem_dm_info_interval_format_t格式,uint8_t时间间隔);
- 短暂的
-
设置两个DM信息字段消息的间隔时间。
- 讲话
-
设置为0的值将禁用该特性——无论格式如何。
- 参数
-
(在)
格式
报告间隔格式
(在)
时间间隔
以格式定义的单位为单位的间隔,从0到63
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
间隔不在[0:63]范围内
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_dm_set_user_data ()¶
smtc_modem_return_code_tsmtc_modem_dm_set_user_data(常量uint8_tuser_data[SMTC_MODEM_DM_USER_DATA_LENGTH]);
- 短暂的
-
设置设备管理帧报告的用户特定数据。
- 讲话
-
此字段只有在中被选中时才会发送smtc_modem_dm_set_info_fields ()或smtc_modem_dm_request_single_uplink ().
- 参数
-
(在)
user_data
特定于用户的数据
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_factory_reset ()¶
smtc_modem_return_code_tsmtc_modem_factory_reset(无效);
- 短暂的
-
将调制解调器复位到原始状态。
- 讲话
-
将所有与调制解调器相关的非易失性设置重置为默认值,然后重置MCU。只有LoRaWAN DevNonce被保留。
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_file_upload_init ()¶
smtc_modem_return_code_tsmtc_modem_file_upload_init(uint8_tstack_id,uint8_t指数,smtc_modem_file_upload_cipher_mode_tcipher_mode,常量uint8_t*文件,uint16_tfile_length,uint32_taverage_delay_s);
- 短暂的
-
创建并初始化文件上传会话。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
指数
在其上完成上传的索引
(在)
cipher_mode
密码模式
(在)
文件
文件缓冲区
(在)
file_length
文件大小
(在)
average_delay_s
两个文件上传片段之间的最小延迟,以秒为单位(从上行链路的结束到下一个上行链路的开始)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
file_length等于0或大于2048字节,或者“文件”指针为NULL
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式,或正在进行文件上传
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_file_upload_reset ()¶
smtc_modem_return_code_tsmtc_modem_file_upload_reset(uint8_tstack_id);
- 短暂的
-
重置文件上传会话。
- 讲话
-
此函数将停止任何正在进行的文件上传会话。
- 参数
-
(在)
stack_id
堆栈的标识符
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_NOT_INIT
当前没有运行文件上传会话
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_file_upload_start ()¶
smtc_modem_return_code_tsmtc_modem_file_upload_start(uint8_tstack_id);
- 短暂的
-
开始将文件上传到LoRa Cloud™Modem & Geolocation Services。
- 参数
-
(在)
stack_id
堆栈的标识符
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式,或正在进行文件上传
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
SMTC_MODEM_RC_BAD_SIZE
发送的总数据不匹配smtc_modem_file_upload_init()中声明的Size值
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_available_datarates ()¶
smtc_modem_return_code_tsmtc_modem_get_available_datarates(uint8_tstack_id,uint16_t*available_datarates_mask);
- 短暂的
-
获得当前可用的数据速率与上行ChMash和居住时间。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
available_datarates_mask
可用数据速率,用位字段表示
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数available_datarates_mask为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_certification_mode ()¶
smtc_modem_return_code_tsmtc_modem_get_certification_mode(uint8_tstack_id,保龄球*启用);
- 短暂的
-
获取认证模式的当前状态。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
启用
认证模式状态
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数启用为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_charge ()¶
smtc_modem_return_code_tsmtc_modem_get_charge(uint32_t*charge_mah);
- 短暂的
-
以毫安时为单位获取调制解调器的总计数器。
- 参数
-
(出)
charge_mah
累积电荷以毫安为单位
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数charge_mah为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_get_class ()¶
smtc_modem_return_code_tsmtc_modem_get_class(uint8_tstack_id,smtc_modem_class_t*lorawan_class);
- 短暂的
-
获取LoRaWAN网络使用的当前类。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
lorawan_class
当前LoRaWAN类
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_crystal_error ()¶
smtc_modem_return_code_tsmtc_modem_get_crystal_error(uint32_t*crystal_error_per_thousand);
- 短暂的
-
获取调制解调器晶体错误。
- 参数
-
(出)
crystal_error_per_thousand
“千分之一”的晶体误差
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数crystal_error_per_thousand为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_get_deveui ()¶
smtc_modem_return_code_tsmtc_modem_get_deveui(uint8_tstack_id,uint8_tdeveui[SMTC_MODEM_EUI_LENGTH]);
- 短暂的
-
DevEUI。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
deveui
当前DevEUI
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_duty_cycle_status ()¶
smtc_modem_return_code_tsmtc_modem_get_duty_cycle_status(int32_t*duty_cycle_status_ms);
- 短暂的
-
获取占空比的当前状态。
- 讲话
-
如果返回值为正,则表示该时间仍然可用。负值表示等待到带宽可用的时间。
- 参数
-
(出)
duty_cycle_status_ms
占空比的状态,以毫秒为单位
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数duty_cycle_status_ms为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_get_event ()¶
smtc_modem_return_code_tsmtc_modem_get_event(smtc_modem_event_t*事件,uint8_t*event_pending_count);
- 短暂的
-
获取调制解调器事件。
- 讲话
-
此命令可用于从调制解调器检索待处理事件。
- 参数
-
(出)
事件
结构保存与事件相关的信息
(出)
event_pending_count
待处理事件数量
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
以下参数中至少有一个为NULL:事件或event_pending_count
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_get_joineui ()¶
smtc_modem_return_code_tsmtc_modem_get_joineui(uint8_tstack_id,uint8_tjoineui[SMTC_MODEM_EUI_LENGTH]);
- 短暂的
-
JoinEUI。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
joineui
当前JoinEUI
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_lorawan_version ()¶
smtc_modem_return_code_tsmtc_modem_get_lorawan_version(smtc_modem_lorawan_version_t*lorawan_version);
- 短暂的
-
获取LoRaWAN网络使用的堆栈版本。
- 参数
-
(出)
lorawan_version
LoRaWAN版本
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数lorawan_version为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_get_modem_version ()¶
smtc_modem_return_code_tsmtc_modem_get_modem_version(smtc_modem_version_t*firmware_version);
- 短暂的
-
获取调制解调器固件版本。
- 参数
-
(出)
firmware_version
固件版本
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数firmware_version为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_get_nb_trans ()¶
smtc_modem_return_code_tsmtc_modem_get_nb_trans(uint8_tstack_id,uint8_t*nb_trans);
- 短暂的
-
获取配置的传输数(nb_trans)如未确认上行。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
nb_trans
传输的数量
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数nb_trans为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_network_frame_pending_status ()¶
smtc_modem_return_code_tsmtc_modem_get_network_frame_pending_status(uint8_tstack_id,smtc_modem_frame_pending_bit_status_t*frame_pending_bit_status);
- 短暂的
-
获取网络帧挂起状态。
- 讲话
-
当数据可用且需要下行机会时,该位由网络设置。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
frame_pending_bit_status
帧挂起位状态
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数frame_pending_bit_status为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_network_type ()¶
smtc_modem_return_code_tsmtc_modem_get_network_type(uint8_tstack_id,保龄球*network_type);
- 短暂的
-
获取配置的网络类型。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
network_type
要应用的配置(true:公网/ false:私网)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数network_type为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_next_tx_max_payload ()¶
smtc_modem_return_code_tsmtc_modem_get_next_tx_max_payload(uint8_tstack_id,uint8_t*tx_max_payload_size);
- 短暂的
-
获取可用于下一个上行链路的最大有效负载大小。
- 讲话
-
该值取决于LoRaWAN网络使用当前数据速率进行下一次传输时使用的区域参数。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
tx_max_payload_size
最大负载大小(以字节为单位)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数tx_max_payload_size为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
调制解调器未加入网络
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_region ()¶
smtc_modem_return_code_tsmtc_modem_get_region(uint8_tstack_id,smtc_modem_region_t*地区);
- 短暂的
-
获取LoRaWAN网络的当前区域。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
地区
目前的LoRaWAN地区
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数地区为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_regional_params_version ()¶
smtc_modem_return_code_tsmtc_modem_get_regional_params_version(smtc_modem_lorawan_version_t*regional_params_version);
- 短暂的
-
获取堆栈区域参数版本。
- 参数
-
(出)
regional_params_version
堆栈区域参数版本
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数regional_params_version为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_get_stack_state ()¶
smtc_modem_return_code_tsmtc_modem_get_stack_state(uint8_tstack_id,smtc_modem_stack_state_t*stack_state);
- 短暂的
-
获取堆栈的当前状态。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
stack_state
堆栈当前状态
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数stack_state为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_status ()¶
smtc_modem_return_code_tsmtc_modem_get_status(uint8_tstack_id,smtc_modem_status_mask_t*status_mask);
- 短暂的
-
获取调制解调器状态。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
status_mask
中定义的调制解调器状态smtc_modem_status_mask_e
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数status_mask为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_get_time ()¶
smtc_modem_return_code_tsmtc_modem_get_time(uint32_t*gps_time_s,uint32_t*gps_fractional_s);
- 短暂的
-
获取GPS epoch time。
- 讲话
-
返回的时间指定自GPS纪元(1980年1月6日星期日00:00:00)以来经过的秒数。
- 参数
-
(出)
gps_time_s
GPS时间以秒为单位
(出)
gps_fractional_s
GPS分数秒
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数gps_time_s或gps_fractional_s为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_NO_TIME
没有可用的时间
smtc_modem_get_tx_power_offset_db ()¶
smtc_modem_return_code_tsmtc_modem_get_tx_power_offset_db(uint8_tstack_id,int8_t*tx_pwr_offset_db);
- 短暂的
-
获取以dB为单位的Tx功率偏移量。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
tx_pwr_offset_db
以dB为单位的Tx功率偏移量
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数tx_pwr_offset_db为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_init ()¶
无效smtc_modem_init(常量ralk_t*广播,无效(*)(无效)回调);
短暂的初始化软调制解调器并设置调制解调器事件选择回调。
讲话每次内部引发调制解调器事件时,都会调用回调函数。
- 参数
-
(在)
回调
用户事件回调原型
smtc_modem_join_network ()¶
smtc_modem_return_code_tsmtc_modem_join_network(uint8_tstack_id);
- 短暂的
-
加入网络。
- 参数
-
(在)
stack_id
堆栈的标识符
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误或调制解调器已加入网络
SMTC_MODEM_RC_BUSY
调制解调器当前处于测试模式或连接/连接状态
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起或静音)
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_lbt_get_parameters ()¶
smtc_modem_return_code_tsmtc_modem_lbt_get_parameters(uint8_tstack_id,uint32_t*listening_duration_ms,int16_t*threshold_dbm,uint32_t*bw_hz);
- 短暂的
-
获取先听后说功能的参数。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
listening_duration_ms
当前收听时长,单位为毫秒
(出)
threshold_dbm
dbm中当前先听后说的阈值
(出)
bw_hz
当前先听后说带宽,单位为赫兹
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
至少一个指针是NULL
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_lbt_get_state ()¶
smtc_modem_return_code_tsmtc_modem_lbt_get_state(uint8_tstack_id,保龄球*启用);
- 短暂的
-
获取先听后说功能的状态。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
启用
先听后说特性的当前状态(true:启用,false:关闭)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数启用为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_lbt_set_parameters ()¶
smtc_modem_return_code_tsmtc_modem_lbt_set_parameters(uint8_tstack_id,uint32_tlistening_duration_ms,int16_tthreshold_dbm,uint32_tbw_hz);
- 短暂的
-
设置“先听后说”特性的参数。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
listening_duration_ms
要配置的监听时长,以毫秒为单位
(在)
threshold_dbm
要配置dbm中的先听后说阈值
(在)
bw_hz
要配置的先听后说带宽(以赫兹为单位)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_lbt_set_state ()¶
smtc_modem_return_code_tsmtc_modem_lbt_set_state(uint8_tstack_id,保龄球启用);
- 短暂的
-
启用或禁用“先听后说”功能。
- 讲话
-
配置功能smtc_modem_lbt_set_parameters ()必须在启用“先听后说”功能之前调用。“先听后说”是静音启用的,如果该功能在用选择的区域是强制的smtc_modem_set_region ().
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
启用
要设置的先听后说特性的状态(true:启用,false:禁用)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_leave_network ()¶
smtc_modem_return_code_tsmtc_modem_leave_network(uint8_tstack_id);
- 短暂的
-
离开已经加入的网络或取消正在进行的加入过程。
- 参数
-
(在)
stack_id
堆栈的标识符
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_lorawan_request_link_check ()¶
smtc_modem_return_code_tsmtc_modem_lorawan_request_link_check(uint8_tstack_id);
- 短暂的
-
向网络请求Link Check Req MAC命令。
- 讲话
-
请求将在新的上行链路帧中发送。
- 参数
-
(在)
stack_id
堆栈的标识符
- 返回
-
在smtc_modem_return_code_t中定义的调制解调器返回代码
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_multicast_get_grp_config ()¶
smtc_modem_return_code_tsmtc_modem_multicast_get_grp_config(uint8_tstack_id,smtc_modem_mc_grp_id_tmc_grp_id,uint32_t*mc_grp_addr);
- 短暂的
-
获取所选组播组的配置。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
mc_grp_id
多播组标识符
(出)
mc_grp_addr
多播组地址
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
组ID不在可接受的范围[0:3]或参数内mc_grp_addr为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_multicast_get_session_status ()¶
smtc_modem_return_code_tsmtc_modem_multicast_get_session_status(uint8_tstack_id,smtc_modem_mc_grp_id_tmc_grp_id,保龄球*is_session_started,uint32_t*频率,uint8_t*博士);
- 短暂的
-
获取所选组的多播会话状态。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
mc_grp_id
多播组标识符
(出)
is_session_started
会话状态
(出)
频率
会话下行频率
(出)
博士
会话下行数据速率
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
组ID不在可接受的范围[0:3]或参数为NULL
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_multicast_set_grp_config ()¶
smtc_modem_return_code_tsmtc_modem_multicast_set_grp_config(uint8_tstack_id,smtc_modem_mc_grp_id_tmc_grp_id,uint32_tmc_grp_addr,常量uint8_tmc_nwk_skey[SMTC_MODEM_KEY_LENGTH),常量uint8_tmc_app_skey[SMTC_MODEM_KEY_LENGTH]);
- 短暂的
-
配置组播组。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
mc_grp_id
Mlticast组标识符
(在)
mc_grp_addr
多播组地址
(在)
mc_nwk_skey
组的多播网络会话密钥
(在)
mc_app_skey
组播应用程序会话密钥
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
组ID不在可接受范围[0:3]
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
加密过程中的错误;在这个ID上已经存在一个正在运行的会话
smtc_modem_multicast_start_session ()¶
smtc_modem_return_code_tsmtc_modem_multicast_start_session(uint8_tstack_id,mtc_modem_mc_grp_id_tmc_grp_id,uint32_t频率,uint8_t博士);
- 短暂的
-
为特定的组启动一个多播会话。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
mc_grp_id
多播组标识符
(在)
频率
此会话的下行频率
(在)
博士
此会话的下行数据速率
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
组ID不在可接受范围[0:3]内。频率或数据速率不在可接受范围内(根据当前区域参数)。频率或数据速率与已经运行的多播会话不兼容
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
此会话已经开始
smtc_modem_multicast_stop_all_sessions ()¶
smtc_modem_return_code_tsmtc_modem_multicast_stop_all_sessions(uint8_tstack_id);
- 短暂的
-
停止所有已启动的多播会话。
- 参数
-
(在)
stack_id
堆栈的标识符
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_multicast_stop_session ()¶
smtc_modem_return_code_tsmtc_modem_multicast_stop_session(uint8_tstack_id,smtc_modem_mc_grp_id_tmc_grp_id);
- 短暂的
-
停止所选组的多播会话。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
mc_grp_id
多播组标识符
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
组ID不在可接受范围[0:3]
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_request_emergency_uplink ()¶
smtc_modem_return_code_tsmtc_modem_request_emergency_uplink(uint8_tstack_id,uint8_tfport,保龄球确认,常量uint8_t*有效载荷,uint8_tpayload_length);
- 短暂的
-
请求立即上行至LoRaWAN网络。
- 讲话
-
这比所有其他服务具有更高的优先级,并且不考虑工作周期限制。它可以用来实时发出报警信号(如烟雾报警),但应该谨慎使用!
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
fport
LoRaWAN上行端口
(在)
确认
消息类型(true:已确认,false:未确认)
(在)
有效载荷
待发送的数据
(在)
payload_length
从有效负载发送的字节数
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数fport是否超出[1:223]范围或等于dm_fport
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_request_empty_uplink ()¶
smtc_modem_return_code_tsmtc_modem_request_empty_uplink(uint8_tstack_id,保龄球send_fport,uint8_tfport,保龄球确认);
- 短暂的
-
请求到无负载LoRaWAN网络的上行链路,和一个可选的FPort。
- 讲话
-
可用于创建下行链接机会或心跳,而不涉及到AS的消息路由。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
send_fport
将FPort添加到有效负载(true:添加FPort, false:发送不带FPort)
(在)
fport
LoRaWAN FPort(如果使用),用于上行链路
(在)
确认
消息类型(true:已确认,false:未确认)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数fport是否超出[1;223]范围或等于dm_fport
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_request_uplink ()¶
smtc_modem_return_code_tsmtc_modem_request_uplink(uint8_tstack_id,uint8_tfport,保龄球确认,常量uint8_t*有效载荷,uint8_tpayload_length);
- 短暂的
-
请求到LoRaWAN网络的上行链路。
- 讲话
-
LoRaWANNbTrans参数可以设置在手机和自定义ADR模式与smtc_modem_set_nb_trans ().
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
fport
LoRaWAN上行端口
(在)
确认
消息类型(true:已确认,false:未确认)
(在)
有效载荷
待发送的数据
(在)
payload_length
从有效负载发送的字节数
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数fport超出[1:223]范围还是等于dm_fport
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_reset ()¶
smtc_modem_return_code_tsmtc_modem_reset(无效)
- 短暂的
-
重置调制解调器。
- 讲话
-
通过复位MCU复位调制解调器的暂态状态(包括会话信息)。保留“设备管理端口”、“调制解调器区域”和“LoRaWAN DevNonce”。
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_reset_charge ()¶
smtc_modem_return_code_tsmtc_modem_reset_charge(无效)
- 短暂的
-
重置调制解调器的总计费计数器。
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_resume_after_user_radio_access ()¶
smtc_modem_return_code_tsmtc_modem_resume_after_user_radio_access(无效)
- 短暂的
-
允许调制解调器访问无线电。
- 讲话
-
用户必须在执行需要直接访问无线电的操作(例如测试模式)后调用此函数。否则,所有与调制解调器相关的任务都将处于等待状态。
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_run_engine ()¶
uint32_tsmtc_modem_run_engine(无效)
短暂的运行调制解调器引擎。
讲话这个命令必须在主循环中调用。它返回一个ms值,在此之后至少必须再次调用该命令。
返回以毫秒为单位的时间,在此时间之后至少必须再次调用该命令。
smtc_modem_set_certification_mode ()¶
smtc_modem_return_code_tsmtc_modem_set_certification_mode(uint8_tstack_id,保龄球启用);
- 短暂的
-
开启/关闭证书模式。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
启用
认证模式状态(默认:禁用)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_set_class ()¶
smtc_modem_return_code_tsmtc_modem_set_class(uint8_tstack_id,smtc_modem_class_tlorawan_class);
- 短暂的
-
设置LoRaWAN网络使用的类。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
lorawan_class
要配置LoRaWAN类
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_set_crystal_error ()¶
smtc_modem_return_code_tsmtc_modem_set_crystal_error(uint32_tcrystal_error_per_thousand);
- 短暂的
-
设置调制解调器晶体错误。
- 参数
-
(在)
crystal_error_per_thousand
“千分之一”的晶体误差
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数crystal_error_per_thousand不在[0:10]范围内
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_set_deveui ()¶
smtc_modem_return_code_tsmtc_modem_set_deveui(uint8_tstack_id,常量uint8_tdeveui[SMTC_MODEM_EUI_LENGTH]);
- 短暂的
-
设置DevEUI。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
deveui
需要配置DevEUI
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器当前处于测试模式或连接/连接状态
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_set_joineui ()¶
smtc_modem_return_code_tsmtc_modem_set_joineui(uint8_tstack_id,常量uint8_tjoineui[SMTC_MODEM_EUI_LENGTH]);
- 短暂的
-
设置JoinEUI。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
joineui
需要配置的JoinEUI
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器当前处于测试模式或连接/连接状态
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_set_nb_trans ()¶
smtc_modem_return_code_tsmtc_modem_set_nb_trans(uint8_tstack_id,uint8_tnb_trans);
- 短暂的
-
设置传输的数量(nb_trans)如未确认上行。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
nb_trans
传输数(0 < value < 16)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数nb_trans不在[1:15]范围内,或当前ADR概要为“网络控制”
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_set_network_type ()¶
smtc_modem_return_code_tsmtc_modem_set_network_type(uint8_tstack_id,保龄球network_type);
- 短暂的
-
配置网络类型为private或public。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
network_type
要应用的配置(true:公网/ false:私网)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数network_type为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_set_nwkkey ()¶
smtc_modem_return_code_tsmtc_modem_set_nwkkey(uint8_tstack_id,常量uint8_tnwkkey[SMTC_MODEM_KEY_LENGTH]);
- 短暂的
-
设置LoRaWAN v1.1。x网络密钥。应用程序的关键在LoRaWAN v1.0.x)
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
nwkkey
要配置的密钥
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器当前处于测试模式或连接/连接状态
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_set_region ()¶
smtc_modem_return_code_tsmtc_modem_set_region(uint8_tstack_id,smtc_modem_region_t地区);
- 短暂的
-
设置LoRaWAN网络使用的区域。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
地区
需要配置LoRaWAN区域
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
所选区域不受支持
SMTC_MODEM_RC_BUSY
调制解调器当前处于测试模式或连接/连接状态
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_set_tx_power_offset_db ()¶
smtc_modem_return_code_tsmtc_modem_set_tx_power_offset_db(uint8_tstack_id,int8_ttx_pwr_offset_db);
- 短暂的
-
以dB为单位设置Tx功率偏移量。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
tx_pwr_offset_db
以dB为单位的Tx功率偏移
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数tx_pwr_offset_db超出了范围
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_stream_add_data ()¶
smtc_modem_return_code_tsmtc_modem_stream_add_data(uint8_tstack_id,常量uint8_t*数据,uint8_tlen);
- 短暂的
-
向流添加数据。
- 讲话
-
如果没有初始化流,在DM FPort上打开一个新的未加密流,冗余比设置为110%。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
数据
要添加到流中的数据
(在)
len
要添加到流的数据的字节数
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
数据长度不在范围[1-254]或参数内数据为空
SMTC_MODEM_RC_BUSY
调制解调器当前处于测试模式或流缓冲区已满
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_stream_init ()¶
smtc_modem_return_code_tsmtc_modem_stream_init(uint8_tstack_id,uint8_tfport,smtc_modem_stream_cipher_mode_tcipher_mode,);
- 短暂的
-
创建并初始化一个数据流。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
fport
流被发送的端口。0使用已配置的DM端口
(在)
redundancy_ratio_percent
流冗余率。
(在)
cipher_mode
密码模式
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
FPort超出了[0:223]的范围
SMTC_MODEM_RC_BUSY
调制解调器当前处于测试模式或流缓冲区不为空
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_stream_status ()¶
smtc_modem_return_code_tsmtc_modem_stream_status(uint8_tstack_id,uint16_t*等待,uint16_t*免费的);
- 短暂的
-
返回当前流状态。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
等待
待传输数据的长度
(出)
免费的
缓冲区中可用空间的长度
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_NOT_INIT
没有流会话正在运行
SMTC_MODEM_RC_INVALID
参数等待和/或免费的是零
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_suspend_before_user_radio_access ()¶
smtc_modem_return_code_tsmtc_modem_suspend_before_user_radio_access(无效)
- 短暂的
-
通过暂停调制解调器并终止所有当前调制解调器无线电任务授予用户无线电访问权限。
- 讲话
-
用户必须在执行需要直接访问无线电的操作(例如测试模式)之前调用此命令。否则,可能会发生未定义的行为。
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_suspend_radio_communications ()¶
smtc_modem_return_code_tsmtc_modem_suspend_radio_communications(保龄球暂停);
- 短暂的
-
暂停由调制解调器发起的无线电通信。
- 参数
-
(在)
暂停
要应用的配置(true:暂停通信/ false:恢复通信)
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_time_get_alcsync_fport ()¶
smtc_modem_return_code_tsmtc_modem_time_get_alcsync_fport(uint8_t*alcsync_fport);
- 短暂的
-
获取ALCSync服务FPort。
- 参数
-
(出)
alcsync_fport
时钟同步FPort
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数alcsync_fport为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_time_get_sync_interval_s ()¶
smtc_modem_return_code_tsmtc_modem_time_get_sync_interval_s(uint32_t*sync_interval_s);
- 短暂的
-
获取时间同步之间的间隔。
- 参数
-
(出)
sync_interval_s
以秒为单位的间隔
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数sync_interval_s为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_time_get_sync_invalid_delay_s ()¶
smtc_modem_return_code_tsmtc_modem_time_get_sync_invalid_delay_s(uint32_t*sync_invalid_delay_s);
- 短暂的
-
获取已配置的延迟,超过该延迟时间同步将不再有效。
- 参数
-
(出)
sync_invalid_delay_s
无效延迟,以秒为单位
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数sync_invalid_delay_s为空
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_time_set_alcsync_fport ()¶
smtc_modem_return_code_tsmtc_modem_time_set_alcsync_fport(uint8_talcsync_fport);
- 短暂的
-
设置ALCSync服务端口。
- 讲话
-
当使用DM端口时alcsync_fport, ALCsync消息将被封装到DM帧中。
- 参数
-
(在)
alcsync_fport
ALCSync消息的FPort。值为0或当前配置的DM端口,将其封装到DM消息中
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数alcsync_fport无效:超出[0:223]范围
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_time_set_sync_interval_s ()¶
smtc_modem_return_code_tsmtc_modem_time_set_sync_interval_s(uint32_tsync_interval_s);
- 短暂的
-
设置两次时间同步的间隔。
- 参数
-
(在)
sync_interval_s
间隔,单位为秒
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数sync_interval_s如果它超过了调制解调器认为时间同步不再有效的延迟,则无效。详细信息请参见smtc_modem_time_set_sync_invalid_delay_s()。
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_time_set_sync_invalid_delay_s ()¶
smtc_modem_return_code_tsmtc_modem_time_set_sync_invalid_delay_s(uint32_tsync_invalid_delay_s);
- 短暂的
-
设置延迟,超过此延迟,调制解调器将不再认为时间同步有效。
- 讲话
-
如果一段时间内没有收到时间同步下行链路,调制解调器将生成SMTC_MODEM_EVENT_TIME事件sync_invalid_delay_s.
- 参数
-
(在)
sync_invalid_delay_s
无效延迟,以秒为单位
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_INVALID
参数sync_invalid_delay_s>是49天吗
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_time_start_sync_service ()¶
smtc_modem_return_code_tsmtc_modem_time_start_sync_service(uint8_tstack_id,smtc_modem_time_sync_service_tsync_service);
- 短暂的
-
启动选定的时间同步服务。
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
sync_service
要使用的时间同步服务
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
时间同步服务已经在运行
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_time_stop_sync_service ()¶
smtc_modem_return_code_tsmtc_modem_time_stop_sync_service(uint8_tstack_id);
- 短暂的
-
停止当前时间同步服务。
- 参数
-
(在)
stack_id
堆栈的标识符
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
没有运行时间同步服务
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
smtc_modem_time_trigger_sync_request ()¶
smtc_modem_return_code_tsmtc_modem_time_trigger_sync_request(uint8_tstack_id,smtc_modem_time_sync_service_tsync_service);
- 短暂的
-
触发上行请求时间,使用当前激活的服务smtc_modem_time_start_sync_service ().
- 参数
-
(在)
stack_id
堆栈的标识符
(在)
sync_service
要使用的时间同步服务
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
SMTC_MODEM_RC_FAIL
调制解调器不可用(挂起、静音或未连接)
SMTC_MODEM_RC_INVALID_STACK_ID
无效的stack_id
LoRa Basics™Modem API LR1110扩展¶
以下功能组成了LoRa Basics™Modem API LR1110扩展。
smtc_modem_derive_keys ()¶
smtc_modem_return_code_tsmtc_modem_derive_keys()(uint8_tstack_id);
- 短暂的
-
如果适用,派生键。
- 讲话
-
此命令只能在带有LR1110收音机的LoRa Basics调制解调器上使用。
- 参数
-
(在)
stack_id
堆栈的标识符
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_FAIL
错误产生的关键
smtc_modem_get_chip_eui ()¶
smtc_modem_return_code_tsmtc_modem_get_chip_eui()(uint8_tstack_id,uint8_tchip_eui[SMTC_MODEM_EUI_LENGTH]);
- 短暂的
-
获得调制解调器芯片EUI,如果适用。
- 讲话
-
此命令只能在带有LR1110收音机的LoRa Basics调制解调器上使用。从已保存的dev_eui(默认设置为chip_eui)并保存join_eui.
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
chip_eui *
8字节芯片EUI号
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
smtc_modem_get_pin ()¶
smtc_modem_return_code_tsmtc_modem_get_pin()(uint8_tstack_id,uint8_tchip_pin[SMTC_MODEM_PIN_LENGTH]);
- 短暂的
-
获取调制解调器pin码,如果适用。
- 讲话
-
此命令只能在带有LR1110收音机的LoRa Basics调制解调器上使用。
- 参数
-
(在)
stack_id
堆栈的标识符
(出)
chip_pin *
4字节的pin码
- 返回
-
中定义的调制解调器返回码smtc_modem_return_code_t.
- 返回值
-
SMTC_MODEM_RC_OK
命令执行无误
SMTC_MODEM_RC_BUSY
调制解调器目前处于测试模式
LoRa Basics™Modem用户手册v1.0文档
- LoRa Basics™Modem事件定义
- LoRa Basics™调制解调器设备管理字段代码
- LoRa Basics™Modem API返回代码
- LoRa Basics™Modem API
- smtc_modem_adr_get_profile ()
- smtc_modem_adr_set_profile ()
- smtc_modem_alarm_clear_timer ()
- smtc_modem_alarm_get_remaining_time ()
- smtc_modem_alarm_start_timer ()
- smtc_modem_connection_timeout_get_current_values ()
- smtc_modem_connection_timeout_get_thresholds ()
- smtc_modem_connection_timeout_set_thresholds ()
- smtc_modem_dm_get_fport ()
- smtc_modem_dm_get_info_fields ()
- smtc_modem_dm_get_info_interval ()
- smtc_modem_dm_get_user_data ()
- smtc_modem_dm_request_single_uplink ()
- smtc_modem_dm_set_fport ()
- smtc_modem_dm_set_info_fields ()
- smtc_modem_dm_set_info_interval ()
- smtc_modem_dm_set_user_data ()
- smtc_modem_factory_reset ()
- smtc_modem_file_upload_init ()
- smtc_modem_file_upload_reset ()
- smtc_modem_file_upload_start ()
- smtc_modem_get_available_datarates ()
- smtc_modem_get_certification_mode ()
- smtc_modem_get_charge ()
- smtc_modem_get_class ()
- smtc_modem_get_crystal_error ()
- smtc_modem_get_deveui ()
- smtc_modem_get_duty_cycle_status ()
- smtc_modem_get_event ()
- smtc_modem_get_joineui ()
- smtc_modem_get_lorawan_version ()
- smtc_modem_get_modem_version ()
- smtc_modem_get_nb_trans ()
- smtc_modem_get_network_frame_pending_status ()
- smtc_modem_get_network_type ()
- smtc_modem_get_next_tx_max_payload ()
- smtc_modem_get_region ()
- smtc_modem_get_regional_params_version ()
- smtc_modem_get_stack_state ()
- smtc_modem_get_status ()
- smtc_modem_get_time ()
- smtc_modem_get_tx_power_offset_db ()
- smtc_modem_init ()
- smtc_modem_join_network ()
- smtc_modem_lbt_get_parameters ()
- smtc_modem_lbt_get_state ()
- smtc_modem_lbt_set_parameters ()
- smtc_modem_lbt_set_state ()
- smtc_modem_leave_network ()
- smtc_modem_lorawan_request_link_check ()
- smtc_modem_multicast_get_grp_config ()
- smtc_modem_multicast_get_session_status ()
- smtc_modem_multicast_set_grp_config ()
- smtc_modem_multicast_start_session ()
- smtc_modem_multicast_stop_all_sessions ()
- smtc_modem_multicast_stop_session ()
- smtc_modem_request_emergency_uplink ()
- smtc_modem_request_empty_uplink ()
- smtc_modem_request_uplink ()
- smtc_modem_reset ()
- smtc_modem_reset_charge ()
- smtc_modem_resume_after_user_radio_access ()
- smtc_modem_run_engine ()
- smtc_modem_set_certification_mode ()
- smtc_modem_set_class ()
- smtc_modem_set_crystal_error ()
- smtc_modem_set_deveui ()
- smtc_modem_set_joineui ()
- smtc_modem_set_nb_trans ()
- smtc_modem_set_network_type ()
- smtc_modem_set_nwkkey ()
- smtc_modem_set_region ()
- smtc_modem_set_tx_power_offset_db ()
- smtc_modem_stream_add_data ()
- smtc_modem_stream_init ()
- smtc_modem_stream_status ()
- smtc_modem_suspend_before_user_radio_access ()
- smtc_modem_suspend_radio_communications ()
- smtc_modem_time_get_alcsync_fport ()
- smtc_modem_time_get_sync_interval_s ()
- smtc_modem_time_get_sync_invalid_delay_s ()
- smtc_modem_time_set_alcsync_fport ()
- smtc_modem_time_set_sync_interval_s ()
- smtc_modem_time_set_sync_invalid_delay_s ()
- smtc_modem_time_start_sync_service ()
- smtc_modem_time_stop_sync_service ()
- smtc_modem_time_trigger_sync_request ()
- LoRa Basics™Modem API LR1110扩展
- 命令序列
- 移植