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_profileuint8_tstack_idsmtc_modem_adr_profile_tadr_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_profileuint8_tstack_idsmtc_modem_adr_profile_tadr_profile常量uint8_tadr_custom_dataSMTC_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_timeuint32_tremaining_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_timeruint32_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_valuesuint8_tstack_iduint16_tnb_of_uplinks_before_network_controlleduint16_tnb_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_thresholdsuint8_tstack_iduint16_tnb_of_uplinks_before_network_controlleduint16_tnb_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_thresholdsuint8_tstack_iduint16_tnb_of_uplinks_before_network_controlleduint16_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_fportuint8_tdm_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_fieldsuint8_tdm_fields_payloaduint8_tdm_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_intervalsmtc_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_datauint8_tuser_dataSMTC_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_set_fport ()

smtc_modem_return_code_tsmtc_modem_dm_set_fportuint8_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_tdm_fields_payloaduint8_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_intervalsmtc_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_dataSMTC_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_inituint8_tstack_iduint8_t指数smtc_modem_file_upload_cipher_mode_tcipher_mode常量uint8_t文件uint16_tfile_lengthuint32_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_resetuint8_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_startuint8_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_dataratesuint8_tstack_iduint16_tavailable_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_modeuint8_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_chargeuint32_tcharge_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_classuint8_tstack_idsmtc_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_get_crystal_error ()

smtc_modem_return_code_tsmtc_modem_get_crystal_erroruint32_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为空

SMTC_MODEM_RC_BUSY

调制解调器目前处于测试模式

smtc_modem_get_deveui ()

smtc_modem_return_code_tsmtc_modem_get_deveuiuint8_tstack_iduint8_tdeveuiSMTC_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_statusint32_tduty_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_eventsmtc_modem_event_t事件uint8_tevent_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_joineuiuint8_tstack_iduint8_tjoineuiSMTC_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_versionsmtc_modem_lorawan_version_tlorawan_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_versionsmtc_modem_version_tfirmware_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_transuint8_tstack_iduint8_tnb_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_statusuint8_tstack_idsmtc_modem_frame_pending_bit_status_tframe_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_typeuint8_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_payloaduint8_tstack_iduint8_ttx_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_regionuint8_tstack_idsmtc_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_versionsmtc_modem_lorawan_version_tregional_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_stateuint8_tstack_idsmtc_modem_stack_state_tstack_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_statusuint8_tstack_idsmtc_modem_status_mask_tstatus_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_timeuint32_tgps_time_suint32_tgps_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_sgps_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_dbuint8_tstack_idint8_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_init ()

无效smtc_modem_init常量ralk_t广播无效)(无效回调);

短暂的初始化软调制解调器并设置调制解调器事件选择回调。

讲话每次内部引发调制解调器事件时,都会调用回调函数。

参数

(在)

回调

用户事件回调原型

smtc_modem_join_network ()

smtc_modem_return_code_tsmtc_modem_join_networkuint8_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_parametersuint8_tstack_iduint32_tlistening_duration_msint16_tthreshold_dbmuint32_tbw_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_stateuint8_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_parametersuint8_tstack_iduint32_tlistening_duration_msint16_tthreshold_dbmuint32_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_stateuint8_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_networkuint8_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_multicast_get_grp_config ()

smtc_modem_return_code_tsmtc_modem_multicast_get_grp_configuint8_tstack_idsmtc_modem_mc_grp_id_tmc_grp_iduint32_tmc_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_statusuint8_tstack_idsmtc_modem_mc_grp_id_tmc_grp_id保龄球is_session_starteduint32_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_configuint8_tstack_idsmtc_modem_mc_grp_id_tmc_grp_iduint32_tmc_grp_addr常量uint8_tmc_nwk_skeySMTC_MODEM_KEY_LENGTH),常量uint8_tmc_app_skeySMTC_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_sessionuint8_tstack_idmtc_modem_mc_grp_id_tmc_grp_iduint32_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_sessionsuint8_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_sessionuint8_tstack_idsmtc_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_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_modeuint8_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_classuint8_tstack_idsmtc_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_erroruint32_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_deveuiuint8_tstack_id常量uint8_tdeveuiSMTC_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_joineuiuint8_tstack_id常量uint8_tjoineuiSMTC_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_transuint8_tstack_iduint8_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_typeuint8_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_nwkkeyuint8_tstack_id常量uint8_tnwkkeySMTC_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_regionuint8_tstack_idsmtc_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_dbuint8_tstack_idint8_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_datauint8_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_inituint8_tstack_iduint8_tfportsmtc_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_statusuint8_tstack_iduint16_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_fportuint8_talcsync_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_suint32_tsync_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_suint32_tsync_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_fportuint8_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_suint32_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_suint32_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_serviceuint8_tstack_idsmtc_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_serviceuint8_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_requestuint8_tstack_idsmtc_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_iduint8_tchip_euiSMTC_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_iduint8_tchip_pinSMTC_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

调制解调器目前处于测试模式