שונות

המודול הזה כולל הפשטות של פלטפורמות עבור התנהגויות שונות.

סיכום

ספירות

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
טיפוסים בני מנייה (enum)
מניית מצבי הכוח של מיקרו-בקר.
otPlatResetReason טיפוסים בני מנייה (enum)
מספור של הקודים האפשריים של הסיבות לאיפוס.

פונקציות

otPlatAssertFail(const char *aFilename, int aLineNumber)
void
מספקת הטמעה ספציפית לפלטפורמה לטענת נכוֹנוּת (assert).
otPlatGetMcuPowerState(otInstance *aInstance)
מקבל את מצב החשמל הרצוי ב-MCU.
otPlatGetResetReason(otInstance *aInstance)
מחזירה את הסיבה לאיפוס הפלטפורמה האחרון.
otPlatReset(otInstance *aInstance)
void
יבצע איפוס תוכנה בפלטפורמה, אם הוא נתמך.
otPlatResetToBootloader(otInstance *aInstance)
מאפס את החומרה בפלטפורמה כדי להפעיל את מצב תוכנת האתחול, אם הוא נתמך.
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
מגדיר את מצב ההפעלה הרצוי של ה-MCU.
otPlatWakeHost(void)
void
מבצע פעולה ספציפית לפלטפורמה כדי להוציא את ה-MCU של המארח ממצב שינה.

ספירות

otPlatMcuPowerState

 otPlatMcuPowerState

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

הערכים האלה משמשים להגדרת NCP כשהאפשרות OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL מופעלת.

מצב ההפעלה מציין את מצב ההפעלה הרצוי של המיקרו-בקר (MCU) של NCP כאשר מערכת ההפעלה של הפלטפורמה נמצאת במצב'לא פעיל' (כלומר, כל המשימות/האירועים הפעילים מעובדים, וה-MCU יכול להיכנס למצב חיסכון באנרגיה).

מצב ההפעלה קובע בעיקר איך המארח צריך לקיים אינטראקציה עם ה-NCP ואם המארח צריך טריגר חיצוני ("פוקי") ל-NCP כדי שהוא יוכל לתקשר עם ה-NCP או לא.

לאחר האיפוס, מצב החשמל של MCU חייב להיות OT_PLAT_POWER_STATE_ON.

תכונות
OT_PLAT_MCU_POWER_STATE_LOW_POWER

ה-MCU של NCP יכול לעבור למצב צריכת אנרגיה נמוכה (חיסכון באנרגיה).

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

כשמצב ההפעלה מוגדר ל-LOW_POWER, ל-NCP יש עדיין הרשאה לשלוח הודעות למארח (בכל זמן). חשוב לשים לב שקבלת הודעה מ-NCP לא מציינת שמצב העוצמה של ה-NCP השתנה. כלומר, יש ציפיה מהמארח להמשיך "לדחוף" כשהוא רוצה לדבר עם ה-NCP עד שמצב העוצמה ישתנה באופן מפורש (באמצעות קריאה מוצלחת ל-otPlatSetMcuPowerState() שמשנה את המצב ל-ON).

OT_PLAT_MCU_POWER_STATE_OFF

האפשרות NCP מושבתת לגמרי.

נדרש איפוס של חומרת NCP (באמצעות קוד אימות RESET) כדי להחזיר את ה-NCP אל SPINEL_MCU_POWER_STATE_ON. RAM לא נשמר לאחר האיפוס.

OT_PLAT_MCU_POWER_STATE_ON

MCU של NCP נשאר מופעל ופעיל כל הזמן.

כשמצב ההפעלה הרצוי של ה-NCP הוא ON, המארח יכול לשלוח הודעות ל-NCP בלי לדרוש 'פוקי' או טריגרים חיצוניים.

otPlatResetReason

 otPlatResetReason

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

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

פונקציות

otPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

מספקת הטמעה ספציפית לפלטפורמה לטענת נכוֹנוּת (assert).

פרטים
פרמטרים
[in] aFilename
שם הקובץ שבו התקבלה הטענה.
[in] aLineNumber
מספר השורה בקובץ שבו התקבלה הטענה.

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

מקבל את מצב החשמל הרצוי ב-MCU.

האפשרות הזו רלוונטית רק להגדרה של NCP כשהערך OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL מופעל.

לאחר האיפוס, מצב ההפעלה חייב להחזיר OT_PLAT_POWER_STATE_ON. במהלך ההפעלה, מצב ההפעלה אמור להשתנות רק על ידי קריאה מפורשת ל-otPlatSetMcuPowerState() שתבוצע בהצלחה.

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

otPlatGetResetReason

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

מחזירה את הסיבה לאיפוס הפלטפורמה האחרון.

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

otPlatReset

void otPlatReset(
  otInstance *aInstance
)

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

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

otPlatResetToBootloader

otError otPlatResetToBootloader(
  otInstance *aInstance
)

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

בשימוש כאשר OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE מופעל.

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

otPlatSetMcuPowerState

otError otPlatSetMcuPowerState(
  otInstance *aInstance,
  otPlatMcuPowerState aState
)

מגדיר את מצב ההפעלה הרצוי של ה-MCU.

האפשרות הזו רלוונטית רק להגדרה של NCP כשהערך OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL מופעל.

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

otPlatWakeHost

void otPlatWakeHost(
  void
)

מבצע פעולה ספציפית לפלטפורמה כדי להוציא את ה-MCU של המארח ממצב שינה.

משמש רק להגדרות NCP.

מקורות מידע

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