Google is committed to advancing racial equity for Black communities. See how.
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 la plataforma para operaciones de radio.

Resumen

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 de 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 direcciones de origen.
otPlatRadioAddSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Agregue una dirección corta a la tabla de coincidencias de direcciones 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)
Elimina una dirección extendida de la tabla de coincidencias de direcciones de origen.
otPlatRadioClearSrcMatchShortEntries ( otInstance *aInstance)
void
Borre todas las direcciones cortas de la tabla de coincidencias de direcciones de origen.
otPlatRadioClearSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Elimine una dirección corta de la tabla de coincidencias de direcciones de origen.
otPlatRadioDisable ( otInstance *aInstance)
Desactive la radio.
otPlatRadioEnable ( otInstance *aInstance)
Habilite la radio.
otPlatRadioEnableCsl ( otInstance *aInstance, uint32_t aCslPeriod, const otExtAddress *aExtAddr)
Habilita o deshabilita el receptor CSL.
otPlatRadioEnableSrcMatch ( otInstance *aInstance, bool aEnable)
void
Habilitar / deshabilitar la función de coincidencia de direcciones de origen.
otPlatRadioEnergyScan ( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Inicie la secuencia de escaneo 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 el escaneo de energía está completo.
otPlatRadioGetCoexMetrics ( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Obtenga las métricas de coexistencia de radio.
otPlatRadioGetPreferredChannelMask ( otInstance *aInstance)
uint32_t
Obtenga la máscara de canal preferido 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)
Obtenga el estado actual de la radio.
otPlatRadioGetSupportedChannelMask ( otInstance *aInstance)
uint32_t
Obtenga la máscara de canal compatible con radio en la que el dispositivo puede estar activado.
otPlatRadioGetTransmitBuffer ( otInstance *aInstance)
Obtenga el búfer de tramas de transmisión de radio.
otPlatRadioIsCoexEnabled ( otInstance *aInstance)
bool
Compruebe si la radio coex está habilitada o no.
otPlatRadioIsEnabled ( otInstance *aInstance)
bool
Compruebe si la radio está habilitada o no.
otPlatRadioReceive ( otInstance *aInstance, uint8_t aChannel)
Haga la 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)
Habilite la radio coex.
otPlatRadioSleep ( otInstance *aInstance)
Cambie la radio de Recibir a Suspender (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 de confirmación 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.
otPlatRadioUpdateCslSampleTime ( otInstance *aInstance, uint32_t aCslSampleTime)
void
Actualice el tiempo de muestra de CSL en el controlador de radio.

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 una trama recibida.

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

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aFrame
Un puntero al marco recibido o NULL si la operación de recepción falló.
[in] aError
OT_ERROR_NONE cuando se recibió correctamente una trama, 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 en el búfer de recepción.

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 de 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 la instancia de OpenThread.
[in] aFrame
Un puntero al fotograma 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 fue abortada por otras razones.

otPlatRadioAddSrcMatchExtEntry

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

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

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aExtAddress
La dirección extendida que se agregará almacenada en orden de bytes little-endian.
Valores devueltos
OT_ERROR_NONE
Se agregó correctamente la dirección extendida a la tabla de coincidencias de origen.
OT_ERROR_NO_BUFS
No hay ninguna entrada disponible 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 direcciones de origen.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aShortAddress
La dirección corta que se agregará.
Valores devueltos
OT_ERROR_NONE
Se agregó correctamente una dirección corta a la tabla de coincidencias de origen.
OT_ERROR_NO_BUFS
No hay ninguna entrada disponible 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 la instancia de OpenThread.

otPlatRadioClearSrcMatchExtEntry

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

Elimina una dirección extendida de la tabla de coincidencias de direcciones de origen.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aExtAddress
La dirección extendida que se eliminará almacenada en orden de bytes little-endian.
Valores devueltos
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 coincidencias de direcciones de origen.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Borre todas las direcciones cortas de la tabla de coincidencias de direcciones de origen.

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

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

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

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aShortAddress
La dirección corta que se eliminará.
Valores devueltos
OT_ERROR_NONE
Se eliminó con éxito 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 coincidencias de direcciones de origen.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Desactive la radio.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
Valores devueltos
OT_ERROR_NONE
Transición exitosa a discapacitados.
OT_ERROR_INVALID_STATE
La radio no estaba en estado de reposo.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Habilite la radio.

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

otPlatRadioEnableCsl

otError otPlatRadioEnableCsl(
  otInstance *aInstance,
  uint32_t aCslPeriod,
  const otExtAddress *aExtAddr
)

Habilita o deshabilita el receptor CSL.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aCslPeriod
Período CSL, 0 para deshabilitar CSL.
[in] aExtAddr
La dirección de origen extendida del dispositivo principal del receptor de CSL (cuando las plataformas generan un acuse de recibo mejorado, es posible que las plataformas necesiten conocer los acks en qué dirección debe incluir CSL IE).
Valores devueltos
OT_ERROR_NOT_SUPPORTED
El controlador de radio no es compatible con CSL.
OT_ERROR_FAILED
Otros errores específicos de la plataforma.
OT_ERROR_NONE
CSL habilitado o deshabilitado correctamente.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Activar / desactivar la función de coincidencia de direcciones 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 acks enviados en respuesta a los comandos de solicitud de datos de los niños.

Si está deshabilitada, la capa de radio debe establecer el "marco pendiente" en todos los acks a los comandos de solicitud de datos.

Si está habilitada, la capa de radio usa la tabla de coincidencia de direcciones de origen para determinar si establecer o borrar el bit de "trama pendiente" en una confirmación de un comando de solicitud de datos.

La tabla de coincidencias de direcciones 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 direcciones de origen.

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

otPlatRadioEnergyScan

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

Inicie la secuencia de escaneo 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 la instancia de OpenThread.
[in] aScanChannel
El canal para realizar el escaneo de energía.
[in] aScanDuration
La duración, en milisegundos, del canal que se va a escanear.
Valores devueltos
OT_ERROR_NONE
Comenzó a escanear el canal con éxito.
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 el escaneo de energía está completo.

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

Detalles
Parámetros
[in] aInstance
La estructura de la 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 la instancia de OpenThread.
[out] aCoexMetrics
Un puntero a la estructura de métricas de coexistencia.
Valores devueltos
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 preferido de radio en la que el dispositivo prefiere formarse.

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

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Obtenga la medición RSSI más reciente.

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

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Obtenga el estado actual de la radio.

OpenThread no requiere esta función. Se puede usar para depurar y / o con fines específicos de la aplicación.

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

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

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

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

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

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

OpenThread forma la trama 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 la instancia de OpenThread.
Devoluciones
Un puntero al búfer de trama de transmisión.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Compruebe si la radio coex está habilitada 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 la instancia de OpenThread.
Devoluciones
VERDADERO si la radio coex está habilitada, FALSO en caso contrario.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Compruebe si la radio está habilitada o no.

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

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

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

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aChannel
El canal que se utilizará para recibir.
Valores devueltos
OT_ERROR_NONE
Transición exitosa 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 la instancia de OpenThread.
[in] aFrame
Un puntero al marco recibido o NULL si la operación de recepción falló.
[in] aError
OT_ERROR_NONE cuando se recibió correctamente una trama, 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 en el búfer de recepción.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Habilite 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 la instancia de OpenThread.
[in] aEnabled
TRUE para habilitar la radio coex, FALSE en caso contrario.
Valores devueltos
OT_ERROR_NONE
Habilitado con éxito.
OT_ERROR_FAILED
No se pudo habilitar la radio coex.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

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

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
Valores devueltos
OT_ERROR_NONE
Transición exitosa al sueño.
OT_ERROR_BUSY
La radio estaba transmitiendo.
OT_ERROR_INVALID_STATE
La radio estaba 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 consta de:

  1. Transición de la radio para 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
    • Dormir si RX está apagado cuando el dispositivo está inactivo y se admite OT_RADIO_CAPS_SLEEP_TO_TX.
  2. Transmite el psdu en el canal dado y en la potencia de transmisión dada.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aFrame
Un puntero al cuadro que se va a transmitir.
Valores devueltos
OT_ERROR_NONE
Transición exitosa a Transmitir.
OT_ERROR_INVALID_STATE
La radio no estaba en estado de recepción.

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 de confirmación recibida.

Cuando la radio proporciona la capacidad OT_RADIO_CAPS_TRANSMIT_SEC , la capa de la plataforma de radio actualiza aFrame con el contador de tramas de seguridad y los valores de índice clave que mantiene la radio.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aFrame
Un puntero al fotograma 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 fue abortada 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 la instancia de OpenThread.
[in] aFrame
Un puntero a la trama que se está transmitiendo.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Actualice el tiempo de muestra de CSL en el controlador de radio.

El tiempo de muestra se almacena en el controlador de radio como una copia para calcular la fase al enviar ACK con CSL IE.

Detalles
Parámetros
[in] aInstance
La estructura de la instancia de OpenThread.
[in] aCslSampleTime
El último tiempo de muestra.