הפעלת רדיו

המודול הזה כולל את הפשטת הפלטפורמה לצורך פעולות רדיו.

סיכום

פונקציות

otPlatDiagRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
מנהל הרדיו מפעיל את השיטה הזו כדי להודיע למודול האבחון של OpenThread של פריים שהתקבל.
otPlatDiagRadioTransmitDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
מנהל הרדיו מפעיל את השיטה הזו כדי להודיע למודול האבחון של OpenThread שההעברה הושלמה.
otPlatRadioAddCalibratedPower(otInstance *aInstance, uint8_t aChannel, int16_t aActualPower, const uint8_t *aRawPowerSetting, uint16_t aRawPowerSettingLength)
צריך להוסיף עוצמה מכוילת של הערוץ שצוין לטבלת כיול החשמל.
otPlatRadioAddSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
להוסיף כתובת מורחבת לטבלת ההתאמות של כתובת המקור.
otPlatRadioAddSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
מוסיפים כתובת קצרה לטבלת ההתאמות של כתובת המקור.
otPlatRadioClearCalibratedPowers(otInstance *aInstance)
הסרת כל הכוחות המכויילים מטבלת הכיולות של החשמל.
otPlatRadioClearSrcMatchExtEntries(otInstance *aInstance)
void
ניקוי כל הכתובות המורחבות/הארוכות מטבלת ההתאמות של כתובות המקור.
otPlatRadioClearSrcMatchExtEntry(otInstance *aInstance, const otExtAddress *aExtAddress)
צריך להסיר כתובת מורחבת מטבלת ההתאמות של כתובת המקור.
otPlatRadioClearSrcMatchShortEntries(otInstance *aInstance)
void
יש לנקות את כל הכתובות הקצרות מטבלת ההתאמות של כתובות המקור.
otPlatRadioClearSrcMatchShortEntry(otInstance *aInstance, otShortAddress aShortAddress)
צריך להסיר כתובת קצרה מטבלת ההתאמות של כתובות המקור.
otPlatRadioConfigureEnhAckProbing(otInstance *aInstance, otLinkMetrics aLinkMetrics, otShortAddress aShortAddress, const otExtAddress *aExtAddress)
הפעלה/השבתה או עדכון של התכונה 'בדיקת מעקב מבוסס-ACK משופרת' ברדיו ליוזם ספציפי.
otPlatRadioDisable(otInstance *aInstance)
השבתת הרדיו.
otPlatRadioEnable(otInstance *aInstance)
הפעלת הרדיו.
otPlatRadioEnableCsl(otInstance *aInstance, uint32_t aCslPeriod, otShortAddress aShortAddr, const otExtAddress *aExtAddr)
הפעלה או השבתה של מקלט CSL.
otPlatRadioEnableSrcMatch(otInstance *aInstance, bool aEnable)
void
הפעלה/השבתה של תכונת ההתאמה לכתובת המקור.
otPlatRadioEnergyScan(otInstance *aInstance, uint8_t aScanChannel, uint16_t aScanDuration)
מתחילים את רצף סריקת האנרגיה ברדיו.
otPlatRadioEnergyScanDone(otInstance *aInstance, int8_t aEnergyScanMaxRssi)
void
מנהל הרדיו מבצע קריאה לשיטה הזו כדי להודיע ל-OpenThread שסריקת האנרגיה הושלמה.
otPlatRadioGetCoexMetrics(otInstance *aInstance, otRadioCoexMetrics *aCoexMetrics)
קבלת המדדים של דו-קיום ברדיו.
otPlatRadioGetCslAccuracy(otInstance *aInstance)
uint8_t
קבל את הדיוק המשוער הנוכחי של המקרים הגרועים ביותר (מקסימום ± סטייה מהתדר הנומינלי) של שעון הרדיו המקומי ביחידות של PPM.
otPlatRadioGetCslUncertainty(otInstance *aInstance)
uint8_t
אי-הוודאות הקבועה (כלומר
otPlatRadioGetPreferredChannelMask(otInstance *aInstance)
uint32_t
הפונקציה מקבלת את מסכת הערוצים המועדפת לרדיו שהמכשיר מעדיף ליצור עליה.
otPlatRadioGetRawPowerSetting(otInstance *aInstance, uint8_t aChannel, uint8_t *aRawPowerSetting, uint16_t *aRawPowerSettingLength)
קבלת הגדרת העוצמה הגולמית של הערוץ הנתון.
otPlatRadioGetRegion(otInstance *aInstance, uint16_t *aRegionCode)
מקבלים את קוד האזור.
otPlatRadioGetRssi(otInstance *aInstance)
int8_t
קבלת מדידת ה-RSSI העדכנית ביותר.
otPlatRadioGetState(otInstance *aInstance)
קבלת המצב הנוכחי של הרדיו.
otPlatRadioGetSupportedChannelMask(otInstance *aInstance)
uint32_t
צריך לקבל את מסכת הערוצים עם תמיכה ברדיו שהמכשיר מורשה לפעול בה.
otPlatRadioGetTransmitBuffer(otInstance *aInstance)
קבל את האחסון הזמני של מסגרת שידור הרדיו.
otPlatRadioIsCoexEnabled(otInstance *aInstance)
bool
בודקים אם רדיו coex מופעל או לא.
otPlatRadioIsEnabled(otInstance *aInstance)
bool
בדוק אם הרדיו מופעל או לא.
otPlatRadioReceive(otInstance *aInstance, uint8_t aChannel)
העברת הרדיו ממצב שינה למצב קבלה (הפעלת הרדיו).
otPlatRadioReceiveAt(otInstance *aInstance, uint8_t aChannel, uint32_t aStart, uint32_t aDuration)
תזמן חלון קליטת רדיו בשעה ובמשך זמן ספציפיים.
otPlatRadioReceiveDone(otInstance *aInstance, otRadioFrame *aFrame, otError aError)
void
מנהל הרדיו קורא לשיטה הזו כדי להודיע ל-OpenThread על פריים שהתקבל.
otPlatRadioSetChannelMaxTransmitPower(otInstance *aInstance, uint8_t aChannel, int8_t aMaxPower)
הגדרת הספק השידור המקסימלי לערוץ ספציפי.
otPlatRadioSetChannelTargetPower(otInstance *aInstance, uint8_t aChannel, int16_t aTargetPower)
הגדרה של כוח היעד לערוץ הנתון.
otPlatRadioSetCoexEnabled(otInstance *aInstance, bool aEnabled)
הפעלת שיתוף הרדיו.
otPlatRadioSetRegion(otInstance *aInstance, uint16_t aRegionCode)
מגדירים את קוד האזור.
otPlatRadioSleep(otInstance *aInstance)
העברת הרדיו ממצב 'קבלה' למצב שינה (כיבוי הרדיו).
otPlatRadioTransmit(otInstance *aInstance, otRadioFrame *aFrame)
התחלת רצף השידור ברדיו.
otPlatRadioTxDone(otInstance *aInstance, otRadioFrame *aFrame, otRadioFrame *aAckFrame, otError aError)
void
מנהל הרדיו מפעיל את הפונקציה הזו כדי להודיע ל-OpenThread שפעולת השידור הושלמה, ומספקת גם את המסגרת המשודרת וגם את מסגרת ה-ack, אם רלוונטי.
otPlatRadioTxStarted(otInstance *aInstance, otRadioFrame *aFrame)
void
מנהל הרדיו מבצע קריאה לשיטה הזו כדי להודיע ל-OpenThread שהשידור החל.
otPlatRadioUpdateCslSampleTime(otInstance *aInstance, uint32_t aCslSampleTime)
void
עדכון זמן דגימת ה-CSL במנהל הרדיו.

פונקציות

otPlatDiagRadioReceiveDone

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

מנהל הרדיו מפעיל את השיטה הזו כדי להודיע למודול האבחון של OpenThread של פריים שהתקבל.

נעשה בה שימוש כשהאבחון מופעל.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aFrame
מציין את המסגרת שהתקבלה או את הערך NULL אם פעולת הקבלה נכשלה.
[in] aError
OT_ERROR_NONE במקרה של קבלת פריים בהצלחה, OT_ERROR_ABORT כשהקבלה בוטלה ופריים לא התקבלה, OT_ERROR_NO_BUFS כשלא ניתן היה לקבל מסגרת עקב חוסר מקום למאגר אחסון זמני rx.

otPlatDiagRadioTransmitDone

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

מנהל הרדיו מפעיל את השיטה הזו כדי להודיע למודול האבחון של OpenThread שההעברה הושלמה.

נעשה בה שימוש כשהאבחון מופעל.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aFrame
מצביע למסגרת שהועברה.
[in] aError
OT_ERROR_NONE כאשר הפריים הועבר, OT_ERROR_CHANNEL_ACCESS_FAILURE tx לא הצליח להתרחש עקב פעילות בערוץ, OT_ERROR_ABORT השידור בוטל מסיבות אחרות.

otPlatRadioAddCalibratedPower

otError otPlatRadioAddCalibratedPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aActualPower,
  const uint8_t *aRawPowerSetting,
  uint16_t aRawPowerSettingLength
)

