O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Operação de rádio

Este módulo inclui a abstração da plataforma para operações de rádio.

Resumo

Functions

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
O driver de rádio chama esse método para notificar o módulo de diagnóstico do OpenThread de um frame recebido.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
O driver de rádio chama esse método para notificar o módulo de diagnóstico do OpenThread de que a transmissão foi concluída.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Adicione um endereço estendido à tabela de correspondências de endereço de origem.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Adicione um endereço curto à tabela de correspondências de endereço de origem.
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
void
Limpar todos os endereços estendidos/longos da tabela de correspondências de endereço de origem.
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
Remova um endereço estendido da tabela de correspondências de endereço de origem.
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
void
Limpar todos os endereços curtos da tabela de correspondências de endereço de origem.
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
Remova um endereço curto da tabela de correspondências de endereço de origem.
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
Ative/desative ou atualize a sondagem baseada em ACK no rádio para um iniciador específico.
otPlatRadioDisable(otInstance *aInstance)
Desative o rádio.
otPlatRadioEnable(otInstance *aInstance)
Ative o rádio.
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
Ativar ou desativar o receptor da CSL
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
void
Ativar/desativar recurso de correspondência de endereço de origem.
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Inicie a sequência de verificação de energia no rádio.
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
O driver de rádio chama esse método para notificar o OpenThread de que a verificação de energia foi concluída.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Descobrir as métricas de coexistência de rádio.
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
Obtenha a precisão atual, em unidades de ± ppm, do relógio usado para programar operações de CSL.
otPlatRadioGetCslClockUncertainty(otInstance *aInstance)
uint8_t
Descubra a incerteza atual em unidades de 10 nós em relação ao relógio usado para programar operações de CSL.
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
Use a máscara de canal preferencial para rádio da qual o dispositivo prefere formar.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
Receba o código da região.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
Faça a medição mais recente de RSSI.
otPlatRadioGetState(otInstance *aInstance)
Saber o estado atual do rádio.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
Receba a máscara de canal compatível com o rádio em que o dispositivo pode estar.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
Recebe o buffer do frame de transmissão de rádio.
otPlatRadioIsCoexEnabled(otInstance *aInstance)
bool
Verifique se o coex de rádio está ativado ou não.
otPlatRadioIsEnabled(otInstance *aInstance)
bool
Verifique se o rádio está ativado ou não.
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
Mude o rádio do Sono para o Receber (ative o rádio).
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
Programar uma janela de recepção de rádio para um horário e uma duração específicos.
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
O driver de rádio chama esse método para notificar o OpenThread sobre um frame recebido.
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
Define a potência máxima de transmissão de um canal específico.
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
Ativar o coex rádio.
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
Defina o código da região.
otPlatRadioSleep(otInstance *aInstance)
Mude o rádio de "Receber" para "Em espera" (desligando o rádio).
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
Inicie a sequência de transmissão no rádio.
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
O driver de rádio chama essa função para notificar o OpenThread que a operação de transmissão foi concluída, fornecendo o frame transmitido e, se aplicável, o frame de confirmação recebido.
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
O driver de rádio chama esse método para notificar o OpenThread de que a transmissão foi iniciada.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
O tempo de amostra de CSL foi atualizado no driver de rádio.

Functions

OtPlatDiagRadioReceiveDone

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

O driver de rádio chama esse método para notificar o módulo de diagnóstico do OpenThread de um frame recebido.

Esta função é usada quando o diagnóstico está ativado.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aFrame
Um ponteiro para o frame recebido ou NULL em caso de falha na operação de recebimento.
[in] aError
OT_ERROR_NONE quando um frame foi recebido com sucesso, OT_ERROR_ABORT quando a recepção foi cancelada e um frame não foi recebido, OT_ERROR_NO_BUFS quando um frame não foi recebido devido à falta de espaço tx do buffer.

OtPlatDiagRadioBroadcastDone

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

O driver de rádio chama esse método para notificar o módulo de diagnóstico do OpenThread de que a transmissão foi concluída.

Esta função é usada quando o diagnóstico está ativado.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aFrame
Um ponteiro para o frame que foi transmitido.
[in] aError
OT_ERROR_NONE quando o frame foi transmitido, OT_ERROR_CHANNEL_ACCESS_FAILURE tx não pôde ocorrer devido à atividade no canal, OT_ERROR_ABORT quando a transmissão foi cancelada por outros motivos.

OtPlatRadioAddSrcMatchExtEntry

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

Adicione um endereço estendido à tabela de correspondências de endereço de origem.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aExtAddress
O endereço estendido a ser adicionado armazenado em ordem de bytes bit-endian.
Valores de retorno
OT_ERROR_NONE
O endereço estendido foi adicionado à tabela de correspondências de origem.
OT_ERROR_NO_BUFS
Não há entradas disponíveis na tabela de correspondências de origem.

OtPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Adicione um endereço curto à tabela de correspondências de endereço de origem.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aShortAddress
O endereço curto a ser adicionado.
Valores de retorno
OT_ERROR_NONE
O endereço curto foi adicionado à tabela de correspondências de origem.
OT_ERROR_NO_BUFS
Não há entradas disponíveis na tabela de correspondências de origem.

OtPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Limpar todos os endereços estendidos/longos da tabela de correspondências de endereço de origem.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread

OtPlatRadioClearSrcMatchExtEntry

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

Remova um endereço estendido da tabela de correspondências de endereço de origem.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aExtAddress
O endereço estendido a ser removido armazenado em ordem de bytes bit-endian.
Valores de retorno
OT_ERROR_NONE
O endereço estendido foi removido da tabela de correspondências de origem.
OT_ERROR_NO_ADDRESS
O endereço estendido não está na tabela de correspondências de endereço de origem.

OtPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Limpar todos os endereços curtos da tabela de correspondências de endereço de origem.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread

OtPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Remova um endereço curto da tabela de correspondências de endereço de origem.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aShortAddress
O endereço curto a ser removido.
Valores de retorno
OT_ERROR_NONE
O endereço curto foi removido da tabela de correspondências de origem.
OT_ERROR_NO_ADDRESS
O endereço curto não está na tabela de correspondências de endereço de origem.

OtPlatRadioConfigureEnhAckProbing

otError otPlatRadioConfigureEnhAckProbing(
  otInstance *aInstance,
  otLinkMetrics aLinkMetrics,
  otShortAddress aShortAddress,
  const otExtAddress *aExtAddress
)

Ative/desative ou atualize a sondagem baseada em ACK no rádio para um iniciador específico.

Depois que a sondagem baseada em ACK aprimorada é configurada por um iniciador de sondagem específico, a ACK aprimorada enviada para esse nó precisa incluir o IE específico do fornecedor que contém os dados de métricas do link. Esse método informa o rádio para iniciar/parar a coleta de dados de métricas de links e incluir o IE específico do fornecedor que contém os dados no Enhanced-ACK enviados a esse iniciador de sondagem.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aLinkMetrics
O parâmetro especifica quais métricas você deve consultar. Conforme a especificação 4.11.3.4.4.6, é possível especificar no máximo duas métricas. A sondagem será desativada se aLinkMetrics for bit a bit.
[in] aShortAddress
É o endereço curto do iniciador de sondagem.
[in] aExtAddress
O endereço de origem estendido do iniciador de sondagem. aExtAddr NÃO PODE SER NULL.
Valores de retorno
OT_ERROR_NONE
A sondagem baseada em ACK aprimorada foi configurada.
OT_ERROR_INVALID_ARGS
aExtAddress é NULL.
OT_ERROR_NOT_FOUND
O iniciador indicado por aShortAddress não foi encontrado ao tentar limpar.
OT_ERROR_NO_BUFS
Não há mais suporte para o iniciador.

OtPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Desative o rádio.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Valores de retorno
OT_ERROR_NONE
Transição concluída para Desativado.
OT_ERROR_INVALID_STATE
O rádio não estava no estado de suspensão.

OtPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Ative o rádio.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Valores de retorno
OT_ERROR_NONE
Ativado.
OT_ERROR_FAILED
Não foi possível ativar o rádio.

OtPlatRadioEnableCsl

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

Ativar ou desativar o receptor da CSL

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aCslPeriod
Período do CSL, 0 para desativar o CSL.
[in] aShortAddr
Endereço de origem curto do par de receptores da CSL.
[in] aExtAddr
O endereço de origem estendido do peer do receptor da CSL.
Valores de retorno
kErrorNotImplemented
O driver de rádio não é compatível com CSL.
kErrorFailed
Outros erros específicos da plataforma.
kErrorNone
A CSL foi ativada ou desativada.

OtPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Ativar/desativar recurso de correspondência de endereço de origem.

O recurso de correspondência de endereço de origem controla como a camada de rádio decide o bit "frame pendente" para as confirmações enviadas em resposta a comandos de solicitação de dados de filhos.

Se desativado, a camada de rádio precisará definir o "frame pendente" em todos os acessos aos comandos de solicitação de dados.

Se ativada, a camada de rádio usará a tabela de correspondências de endereço de origem para determinar se o bit "quot;frame" pendente" será definido em um confirmação de um comando de solicitação de dados.

A tabela de correspondências de endereço de origem fornece a lista de filhos para os quais há um frame pendente. Um endereço curto ou um endereço longo/longo pode ser adicionado à tabela de correspondências de endereço de origem.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aEnable
Ativar/desativar recurso de correspondência de endereço de origem.

