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. |
otPlatRadioConfigureEnhAckProbing ( otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress) | Activar / desactivar o actualizar el sondeo basado en ACK mejorado en la radio para un iniciador específico. |
otPlatRadioDisable ( otInstance *aInstance) | Desactiva 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. |
otPlatRadioGetRegion ( otInstance *aInstance, uint16_t *aRegionCode) | Obtén el código de región. |
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. |
otPlatRadioSetChannelMaxTransmitPower ( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower) | Establezca la potencia máxima de transmisión para un canal específico. |
otPlatRadioSetCoexEnabled ( otInstance *aInstance, bool aEnabled) | Habilite la radio coex. |
otPlatRadioSetRegion ( otInstance *aInstance, uint16_t aRegionCode) | Establezca el código de región. |
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 |
|
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 |
|
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 |
| ||||
Valores devueltos |
|
otPlatRadioAddSrcMatchShortEntry
otError otPlatRadioAddSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Agregue una dirección corta a la tabla de coincidencias de direcciones de origen.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|
otPlatRadioClearSrcMatchExtEntries
void otPlatRadioClearSrcMatchExtEntries( otInstance *aInstance )
Borre todas las direcciones extendidas / largas de la tabla de coincidencias de direcciones de origen.
Detalles | |||
---|---|---|---|
Parámetros |
|
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 |
| ||||
Valores devueltos |
|
otPlatRadioClearSrcMatchShortEntries
void otPlatRadioClearSrcMatchShortEntries( otInstance *aInstance )
Borre todas las direcciones cortas de la tabla de coincidencias de direcciones de origen.
Detalles | |||
---|---|---|---|
Parámetros |
|
otPlatRadioClearSrcMatchShortEntry
otError otPlatRadioClearSrcMatchShortEntry( otInstance *aInstance, otShortAddress aShortAddress )
Elimine una dirección corta de la tabla de coincidencias de direcciones de origen.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|
otPlatRadioConfigureEnhAckProbing
otError otPlatRadioConfigureEnhAckProbing( otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress )
Activar / desactivar o actualizar 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 Enhanced-ACK, el Enhanced-ACK enviado a ese nodo debe incluir el IE específico del proveedor que contenga datos de métricas de enlace. Este método informa a la radio que se inicie o se detenga para recopilar datos de métricas de enlace e incluir el IE específico del proveedor que contiene los datos en Enhanced-ACK enviados a ese iniciador de sondeo.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
otPlatRadioDisable
otError otPlatRadioDisable( otInstance *aInstance )
Desactiva la radio.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|
otPlatRadioEnable
otError otPlatRadioEnable( otInstance *aInstance )
Habilite la radio.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|
otPlatRadioEnableCsl
otError otPlatRadioEnableCsl( otInstance *aInstance, uint32_t aCslPeriod, const otExtAddress *aExtAddr )
Activar o desactivar el receptor CSL.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
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 |
|
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 |
| ||||||
Valores devueltos |
|
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 |
|
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 |
| ||||
Valores devueltos |
|
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 |
| ||
Devoluciones | La máscara de canal preferido de radio. |
otPlatRadioGetRegion
otError otPlatRadioGetRegion( otInstance *aInstance, uint16_t *aRegionCode )
Obtén el código de región.
El formato de la región de radio es la representación ascii de 2 bytes del código ISO 3166 alpha-2.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
otPlatRadioGetRssi
int8_t otPlatRadioGetRssi( otInstance *aInstance )
Obtenga la medición RSSI más reciente.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
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.
Esta función no es requerida por OpenThread. Se puede utilizar para depurar y / o con fines específicos de la aplicación.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||
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 |
| ||||
Valores devueltos |
|
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 |
|
otPlatRadioSetChannelMaxTransmitPower
otError otPlatRadioSetChannelMaxTransmitPower( otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower )
Establezca la potencia máxima de transmisión para un canal específico.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
| ||||||||
Valores devueltos |
|
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 |
| ||||
Valores devueltos |
|
otPlatRadioSetRegion
otError otPlatRadioSetRegion( otInstance *aInstance, uint16_t aRegionCode )
Establezca el código de región.
El formato de región de radio es la representación ascii de 2 bytes del código ISO 3166 alpha-2.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|
otPlatRadioSleep
otError otPlatRadioSleep( otInstance *aInstance )
Cambie la radio de Recibir a Suspender (apague la radio).
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
| ||||||
Valores devueltos |
|
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:
- Transición de la radio para transmitir desde uno de los siguientes estados:
- Reciba si RX está encendido 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.
- Transmite el psdu en el canal dado y en la potencia de transmisión dada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|
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 |
|
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 |
|
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 |
|