צריך להוסיף עוצמה מכוילת של הערוץ שצוין לטבלת כיול החשמל.

הערך aActualPower הוא מתח הפלט שנמדד בפועל כאשר הפרמטרים של המודולים של חומרת הרדיו מוגדרים ל-aRawPowerSetting.

הגדרת העוצמה הגולמית היא מערך בייטים אטומים. OpenThread לא מגדיר את הפורמט של הגדרות העוצמה הגולמיות. הפורמט שלה קשור לחומרת רדיו, והמפתחים צריכים להגדיר אותו במנהל הרדיו של הפלטפורמה. לדוגמה, אם חומרת הרדיו מכילה גם שבב רדיו וגם שבב FEM, הגדרת העוצמה הגולמית יכולה להיות שילוב של רישום כוח הרדיו וערך השיפור של FEM.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aChannel
ערוץ הרדיו.
[in] aActualPower
ההספק בפועל ב-0.01dBm.
[in] aRawPowerSetting
מצביעה למערך הבייטים של הגדרת העוצמה הגולמית.
[in] aRawPowerSettingLength
האורך של aRawPowerSetting.
ערכים מוחזרים
OT_ERROR_NONE
העוצמה המכויילת נוספה בהצלחה לטבלת כיול החשמל.
OT_ERROR_NO_BUFS
אין רשומה זמינה בטבלת כיול החשמל.
OT_ERROR_INVALID_ARGS
הערכים aChannel, aActualPower או aRawPowerSetting לא חוקיים או שה-aActualPower כבר קיים בטבלת כיול החשמל.
OT_ERROR_NOT_IMPLEMENTED
התכונה הזו לא מוטמעת.

