Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Opération

Ce module comprend l'abstraction de plate-forme pour les opérations radio.

Résumé

Les fonctions

otPlatDiagRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Le pilote radio appelle cette méthode pour notifier au module de diagnostic OpenThread une trame reçue.
otPlatDiagRadioTransmitDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Le pilote radio appelle cette méthode pour informer le module de diagnostic OpenThread que la transmission est terminée.
otPlatRadioAddSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Ajoutez une adresse étendue à la table de correspondance d'adresses source.
otPlatRadioAddSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Ajoutez une adresse courte à la table de correspondance d'adresses source.
otPlatRadioClearSrcMatchExtEntries ( otInstance *aInstance)
void
Effacez toutes les adresses étendues / longues de la table de correspondance d'adresses source.
otPlatRadioClearSrcMatchExtEntry ( otInstance *aInstance, const otExtAddress *aExtAddress)
Supprimez une adresse étendue de la table de correspondance d'adresses source.
otPlatRadioClearSrcMatchShortEntries ( otInstance *aInstance)
void
Effacez toutes les adresses courtes de la table de correspondance des adresses source.
otPlatRadioClearSrcMatchShortEntry ( otInstance *aInstance, otShortAddress aShortAddress)
Supprimez une adresse courte de la table de correspondance d'adresses source.
otPlatRadioDisable ( otInstance *aInstance)
Désactivez la radio.
otPlatRadioEnable ( otInstance *aInstance)
Activez la radio.
otPlatRadioEnableCsl ( otInstance *aInstance, uint32_t aCslPeriod, const otExtAddress *aExtAddr)
Activez ou désactivez le récepteur CSL.
otPlatRadioEnableSrcMatch ( otInstance *aInstance, bool aEnable)
void
Activer / désactiver la fonction de correspondance d'adresse source.
otPlatRadioEnergyScan ( otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
Commencez la séquence de balayage d'énergie sur la radio.
otPlatRadioEnergyScanDone ( otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
Le pilote radio appelle cette méthode pour informer OpenThread que l'analyse d'énergie est terminée.
otPlatRadioGetCoexMetrics ( otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
Obtenez les métriques de coexistence radio.
otPlatRadioGetPreferredChannelMask ( otInstance *aInstance)
uint32_t
Obtenez le masque de canal radio préféré sur lequel l'appareil préfère se former.
otPlatRadioGetRssi ( otInstance *aInstance)
int8_t
Obtenez la mesure RSSI la plus récente.
otPlatRadioGetState ( otInstance *aInstance)
Obtenez l'état actuel de la radio.
otPlatRadioGetSupportedChannelMask ( otInstance *aInstance)
uint32_t
Obtenez le masque de canal pris en charge par la radio sur lequel l'appareil est autorisé.
otPlatRadioGetTransmitBuffer ( otInstance *aInstance)
Obtenez le tampon de trame de transmission radio.
otPlatRadioIsCoexEnabled ( otInstance *aInstance)
bool
Vérifiez si la radio coex est activée ou non.
otPlatRadioIsEnabled ( otInstance *aInstance)
bool
Vérifiez si la radio est activée ou non.
otPlatRadioReceive ( otInstance *aInstance, uint8_t aChannel)
Faites passer la radio du mode veille à la réception (allumez la radio).
otPlatRadioReceiveDone ( otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
Le pilote radio appelle cette méthode pour notifier OpenThread d'une trame reçue.
otPlatRadioSetCoexEnabled ( otInstance *aInstance, bool aEnabled)
Activez la radio coex.
otPlatRadioSleep ( otInstance *aInstance)
Faites passer la radio de Recevoir à Veille (éteignez la radio).
otPlatRadioTransmit ( otInstance *aInstance, otRadioFrame *aFrame)
Commencez la séquence de transmission sur la radio.
otPlatRadioTxDone ( otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
Le pilote radio appelle cette fonction pour notifier à OpenThread que l'opération de transmission est terminée, fournissant à la fois la trame transmise et, le cas échéant, la trame d'acquittement reçue.
otPlatRadioTxStarted ( otInstance *aInstance, otRadioFrame *aFrame)
void
Le pilote radio appelle cette méthode pour informer OpenThread que la transmission a commencé.
otPlatRadioUpdateCslSampleTime ( otInstance *aInstance, uint32_t aCslSampleTime)
void
Mettre à jour le temps d'échantillonnage CSL dans le pilote radio.

Les fonctions

otPlatDiagRadioReceiveDone

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

Le pilote radio appelle cette méthode pour notifier au module de diagnostic OpenThread une trame reçue.

Cette fonction est utilisée lorsque le diagnostic est activé.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aFrame
Un pointeur vers la trame reçue ou NULL si l'opération de réception a échoué.
[in] aError
OT_ERROR_NONE lors de la réception réussie d'une trame, OT_ERROR_ABORT lorsque la réception a été interrompue et une trame n'a pas été reçue, OT_ERROR_NO_BUFS lorsqu'une trame n'a pas pu être reçue en raison d'un manque d'espace tampon rx.

otPlatDiagRadioTransmitDone

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

Le pilote radio appelle cette méthode pour informer le module de diagnostic OpenThread que la transmission est terminée.

Cette fonction est utilisée lorsque le diagnostic est activé.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aFrame
Un pointeur vers la trame qui a été transmise.
[in] aError
OT_ERROR_NONE lorsque la trame a été transmise, OT_ERROR_CHANNEL_ACCESS_FAILURE tx n'a pas pu avoir lieu en raison d'une activité sur le canal, OT_ERROR_ABORT lorsque la transmission a été interrompue pour d'autres raisons.

otPlatRadioAddSrcMatchExtEntry

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

Ajoutez une adresse étendue à la table de correspondance d'adresses source.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aExtAddress
L'adresse étendue à ajouter est stockée dans l'ordre des octets petit boutiste.
Valeurs de retour
OT_ERROR_NONE
L'adresse étendue a bien été ajoutée à la table de correspondance source.
OT_ERROR_NO_BUFS
Aucune entrée disponible dans la table de correspondance source.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Ajoutez une adresse courte à la table de correspondance d'adresses source.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aShortAddress
L'adresse courte à ajouter.
Valeurs de retour
OT_ERROR_NONE
L'adresse courte a bien été ajoutée à la table de correspondance source.
OT_ERROR_NO_BUFS
Aucune entrée disponible dans la table de correspondance source.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

Effacez toutes les adresses étendues / longues de la table de correspondance d'adresses source.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.

otPlatRadioClearSrcMatchExtEntry

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

Supprimez une adresse étendue de la table de correspondance d'adresses source.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aExtAddress
L'adresse étendue à supprimer est stockée dans l'ordre des octets petit boutiste.
Valeurs de retour
OT_ERROR_NONE
Suppression de l'adresse étendue de la table de correspondance source.
OT_ERROR_NO_ADDRESS
L'adresse étendue ne figure pas dans la table de correspondance d'adresses source.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

Effacez toutes les adresses courtes de la table de correspondance des adresses source.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

Supprimez une adresse courte de la table de correspondance d'adresses source.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aShortAddress
L'adresse courte à supprimer.
Valeurs de retour
OT_ERROR_NONE
L'adresse courte a bien été supprimée de la table de correspondance source.
OT_ERROR_NO_ADDRESS
L'adresse courte ne figure pas dans la table de correspondance des adresses source.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

Désactivez la radio.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
Transition réussie vers Désactivé.
OT_ERROR_INVALID_STATE
La radio n'était pas en état de veille.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

Activez la radio.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
Activé avec succès.
OT_ERROR_FAILED
La radio n'a pas pu être activée.

otPlatRadioEnableCsl

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

Activez ou désactivez le récepteur CSL.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aCslPeriod
Période CSL, 0 pour désactiver CSL.
[in] aExtAddr
L'adresse source étendue du périphérique parent du récepteur CSL (lorsque les plates-formes génèrent un accusé de réception amélioré, les plates-formes peuvent avoir besoin de connaître les accusés de réception vers lesquels l'adresse doit inclure CSL IE).
Valeurs de retour
OT_ERROR_NOT_SUPPORTED
Le pilote radio ne prend pas en charge CSL.
OT_ERROR_FAILED
Autres erreurs spécifiques à la plate-forme.
OT_ERROR_NONE
CSL activé ou désactivé avec succès.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

Activer / désactiver la fonction de correspondance d'adresse source.

La fonction de correspondance d'adresse source contrôle la manière dont la couche radio décide du bit "frame pending" pour les accusés de réception envoyés en réponse aux commandes de demande de données des enfants.

Si elle est désactivée, la couche radio doit définir la "trame en attente" sur tous les acks aux commandes de demande de données.

Si elle est activée, la couche radio utilise la table de correspondance des adresses source pour déterminer s'il faut définir ou effacer le bit "frame pending" dans un accusé de réception d'une commande de demande de données.

La table de correspondance des adresses source fournit la liste des enfants pour lesquels il existe une trame en attente. Une adresse courte ou une adresse étendue / longue peut être ajoutée à la table de correspondance d'adresses source.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aEnable
Activer / désactiver la fonction de correspondance d'adresse source.

otPlatRadioEnergyScan

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

Commencez la séquence de balayage d'énergie sur la radio.

Cette fonction est utilisée lorsque la radio fournit la capacité OT_RADIO_CAPS_ENERGY_SCAN.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aScanChannel
Le canal sur lequel effectuer le balayage d'énergie.
[in] aScanDuration
Durée, en millisecondes, du canal à analyser.
Valeurs de retour
OT_ERROR_NONE
Balayage de la chaîne réussi.
OT_ERROR_NOT_IMPLEMENTED
La radio ne prend pas en charge le balayage d'énergie.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

Le pilote radio appelle cette méthode pour informer OpenThread que l'analyse d'énergie est terminée.

Cette fonction est utilisée lorsque la radio fournit la capacité OT_RADIO_CAPS_ENERGY_SCAN.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aEnergyScanMaxRssi
RSSI maximum rencontré sur le canal analysé.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

Obtenez les métriques de coexistence radio.

Cette fonction est utilisée lorsque la fonction OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE est activée.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[out] aCoexMetrics
Un pointeur vers la structure des métriques de coexistence.
Valeurs de retour
OT_ERROR_NONE
Récupération réussie des métriques coex.
OT_ERROR_INVALID_ARGS
aCoexMetrics était NULL.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

Obtenez le masque de canal radio préféré sur lequel l'appareil préfère se former.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Retour
Le masque de canal radio préféré.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

Obtenez la mesure RSSI la plus récente.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Retour
Le RSSI en dBm lorsqu'il est valide. 127 lorsque RSSI est invalide.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

Obtenez l'état actuel de la radio.

Cette fonction n'est pas requise par OpenThread. Il peut être utilisé à des fins de débogage et / ou spécifiques à une application.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Retour
État actuel de la radio.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

Obtenez le masque de canal pris en charge par la radio sur lequel l'appareil est autorisé.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Retour
Le masque de canal pris en charge par la radio.

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

Obtenez le tampon de trame de transmission radio.

OpenThread forme la trame IEEE 802.15.4 dans ce tampon puis appelle otPlatRadioTransmit() pour demander la transmission.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Retour
Un pointeur vers le tampon de trame de transmission.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

Vérifiez si la radio coex est activée ou non.

Cette fonction est utilisée lorsque la fonction OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE est activée.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Retour
TRUE si la radio coex est activée, FALSE sinon.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

Vérifiez si la radio est activée ou non.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Retour
TRUE si la radio est activée, FALSE sinon.

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

Faites passer la radio du mode veille à la réception (allumez la radio).

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aChannel
Le canal à utiliser pour la réception.
Valeurs de retour
OT_ERROR_NONE
Transition réussie vers la réception.
OT_ERROR_INVALID_STATE
La radio était désactivée ou émettait.

otPlatRadioReceiveDone

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

Le pilote radio appelle cette méthode pour notifier OpenThread d'une trame reçue.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aFrame
Un pointeur vers la trame reçue ou NULL si l'opération de réception a échoué.
[in] aError
OT_ERROR_NONE lors de la réception réussie d'une trame, OT_ERROR_ABORT lorsque la réception a été interrompue et une trame n'a pas été reçue, OT_ERROR_NO_BUFS lorsqu'une trame n'a pas pu être reçue en raison d'un manque d'espace tampon rx.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Activez la radio coex.

Cette fonction est utilisée lorsque la fonction OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE est activée.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aEnabled
TRUE pour activer la radio coex, FALSE sinon.
Valeurs de retour
OT_ERROR_NONE
Activé avec succès.
OT_ERROR_FAILED
La radio coex n'a pas pu être activée.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

Faites passer la radio de Recevoir à Veille (éteignez la radio).

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
Valeurs de retour
OT_ERROR_NONE
Transition réussie vers Sleep.
OT_ERROR_BUSY
La radio transmettait.
OT_ERROR_INVALID_STATE
La radio était désactivée.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Commencez la séquence de transmission sur la radio.

L'appelant doit former la trame IEEE 802.15.4 dans le tampon fourni par otPlatRadioGetTransmitBuffer() avant de demander la transmission. Le canal et la puissance d'émission sont également inclus dans la structure otRadioFrame .

La séquence de transmission comprend:

  1. Transition de la radio pour émettre à partir de l'un des états suivants:
    • Recevoir si RX est activé lorsque l'appareil est inactif ou OT_RADIO_CAPS_SLEEP_TO_TX n'est pas pris en charge
    • Veille si RX est désactivé lorsque l'appareil est inactif et OT_RADIO_CAPS_SLEEP_TO_TX est pris en charge.
  2. Transmet le psdu sur le canal donné et à la puissance d'émission donnée.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aFrame
Un pointeur vers la trame à transmettre.
Valeurs de retour
OT_ERROR_NONE
Transition réussie vers Transmit.
OT_ERROR_INVALID_STATE
La radio n'était pas dans l'état de réception.

otPlatRadioTxDone

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

Le pilote radio appelle cette fonction pour notifier à OpenThread que l'opération de transmission est terminée, fournissant à la fois la trame transmise et, le cas échéant, la trame d'acquittement reçue.

Lorsque la radio fournit la capacité OT_RADIO_CAPS_TRANSMIT_SEC , la couche de plate-forme radio met à jour aFrame avec le compteur de trames de sécurité et les valeurs d'index de clé maintenues par la radio.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aFrame
Un pointeur vers la trame qui a été transmise.
[in] aAckFrame
Un pointeur vers la trame ACK, NULL si aucun ACK n'a été reçu.
[in] aError
OT_ERROR_NONE lorsque la trame a été transmise, OT_ERROR_NO_ACK lorsque la trame a été transmise mais aucun ACK n'a été reçu, OT_ERROR_CHANNEL_ACCESS_FAILURE tx n'a pas pu avoir lieu en raison d'une activité sur le canal, OT_ERROR_ABORT lorsque la transmission a été interrompue pour d'autres raisons.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

Le pilote radio appelle cette méthode pour informer OpenThread que la transmission a commencé.

Détails
Paramètres
[in] aInstance
Un pointeur vers la structure de l'instance OpenThread.
[in] aFrame
Un pointeur vers la trame en cours de transmission.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

Mettre à jour le temps d'échantillonnage CSL dans le pilote radio.

Le temps d'échantillonnage est stocké dans le pilote radio sous forme de copie pour calculer la phase lors de l'envoi d'un ACK avec CSL IE.

Détails
Paramètres
[in] aInstance
La structure de l'instance OpenThread.
[in] aCslSampleTime
La dernière heure d'échantillonnage.