Factory Diagnostics - Platform

This module includes the platform abstraction for diagnostics features.

Summary

Enumerations

otGpioMode{
  OT_GPIO_MODE_INPUT = 0,
  OT_GPIO_MODE_OUTPUT = 1
}
enum
Defines the gpio modes.

Functions

otPlatDiagAlarmCallback(otInstance *aInstance)
void
Processes the alarm event.
otPlatDiagChannelSet(uint8_t aChannel)
void
Sets the channel to use for factory diagnostics.
otPlatDiagGpioGet(uint32_t aGpio, bool *aValue)
Gets the gpio value.
otPlatDiagGpioGetMode(uint32_t aGpio, otGpioMode *aMode)
Gets the gpio mode.
otPlatDiagGpioSet(uint32_t aGpio, bool aValue)
Sets the gpio value.
otPlatDiagGpioSetMode(uint32_t aGpio, otGpioMode aMode)
Sets the gpio mode.
otPlatDiagModeGet(void)
bool
Indicates whether or not factory diagnostics mode is enabled.
otPlatDiagModeSet(bool aMode)
void
Enables/disables the factory diagnostics mode.
otPlatDiagProcess(otInstance *aInstance, uint8_t aArgsLength, char *aArgs[], char *aOutput, size_t aOutputMaxLen)
Processes a factory diagnostics command line.
otPlatDiagRadioGetPowerSettings(otInstance *aInstance, uint8_t aChannel, int16_t *aTargetPower, int16_t *aActualPower, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
Get the power settings for the given channel.
otPlatDiagRadioGetRawPowerSetting(otInstance *aInstance, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
Get the radio raw power setting for diagnostics module.
otPlatDiagRadioRawPowerSettingEnable(otInstance *aInstance, bool aEnable)
Enable/disable the platform layer to use the raw power setting set by otPlatDiagRadioSetRawPowerSetting().
otPlatDiagRadioReceived(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Processes the received radio frame.
otPlatDiagRadioSetRawPowerSetting(otInstance *aInstance, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
Set the radio raw power setting for diagnostics module.
otPlatDiagRadioTransmitCarrier(otInstance *aInstance, bool aEnable)
Start/stop the platform layer to transmit continuous carrier wave.
otPlatDiagRadioTransmitStream(otInstance *aInstance, bool aEnable)
Start/stop the platform layer to transmit stream of characters.
otPlatDiagTxPowerSet(int8_t aTxPower)
void
Sets the transmit power to use for factory diagnostics.

Enumerations

otGpioMode

 otGpioMode

Defines the gpio modes.

Properties
OT_GPIO_MODE_INPUT

Input mode without pull resistor.

OT_GPIO_MODE_OUTPUT

Output mode.

Functions

otPlatDiagAlarmCallback

void otPlatDiagAlarmCallback(
  otInstance *aInstance
)

Processes the alarm event.

Details
Parameters
[in] aInstance
The OpenThread instance for current request.

otPlatDiagChannelSet

void otPlatDiagChannelSet(
  uint8_t aChannel
)

Sets the channel to use for factory diagnostics.

Details
Parameters
[in] aChannel
The channel value.

otPlatDiagGpioGet

otError otPlatDiagGpioGet(
  uint32_t aGpio,
  bool *aValue
)

Gets the gpio value.

Details
Parameters
[in] aGpio
The gpio number.
[out] aValue
A pointer where to put gpio value.
Return Values
OT_ERROR_NONE
Successfully got the gpio value.
OT_ERROR_FAILED
A platform error occurred while getting the gpio value.
OT_ERROR_INVALID_ARGS
aGpio is not supported or aValue is NULL.
OT_ERROR_INVALID_STATE
Diagnostic mode was not enabled or aGpio is not configured as input.
OT_ERROR_NOT_IMPLEMENTED
This function is not implemented or configured on the platform.

otPlatDiagGpioGetMode

otError otPlatDiagGpioGetMode(
  uint32_t aGpio,
  otGpioMode *aMode
)

Gets the gpio mode.

Details
Parameters
[in] aGpio
The gpio number.
[out] aMode
A pointer where to put gpio mode.
Return Values
OT_ERROR_NONE
Successfully got the gpio mode.
OT_ERROR_FAILED
Mode returned by the platform is not implemented in OpenThread or a platform error occurred while getting the gpio mode.
OT_ERROR_INVALID_ARGS
aGpio is not supported or aMode is NULL.
OT_ERROR_INVALID_STATE
Diagnostic mode was not enabled.
OT_ERROR_NOT_IMPLEMENTED
This function is not implemented or configured on the platform.

otPlatDiagGpioSet

otError otPlatDiagGpioSet(
  uint32_t aGpio,
  bool aValue
)

Sets the gpio value.

Details
Parameters
[in] aGpio
The gpio number.
[in] aValue
true to set the gpio to high level, or false otherwise.
Return Values
OT_ERROR_NONE
Successfully set the gpio.
OT_ERROR_FAILED
A platform error occurred while setting the gpio.
OT_ERROR_INVALID_ARGS
aGpio is not supported.
OT_ERROR_INVALID_STATE
Diagnostic mode was not enabled or aGpio is not configured as output.
OT_ERROR_NOT_IMPLEMENTED
This function is not implemented or configured on the platform.

otPlatDiagGpioSetMode

otError otPlatDiagGpioSetMode(
  uint32_t aGpio,
  otGpioMode aMode
)

Sets the gpio mode.

Details
Parameters
[in] aGpio
The gpio number.
[out] aMode
The gpio mode.
Return Values
OT_ERROR_NONE
Successfully set the gpio mode.
OT_ERROR_FAILED
A platform error occurred while setting the gpio mode.
OT_ERROR_INVALID_ARGS
aGpio or aMode is not supported.
OT_ERROR_INVALID_STATE
Diagnostic mode was not enabled.
OT_ERROR_NOT_IMPLEMENTED
This function is not implemented or configured on the platform.

otPlatDiagModeGet

bool otPlatDiagModeGet(
  void
)

Indicates whether or not factory diagnostics mode is enabled.

Details
Returns
TRUE if factory diagnostics mode is enabled, FALSE otherwise.

otPlatDiagModeSet

void otPlatDiagModeSet(
  bool aMode
)

Enables/disables the factory diagnostics mode.

Details
Parameters
[in] aMode
TRUE to enable diagnostics mode, FALSE otherwise.

otPlatDiagProcess

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

Processes a factory diagnostics command line.

The output of this function (the content written to aOutput) MUST terminate with \0 and the \0 is within the output buffer.

Details
Parameters
[in] aInstance
The OpenThread instance for current request.
[in] aArgsLength
The number of arguments in aArgs.
[in] aArgs
The arguments of diagnostics command line.
[out] aOutput
The diagnostics execution result.
[in] aOutputMaxLen
The output buffer size.
Return Values
OT_ERROR_INVALID_ARGS
The command is supported but invalid arguments provided.
OT_ERROR_NONE
The command is successfully process.
OT_ERROR_INVALID_COMMAND
The command is not valid or not supported.

otPlatDiagRadioGetPowerSettings

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

Get the power settings for the given channel.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[in] aChannel
The radio channel.
[out] aTargetPower
The target power in 0.01 dBm.
[out] aActualPower
The actual power in 0.01 dBm.
[out] aRawPowerSetting
A pointer to the raw power setting byte array.
[in,out] aRawPowerSettingLength
On input, a pointer to the size of aRawPowerSetting. On output, a pointer to the length of the raw power setting data.
Return Values
OT_ERROR_NONE
Successfully got the target power.
OT_ERROR_INVALID_ARGS
The aChannel is invalid, , aActualPower, aRawPowerSetting or aRawPowerSettingLength is NULL or is too short.
OT_ERROR_NOT_FOUND
The power settings for the aChannel was not found.
OT_ERROR_NOT_IMPLEMENTED
This method is not implemented.

otPlatDiagRadioGetRawPowerSetting

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

Get the radio raw power setting for diagnostics module.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[out] aRawPowerSetting
A pointer to the raw power setting byte array.
[in,out] aRawPowerSettingLength
On input, a pointer to the size of aRawPowerSetting. On output, a pointer to the length of the raw power setting data.
Return Values
OT_ERROR_NONE
Successfully set the raw power setting.
OT_ERROR_INVALID_ARGS
The aRawPowerSetting or aRawPowerSettingLength is NULL or is too short.
OT_ERROR_NOT_FOUND
The raw power setting is not set.
OT_ERROR_NOT_IMPLEMENTED
This method is not implemented.

otPlatDiagRadioRawPowerSettingEnable

otError otPlatDiagRadioRawPowerSettingEnable(
  otInstance *aInstance,
  bool aEnable
)

Enable/disable the platform layer to use the raw power setting set by otPlatDiagRadioSetRawPowerSetting().

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[in] aEnable
TRUE to enable or FALSE to disable the raw power setting.
Return Values
OT_ERROR_NONE
Successfully enabled/disabled the raw power setting.
OT_ERROR_NOT_IMPLEMENTED
This method is not implemented.

otPlatDiagRadioReceived

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

Processes the received radio frame.

Details
Parameters
[in] aInstance
The OpenThread instance for current request.
[in] aFrame
The received radio frame.
[in] aError
The received radio frame status.

otPlatDiagRadioSetRawPowerSetting

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

Set the radio raw power setting for diagnostics module.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[in] aRawPowerSetting
A pointer to the raw power setting byte array.
[in] aRawPowerSettingLength
The length of the aRawPowerSetting.
Return Values
OT_ERROR_NONE
Successfully set the raw power setting.
OT_ERROR_INVALID_ARGS
The aRawPowerSetting is NULL or the aRawPowerSettingLength is too long.
OT_ERROR_NOT_IMPLEMENTED
This method is not implemented.

otPlatDiagRadioTransmitCarrier

otError otPlatDiagRadioTransmitCarrier(
  otInstance *aInstance,
  bool aEnable
)

Start/stop the platform layer to transmit continuous carrier wave.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[in] aEnable
TRUE to enable or FALSE to disable the platform layer to transmit continuous carrier wave.
Return Values
OT_ERROR_NONE
Successfully enabled/disabled .
OT_ERROR_INVALID_STATE
The radio was not in the Receive state.
OT_ERROR_NOT_IMPLEMENTED
This method is not implemented.

otPlatDiagRadioTransmitStream

otError otPlatDiagRadioTransmitStream(
  otInstance *aInstance,
  bool aEnable
)

Start/stop the platform layer to transmit stream of characters.

Details
Parameters
[in] aInstance
The OpenThread instance structure.
[in] aEnable
TRUE to enable or FALSE to disable the platform layer to transmit stream.
Return Values
OT_ERROR_NONE
Successfully enabled/disabled.
OT_ERROR_INVALID_STATE
The radio was not in the Receive state.
OT_ERROR_NOT_IMPLEMENTED
This function is not implemented.

otPlatDiagTxPowerSet

void otPlatDiagTxPowerSet(
  int8_t aTxPower
)

Sets the transmit power to use for factory diagnostics.

Details
Parameters
[in] aTxPower
The transmit power value.

Resources

OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.