הגדרת רדיו
המודול הזה כולל את הפשטת הפלטפורמה לצורך הגדרת רדיו.
סיכום
פונקציות |
|
---|---|
otPlatRadioGetBusSpeed(otInstance *aInstance)
|
uint32_t
מדידת מהירות האוטובוס לפי מספר הביטים לשנייה בין המארח לצ'יפ הרדיו.
|
otPlatRadioGetCaps(otInstance *aInstance)
|
קבל את יכולות הרדיו.
|
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
|
קביעת סף CCA ED של הרדיו ב-dBm, הנמדדת במחבר האנטנה בהתאם לסעיף 10.1.4 של IEEE 802.15.4 - 2015.
|
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
|
מקבל את תוספת ה-Rx LNA של ה-FEM החיצוני ב-dBm.
|
otPlatRadioGetIeeeEui64(otInstance *aInstance, uint8_t *aIeeeEui64)
|
void
מקבל את IEEE EUI-64 שהוקצה על-ידי היצרן לממשק זה.
|
otPlatRadioGetNow(otInstance *aInstance)
|
uint64_t
קבלת השעה הנוכחית במיליוניות השנייה שמוזכרת בשעון רדיו מקומי מונוטוני רציף (ברוחב 64 סיביות).
|
otPlatRadioGetPromiscuous(otInstance *aInstance)
|
bool
קבלת הסטטוס של מצב פרוץ.
|
otPlatRadioGetReceiveSensitivity(otInstance *aInstance)
|
int8_t
צריך להשיג את ערך הרגישות של הרדיו.
|
otPlatRadioGetTransmitPower(otInstance *aInstance, int8_t *aPower)
|
עוצמת השידור של הרדיו נמצאת ב-dBm.
|
otPlatRadioGetVersionString(otInstance *aInstance)
|
const char *
מקבלים את המחרוזת של גרסת הרדיו.
|
otPlatRadioSetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t aThreshold)
|
מגדירים את סף ה-CCA ED של הרדיו ב-dBm שנמדד במחבר אנטנה לפי סעיף 10.1.4 של IEEE 802.15.4-2015.
|
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
הגדרת 'כתובת מורחבת' לסינון כתובות.
|
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
|
מגדיר את הגברת ה-Rx LNA של ה-FEM החיצוני ב-dBm.
|
otPlatRadioSetMacFrameCounter(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
מגדיר את הערך הנוכחי של מונה המסגרות של MAC.
|
otPlatRadioSetMacFrameCounterIfLarger(otInstance *aInstance, uint32_t aMacFrameCounter)
|
void
מגדירה את הערך הנוכחי של מונה המסגרות של MAC רק אם הערך הנתון החדש גדול מהערך הנוכחי.
|
otPlatRadioSetMacKey(otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType)
|
void
עדכון מפתחות MAC ואינדקס מפתחות.
|
otPlatRadioSetPanId(otInstance *aInstance, otPanId aPanId)
|
void
מגדירים את מזהה ה-PAN (מספר חשבון קבוע) לסינון כתובות.
|
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
void
הפעלה או השבתה של מצב פרוץ.
|
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
|
void
מגדיר את מצב 'חוסר פעילות' לפלטפורמת הרדיו.
|
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
|
void
מגדירים את הכתובת המקוצרת לסינון כתובות.
|
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
|
מגדירים את עוצמת השידור של הרדיו ב-dBm.
|
פונקציות
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
מדידת מהירות האוטובוס לפי מספר הביטים לשנייה בין המארח לצ'יפ הרדיו.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
מהירות האוטובוס בסיביות לשנייה בין המארח לצ'יפ הרדיו. הפונקציה מחזירה את הערך 0 כאשר שכבת ה-MAC ומעלה ושכבת הרדיו נמצאות על אותו צ'יפ.
|
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
קבל את יכולות הרדיו.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
וקטור הביט של יכולת הרדיו (יש לעיין בהגדרות של
OT_RADIO_CAP_* ). |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
קביעת סף CCA ED של הרדיו ב-dBm, הנמדדת במחבר האנטנה בהתאם לסעיף 10.1.4 של IEEE 802.15.4 - 2015.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
מקבל את תוספת ה-Rx LNA של ה-FEM החיצוני ב-dBm.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
מקבל את IEEE EUI-64 שהוקצה על-ידי היצרן לממשק זה.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
קבלת השעה הנוכחית במיליוניות השנייה שמוזכרת בשעון רדיו מקומי מונוטוני רציף (ברוחב 64 סיביות).
שעון הרדיו לא יגלש במהלך זמן הפעולה התקינה של המכשיר. לכן, הטמעות יזהו חריגות פנימיות של מונה ויש לפצות עליהן. לשעון אין פרק זמן מוגדר והוא לא יציג התאמות רציפות או לא רציפות (כמו שניות מדלגות). הטמעות יגרמו לפיצוי על זמני השינה של המכשיר.
יכול להיות שההטמעות יבחרו לכוונן את שעון הרדיו ולפצות על זמני השינה בכל אמצעי כלשהו (למשל, על ידי שילוב RTC עם דיוק גבוה/צריכת חשמל נמוכה עם מונה ברזולוציה גבוהה), כל עוד השעון המשולב החשוף מספק סימונים רציפים ברזולוציה של מיקרו שניות, במסגרת מגבלות הדיוק שנקבעו על ידי otPlatRadioGetCslAccuracy.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
השעה הנוכחית במיליוניות השנייה. UINT64_MAX כשהפלטפורמה לא תומכת או שזמן הרדיו לא מוכן.
|
otPlatRadioGetPromiscuous
bool otPlatRadioGetPromiscuous( otInstance *aInstance )
קבלת הסטטוס של מצב פרוץ.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otPlatRadioGetReceiveSensitivity
int8_t otPlatRadioGetReceiveSensitivity( otInstance *aInstance )
צריך להשיג את ערך הרגישות של הרדיו.
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
הרדיו מקבל ערך רגישות ב-dBm.
|
otPlatRadioGetTransmitPower
otError otPlatRadioGetTransmitPower( otInstance *aInstance, int8_t *aPower )
עוצמת השידור של הרדיו נמצאת ב-dBm.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otPlatRadioGetVersionString
const char * otPlatRadioGetVersionString( otInstance *aInstance )
מקבלים את המחרוזת של גרסת הרדיו.
זוהי פונקציה אופציונלית של פלטפורמת מנהל הרדיו. אם מנהל התקן הרדיו של הפלטפורמה לא סופק, OpenThread משתמש בגרסת OpenThread במקום (
פרטים | |||
---|---|---|---|
פרמטרים |
|
||
החזרות |
הפניה לגרסת הרדיו OpenThread.
|
otGetVersionString()).
otPlatRadioSetCcaEnergyDetectThreshold
otError otPlatRadioSetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t aThreshold )
מגדירים את סף ה-CCA ED של הרדיו ב-dBm שנמדד במחבר אנטנה לפי סעיף 10.1.4 של IEEE 802.15.4-2015.
פרטים | |||||||
---|---|---|---|---|---|---|---|
פרמטרים |
|
||||||
ערכים מוחזרים |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
הגדרת 'כתובת מורחבת' לסינון כתובות.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
מגדיר את הגברת ה-Rx LNA של ה-FEM החיצוני ב-dBm.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
otPlatRadioSetMacFrameCounter
void otPlatRadioSetMacFrameCounter( otInstance *aInstance, uint32_t aMacFrameCounter )
מגדיר את הערך הנוכחי של מונה המסגרות של MAC.
בשימוש כאשר הרדיו מספק יכולת לOT_RADIO_CAPS_TRANSMIT_SEC
.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioSetMacFrameCounterIfLarger
void otPlatRadioSetMacFrameCounterIfLarger( otInstance *aInstance, uint32_t aMacFrameCounter )
מגדירה את הערך הנוכחי של מונה המסגרות של MAC רק אם הערך הנתון החדש גדול מהערך הנוכחי.
בשימוש כאשר הרדיו מספק יכולת לOT_RADIO_CAPS_TRANSMIT_SEC
.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioSetMacKey
void otPlatRadioSetMacKey( otInstance *aInstance, uint8_t aKeyIdMode, uint8_t aKeyId, const otMacKeyMaterial *aPrevKey, const otMacKeyMaterial *aCurrKey, const otMacKeyMaterial *aNextKey, otRadioKeyType aKeyType )
עדכון מפתחות MAC ואינדקס מפתחות.
נעשה שימוש כאשר הרדיו מספק יכולת OT_Radio_CAPS_TRANSMIT_SEC.
פרטים | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioSetPanId
void otPlatRadioSetPanId( otInstance *aInstance, otPanId aPanId )
מגדירים את מזהה ה-PAN (מספר חשבון קבוע) לסינון כתובות.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioSetPromiscuous
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
הפעלה או השבתה של מצב פרוץ.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
מגדיר את מצב 'חוסר פעילות' לפלטפורמת הרדיו.
יש מספר מצבים שבהם הרדיו יכול לעבור למצב שינה אם המכשיר נמצא במצב 'חוסר פעילות', אבל קשה ויקר ל-SubMac לזהות מצבים אלה ולהורות לרדיו לעבור למצב שינה:
- השלמת משימה רגילה של קבלת מסגרות, בתנאי ש:
- הפריים מתקבל ללא שגיאות ועובר את הסינון וזה לא ACK מלאכותי.
- אין בקשה ל-ACK או שאין אפשרות להעביר ACK עקב תנאים פנימיים.
- השלמת שידור של מסגרת או תמסורת של מסגרת ACK, כאשר אין בקשה ל-ACK במסגרת המשודרת.
- השלמת פעולת הקבלה של ACK מבוקש עקב:
- תפוגת הזמן הקצוב ל-ACK.
- קבלה של ACK לא חוקי או לא מסגרת ACK.
- הקבלה של ה-ACK הנכון, אלא אם המסגרת ששודרה הייתה פקודת בקשת נתונים והביט בהמתנה ב-ACK שהתקבל מוגדר כ-true. במקרה הזה, ההטמעה של פלטפורמת הרדיו אמורה להשאיר את המקלט מופעל עד לסיום הזמן הקצוב לתפוגה שמפעיל את פרק הזמן ללא פעילות.
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
יכול לשמש כהפניה לכך.
- השלמת משימה עצמאית של CCA.
- השלמת פעולת CCA עם תוצאה עמוסה במהלך הליך CSMA/CA.
- השלמת משימה של זיהוי אנרגיה.
- השלמת החלון של קליטת רדיו תוזמן עם
otPlatRadioReceiveAt
.
אם פלטפורמה תומכת ב-OT_RADIO_CAPS_RX_ON_WHEN_IDLE
, היא צריכה גם לתמוך ב-OT_RADIO_CAPS_CSMA_BACKOFF
ולטפל בתקופות של חוסר פעילות אחרי CCA, כפי שמתואר למעלה.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
מגדירים את הכתובת המקוצרת לסינון כתובות.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
מגדירים את עוצמת השידור של הרדיו ב-dBm.
פרטים | |||||
---|---|---|---|---|---|
פרמטרים |
|
||||
ערכים מוחזרים |
|
מקורות מידע
המקור של נושאי העזר של OpenThread API הוא קוד המקור, שזמין ב-GitHub. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.