otPlatRadioAddSrcMatchExtEntry

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

להוסיף כתובת מורחבת לטבלת ההתאמות של כתובת המקור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aExtAddress
הכתובת המורחבת שיש להוסיף מאוחסנת בסדר בתים קטנים.
ערכים מוחזרים
OT_ERROR_NONE
הכתובת המורחבת נוספה בהצלחה לטבלת ההתאמות של המקור.
OT_ERROR_NO_BUFS
אין ערך זמין בטבלת ההתאמות של המקור.

otPlatRadioAddSrcMatchShortEntry

otError otPlatRadioAddSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

מוסיפים כתובת קצרה לטבלת ההתאמות של כתובת המקור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aShortAddress
הכתובת הקצרה להוספה.
ערכים מוחזרים
OT_ERROR_NONE
הכתובת הקצרה נוספה בהצלחה לטבלת ההתאמות של המקור.
OT_ERROR_NO_BUFS
אין ערך זמין בטבלת ההתאמות של המקור.

otPlatRadioClearCalibratedPowers

otError otPlatRadioClearCalibratedPowers(
  otInstance *aInstance
)

הסרת כל הכוחות המכויילים מטבלת הכיולות של החשמל.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
ערכים מוחזרים
OT_ERROR_NONE
כל הכוחות הכיול הוסרו מטבלת כיול החשמל.
OT_ERROR_NOT_IMPLEMENTED
התכונה הזו לא מוטמעת.

otPlatRadioClearSrcMatchExtEntries

void otPlatRadioClearSrcMatchExtEntries(
  otInstance *aInstance
)

ניקוי כל הכתובות המורחבות/הארוכות מטבלת ההתאמות של כתובות המקור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.

otPlatRadioClearSrcMatchExtEntry

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

צריך להסיר כתובת מורחבת מטבלת ההתאמות של כתובת המקור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aExtAddress
הכתובת המורחבת שיש להסיר מאוחסנת בסדר בתים קטנים.
ערכים מוחזרים
OT_ERROR_NONE
הכתובת המורחבת הוסרה מטבלת ההתאמות של המקור.
OT_ERROR_NO_ADDRESS
הכתובת המורחבת לא נמצאת בטבלת ההתאמות של כתובות המקור.

otPlatRadioClearSrcMatchShortEntries

void otPlatRadioClearSrcMatchShortEntries(
  otInstance *aInstance
)

יש לנקות את כל הכתובות הקצרות מטבלת ההתאמות של כתובות המקור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.

otPlatRadioClearSrcMatchShortEntry

otError otPlatRadioClearSrcMatchShortEntry(
  otInstance *aInstance,
  otShortAddress aShortAddress
)