OtPlatRadioEnergyScan

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

Inicie a sequência de verificação de energia no rádio.

Essa função é usada quando o rádio fornece o recurso OT_RADIO_CAPS_ENERGY_SCAN.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aScanChannel
O canal para realizar a busca de energia.
[in] aScanDuration
A duração, em milésimos de segundo, do canal a ser verificado.
Valores de retorno
OT_ERROR_NONE
A verificação do canal foi iniciada.
OT_ERROR_NOT_IMPLEMENTED
O rádio não é compatível com a verificação de energia.

OtPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

O driver de rádio chama esse método para notificar o OpenThread de que a verificação de energia foi concluída.

Essa função é usada quando o rádio fornece o recurso OT_RADIO_CAPS_ENERGY_SCAN.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aEnergyScanMaxRssi
O RSSI máximo encontrado no canal verificado.

OtPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Descobrir as métricas de coexistência de rádio.

Esta função é usada quando o recurso OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE está ativado.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[out] aCoexMetrics
Um ponteiro para a estrutura de métricas de coexistência.
Valores de retorno
OT_ERROR_NONE
As métricas coex foram recuperadas.
OT_ERROR_INVALID_ARGS
aCoexMetrics era NULL.

OtPlatRadioGetCslPrecisão

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

Obtenha a precisão atual, em unidades de ± ppm, do relógio usado para programar operações de CSL.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
O deslocamento de programação atual da CSL rx/tx, em unidades de ± ppm.

OtPlatRadioGetCslClockUndeterminadoty

uint8_t otPlatRadioGetCslClockUncertainty(
  otInstance *aInstance
)

Descubra a incerteza atual em unidades de 10 nós em relação ao relógio usado para programar operações de CSL.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para uma instância do OpenThread.
Retorna
A CSL atual do relógio da unidade em unidades de 10 nós.

OtPlatRadioGetPreferChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Use a máscara de canal preferencial para rádio da qual o dispositivo prefere formar.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Retorna
A máscara do canal de rádio preferida.

OtPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

Receba o código da região.

O formato da região de rádio é a representação ascii de 2 bytes do código ISO 3166 alfa-2.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[out] aRegionCode
É a região de rádio.
Valores de retorno
OT_ERROR_INVALID_ARGS
aRegionCode é nuloptr.
OT_ERROR_FAILED
Outros erros específicos da plataforma.
OT_ERROR_NONE
O código da região foi recebido.

OtPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Faça a medição mais recente de RSSI.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Retorna
O RSSI em dBm quando é válido. 127 quando a RSSI é inválida.

OtPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Saber o estado atual do rádio.

Essa função não é exigida pelo OpenThread. Ele pode ser usado para depuração e/ou para fins específicos do aplicativo.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Retorna
Estado atual do rádio.

OtPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Receba a máscara de canal compatível com o rádio em que o dispositivo pode estar.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Retorna
A máscara de canal compatível com rádio.

OtPlatRadioGetBroadcastBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Recebe o buffer do frame de transmissão de rádio.

O OpenThread forma o frame IEEE 802.15.4 nesse buffer e, em seguida, chama otPlatRadioTransmit() para solicitar a transmissão.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Retorna
Um ponteiro para o buffer do frame de transmissão.

OtPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Verifique se o coex de rádio está ativado ou não.

Esta função é usada quando o recurso OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE está ativado.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Retorna
TRUE se o coex de rádio estiver ativado. Caso contrário, será FALSE.

OtPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Verifique se o rádio está ativado ou não.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Retorna
Verdadeiro se o rádio estiver ativado. Caso contrário, será FALSO.

OtPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Mude o rádio do Sono para o Receber (ative o rádio).

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aChannel
O canal a ser usado para receber.
Valores de retorno
OT_ERROR_NONE
Transição para o recebimento concluída.
OT_ERROR_INVALID_STATE
O rádio foi desativado ou em transmissão.

OtPlatRadioReceiveAt

otError otPlatRadioReceiveAt(
  otInstance *aInstance,
  uint8_t aChannel,
  uint32_t aStart,
  uint32_t aDuration
)

Programar uma janela de recepção de rádio para um horário e uma duração específicos.

Detalhes
Parâmetros
[in] aChannel
O canal de rádio no qual receber.
[in] aStart
O horário de início da janela de recebimento, em microssegundos.
[in] aDuration
A duração da janela de recebimento, em microssegundos
Valores de retorno
OT_ERROR_NONE
A janela de recebimento foi programada.
OT_ERROR_FAILED
Não foi possível programar a janela de recebimento.

OtPlatRadioReceiveDone

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

