原廠診斷 - 平台

這個模組包含診斷功能的平台抽象化機制。

摘要

列舉

otGpioMode{
  OT_GPIO_MODE_INPUT = 0,
  OT_GPIO_MODE_OUTPUT = 1
}
列舉
定義 Gpio 模式。

函式

otPlatDiagAlarmCallback(otInstance *aInstance)
void
處理鬧鐘事件。
otPlatDiagChannelSet(uint8_t aChannel)
void
設定用於工廠診斷的管道。
otPlatDiagGpioGet(uint32_t aGpio, bool *aValue)
取得 gpio 值。
otPlatDiagGpioGetMode(uint32_t aGpio, otGpioMode *aMode)
取得 gpio 模式。
otPlatDiagGpioSet(uint32_t aGpio, bool aValue)
設定 gpio 值。
otPlatDiagGpioSetMode(uint32_t aGpio, otGpioMode aMode)
設定 gpio 模式。
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

定義 Gpio 模式。

屬性
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
Gpio 號碼。
[out] aValue
要放置 gpio 值的指標。
傳回值
OT_ERROR_NONE
已成功取得 gpio 值。
OT_ERROR_FAILED
取得 Gpio 值時發生平台錯誤。
OT_ERROR_INVALID_ARGS
不支援 aGpio,或 aValue 為空值。
OT_ERROR_INVALID_STATE
未啟用診斷模式,或是 aGpio 未設為輸入內容。
OT_ERROR_NOT_IMPLEMENTED
系統並未在平台上實作或設定這項功能。

otPlatDiagGpioGetMode

otError otPlatDiagGpioGetMode(
  uint32_t aGpio,
  otGpioMode *aMode
)

取得 gpio 模式。

詳細說明
參數
[in] aGpio
Gpio 號碼。
[out] aMode
要放置 Gpio 模式的指標。
傳回值
OT_ERROR_NONE
已成功進入 Gpio 模式。
OT_ERROR_FAILED
OpenThread 未實作平台傳回的模式,或是平台在取得 gpio 模式時發生錯誤。
OT_ERROR_INVALID_ARGS
不支援 aGpio,或 aMode 為空值。
OT_ERROR_INVALID_STATE
未啟用診斷模式。
OT_ERROR_NOT_IMPLEMENTED
系統並未在平台上實作或設定這項功能。

otPlatDiagGpioSet

otError otPlatDiagGpioSet(
  uint32_t aGpio,
  bool aValue
)

設定 gpio 值。

詳細說明
參數
[in] aGpio
Gpio 號碼。
[in] aValue
設為 true 設為高層級,否則設為 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
)

設定 gpio 模式。

詳細說明
參數
[in] aGpio
Gpio 號碼。
[out] aMode
Gpio 模式。
傳回值
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 為空值或過短。
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 為空值或長度過短。
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 為空值或 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 取得。如要瞭解詳情或對說明文件做出貢獻,請參閱資源