צריך להסיר כתובת קצרה מטבלת ההתאמות של כתובות המקור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aShortAddress
הכתובת הקצרה שיש להסיר.
ערכים מוחזרים
OT_ERROR_NONE
הכתובת הקצרה הוסרה בהצלחה מטבלת ההתאמות של המקור.
OT_ERROR_NO_ADDRESS
הכתובת המקוצרת לא נמצאת בטבלת ההתאמות של כתובות המקור.

otPlatRadioConfigureEnhAckProbing

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

הפעלה/השבתה או עדכון של התכונה 'בדיקת מעקב מבוסס-ACK משופרת' ברדיו ליוזם ספציפי.

אחרי ש-Enhanced-ACK מבוסס על Probing מוגדר על ידי מפעיל ספציפי של Probing, ה-Enhanced-ACK שנשלח לצומת הזה צריך לכלול נתוני IE ספציפיים לספק, שמכילים נתונים של מדדי קישורים. השיטה הזו מיידעת את הרדיו להתחיל/להפסיק לאסוף נתונים של מדדי קישורים ולכלול נתוני IE ספציפיים לספק, שמכילים את הנתונים ב-Enhanced-ACK שנשלחו לאותו מפעיל בדיקה.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aLinkMetrics
הפרמטר הזה מציין את המדדים שיש להריץ עליהם שאילתה. לפי מפרט 4.11.3.4.4.6, אפשר לציין 2 מדדים לכל היותר. הבדיקה תושבת אם הערך של aLinkMetrics הוא 0.
[in] aShortAddress
הכתובת הקצרה של מי שפתח את הבדיקה.
[in] aExtAddress
כתובת המקור המורחבת של מי שיזם את הבדיקה. הערך של aExtAddr לא יכול להיות NULL.
ערכים מוחזרים
OT_ERROR_NONE
הבדיקה מבוססת-ACK הוגדרה בהצלחה.
OT_ERROR_INVALID_ARGS
aExtAddress היא NULL.
OT_ERROR_NOT_FOUND
היוזם שצוין על ידי aShortAddress לא נמצא בעת הניסיון לנקות.
OT_ERROR_NO_BUFS
לא ניתן לתמוך ביוצר נוסף.
OT_ERROR_NOT_IMPLEMENTED
התכונה לא מוטמעת.

otPlatRadioDisable

otError otPlatRadioDisable(
  otInstance *aInstance
)

השבתת הרדיו.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
ערכים מוחזרים
OT_ERROR_NONE
הועברה בהצלחה למצב מושבת.
OT_ERROR_INVALID_STATE
הרדיו לא היה במצב שינה.

otPlatRadioEnable

otError otPlatRadioEnable(
  otInstance *aInstance
)

הפעלת הרדיו.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
ערכים מוחזרים
OT_ERROR_NONE
הופעל בהצלחה.
OT_ERROR_FAILED
לא ניתן להפעיל את הרדיו.

otPlatRadioEnableCsl

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

הפעלה או השבתה של מקלט CSL.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aCslPeriod
תקופת CSL, 0 להשבתת CSL. תקופת ה-CSL היא ביחידה של 10 סמלים.
[in] aShortAddr
כתובת המקור הקצרה של העמית של מקבל ה-CSL.
[in] aExtAddr
כתובת המקור המורחבת של העמית של מקבל ה-CSL.
ערכים מוחזרים
kErrorNotImplemented
מנהל הרדיו לא תומך ב-CSL.
kErrorFailed
שגיאות אחרות שספציפיות לפלטפורמה.
kErrorNone
CSL הופעל או הושבת בהצלחה.

otPlatRadioEnableSrcMatch

void otPlatRadioEnableSrcMatch(
  otInstance *aInstance,
  bool aEnable
)

הפעלה/השבתה של תכונת ההתאמה לכתובת המקור.

התכונה 'התאמה לכתובת מקור' קובעת איך שכבת הרדיו קובעת את הביט 'מסגרת בהמתנה' לפקקים שנשלחים בתגובה לפקודות של בקשת נתונים מצאצאים.

אם היא מושבתת, שכבת הרדיו חייבת להגדיר את "המסגרת בהמתנה" בכל ה-Acks לפקודות של בקשת נתונים.

אם האפשרות הזו מופעלת, שכבת הרדיו משתמשת בטבלת ההתאמות של כתובות המקור כדי לקבוע אם להגדיר או לנקות את הביט 'מסגרת בהמתנה' בפקודה של בקשת נתונים.

