Operación de radio
En este módulo, se incluye la abstracción de la plataforma para operaciones de radio.
Resumen
Functions |
|
---|---|
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 de OpenThread de un fotograma recibido.
|
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 se completó la transmisión.
|
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
Agrega una dirección extendida a la tabla de coincidencias de direcciones de origen.
|
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
Agrega una dirección corta a la tabla de coincidencias de direcciones de origen.
|
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
|
void
Borra todas las direcciones extendidas o extendidas de la tabla de coincidencias de direcciones de origen.
|
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
|
Quita una dirección extendida de la tabla de coincidencias de direcciones de origen.
|
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
|
void
Borra todas las direcciones cortas de la tabla de coincidencias de direcciones de origen.
|
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
|
Quita una dirección corta de la tabla de coincidencias de direcciones de origen.
|
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
|
Habilita, inhabilita o actualiza el sondeo basado en ACK mejorado en la radio para un iniciador específico.
|
otPlatRadioDisable(otInstance *aInstance)
|
Inhabilitar la radio
|
otPlatRadioEnable(otInstance *aInstance)
|
Habilita la radio.
|
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
|
Habilitar o inhabilitar el receptor de CSL
|
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
|
void
Habilita o inhabilita la función de coincidencia de direcciones de origen.
|
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
|
Inicia la secuencia del 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 se completó el escaneo de energía.
|
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
|
Obtén las métricas de coexistencia de la radio.
|
otPlatRadioGetCslAccuracy(otInstance *aInstance)
|
uint8_t
Obtén la precisión actual, en unidades de ± ppm, del reloj utilizado para programar las operaciones de CSL.
|
otPlatRadioGetCslClockUncertainty(otInstance *aInstance)
|
uint8_t
Obtén la incertidumbre actual, en unidades de 10, de la hora utilizado para programar las operaciones de CSL.
|
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
|
uint32_t
Obtén la máscara de canal preferida para la radio en la que el dispositivo prefiere formarse.
|
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
|
Obtén el código de la región.
|
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
Obtén la máscara de canal compatible con la radio en la que se puede activar el dispositivo.
|
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
|
Obtiene el búfer de tramas de transmisión de radio.
|
otPlatRadioIsCoexEnabled(otInstance *aInstance)
|
bool
Verifica si la radio coex está habilitada o no.
|
otPlatRadioIsEnabled(otInstance *aInstance)
|
bool
Comprueba si la radio está habilitada o no.
|
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
|
Pasa la radio de "Suspender a Recibir" (activa la radio).
|
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
|
Programa un período de recepción de radio a una hora y duración específicas.
|
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
|
void
El controlador de radio llama a este método para notificar a OpenThread de un fotograma recibido.
|
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
|
Establece la potencia máxima de transmisión para un canal específico.
|
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
|
Habilitar el coex de la radio
|
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
|
Establece el código de la región.
|
otPlatRadioSleep(otInstance *aInstance)
|
Pasa la radio de Recibir a Suspender (desactiva la radio).
|
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
|
Inicia 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 se completó la operación de transmisión, proporcionando tanto el marco transmitido como el de confirmación recibido.
|
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
|
void
El controlador de radio llama a este método para notificar a OpenThread que comenzó la transmisión.
|
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
|
void
Se actualizó el tiempo de muestreo de CSL en el controlador de radio.
|
Functions
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 de OpenThread de un fotograma recibido.
Esta función se usa cuando el diagnóstico está habilitado.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
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 se completó la transmisión.
Esta función se usa cuando el diagnóstico está habilitado.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otPlatRadioAddSrcMatchExtEntry
otError otPlatRadioAddSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
Agrega una dirección extendida a la tabla de coincidencias de direcciones de origen.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioAddSrcMatchShortEntry
otError otPlatRadioAddSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Agrega una dirección corta a la tabla de coincidencias de direcciones de origen.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioClearSrcMatchExtEntries
void otPlatRadioClearSrcMatchExtEntries( otInstance *aInstance )
Borra todas las direcciones extendidas o extendidas de la tabla de coincidencias de direcciones de origen.
Detalles | |||
---|---|---|---|
Parámetros |
|
otPlatRadioClearSrcMatchExtEntry
otError otPlatRadioClearSrcMatchExtEntry( otInstance *aInstance, const otExtAddress *aExtAddress )
Quita una dirección extendida de la tabla de coincidencias de direcciones de origen.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioClearSrcMatchShortEntries
void otPlatRadioClearSrcMatchShortEntries( otInstance *aInstance )
Borra todas las direcciones cortas de la tabla de coincidencias de direcciones de origen.
Detalles | |||
---|---|---|---|
Parámetros |
|
otPlatRadioClearSrcMatchShortEntry
otError otPlatRadioClearSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Quita una dirección corta de la tabla de coincidencias de direcciones de origen.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioConfigureEnhAckProbing
otError otPlatRadioConfigureEnhAckProbing( otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress )
Habilita, inhabilita o actualiza el sondeo basado en ACK mejorado en la radio para un iniciador específico.
Una vez que un iniciador de sondeo específico configura el sondeo basado en ACK mejorado, el ACK mejorado que se envía a ese nodo debe incluir el IE específico del proveedor que contenga datos de las métricas del vínculo. Este método informa a la radio que debe iniciar o detener la recopilación de datos de las Métricas de vínculos, y que incluye IE específico del proveedor y que contiene los datos de Enhanced-ACK que se enviaron a ese iniciador de sondeo.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
otPlatRadioDisable
otError otPlatRadioDisable( otInstance *aInstance )
Inhabilitar la radio
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioEnable
otError otPlatRadioEnable( otInstance *aInstance )
Habilita la radio.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioEnableCsl
otError otPlatRadioEnableCsl( otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr )
Habilitar o inhabilitar el receptor de CSL
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
otPlatRadioEnableSrcMatch
void otPlatRadioEnableSrcMatch( otInstance *aInstance, bool aEnable )
Habilita o inhabilita la función de coincidencia de direcciones de origen.
La función de coincidencia de direcciones de origen controla cómo la capa de radio decide el bit de "marco pendiente" para los envíos enviados en respuesta a comandos de solicitud de datos de elementos secundarios.
Si está inhabilitada, la capa de radio debe establecer el "marco pendiente" en todos los avisos de comandos de solicitud de datos.
Si se habilita, la capa de selección usa la tabla de coincidencia de direcciones de origen para determinar si se debe establecer o borrar el bit de "marco pendiente" de un ack a 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 o larga a la tabla de coincidencias de direcciones de origen.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otPlatRadioEnergyScan
otError otPlatRadioEnergyScan( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration )
Inicia la secuencia del escaneo de energía en la radio.
Esta función se usa cuando la radio proporciona la función OT_RADIO_CAPS_ENERGY_SCAN.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
otPlatRadioEnergyScanDone
void otPlatRadioEnergyScanDone( otInstance *aInstance, int8_t aEnergyScanMaxRssi )
El controlador de radio llama a este método para notificar a OpenThread que se completó el escaneo de energía.
Esta función se usa cuando la radio proporciona la función OT_RADIO_CAPS_ENERGY_SCAN.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otPlatRadioGetCoexMetrics
otError otPlatRadioGetCoexMetrics( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics )
Obtén las métricas de coexistencia de la radio.
Esta función se usa cuando la función OPENThread_CONFIG_PLATFORM_RADIO_COEX_ENABLE está habilitada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioGetCslAccuracy
uint8_t otPlatRadioGetCslAccuracy( otInstance *aInstance )
Obtén la precisión actual, en unidades de ± ppm, del reloj utilizado para programar las operaciones de CSL.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Desvío de programación actual de CSL rx/tx, en unidades de ± ppm.
|
otPlatRadioGetCslClockUncertity
uint8_t otPlatRadioGetCslClockUncertainty( otInstance *aInstance )
Obtén la incertidumbre actual, en unidades de 10, de la hora utilizado para programar las operaciones de CSL.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
La incertidumbre actual del formato de reloj de CSL en unidades de 10 unidades.
|
otPlatRadioGetPreferredChannelMask
uint32_t otPlatRadioGetPreferredChannelMask( otInstance *aInstance )
Obtén la máscara de canal preferida para la radio en la que el dispositivo prefiere formarse.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Es la máscara del canal de radio preferida.
|
otPlatRadioGetRegion
otError otPlatRadioGetRegion( otInstance *aInstance, uint16_t *aRegionCode )
Obtén el código de la región.
El formato de la región de radio es la representación de 2 bytes ASCII del código ISO 3166 alpha-2.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
otPlatRadioGetRssi
int8_t otPlatRadioGetRssi( otInstance *aInstance )
Obtenga la medición RSSI más reciente.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
El RSSI en dBm cuando es válido. 127 cuando el RSSI no es válido.
|
otPlatRadioGetState
otRadioState otPlatRadioGetState( otInstance *aInstance )
Obtener el estado actual de la radio
OpenThread no requiere esta función. Se puede usar para la depuración o para fines específicos de la aplicación.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
El estado actual de la radio
|
otPlatRadioGetSupportedChannelMask
uint32_t otPlatRadioGetSupportedChannelMask( otInstance *aInstance )
Obtén la máscara de canal compatible con la radio en la que se puede activar el dispositivo.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Es la máscara del canal compatible con la radio.
|
otPlatRadioGetTransmitBuffer
otRadioFrame * otPlatRadioGetTransmitBuffer( otInstance *aInstance )
Obtiene el búfer de tramas 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 |
|
||
Qué muestra |
Un puntero para el búfer de fotogramas de transmisión.
|
otPlatRadioIsCoexEnabled
bool otPlatRadioIsCoexEnabled( otInstance *aInstance )
Verifica si la radio coex está habilitada o no.
Esta función se usa cuando la función OPENThread_CONFIG_PLATFORM_RADIO_COEX_ENABLE está habilitada.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
VERDADERO si el coex de radio está habilitado, FALSO en caso contrario.
|
otPlatRadioIsEnabled
bool otPlatRadioIsEnabled( otInstance *aInstance )
Comprueba si la radio está habilitada o no.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Se le asigna el valor TRUE si la radio está habilitada. De lo contrario, se asigna el valor FALSE.
|
otPlatRadioReceive
otError otPlatRadioReceive( otInstance *aInstance, uint8_t aChannel )
Pasa la radio de "Suspender a Recibir" (activa la radio).
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioReceiveAt
otError otPlatRadioReceiveAt( otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration )
Programa un período de recepción de radio a una hora y duración específicas.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
otPlatRadioReceiveDone
void otPlatRadioReceiveDone( otInstance *aInstance, otRadioFrame *aFrame, otError aError )
El controlador de radio llama a este método para notificar a OpenThread de un fotograma recibido.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otPlatRadioSetChannelMaxTransmitPower
otError otPlatRadioSetChannelMaxTransmitPower( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower )
Establece la potencia máxima de transmisión para un canal específico.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Valores que se muestran |
|
otPlatRadioSetCoexEnabled
otError otPlatRadioSetCoexEnabled( otInstance *aInstance, bool aEnabled )
Habilitar el coex de la radio
Esta función se usa cuando la función OPENThread_CONFIG_PLATFORM_RADIO_COEX_ENABLE está habilitada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioSetRegion
otError otPlatRadioSetRegion( otInstance *aInstance, uint16_t aRegionCode )
Establece el código de la región.
El formato de la región de radio es la representación de 2 bytes ASCII del código ISO 3166 alpha-2.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otPlatRadioSleep
otError otPlatRadioSleep( otInstance *aInstance )
Pasa la radio de Recibir a Suspender (desactiva la radio).
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
otPlatRadioTrans
otError otPlatRadioTransmit( otInstance *aInstance, otRadioFrame *aFrame )
Inicia la secuencia de transmisión en la radio.
El llamador debe formar el marco 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 los siguientes elementos:
- Cómo realizar la transición de la radio a transmisión desde uno de los siguientes estados:
- Recibir si RX está activado cuando el dispositivo está inactivo o OT_RADIO_CAPS_SLEEP_TO_TX no es compatible
- Se suspende si RX está desactivado cuando el dispositivo está inactivo y se admite OT_RADIO_CAPS_SLEEP_TO_TX.
- Transmite el PSD en el canal determinado y en la potencia de transmisión determinada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
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 se completó la operación de transmisión, proporcionando tanto el marco transmitido como el de confirmación recibido.
Cuando la radio proporciona la capacidad de OT_RADIO_CAPS_TRANSMIT_SEC
, la capa de la plataforma de radio actualiza aFrame
con el contador de marcos de seguridad y los valores de índice de claves que mantiene la radio.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
otPlatRadioTxStarted
void otPlatRadioTxStarted( otInstance *aInstance, otRadioFrame *aFrame )
El controlador de radio llama a este método para notificar a OpenThread que comenzó la transmisión.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otPlatRadioUpdateCslSampleTime
void otPlatRadioUpdateCslSampleTime( otInstance *aInstance, uint32_t aCslSampleTime )
Se actualizó el tiempo de muestreo 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 cuando se envía ACK con CSL IE.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
Recursos
Los temas de referencia de la API de OpenThread se originan en el código fuente, disponible en GitHub. Para obtener más información o colaborar con nuestra documentación, consulta Recursos.