出厂诊断 - 平台

本模块包含诊断功能的平台抽象。

摘要

枚举

otGpioMode{
  OT_GPIO_MODE_INPUT = 0,
  OT_GPIO_MODE_OUTPUT = 1
}
枚举
定义 GPS 模式。

函数

otPlatDiagAlarmCallback(otInstance *aInstance)
void
处理闹钟事件。
otPlatDiagChannelSet(uint8_t aChannel)
void
设置用于出厂诊断的渠道。
otPlatDiagGpioGet(uint32_t aGpio, bool *aValue)
获取 gpio 值。
otPlatDiagGpioGetMode(uint32_t aGpio, otGpioMode *aMode)
获取 GPS 模式。
otPlatDiagGpioSet(uint32_t aGpio, bool aValue)
设置 gpio 值。
otPlatDiagGpioSetMode(uint32_t aGpio, otGpioMode aMode)
设置 GPS 模式。
otPlatDiagModeGet(void)
bool
指明是否已启用出厂诊断模式。
otPlatDiagModeSet(bool aMode)
void
启用/停用出厂诊断模式。
otPlatDiagProcess(otInstance *aInstance, uint8_t aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
处理出厂诊断命令行。
otPlatDiagRadioGetPowerSettings(otInstance *aInstance, uint8_t aChannel, int16_t *aTargetPower, int16_t *aActualPower, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
获取指定频道的电源设置。
otPlatDiagRadioGetRawPowerSetting(otInstance *aInstance, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
获取诊断模块的无线装置原始电源设置。
otPlatDiagRadioRawPowerSettingEnable(otInstance *aInstance, bool aEnable)
启用/停用平台层,以使用由 otPlatDiagRadioSetRawPowerSetting() 设置的原始电源设置。
otPlatDiagRadioReceived(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
处理收到的无线装置帧。
otPlatDiagRadioSetRawPowerSetting(otInstance *aInstance, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
设置诊断模块的无线装置原始电源设置。
otPlatDiagRadioTransmitCarrier(otInstance *aInstance, bool aEnable)
启动/停止平台层以传输连续的载波。
otPlatDiagRadioTransmitStream(otInstance *aInstance, bool aEnable)
启动/停止平台层以传输字符流。
otPlatDiagTxPowerSet(int8_t aTxPower)
void
设置用于出厂诊断的传输功率。

枚举

otGpioMode

 otGpioMode

定义 GPS 模式。

属性
OT_GPIO_MODE_INPUT

无拉取电阻的输入模式。

OT_GPIO_MODE_OUTPUT

输出模式。

函数

otPlatDiagAlarmCallback

void otPlatDiagAlarmCallback(
  otInstance *aInstance
)

处理闹钟事件。

具体说明
参数
[in] aInstance
当前请求的 OpenThread 实例。

otPlatDiagChannelSet

void otPlatDiagChannelSet(
  uint8_t aChannel
)

设置用于出厂诊断的渠道。

具体说明
参数
[in] aChannel
渠道值。

otPlatDiagGpioGet

otError otPlatDiagGpioGet(
  uint32_t aGpio,
  bool *aValue
)

获取 gpio 值。

具体说明
参数
[in] aGpio
GPS 号码。
[out] aValue
用于放置 gpio 值的指针。
返回值
OT_ERROR_NONE
已成功获取 gpio 值。
OT_ERROR_FAILED
获取 gpio 值时发生平台错误。
OT_ERROR_INVALID_ARGS
不支持 aGpioaValue 为 NULL。
OT_ERROR_INVALID_STATE
诊断模式未启用,或未将 aGpio 配置为输入。
OT_ERROR_NOT_IMPLEMENTED
此功能未在平台上实现或配置。

otPlatDiagGpioGetMode

otError otPlatDiagGpioGetMode(
  uint32_t aGpio,
  otGpioMode *aMode
)

获取 GPS 模式。

具体说明
参数
[in] aGpio
GPS 号码。
[out] aMode
放置 GPS 模式的指针。
返回值
OT_ERROR_NONE
已成功获取 GPS 模式。
OT_ERROR_FAILED
平台返回的模式未在 OpenThread 中实现,或者获取 gpio 模式时发生平台错误。
OT_ERROR_INVALID_ARGS
不支持 aGpioaMode 为 NULL。
OT_ERROR_INVALID_STATE
诊断模式未启用。
OT_ERROR_NOT_IMPLEMENTED
此功能未在平台上实现或配置。

otPlatDiagGpioSet

otError otPlatDiagGpioSet(
  uint32_t aGpio,
  bool aValue
)

设置 gpio 值。

具体说明
参数
[in] aGpio
GPS 号码。
[in] aValue
如果设置为 true,则将 GPS 设置为高级,否则设置为 false。
返回值
OT_ERROR_NONE
已成功设置 gpio。
OT_ERROR_FAILED
设置 gpio 时发生平台错误。
OT_ERROR_INVALID_ARGS
不支持 aGpio
OT_ERROR_INVALID_STATE
诊断模式未启用,或未将 aGpio 配置为输出。
OT_ERROR_NOT_IMPLEMENTED
此功能未在平台上实现或配置。

otPlatDiagGpioSetMode

otError otPlatDiagGpioSetMode(
  uint32_t aGpio,
  otGpioMode aMode
)

设置 GPS 模式。

具体说明
参数
[in] aGpio
GPS 号码。
[out] aMode
GPS 模式。
返回值
OT_ERROR_NONE
已成功设置 gpio 模式。
OT_ERROR_FAILED
设置 gpio 模式时发生平台错误。
OT_ERROR_INVALID_ARGS
不支持 aGpioaMode
OT_ERROR_INVALID_STATE
诊断模式未启用。
OT_ERROR_NOT_IMPLEMENTED
此功能未在平台上实现或配置。

otPlatDiagModeGet

bool otPlatDiagModeGet(
  void
)

指明是否已启用出厂诊断模式。

具体说明
返回值
如果已启用出厂诊断模式,则为 TRUE,否则为 FALSE。

otPlatDiagModeSet

void otPlatDiagModeSet(
  bool aMode
)

启用/停用出厂诊断模式。

具体说明
参数
[in] aMode
若要启用诊断模式,则为 TRUE,否则为 FALSE。

otPlatDiagProcess

otError otPlatDiagProcess(
  otInstance *aInstance,
  uint8_t aArgsLength,
  char *aArgs[],
  char *aOutput,
  size_t aOutputMaxLen
)

处理出厂诊断命令行。

此函数的输出(写入 aOutput 的内容)必须以 \0 终止,且 \0 位于输出缓冲区内。

具体说明
参数
[in] aInstance
当前请求的 OpenThread 实例。
[in] aArgsLength
aArgs 中的参数数量。
[in] aArgs
诊断命令行的参数。
[out] aOutput
诊断执行结果。
[in] aOutputMaxLen
输出缓冲区空间。
返回值
OT_ERROR_INVALID_ARGS
该命令受支持,但提供的参数无效。
OT_ERROR_NONE
已成功处理该命令。
OT_ERROR_INVALID_COMMAND
该命令无效或不受支持。

otPlatDiagRadioGetPowerSettings

otError otPlatDiagRadioGetPowerSettings(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t *aTargetPower,
  int16_t *aActualPower,
  uint8_t *aRawPowerSetting,
  uint16_t *aRawPowerSettingLength
)

获取指定频道的电源设置。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in] aChannel
电台频道。
[out] aTargetPower
目标功率(以 0.01 dBm 为单位)。
[out] aActualPower
实际功率(以 0.01 dBm 为单位)。
[out] aRawPowerSetting
指向原始电源设置字节数组的指针。
[in,out] aRawPowerSettingLength
在输入时,指向 aRawPowerSetting 大小的指针。在输出时,指向原始电源设置数据长度的指针。
返回值
OT_ERROR_NONE
成功获得目标能量。
OT_ERROR_INVALID_ARGS
aChannel 无效;aActualPoweraRawPowerSettingaRawPowerSettingLength 为 NULL 或过短。
OT_ERROR_NOT_FOUND
找不到aChannel的电源设置。
OT_ERROR_NOT_IMPLEMENTED
此方法未实现。

otPlatDiagRadioGetRawPowerSetting

otError otPlatDiagRadioGetRawPowerSetting(
  otInstance *aInstance,
  uint8_t *aRawPowerSetting,
  uint16_t *aRawPowerSettingLength
)

获取诊断模块的无线装置原始电源设置。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[out] aRawPowerSetting
指向原始电源设置字节数组的指针。
[in,out] aRawPowerSettingLength
在输入时,指向 aRawPowerSetting 大小的指针。在输出时,指向原始电源设置数据长度的指针。
返回值
OT_ERROR_NONE
已成功设置原始电源设置。
OT_ERROR_INVALID_ARGS
aRawPowerSettingaRawPowerSettingLength 为 NULL 或过短。
OT_ERROR_NOT_FOUND
原始功率设置未设置。
OT_ERROR_NOT_IMPLEMENTED
此方法未实现。

otPlatDiagRadioRawPowerSettingEnable

otError otPlatDiagRadioRawPowerSettingEnable(
  otInstance *aInstance,
  bool aEnable
)

启用/停用平台层,以使用由 otPlatDiagRadioSetRawPowerSetting() 设置的原始电源设置。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in] aEnable
为 TRUE 启用,或为 FALSE 以停用原始电源设置。
返回值
OT_ERROR_NONE
成功启用/停用原始电源设置。
OT_ERROR_NOT_IMPLEMENTED
此方法未实现。

otPlatDiagRadioReceived

void otPlatDiagRadioReceived(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otError aError
)

处理收到的无线装置帧。

具体说明
参数
[in] aInstance
当前请求的 OpenThread 实例。
[in] aFrame
收到的无线装置帧。
[in] aError
收到的无线装置帧状态。

otPlatDiagRadioSetRawPowerSetting

otError otPlatDiagRadioSetRawPowerSetting(
  otInstance *aInstance,
  const uint8_t *aRawPowerSetting,
  uint16_t aRawPowerSettingLength
)

设置诊断模块的无线装置原始电源设置。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in] aRawPowerSetting
指向原始电源设置字节数组的指针。
[in] aRawPowerSettingLength
aRawPowerSetting 的长度。
返回值
OT_ERROR_NONE
已成功设置原始电源设置。
OT_ERROR_INVALID_ARGS
aRawPowerSetting 为 NULL 或 aRawPowerSettingLength 过长。
OT_ERROR_NOT_IMPLEMENTED
此方法未实现。

otPlatDiagRadioTransmitCarrier

otError otPlatDiagRadioTransmitCarrier(
  otInstance *aInstance,
  bool aEnable
)

启动/停止平台层以传输连续的载波。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in] aEnable
为 TRUE 启用,或为 FALSE 停用平台层以传输连续的载波。
返回值
OT_ERROR_NONE
已成功启用/停用 。
OT_ERROR_INVALID_STATE
无线装置不处于接收状态。
OT_ERROR_NOT_IMPLEMENTED
此方法未实现。

otPlatDiagRadioTransmitStream

otError otPlatDiagRadioTransmitStream(
  otInstance *aInstance,
  bool aEnable
)

启动/停止平台层以传输字符流。

具体说明
参数
[in] aInstance
OpenThread 实例结构。
[in] aEnable
若启用,则为 TRUE;若为 FALSE,则停用平台层进行流式传输。
返回值
OT_ERROR_NONE
成功启用/停用。
OT_ERROR_INVALID_STATE
无线装置不处于接收状态。
OT_ERROR_NOT_IMPLEMENTED
此函数未实现。

otPlatDiagTxPowerSet

void otPlatDiagTxPowerSet(
  int8_t aTxPower
)

设置用于出厂诊断的传输功率。

具体说明
参数
[in] aTxPower
传输功率值。

资源

OpenThread API 参考文档源自 GitHub 上提供的源代码。如需了解详情,或者为我们的文档做贡献,请参阅资源