בטבלת ההתאמות של כתובות המקור מוצגת רשימת הצאצאים שעבורם יש מסגרת בהמתנה. ניתן להוסיף כתובת קצרה או כתובת מורחבת/ארוכה לטבלת ההתאמות של כתובות המקור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aEnable
הפעלה/השבתה של תכונת ההתאמה לכתובת המקור.

otPlatRadioEnergyScan

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

מתחילים את רצף סריקת האנרגיה ברדיו.

נעשה שימוש כאשר הרדיו מספק יכולת OT_Radio_CAPS_ENERGY_SCAN.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aScanChannel
הערוץ שבו יש לבצע את סריקת האנרגיה.
[in] aScanDuration
משך הזמן (באלפיות שנייה) של הערוץ שייסרק.
ערכים מוחזרים
OT_ERROR_NONE
סריקת הערוץ התחילה בהצלחה.
OT_ERROR_BUSY
הרדיו מבצע סריקת אנרגיה.
OT_ERROR_NOT_IMPLEMENTED
הרדיו לא תומך בסריקת אנרגיה.

otPlatRadioEnergyScanDone

void otPlatRadioEnergyScanDone(
  otInstance *aInstance,
  int8_t aEnergyScanMaxRssi
)

מנהל הרדיו מבצע קריאה לשיטה הזו כדי להודיע ל-OpenThread שסריקת האנרגיה הושלמה.

נעשה שימוש כאשר הרדיו מספק יכולת OT_Radio_CAPS_ENERGY_SCAN.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aEnergyScanMaxRssi
מספר ה-RSSI המקסימלי שנמצא בערוץ שנסרק.

otPlatRadioGetCoexMetrics

otError otPlatRadioGetCoexMetrics(
  otInstance *aInstance,
  otRadioCoexMetrics *aCoexMetrics
)

קבלת המדדים של דו-קיום ברדיו.

בשימוש כאשר התכונה OPENthread_CONFIG_PLATFORM_ALERT_COEX_ENABLE מופעלת.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[out] aCoexMetrics
הצבעה למבנה המדדים של דו-קיום.
ערכים מוחזרים
OT_ERROR_NONE
המדדים של Coex נשלפו בהצלחה.
OT_ERROR_INVALID_ARGS
הערך של aCoexMetrics היה NULL.

otPlatRadioGetCslAccuracy

uint8_t otPlatRadioGetCslAccuracy(
  otInstance *aInstance
)

קבל את הדיוק המשוער הנוכחי של המקרים הגרועים ביותר (מקסימום ± סטייה מהתדר הנומינלי) של שעון הרדיו המקומי ביחידות של PPM.

זה השעון שמשמש לתזמון פעולות CSL.