O driver de rádio chama esse método para notificar o OpenThread sobre um frame recebido.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aFrame
Um ponteiro para o frame recebido ou NULL em caso de falha na operação de recebimento.
[in] aError
OT_ERROR_NONE quando um frame foi recebido com sucesso, OT_ERROR_ABORT quando a recepção foi cancelada e um frame não foi recebido, OT_ERROR_NO_BUFS quando um frame não foi recebido devido à falta de espaço tx do buffer.

OtPlatRadioSetChannelMaxBroadcastPower

otError otPlatRadioSetChannelMaxTransmitPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int8_t aMaxPower
)

Define a potência máxima de transmissão de um canal específico.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aChannel
O canal de rádio.
[in] aMaxPower
A potência máxima em dBm, transmitindo OT_RADIO_RSSI_INVALID, desativará este canal.
Valores de retorno
OT_ERROR_NOT_IMPLEMENTED
O recurso não está implementado
OT_ERROR_INVALID_ARGS
O canal especificado não é válido.
OT_ERROR_FAILED
Outros erros específicos da plataforma.
OT_ERROR_NONE
A função de transmissão máxima foi definida.

OtPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Ativar o coex rádio.

Esta função é usada quando o recurso OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE está ativado.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aEnabled
TRUE para ativar o coex de rádio; FALSE para desativar.
Valores de retorno
OT_ERROR_NONE
Ativado.
OT_ERROR_FAILED
Não foi possível ativar o coex de rádio.

OtPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

Defina o código da região.

O formato da região de rádio é a representação ascii de 2 bytes do código ISO 3166 alfa-2.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aRegionCode
É a região de rádio.
Valores de retorno
OT_ERROR_FAILED
Outros erros específicos da plataforma.
OT_ERROR_NONE
O código da região foi definido.

OtPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Mude o rádio de "Receber" para "Em espera" (desligando o rádio).

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
Valores de retorno
OT_ERROR_NONE
Transição para o modo de suspensão concluída.
OT_ERROR_BUSY
O rádio estava transmitindo.
OT_ERROR_INVALID_STATE
O rádio estava desativado.

OtPlatRadioBroadcast

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Inicie a sequência de transmissão no rádio.

O autor da chamada precisa formar o frame IEEE 802.15.4 no buffer fornecido por otPlatRadioGetTransmitBuffer() antes de solicitar a transmissão. O canal e o poder de transmissão também estão incluídos na estrutura do otRadioFrame.

A sequência de transmissão consiste no seguinte:

  1. Transição do rádio para Transmitir de um dos seguintes estados:
    • Receber quando o RX estiver ativado quando o dispositivo estiver inativo ou se o OT_RADIO_CAPS_SLEEP_TO_TX não for compatível
    • Suspensão se o RX estiver desativado quando o dispositivo estiver inativo e for compatível com OT_RADIO_CAPS_SLEEP_TO_TX.
  2. Transmite o psdu no canal e na potência de transmissão fornecidos.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aFrame
Um ponteiro para o frame que será transmitido.
Valores de retorno
OT_ERROR_NONE
A transição para "Transmitir" foi concluída.
OT_ERROR_INVALID_STATE
O rádio não estava no estado de recebimento.

OtPlatRadioTxDone

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

O driver de rádio chama essa função para notificar o OpenThread que a operação de transmissão foi concluída, fornecendo o frame transmitido e, se aplicável, o frame de confirmação recebido.

Quando o rádio fornecer o recurso OT_RADIO_CAPS_TRANSMIT_SEC, a camada da plataforma de rádio atualizará aFrame com o contador de frames de segurança e os valores de índice de chave mantidos pelo rádio.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aFrame
Um ponteiro para o frame que foi transmitido.
[in] aAckFrame
Um ponteiro para o frame ACK, NULL se nenhum ACK tiver sido recebido.
[in] aError
OT_ERROR_NONE quando o frame foi transmitido, OT_ERROR_NO_ACK quando o frame foi transmitido, mas nenhum ACK foi recebido, tx OT_ERROR_CHANNEL_ACCESS_FAILURE não pôde ocorrer devido à atividade no canal, OT_ERROR_ABORT quando a transmissão foi cancelada por outros motivos.

OtPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

O driver de rádio chama esse método para notificar o OpenThread de que a transmissão foi iniciada.

Detalhes
Parâmetros
[in] aInstance
Um ponteiro para a estrutura da instância do OpenThread.
[in] aFrame
Um ponteiro para o frame que está sendo transmitido.

OtPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

O tempo de amostra de CSL foi atualizado no driver de rádio.

O tempo de amostra é armazenado no driver de rádio como uma cópia para calcular a fase ao enviar a ACK com o CSL IE.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância do OpenThread
[in] aCslSampleTime
O horário de amostra mais recente.

Recursos

Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para saber mais ou contribuir com nossa documentação, consulte Recursos.