Google se compromete a promover la equidad racial para las comunidades negras. Ver cómo.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Operación

Este módulo incluye la abstracción de plataforma para operaciones de radio.

Resumen

Las funciones

otPlatDiagRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
El controlador de radio llama a este método para notificar al módulo de diagnóstico OpenThread de una trama recibida.
otPlatDiagRadioTransmitDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
El controlador de radio llama a este método para notificar al módulo de diagnóstico OpenThread que la transmisión se ha completado.
otPlatRadioAddSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Agregue una dirección extendida a la tabla de coincidencias de dirección de origen.
otPlatRadioAddSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Agregue una dirección corta a la tabla de coincidencias de dirección de origen.
otPlatRadioClearSrcMatchExtEntries ( otInstance *aInstance)
void
Borre todas las direcciones extendidas / largas de la tabla de coincidencias de direcciones de origen.
otPlatRadioClearSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Elimine una dirección extendida de la tabla de coincidencias de dirección de origen.
otPlatRadioClearSrcMatchShortEntries ( otInstance *aInstance)
void
Borre todas las direcciones cortas de la tabla de coincidencias de dirección de origen.
otPlatRadioClearSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Elimine una dirección corta de la tabla de coincidencias de dirección de origen.
otPlatRadioDisable ( otInstance *aInstance)
Desactiva la radio.
otPlatRadioEnable ( otInstance *aInstance)
Habilita la radio.
otPlatRadioEnableSrcMatch ( otInstance *aInstance, bool aEnable)
void
Activar / desactivar la función de coincidencia de dirección de origen.
otPlatRadioEnergyScan ( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Comience la secuencia de exploración de energía en la radio.
otPlatRadioEnergyScanDone ( otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
El controlador de radio llama a este método para notificar a OpenThread que la exploración de energía se ha completado.
otPlatRadioGetCoexMetrics ( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Obtenga las métricas de coexistencia de radio.
otPlatRadioGetPreferredChannelMask ( otInstance *aInstance)
uint32_t
Obtenga la máscara de canal preferida de radio en la que el dispositivo prefiere formarse.
otPlatRadioGetRssi ( otInstance *aInstance)
int8_t
Obtenga la medición RSSI más reciente.
otPlatRadioGetState ( otInstance *aInstance)
Obtener el estado actual de la radio.
otPlatRadioGetSupportedChannelMask ( otInstance *aInstance)
uint32_t
Obtenga la máscara de canal compatible con la radio en la que el dispositivo puede estar encendido.
otPlatRadioGetTransmitBuffer ( otInstance *aInstance)
Obtenga el búfer de trama de transmisión de radio.
otPlatRadioIsCoexEnabled ( otInstance *aInstance)
bool
Compruebe si radio coex está habilitado o no.
otPlatRadioIsEnabled ( otInstance *aInstance)
bool
Compruebe si la radio está habilitada o no.
otPlatRadioReceive ( otInstance *aInstance, uint8_t aChannel)
Transición de la radio de suspensión a recepción (encienda la radio).
otPlatRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
El controlador de radio llama a este método para notificar a OpenThread de una trama recibida.
otPlatRadioSetCoexEnabled ( otInstance *aInstance, bool aEnabled)
Habilita la radio coex.
otPlatRadioSleep ( otInstance *aInstance)
Cambie la radio de Recibir a Dormir (apague la radio).
otPlatRadioTransmit ( otInstance *aInstance, otRadioFrame *aFrame)
Comience la secuencia de transmisión en la radio.
otPlatRadioTxDone ( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
El controlador de radio llama a esta función para notificar a OpenThread que la operación de transmisión se ha completado, proporcionando tanto la trama transmitida como, si corresponde, la trama recibida recibida.
otPlatRadioTxStarted ( otInstance *aInstance, otRadioFrame *aFrame)
void
El controlador de radio llama a este método para notificar a OpenThread que la transmisión ha comenzado.

Las funciones

otPlatDiagRadioReceiveDone

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

El controlador de radio llama a este método para notificar al módulo de diagnóstico OpenThread de un marco recibido.

Esta función se utiliza cuando el diagnóstico está habilitado.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aFrame
Un puntero a la trama recibida o NULL si la operación de recepción falla.
[in] aError
OT_ERROR_NONE cuando recibió una trama con éxito, OT_ERROR_ABORT cuando se canceló la recepción y no se recibió una trama, OT_ERROR_NO_BUFS cuando no se pudo recibir una trama debido a la falta de espacio de búfer rx.

otPlatDiagRadioTransmitDone

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

El controlador de radio llama a este método para notificar al módulo de diagnóstico OpenThread que la transmisión se ha completado.

Esta función se utiliza cuando el diagnóstico está habilitado.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aFrame
Un puntero al cuadro que se transmitió.
[in] aError
OT_ERROR_NONE cuando se transmitió la trama, OT_ERROR_CHANNEL_ACCESS_FAILURE tx no pudo tener lugar debido a la actividad en el canal, OT_ERROR_ABORT cuando la transmisión se interrumpió por otras razones.

otPlatRadioAddSrcMatchExtEntry

 otError otPlatRadioAddSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Agregue una dirección extendida a la tabla de coincidencias de dirección de origen.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aExtAddress
La dirección extendida que se agregará almacenada en orden de bytes little-endian.
Valores de retorno
OT_ERROR_NONE
Se agregó con éxito la dirección extendida a la tabla de coincidencias de origen.
OT_ERROR_NO_BUFS
No hay entradas disponibles en la tabla de coincidencias de origen.

otPlatRadioAddSrcMatchShortEntry

 otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Agregue una dirección corta a la tabla de coincidencias de dirección de origen.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aShortAddress
La dirección corta que se agregará.
Valores de retorno
OT_ERROR_NONE
Se agregó la dirección breve a la tabla de coincidencias de origen.
OT_ERROR_NO_BUFS
No hay entradas disponibles en la tabla de coincidencias de origen.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Borre todas las direcciones extendidas / largas de la tabla de coincidencias de direcciones de origen.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.

otPlatRadioClearSrcMatchExtEntry

 otError otPlatRadioClearSrcMatchExtEntry(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Elimine una dirección extendida de la tabla de coincidencias de dirección de origen.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aExtAddress
La dirección extendida que se eliminará almacenada en orden de bytes little-endian.
Valores de retorno
OT_ERROR_NONE
Se eliminó con éxito la dirección extendida de la tabla de coincidencias de origen.
OT_ERROR_NO_ADDRESS
La dirección extendida no está en la tabla de coincidencia de dirección de origen.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Borre todas las direcciones cortas de la tabla de coincidencias de dirección de origen.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.

otPlatRadioClearSrcMatchShortEntry

 otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Elimine una dirección corta de la tabla de coincidencias de dirección de origen.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aShortAddress
La dirección corta que se eliminará.
Valores de retorno
OT_ERROR_NONE
Se eliminó correctamente la dirección corta de la tabla de coincidencias de origen.
OT_ERROR_NO_ADDRESS
La dirección corta no está en la tabla de coincidencia de dirección de origen.

otPlatRadioDisable

 otError otPlatRadioDisable(
  otInstance *aInstance
)

Desactiva la radio.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
Con éxito la transición a discapacitados.
OT_ERROR_INVALID_STATE
La radio no estaba en estado de suspensión.

otPlatRadioEnable

 otError otPlatRadioEnable(
  otInstance *aInstance
)

Habilita la radio.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
Habilitado con éxito
OT_ERROR_FAILED
La radio no se pudo habilitar.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Activar / desactivar la función de coincidencia de dirección de origen.

La función de coincidencia de dirección de origen controla cómo la capa de radio decide el bit de "trama pendiente" para los acuses enviados en respuesta a los comandos de solicitud de datos de los niños.

Si está deshabilitado, la capa de radio debe establecer el "marco pendiente" en todos los reconocimientos para los comandos de solicitud de datos.

Si está habilitada, la capa de radio usa la tabla de coincidencia de dirección de origen para determinar si se establece o borra el bit de "trama pendiente" en un reconocimiento a un comando de solicitud de datos.

La tabla de coincidencia de dirección de origen proporciona la lista de elementos secundarios para los que hay un marco pendiente. Se puede agregar una dirección corta o una dirección extendida / larga a la tabla de coincidencias de dirección de origen.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aEnable
Activar / desactivar la función de coincidencia de dirección de origen.

otPlatRadioEnergyScan

 otError otPlatRadioEnergyScan(
  otInstance *aInstance,
  uint8_t aScanChannel,
  uint16_t aScanDuration
)

Comience la secuencia de exploración de energía en la radio.

Esta función se utiliza cuando la radio proporciona la capacidad OT_RADIO_CAPS_ENERGY_SCAN.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aScanChannel
El canal para realizar el escaneo de energía.
[in] aScanDuration
La duración, en milisegundos, para el canal a escanear.
Valores de retorno
OT_ERROR_NONE
Con éxito comenzó a escanear el canal.
OT_ERROR_NOT_IMPLEMENTED
La radio no admite escaneo de energía.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

El controlador de radio llama a este método para notificar a OpenThread que la exploración de energía se ha completado.

Esta función se utiliza cuando la radio proporciona la capacidad OT_RADIO_CAPS_ENERGY_SCAN.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aEnergyScanMaxRssi
El RSSI máximo encontrado en el canal escaneado.

otPlatRadioGetCoexMetrics

 otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Obtenga las métricas de coexistencia de radio.

Esta función se utiliza cuando la función OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE está habilitada.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[out] aCoexMetrics
Un puntero a la estructura de métricas de coexistencia.
Valores de retorno
OT_ERROR_NONE
Recuperado con éxito las métricas de coex.
OT_ERROR_INVALID_ARGS
aCoexMetrics era NULL.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Obtenga la máscara de canal preferida de radio en la que el dispositivo prefiere formarse.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Devoluciones
La radio prefería la máscara de canal.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Obtenga la medición RSSI más reciente.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Devoluciones
El RSSI en dBm cuando es válido. 127 cuando RSSI no es válido.

otPlatRadioGetState

 otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Obtener el estado actual de la radio.

OpenThread no requiere esta función. Puede usarse para depuración y / o propósitos específicos de la aplicación.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Devoluciones
Estado actual de la radio.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Obtenga la máscara de canal compatible con la radio en la que el dispositivo puede estar encendido.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Devoluciones
La radio admite máscara de canal.

otPlatRadioGetTransmitBuffer

 otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Obtenga el búfer de trama de transmisión de radio.

OpenThread forma el marco IEEE 802.15.4 en este búfer y luego llama a otPlatRadioTransmit() para solicitar la transmisión.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Devoluciones
Un puntero al búfer de trama de transmisión.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Compruebe si radio coex está habilitado o no.

Esta función se utiliza cuando la función OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE está habilitada.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Devoluciones
VERDADERO si la radio coex está habilitada, FALSO de lo contrario.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Compruebe si la radio está habilitada o no.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Devoluciones
VERDADERO si la radio está habilitada, FALSO de lo contrario.

otPlatRadioReceive

 otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Transición de la radio de suspensión a recepción (encienda la radio).

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aChannel
El canal a utilizar para recibir.
Valores de retorno
OT_ERROR_NONE
Con éxito la transición a Recibir.
OT_ERROR_INVALID_STATE
La radio estaba desactivada o transmitiendo.

otPlatRadioReceiveDone

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

El controlador de radio llama a este método para notificar a OpenThread de una trama recibida.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aFrame
Un puntero a la trama recibida o NULL si la operación de recepción falla.
[in] aError
OT_ERROR_NONE cuando recibió una trama con éxito, OT_ERROR_ABORT cuando se canceló la recepción y no se recibió una trama, OT_ERROR_NO_BUFS cuando no se pudo recibir una trama debido a la falta de espacio de búfer rx.

otPlatRadioSetCoexEnabled

 otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Habilita la radio coex.

Esta función se utiliza cuando la función OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE está habilitada.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aEnabled
VERDADERO para habilitar la radio coex, FALSO de lo contrario.
Valores de retorno
OT_ERROR_NONE
Habilitado con éxito
OT_ERROR_FAILED
La radio coex no se pudo habilitar.

otPlatRadioSleep

 otError otPlatRadioSleep(
  otInstance *aInstance
)

Cambie la radio de Recibir a Dormir (apague la radio).

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
Valores de retorno
OT_ERROR_NONE
Con éxito la transición al sueño.
OT_ERROR_BUSY
La radio estaba transmitiendo.
OT_ERROR_INVALID_STATE
La radio fue desactivada.

otPlatRadioTransmit

 otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Comience la secuencia de transmisión en la radio.

La persona que llama debe formar la trama IEEE 802.15.4 en el búfer proporcionado por otPlatRadioGetTransmitBuffer() antes de solicitar la transmisión. El canal y la potencia de transmisión también se incluyen en la estructura otRadioFrame .

La secuencia de transmisión consiste en:

  1. Transición de la radio a Transmitir desde uno de los siguientes estados:
    • Reciba si RX está activado cuando el dispositivo está inactivo o OT_RADIO_CAPS_SLEEP_TO_TX no es compatible
    • Suspender si RX está apagado cuando el dispositivo está inactivo y OT_RADIO_CAPS_SLEEP_TO_TX es compatible.
  2. Transmite el psdu en el canal dado y en la potencia de transmisión dada.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aFrame
Un puntero al cuadro a transmitir.
Valores de retorno
OT_ERROR_NONE
Con éxito la transición a Transmitir.
OT_ERROR_INVALID_STATE
La radio no estaba en estado Recibir.

otPlatRadioTxDone

void otPlatRadioTxDone(
  otInstance *aInstance,
  otRadioFrame *aFrame,
  otRadioFrame *aAckFrame,
  otError aError
)

El controlador de radio llama a esta función para notificar a OpenThread que la operación de transmisión se ha completado, proporcionando tanto la trama transmitida como, si corresponde, la trama recibida recibida.

Cuando la radio proporciona la capacidad OT_RADIO_CAPS_TRANSMIT_SEC , la capa de plataforma de radio actualiza aFrame con el contador de trama de seguridad y los valores de índice clave mantenidos por la radio.

Detalles
Parámetros
[in] aInstance
La estructura de instancia de OpenThread.
[in] aFrame
Un puntero al cuadro que se transmitió.
[in] aAckFrame
Un puntero a la trama ACK, NULL si no se recibió ACK.
[in] aError
OT_ERROR_NONE cuando se transmitió la trama, OT_ERROR_NO_ACK cuando se transmitió la trama pero no se recibió ACK, OT_ERROR_CHANNEL_ACCESS_FAILURE tx no pudo tener lugar debido a la actividad en el canal, OT_ERROR_ABORT cuando la transmisión se interrumpió por otras razones.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

El controlador de radio llama a este método para notificar a OpenThread que la transmisión ha comenzado.

Detalles
Parámetros
[in] aInstance
Un puntero a la estructura de instancia de OpenThread.
[in] aFrame
Un puntero al cuadro que se está transmitiendo.