אם ההטמעה לא מבצעת הערכה של הערך הנוכחי אבל מחזירה ערך קבוע, הערך הזה חייב להיות הדיוק במקרה הגרוע ביותר בכל תנאי ההפעלה הצפויים (טמפרטורה, לחץ וכו') של ההטמעה.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
החזרות
סחף התזמון הנוכחי של CSL rx/tx, ב-PPM.

otPlatRadioGetCslUncertainty

uint8_t otPlatRadioGetCslUncertainty(
  otInstance *aInstance
)

אי-הוודאות הקבועה (כלומר

רעידות אקראיות) של זמן ההגעה של תדרי CSL שהתקבלו במכשיר הזה ביחידות של 10 מיקרו-שניות.

המדד הזה מציין את הסטייה החיובית או השלילית הקבועה במקרה הגרוע ביותר מזמן ההגעה בפועל של השידור מזמן השידור המחושב ביחס לשעון הרדיו המקומי, ללא קשר לזמן שחלף. בנוסף לאי-הוודאות המצטברת עם הזמן שחלף, יש להרחיב את דגימת ערוצי ה-CSL ("חלון RX") פי שניים, כך מובטח ששידור בפועל יזוהה על ידי המקלט המקומי בנוכחות רעידות זמן הגעה אקראיות.

פרטים
פרמטרים
[in] aInstance
מצביע למופע של OpenThread.
החזרות
אי-הוודאות של CSL ביחידות של 10 יחידות.

otPlatRadioGetPreferredChannelMask

uint32_t otPlatRadioGetPreferredChannelMask(
  otInstance *aInstance
)

הפונקציה מקבלת את מסכת הערוצים המועדפת לרדיו שהמכשיר מעדיף ליצור עליה.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
החזרות
מסכת הערוץ המועדפת לרדיו.

otPlatRadioGetRawPowerSetting

otError otPlatRadioGetRawPowerSetting(
  otInstance *aInstance,
  uint8_t aChannel,
  uint8_t *aRawPowerSetting,
  uint16_t *aRawPowerSettingLength
)

קבלת הגדרת העוצמה הגולמית של הערוץ הנתון.

שכבת הרדיו של הפלטפורמה צריכה לנתח את הגדרות החשמל הגולמיות על סמך הפורמט המוגדר של שכבת הרדיו, ולהגדיר את הפרמטרים של כל מודול של חומרת רדיו.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aChannel
ערוץ הרדיו.
[out] aRawPowerSetting
מצביעה למערך הבייטים של הגדרת העוצמה הגולמית.
[in,out] aRawPowerSettingLength
בקלט, מצביע על גודל של aRawPowerSetting. בפלט, מצביע על אורך הנתונים הגולמיים של הגדרת העוצמה.
ערכים מוחזרים
OT_ERROR_NONE
כוח היעד הגיע בהצלחה.
OT_ERROR_INVALID_ARGS
הערך aChannel לא חוקי, הערך aRawPowerSetting או aRawPowerSettingLength הוא NULL או שהוא קצר מדי.
OT_ERROR_NOT_FOUND
לא נמצאה הגדרת ההפעלה הגולמית של aChannel.

otPlatRadioGetRegion

otError otPlatRadioGetRegion(
  otInstance *aInstance,
  uint16_t *aRegionCode
)

מקבלים את קוד האזור.

הפורמט של אזור הרדיו הוא ייצוג ASCII של 2 בייטים של קוד ISO 3166 alpha-2.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[out] aRegionCode
אזור הרדיו.
ערכים מוחזרים
OT_ERROR_INVALID_ARGS
aRegionCode הוא nullptr.
OT_ERROR_FAILED
שגיאות אחרות שספציפיות לפלטפורמה.
OT_ERROR_NONE
קוד האזור התקבל בהצלחה.
OT_ERROR_NOT_IMPLEMENTED
התכונה לא מוטמעת.

otPlatRadioGetRssi

int8_t otPlatRadioGetRssi(
  otInstance *aInstance
)

קבלת מדידת ה-RSSI העדכנית ביותר.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
החזרות
ערך ה-RSSI ב-dBm כשהוא תקף. 127 כשהערך בשדה RSSI לא תקין.

otPlatRadioGetState

otRadioState otPlatRadioGetState(
  otInstance *aInstance
)

קבלת המצב הנוכחי של הרדיו.

לא נדרש על ידי OpenThread. ייתכן שייעשה בו שימוש למטרות ניפוי באגים ו/או למטרות ספציפיות לאפליקציה.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
החזרות
המצב הנוכחי של הרדיו.

otPlatRadioGetSupportedChannelMask

uint32_t otPlatRadioGetSupportedChannelMask(
  otInstance *aInstance
)

צריך לקבל את מסכת הערוצים עם תמיכה ברדיו שהמכשיר מורשה לפעול בה.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
החזרות
מסיכת הערוצים הנתמכת ברדיו.

otPlatRadioGetTransmitBuffer

otRadioFrame * otPlatRadioGetTransmitBuffer(
  otInstance *aInstance
)

קבל את האחסון הזמני של מסגרת שידור הרדיו.

OpenThread יוצר את מסגרת IEEE 802.15.4 במאגר הנתונים הזמני, ולאחר מכן קורא ל-otPlatRadioTransmit() כדי לבקש שידור.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
החזרות
מצביע על כך שמאגר הנתונים הזמני של מסגרת השידור.

otPlatRadioIsCoexEnabled

bool otPlatRadioIsCoexEnabled(
  otInstance *aInstance
)

בודקים אם רדיו coex מופעל או לא.

בשימוש כאשר התכונה OPENthread_CONFIG_PLATFORM_ALERT_COEX_ENABLE מופעלת.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
החזרות
TRUE אם הרדיו coex מופעל, FALSE אם לא.

otPlatRadioIsEnabled

bool otPlatRadioIsEnabled(
  otInstance *aInstance
)

בדוק אם הרדיו מופעל או לא.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
החזרות
TRUE אם הרדיו מופעל, FALSE אם לא.

otPlatRadioReceive

otError otPlatRadioReceive(
  otInstance *aInstance,
  uint8_t aChannel
)

העברת הרדיו ממצב שינה למצב קבלה (הפעלת הרדיו).

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aChannel
הערוץ שישמש לקבלה.
ערכים מוחזרים
OT_ERROR_NONE
הועבר בהצלחה ל'קבלה'.
OT_ERROR_INVALID_STATE
הרדיו הושבת או משודר.

otPlatRadioReceiveAt

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

תזמן חלון קליטת רדיו בשעה ובמשך זמן ספציפיים.

פרטים
פרמטרים
[in] aChannel
ערוץ הרדיו שבו תשודר.
[in] aStart
שעת ההתחלה של חלון הקבלה ביחס לשעון הרדיו המקומי, ראה otPlatRadioGetNow. מקלט הרדיו יהיה מופעל ומוכן לקבל את הסמל הראשון של SHR של המסגרת בשעת ההתחלה של החלון.
[in] aDuration
משך הזמן של חלון הקליטה, במיליוניות השנייה, לפי שעון הרדיו המקומי. יש לכבות את הרדיו (או להעביר אותו למצב TX אם צריך לשלוח מסגרת ACK) לאחר פרק הזמן הזה, אלא אם כן הוא עדיין מקבל פריים באופן פעיל. במקרה השני, הרדיו יישאר במצב קליטה עד שקליטת המסגרת תסתיים בהצלחה או תיכשל.
ערכים מוחזרים
OT_ERROR_NONE
חלון הקבלה תוזמן בהצלחה.
OT_ERROR_FAILED
לא ניתן לתזמן את חלון הקבלה.

otPlatRadioReceiveDone

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

מנהל הרדיו קורא לשיטה הזו כדי להודיע ל-OpenThread על פריים שהתקבל.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aFrame
מציין את המסגרת שהתקבלה או את הערך NULL אם פעולת הקבלה נכשלה.
[in] aError
OT_ERROR_NONE במקרה של קבלת פריים בהצלחה, OT_ERROR_ABORT כשהקבלה בוטלה ופריים לא התקבלה, OT_ERROR_NO_BUFS כשלא ניתן היה לקבל מסגרת עקב חוסר מקום למאגר אחסון זמני rx.

otPlatRadioSetChannelMaxTransmitPower

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

הגדרת הספק השידור המקסימלי לערוץ ספציפי.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aChannel
ערוץ הרדיו.
[in] aMaxPower
העוצמה המקסימלית ב-dBm, העברה של OT_Radio_RSSI_INVALID, תשבית את הערוץ הזה.
ערכים מוחזרים
OT_ERROR_NOT_IMPLEMENTED
התכונה לא מוטמעת
OT_ERROR_INVALID_ARGS
הערוץ שצוין אינו חוקי.
OT_ERROR_FAILED
שגיאות אחרות שספציפיות לפלטפורמה.
OT_ERROR_NONE
הספק השידור המקסימלי הוגדר בהצלחה.

otPlatRadioSetChannelTargetPower

otError otPlatRadioSetChannelTargetPower(
  otInstance *aInstance,
  uint8_t aChannel,
  int16_t aTargetPower
)

הגדרה של כוח היעד לערוץ הנתון.

מנהל ההתקן של הרדיו צריך להגדיר את ההספק בפועל להספק קטן או שווה להספק היעד, וקרוב ככל האפשר להספק היעד.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aChannel
ערוץ הרדיו.
[in] aTargetPower
כוח היעד ב- 0.01dBm. מעבר של INT16_MAX ישבית את הערוץ הזה לשימוש במתח היעד.
ערכים מוחזרים
OT_ERROR_NONE
עוצמת היעד הוגדרה בהצלחה.
OT_ERROR_INVALID_ARGS
הערכים aChannel או aTargetPower לא חוקיים.
OT_ERROR_NOT_IMPLEMENTED
התכונה לא מוטמעת.

otPlatRadioSetCoexEnabled

otError otPlatRadioSetCoexEnabled(
  otInstance *aInstance,
  bool aEnabled
)

הפעלת שיתוף הרדיו.

בשימוש כאשר התכונה OPENthread_CONFIG_PLATFORM_ALERT_COEX_ENABLE מופעלת.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aEnabled
צריך להזין TRUE כדי להפעיל את שיתוף הרדיו. אחרת, צריך להזין FALSE.
ערכים מוחזרים
OT_ERROR_NONE
הופעל בהצלחה.
OT_ERROR_FAILED
לא ניתן להפעיל את שיתוף הרדיו.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

מגדירים את קוד האזור.

הפורמט של אזור הרדיו הוא ייצוג ASCII של 2 בייטים של קוד ISO 3166 alpha-2.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aRegionCode
קוד האזור של הרדיו. aRegionCode >> 8 הוא צ'אר ASCII הראשון ו-aRegionCode & 0xff הוא צ'אר ASCII השני.
ערכים מוחזרים
OT_ERROR_FAILED
שגיאות אחרות שספציפיות לפלטפורמה.
OT_ERROR_NONE
קוד האזור הוגדר בהצלחה.
OT_ERROR_NOT_IMPLEMENTED
התכונה לא מוטמעת.

otPlatRadioSleep

otError otPlatRadioSleep(
  otInstance *aInstance
)

העברת הרדיו ממצב 'קבלה' למצב שינה (כיבוי הרדיו).

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
ערכים מוחזרים
OT_ERROR_NONE
הועבר בהצלחה למצב שינה.
OT_ERROR_BUSY
הרדיו שודר.
OT_ERROR_INVALID_STATE
הרדיו הושבת.

otPlatRadioTransmit

otError otPlatRadioTransmit(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

התחלת רצף השידור ברדיו.

המתקשר חייב ליצור את מסגרת IEEE 802.15.4 במאגר הנתונים הזמני שמסופק על ידי otPlatRadioGetTransmitBuffer() לפני בקשת השידור. הערוץ ועוצמת השידור כלולים גם במבנה otRadioFrame.

רצף השידור מורכב מהרכיבים הבאים:

  1. העברת הרדיו למצב שידור מאחד מהמצבים הבאים:
    • קבלה אם RX פועל כשהמכשיר לא פעיל או ש-OT_Radio_CAPS_SLEEP_TO_TX לא נתמך
    • מעבר למצב שינה אם RX כבוי כשהמכשיר לא פעיל ויש תמיכה ב-OT_Radio_CAPS_SLEEP_TO_TX.
  2. משדר את ה-psdu בערוץ הנתון ובעוצמת השידור הנתונה.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aFrame
מצביע למסגרת שמיועדת להעברה.
ערכים מוחזרים
OT_ERROR_NONE
הועבר בהצלחה ל'שידור'.
OT_ERROR_INVALID_STATE
הרדיו לא היה במצב קבלה.

otPlatRadioTxDone

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

מנהל הרדיו מפעיל את הפונקציה הזו כדי להודיע ל-OpenThread שפעולת השידור הושלמה, ומספקת גם את המסגרת המשודרת וגם את מסגרת ה-ack, אם רלוונטי.

כשהרדיו מספק יכולת של OT_RADIO_CAPS_TRANSMIT_SEC, שכבת פלטפורמת הרדיו מעדכנת את aFrame עם מונה מסגרות האבטחה וערכי האינדקס של המפתח, שמתוחזקים על ידי הרדיו.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aFrame
מצביע למסגרת שהועברה.
[in] aAckFrame
מצביע למסגרת ACK. אם לא התקבל ACK, הערך NULL.
[in] aError
OT_ERROR_NONE כשהפריים הועבר, OT_ERROR_NO_ACK כשהמסגרת הועברה אבל לא התקבל ACK, לא ניתן היה להתרחש OT_ERROR_CHANNEL_ACCESS_FAILURE tx עקב פעילות בערוץ, OT_ERROR_ABORT כשהשידור בוטל מסיבות אחרות.

otPlatRadioTxStarted

void otPlatRadioTxStarted(
  otInstance *aInstance,
  otRadioFrame *aFrame
)

מנהל הרדיו מבצע קריאה לשיטה הזו כדי להודיע ל-OpenThread שהשידור החל.

פרטים
פרמטרים
[in] aInstance
הפניה למבנה של מופע OpenThread.
[in] aFrame
מצביע למסגרת המשודרת.

otPlatRadioUpdateCslSampleTime

void otPlatRadioUpdateCslSampleTime(
  otInstance *aInstance,
  uint32_t aCslSampleTime
)

עדכון זמן דגימת ה-CSL במנהל הרדיו.

זמן הדגימה מאוחסן במנהל התקן הרדיו כעותק לחישוב השלב בעת שליחת ACK באמצעות CSL IE. דגימת ה-CSL (החלון) של מקלט ה-CSL נמשכת לפני ואחרי זמן הדגימה. זמן דגימת ה-CSL מסמן חותמת זמן בחלון של דגימת ה-CSL, שבה צריך לקבל פריים ב'תנאים אידיאליים' אם לא קיים אי דיוק או סטייה בשעון.

פרטים
פרמטרים
[in] aInstance
מבנה המכונה של OpenThread.
[in] aCslSampleTime
שעת הדגימה הבאה, במיליוניות השנייה. זוהי השעה שבה צפוי הסמל הראשון של ה-MHR של המסגרת.

מקורות מידע

המקור של נושאי העזר של OpenThread API הוא קוד המקור, שזמין ב-GitHub. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.