Configuration de la radio
Ce module inclut l'abstraction de plate-forme pour la configuration radio.
Résumé
distantes |
|
---|---|
otPlatRadioGetBusSpeed(otInstance *aInstance)
|
uint32_t
Obtenez la vitesse du bus en bits/seconde entre l'hôte et la puce radio.
|
otPlatRadioGetCaps(otInstance *aInstance)
|
Obtenez les fonctionnalités radio.
|
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
|
Obtenez le seuil d'ED du CCA du radio en dBm, mesuré au niveau du connecteur d'antenne conformément à la norme IEEE 802.15.4 à 2015, section 10.1.4.
|
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
|
Récupère le gain LNA Rx du module FEM externe en dB.
|
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
void
Récupère l'IEEE EUI-64 attribué en usine pour cette interface.
|
otPlatRadioGetNow(otInstance *aInstance)
|
uint64_t
Obtenez l'heure actuelle en microsecondes référencée à une horloge radio locale monotone continue (largeur de 64 bits).
|
otPlatRadioGetPromiscuous(otInstance *aInstance)
|
bool
Permet d'obtenir l'état du mode promiscuité.
|
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
|
int8_t
Permet d'obtenir la valeur de sensibilité de réception radio.
|
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
|
Obtenir la puissance de transmission de la radio en dBm.
|
otPlatRadioGetVersionString(otInstance *aInstance)
|
const char *
Récupère la chaîne de version radio.
|
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
|
Définissez le seuil d'EDC du signal radio en dBm, mesuré au niveau du connecteur d'antenne conformément à la norme IEEE 802.15.4 à 2015, section 10.1.4.
|
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
Définissez l'adresse étendue pour le filtrage des adresses.
|
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
|
Définit le gain LNA Rx du module FEM externe en dB.
|
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
Définit la valeur actuelle du compteur de trames MAC.
|
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
Définit la valeur actuelle du compteur de trames MAC uniquement si la nouvelle valeur donnée est supérieure à la valeur actuelle.
|
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
|
void
Mettre à jour les clés MAC et l'index de clé
|
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
|
void
Définissez l'ID du PAN pour le filtrage des adresses.
|
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
void
Activer ou désactiver le mode promiscuité
|
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
|
void
Définit l'état rx-on-when-idle sur la plate-forme radio.
|
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
|
void
Définissez l'adresse courte pour le filtrage des adresses.
|
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
|
Définit la puissance de transmission de la radio en dBm.
|
distantes
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
Obtenez la vitesse du bus en bits/seconde entre l'hôte et la puce radio.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Vitesse du bus en bits/seconde entre l'hôte et la puce radio. Renvoie 0 lorsque la couche MAC et supérieure et la couche radio se trouvent sur la même puce.
|
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
Obtenez les fonctionnalités radio.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Vecteur de bits de capacité radio (voir les définitions
OT_RADIO_CAP_* ). |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
Obtenez le seuil d'ED du CCA du radio en dBm, mesuré au niveau du connecteur d'antenne conformément à la norme IEEE 802.15.4 à 2015, section 10.1.4.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
Récupère le gain LNA Rx du module FEM externe en dB.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
Récupère l'IEEE EUI-64 attribué en usine pour cette interface.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
Obtenez l'heure actuelle en microsecondes référencée à une horloge radio locale monotone continue (largeur de 64 bits).
L'horloge radio NE SERA PAS encapsulée pendant le temps d'activité de l'appareil. Par conséquent, les implémentations SHALL identifient et compensent les dépassements de compteur interne. L'horloge n'a pas d'epoch définie et n'introduira PAS d'ajustements continus ou discontinus (par exemple, des secondes intercalaires). Les implémentations compensent les temps de mise en veille de l'appareil.
Les implémentations PEUVENT choisir de discipliner l'horloge radio et de compenser les temps de sommeil par n'importe quel moyen (par exemple, en combinant une valeur RTC haute précision/faible puissance avec un compteur haute résolution), à condition que l'horloge combinée exposée fournisse des ticks de résolution monotones continus dans les limites de précision annoncées par otPlatRadioGetCslAccuracy.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Heure actuelle en microsecondes. UINT64_MAX lorsque la plate-forme n'est pas compatible ou que l'heure radio n'est pas prête
|
otPlatRadioGetPromiscuous
bool otPlatRadioGetPromiscuous( otInstance *aInstance )
Permet d'obtenir l'état du mode promiscuité.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otPlatRadioGetReceiveSensitivity
int8_t otPlatRadioGetReceiveSensitivity( otInstance *aInstance )
Permet d'obtenir la valeur de sensibilité de réception radio.
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Valeur de la sensibilité à la réception des signaux radio, en dBm.
|
otPlatRadioGetTransmitPower
otError otPlatRadioGetTransmitPower( otInstance *aInstance, int8_t *aPower )
Obtenir la puissance de transmission de la radio en dBm.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
otPlatRadioGetVersionString
const char * otPlatRadioGetVersionString( otInstance *aInstance )
Récupère la chaîne de version radio.
Il s'agit d'une fonction facultative de la plate-forme de pilotes de radio. S'il n'est pas fourni par le pilote radio de la plateforme, OpenThread utilise à la place la version OpenThread (
Détails | |||
---|---|---|---|
Paramètres |
|
||
Renvoie |
Pointeur vers la version radio OpenThread.
|
otGetVersionString()).
otPlatRadioSetCcaEnergyDetectThreshold
otError otPlatRadioSetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t aThreshold )
Définissez le seuil d'EDC du signal radio en dBm, mesuré au niveau du connecteur d'antenne conformément à la norme IEEE 802.15.4 à 2015, section 10.1.4.
Détails | |||||||
---|---|---|---|---|---|---|---|
Paramètres |
|
||||||
Valeurs de retour |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
Définissez l'adresse étendue pour le filtrage des adresses.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
Définit le gain LNA Rx du module FEM externe en dB.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
otPlatRadioSetMacFrameCounter
void otPlatRadioSetMacFrameCounter( otInstance *aInstance, uint32_t aMacFrameCounter )
Définit la valeur actuelle du compteur de trames MAC.
Utilisé lorsque le signal radio fournit la capacité OT_RADIO_CAPS_TRANSMIT_SEC
.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otPlatRadioSetMacFrameCounterIfLarger
void otPlatRadioSetMacFrameCounterIfLarger( otInstance *aInstance, uint32_t aMacFrameCounter )
Définit la valeur actuelle du compteur de trames MAC uniquement si la nouvelle valeur donnée est supérieure à la valeur actuelle.
Utilisé lorsque le signal radio fournit la capacité OT_RADIO_CAPS_TRANSMIT_SEC
.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otPlatRadioSetMacKey
void otPlatRadioSetMacKey( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType )
Mettre à jour les clés MAC et l'index de clé
Utilisé lorsque le signal radio fournit la capacité OT_RADIO_CAPS_TRANSMIT_SEC.
Détails | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Paramètres |
|
otPlatRadioSetPanId
void otPlatRadioSetPanId( otInstance *aInstance, otPanId aPanId )
Définissez l'ID du PAN pour le filtrage des adresses.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otPlatRadioSetPromiscuous
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
Activer ou désactiver le mode promiscuité
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
Définit l'état rx-on-when-idle sur la plate-forme radio.
Dans certains cas, le signal radio peut passer en état de veille si l'appareil est en mode "rx-off-when-inle" (rx-arrêt quand l'état est inactif), mais il est difficile et coûteux pour le SubMac d'identifier ces situations et de demander au signal de passer en mode veille:
- Finalisation d'une tâche de réception de trame standard, à condition que:
- La trame est reçue sans erreur et passe le filtrage et ce n’est pas un faux ACK.
- L'ACK n'est pas demandé ou la transmission de l'ACK n'est pas possible en raison de conditions internes.
- Finalisation d'une transmission de trame ou d'une transmission de trame ACK, lorsque l'indicateur ACK n'est pas demandé dans la trame transmise.
- Finalisation de l'opération de réception d'un ACK demandé pour les raisons suivantes:
- Expiration du délai d'attente de l'accusé de réception (ACK).
- Réception d'une trame ACK non valide ou non valide.
- Réception de l'ACK approprié, sauf si la trame transmise est une commande de requête de données et que le bit en attente de trame sur l'indicateur reçu est défini sur "true". Dans ce cas, l'implémentation de la plate-forme radio DOIT garder le récepteur activé jusqu'à un délai d'expiration déterminé, qui déclenche le début d'une période d'inactivité.
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
peut être utilisé comme référence.
- Finalisation d'une tâche d'acquisition de nouveaux clients (CCA) autonome.
- Finalisation d'une opération CCA avec un résultat chargé au cours de la procédure CSMA/CA.
- Finalisation d'une tâche de détection d'énergie.
- Finalisation d'une fenêtre de réception radio programmée avec
otPlatRadioReceiveAt
.
Si une plate-forme accepte OT_RADIO_CAPS_RX_ON_WHEN_IDLE
, elle doit également être compatible avec OT_RADIO_CAPS_CSMA_BACKOFF
et gérer les périodes d'inactivité après l'engagement de l'utilisateur, comme décrit ci-dessus.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
Définissez l'adresse courte pour le filtrage des adresses.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
Définit la puissance de transmission de la radio en dBm.
Détails | |||||
---|---|---|---|---|---|
Paramètres |
|
||||
Valeurs de retour |
|
Ressources
Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la section Ressources.