Google is committed to advancing racial equity for Black communities. See how.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Operação

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

Resumo

Funções

otPlatDiagRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
O driver de rádio chama este método para notificar o módulo de diagnóstico OpenThread de um quadro recebido.
otPlatDiagRadioTransmitDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
O driver de rádio chama este método para notificar o módulo de diagnóstico OpenThread que a transmissão foi concluída.
otPlatRadioAddSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Adicione um endereço estendido à tabela de correspondência de endereço de origem.
otPlatRadioAddSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Adicione um endereço curto à tabela de correspondência de endereços de origem.
otPlatRadioClearSrcMatchExtEntries ( otInstance *aInstance)
void
Limpe todos os endereços estendidos / longos da tabela de correspondência de endereço de origem.
otPlatRadioClearSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Remova um endereço estendido da tabela de correspondência de endereço de origem.
otPlatRadioClearSrcMatchShortEntries ( otInstance *aInstance)
void
Limpe todos os endereços curtos da tabela de correspondência de endereço de origem.
otPlatRadioClearSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Remova um endereço curto da tabela de correspondência de endereço de origem.
otPlatRadioDisable ( otInstance *aInstance)
Desative o rádio.
otPlatRadioEnable ( otInstance *aInstance)
Habilite o rádio.
otPlatRadioEnableCsl ( otInstance *aInstance, uint32_t aCslPeriod, const otExtAddress *aExtAddr)
Habilite ou desabilite o receptor CSL.
otPlatRadioEnableSrcMatch ( otInstance *aInstance, bool aEnable)
void
Ativar / desativar o recurso de correspondência de endereço de origem.
otPlatRadioEnergyScan ( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Comece a seqüência de varredura de energia no rádio.
otPlatRadioEnergyScanDone ( otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
O driver de rádio chama este método para notificar o OpenThread de que a varredura de energia foi concluída.
otPlatRadioGetCoexMetrics ( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Obtenha as métricas de coexistência de rádio.
otPlatRadioGetPreferredChannelMask ( otInstance *aInstance)
uint32_t
Obtenha a máscara de canal preferencial de rádio que o dispositivo prefere formar.
otPlatRadioGetRssi ( otInstance *aInstance)
int8_t
Obtenha a medição RSSI mais recente.
otPlatRadioGetState ( otInstance *aInstance)
Obtenha o estado atual do rádio.
otPlatRadioGetSupportedChannelMask ( otInstance *aInstance)
uint32_t
Obtenha a máscara de canal com suporte de rádio em que o dispositivo pode estar ligado.
otPlatRadioGetTransmitBuffer ( otInstance *aInstance)
Obtenha o buffer de quadro de transmissão de rádio.
otPlatRadioIsCoexEnabled ( otInstance *aInstance)
bool
Verifique se o rádio coex está habilitado ou não.
otPlatRadioIsEnabled ( otInstance *aInstance)
bool
Verifique se o rádio está habilitado ou não.
otPlatRadioReceive ( otInstance *aInstance, uint8_t aChannel)
Faça a transição do rádio de Dormir para Receber (ligue o rádio).
otPlatRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
O driver de rádio chama este método para notificar o OpenThread de um quadro recebido.
otPlatRadioSetCoexEnabled ( otInstance *aInstance, bool aEnabled)
Habilite o rádio coex.
otPlatRadioSleep ( otInstance *aInstance)
Faça a transição do rádio de Receber para Dormir (desligue o rádio).
otPlatRadioTransmit ( otInstance *aInstance, otRadioFrame *aFrame)
Comece 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 esta função para notificar o OpenThread que a operação de transmissão foi concluída, fornecendo o quadro transmitido e, se aplicável, o quadro de confirmação recebido.
otPlatRadioTxStarted ( otInstance *aInstance, otRadioFrame *aFrame)
void
O driver de rádio chama este método para notificar o OpenThread de que a transmissão foi iniciada.
otPlatRadioUpdateCslSampleTime ( otInstance *aInstance, uint32_t aCslSampleTime)
void
Atualize o tempo de amostra CSL no driver de rádio.

Funções

otPlatDiagRadioReceiveDone

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

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

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

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aFrame
Um ponteiro para o quadro recebido ou NULL se a operação de recebimento falhar.
[in] aError
OT_ERROR_NONE quando recebido com sucesso um quadro, OT_ERROR_ABORT quando a recepção foi abortada e um quadro não foi recebido, OT_ERROR_NO_BUFS quando um quadro não pôde ser recebido devido à falta de espaço no buffer rx.

otPlatDiagRadioTransmitDone

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

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

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

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aFrame
Um ponteiro para o quadro transmitido.
[in] aError
OT_ERROR_NONE quando o quadro 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 abortada por outros motivos.

otPlatRadioAddSrcMatchExtEntry

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

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

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aExtAddress
O endereço estendido a ser adicionado é armazenado na ordem de bytes little-endian.
Valores Retornados
OT_ERROR_NONE
Endereço estendido adicionado com sucesso à tabela de correspondência de origem.
OT_ERROR_NO_BUFS
Nenhuma entrada disponível na tabela de correspondência de origem.

otPlatRadioAddSrcMatchShortEntry

64acbd90

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

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aShortAddress
O endereço curto a ser adicionado.
Valores Retornados
OT_ERROR_NONE
Endereço curto adicionado com sucesso à tabela de correspondências de origem.
OT_ERROR_NO_BUFS
Nenhuma entrada disponível na tabela de correspondência de origem.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Limpe todos os endereços estendidos / longos da tabela de correspondência de endereço de origem.

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

otPlatRadioClearSrcMatchExtEntry

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

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

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

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Limpe todos os endereços curtos da tabela de correspondência de endereço de origem.

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

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

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

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

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Desative o rádio.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
Valores Retornados
OT_ERROR_NONE
Transição para desativada com sucesso.
OT_ERROR_INVALID_STATE
O rádio não estava em modo de espera.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Habilite o rádio.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
Valores Retornados
OT_ERROR_NONE
Ativado com sucesso.
OT_ERROR_FAILED
O rádio não pôde ser ativado.

otPlatRadioEnableCsl

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

Habilite ou desabilite o receptor CSL.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aCslPeriod
Período CSL, 0 para desabilitar CSL.
[in] aExtAddr
O endereço de origem estendido do dispositivo pai do receptor CSL (quando as plataformas geram ack aprimorado, as plataformas podem precisar saber acks para qual endereço deve incluir CSL IE).
Valores Retornados
OT_ERROR_NOT_SUPPORTED
O driver de rádio não oferece suporte a CSL.
OT_ERROR_FAILED
Outros erros específicos da plataforma.
OT_ERROR_NONE
CSL habilitado ou desabilitado com sucesso.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Ativar / desativar o 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 de "quadro pendente" para acks enviados em resposta a comandos de solicitação de dados de filhos.

Se desativado, a camada de rádio deve definir o "quadro pendente" em todos os acks para comandos de solicitação de dados.

Se ativada, a camada de rádio usa a tabela de correspondência de endereço de origem para determinar se deve definir ou limpar o bit de "quadro pendente" em um ack para um comando de solicitação de dados.

A tabela de correspondência de endereço de origem fornece a lista de filhos para os quais existe um quadro pendente. Um endereço curto ou um endereço estendido / longo pode ser adicionado à tabela de correspondência de endereço de origem.

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

otPlatRadioEnergyScan

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

Comece a seqüência de varredura de energia no rádio.

Esta função é usada quando o rádio fornece capacidade OT_RADIO_CAPS_ENERGY_SCAN.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aScanChannel
O canal para realizar a varredura de energia.
[in] aScanDuration
A duração, em milissegundos, do canal a ser varrido.
Valores Retornados
OT_ERROR_NONE
Varredura do canal iniciada com sucesso.
OT_ERROR_NOT_IMPLEMENTED
O rádio não suporta varredura de energia.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

O driver de rádio chama este método para notificar o OpenThread de que a varredura de energia foi concluída.

Esta função é usada quando o rádio fornece capacidade OT_RADIO_CAPS_ENERGY_SCAN.

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

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Obtenha 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 OpenThread.
[out] aCoexMetrics
Um ponteiro para a estrutura de métricas de coexistência.
Valores Retornados
OT_ERROR_NONE
As métricas coex foram recuperadas com sucesso.
OT_ERROR_INVALID_ARGS
aCoexMetrics era NULL.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Obtenha a máscara de canal preferencial de rádio que o dispositivo prefere formar.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
Devoluções
A máscara de canal preferencial de rádio.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Obtenha a medição RSSI mais recente.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
Devoluções
O RSSI em dBm quando for válido. 127 quando RSSI é inválido.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Obtenha o estado atual do rádio.

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

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

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Obtenha a máscara de canal com suporte de rádio em que o dispositivo pode estar ligado.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
Devoluções
A máscara de canal suportada pelo rádio.

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Obtenha o buffer de quadro de transmissão de rádio.

OpenThread forma o quadro IEEE 802.15.4 neste buffer e chama otPlatRadioTransmit() para solicitar a transmissão.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
Devoluções
Um ponteiro para o buffer de quadro de transmissão.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Verifique se o rádio coex está habilitado 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 OpenThread.
Devoluções
TRUE se o rádio coex estiver habilitado, FALSE caso contrário.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

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

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
Devoluções
TRUE se o rádio estiver habilitado, FALSE caso contrário.

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Faça a transição do rádio de Dormir para Receber (ligue o rádio).

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aChannel
O canal a ser usado para receber.
Valores Retornados
OT_ERROR_NONE
Transição para receber com sucesso.
OT_ERROR_INVALID_STATE
O rádio foi desativado ou transmitindo.

otPlatRadioReceiveDone

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

O driver de rádio chama este método para notificar o OpenThread de um quadro recebido.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aFrame
Um ponteiro para o quadro recebido ou NULL se a operação de recebimento falhar.
[in] aError
OT_ERROR_NONE quando recebeu com sucesso um quadro, OT_ERROR_ABORT quando a recepção foi abortada e um quadro não foi recebido, OT_ERROR_NO_BUFS quando um quadro não pôde ser recebido devido à falta de espaço no buffer rx.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Habilite o rádio coex.

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 OpenThread.
[in] aEnabled
TRUE para habilitar o rádio coex, FALSE caso contrário.
Valores Retornados
OT_ERROR_NONE
Ativado com sucesso.
OT_ERROR_FAILED
O rádio coex não pôde ser ativado.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Faça a transição do rádio de Receber para Dormir (desligue o rádio).

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
Valores Retornados
OT_ERROR_NONE
Transição para Sleep com sucesso.
OT_ERROR_BUSY
O rádio estava transmitindo.
OT_ERROR_INVALID_STATE
O rádio foi desativado.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

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

O chamador deve formar o quadro IEEE 802.15.4 no buffer fornecido por otPlatRadioGetTransmitBuffer() antes de solicitar a transmissão. O canal e a potência de transmissão também estão incluídos na estrutura otRadioFrame .

A sequência de transmissão consiste em:

  1. Fazendo a transição do rádio para transmitir de um dos seguintes estados:
    • Receba se RX estiver ligado quando o dispositivo estiver ocioso ou OT_RADIO_CAPS_SLEEP_TO_TX não for compatível
    • Sleep se RX estiver desligado quando o dispositivo estiver ocioso e OT_RADIO_CAPS_SLEEP_TO_TX for suportado.
  2. Transmite o psdu no canal fornecido e na potência de transmissão fornecida.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aFrame
Um ponteiro para o quadro a ser transmitido.
Valores Retornados
OT_ERROR_NONE
Transição para Transmitir com sucesso.
OT_ERROR_INVALID_STATE
O rádio não estava no estado Receber.

otPlatRadioTxDone

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

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

Quando o rádio fornece capacidade OT_RADIO_CAPS_TRANSMIT_SEC , a camada da plataforma de rádio atualiza o aFrame com o contador de quadros de segurança e os valores de índice de chave mantidos pelo rádio.

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

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

O driver de rádio chama este 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 OpenThread.
[in] aFrame
Um ponteiro para o quadro que está sendo transmitido.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Atualize o tempo de amostra CSL 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 ACK com CSL IE.

Detalhes
Parâmetros
[in] aInstance
A estrutura da instância OpenThread.
[in] aCslSampleTime
O último tempo de amostra.