Çeşitli

Bu modülde, çeşitli davranışlar için platform soyutlamaları yer alır.

Özet

Sıralamalar

otPlatMcuPowerState{
  OT_PLAT_MCU_POWER_STATE_ON = 0,
  OT_PLAT_MCU_POWER_STATE_LOW_POWER = 1,
  OT_PLAT_MCU_POWER_STATE_OFF = 2
}
enum
Mikro denetleyicinin güç durumlarının listesi.
otPlatResetReason enum
Olası sıfırlama nedeni kodlarının listesi.

İşlevler

otPlatAssertFail(const char *aFilename, int aLineNumber)
void
İddia için platforma özel bir uygulama sağlar.
otPlatGetMcuPowerState(otInstance *aInstance)
İstenen MCU güç durumunu alır.
otPlatGetResetReason(otInstance *aInstance)
Son platform sıfırlama işleminin nedenini döndürür.
otPlatReset(otInstance *aInstance)
void
Destekleniyorsa platformda yazılım sıfırlaması gerçekleştirir.
otPlatResetToBootloader(otInstance *aInstance)
Destekleniyorsa bootloader modunu başlatmak için platformda bir donanım sıfırlaması gerçekleştirir.
otPlatSetMcuPowerState(otInstance *aInstance, otPlatMcuPowerState aState)
İstenen MCU güç durumunu ayarlar.
otPlatWakeHost(void)
void
Ana makine MCU'sunu uyandırmak için platforma özel bir işlem gerçekleştirir.

Sıralamalar

otPlatMcuPowerState

 otPlatMcuPowerState

Mikro denetleyicinin güç durumlarının listesi.

Bu değerler, OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL etkinleştirildiğinde NCP yapılandırması için kullanılır.

Güç durumu, temel platformun işletim sistemi boşta moda girdiğinde (yani, tüm etkin görevler/etkinlikler işlenir ve MCU potansiyel olarak enerji tasarrufu sağlayan bir güç durumuna girebilir) NCP mikro denetleyicisinin (MCU) istenen güç durumunu belirtir.

Güç durumu, birincil olarak ana makinenin NCP ile nasıl etkileşim kurması gerektiğini ve ana makinenin NCP ile iletişim kurabilmesi için NCP'ye harici bir tetikleyiciye ("poke") ihtiyaç duyup duymadığını belirler.

Sıfırlama işleminden sonra MCU güç durumu OT_PLAT_POWER_STATE_ON OLMALIDIR.

Özellikler
OT_PLAT_MCU_POWER_STATE_LOW_POWER

NCP'nin MCU'su düşük güç (enerji tasarrufu) durumuna girebilir.

NCP'nin istenen güç durumu LOW_POWER olarak ayarlandığında, ana makinenin NCP ile iletişim kurabilmesi (NCP'ye mesaj göndermesi) için NCP'yi "merak etmesi" (örneğin, kesme gibi harici bir tetikleyici) beklenir. "Dürütme" mekanizması platform kodu tarafından belirlenir (NCP'nin ana makine arayüzüne göre).

Güç durumu LOW_POWER olarak ayarlandığında NCP yine de (istediği zaman) ana makineye mesaj gönderebilir. NCP'den mesaj almanın NCP'nin güç durumunun değiştiğini belirtmeyeceğini unutmayın. Yani, ana makinenin güç durumu açıkça değiştirilene kadar (başarılı bir otPlatSetMcuPowerState() çağrısıyla durumu ON olarak değiştirene) NCP ile konuşmak istediğinde "dürtme" yapmaya devam etmesi beklenir.

OT_PLAT_MCU_POWER_STATE_OFF

NCP tamamen kapalı.

NCP'yi tekrar SPINEL_MCU_POWER_STATE_ON değerine getirmek için NCP donanım sıfırlaması (SIFIRLAMA pimi aracılığıyla) gerekir. Sıfırlama işleminden sonra RAM saklanmaz.

OT_PLAT_MCU_POWER_STATE_ON

NCP'nin MCU'su her zaman açık ve etkin kalır.

NCP'nin istenen güç durumu ON olarak ayarlandığında ana makine, herhangi bir "dürtme" veya harici tetikleyiciye gerek kalmadan NCP'ye mesaj gönderebilir.

otPlatResetReason

 otPlatResetReason

Olası sıfırlama nedeni kodlarının listesi.

Bunlar, Spinel sıfırlama neden kodlarıyla aynı sıralamaya sahiptir.

İşlevler

otPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

İddia için platforma özel bir uygulama sağlar.

Ayrıntılar
Parametreler
[in] aFilename
İddianın gerçekleştiği dosyanın adı.
[in] aLineNumber
Dosyada, iddianın gerçekleştiği satır numarası.

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

İstenen MCU güç durumunu alır.

Bu yalnızca OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL etkinleştirildiğinde NCP yapılandırması için geçerlidir ve kullanılır.

Sıfırlama işleminden sonra güç durumunun OT_PLAT_POWER_STATE_ON değerini döndürmesi ZORUNLUDUR. Çalışma sırasında güç durumu yalnızca otPlatSetMcuPowerState() cihazına yapılan açık ve başarılı bir çağrıyla DEĞİŞMELİDİR.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
İadeler
Mevcut güç durumu.

otPlatGetResetReason

otPlatResetReason otPlatGetResetReason(
  otInstance *aInstance
)

Son platform sıfırlama işleminin nedenini döndürür.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.

otPlatReset

void otPlatReset(
  otInstance *aInstance
)

Destekleniyorsa platformda yazılım sıfırlaması gerçekleştirir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.

otPlatResetToBootloader

otError otPlatResetToBootloader(
  otInstance *aInstance
)

Destekleniyorsa bootloader modunu başlatmak için platformda bir donanım sıfırlaması gerçekleştirir.

OPENTHREAD_CONFIG_PLATFORM_BOOTLOADER_MODE_ENABLE etkinleştirildiğinde kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
Döndürülen Değerler
OT_ERROR_NONE
Bootloader'a başarıyla sıfırlandı.
OT_ERROR_BUSY
Devam eden başka bir işlem nedeniyle başarısız oldu.
OT_ERROR_NOT_CAPABLE
Bootloader'a sıfırlanamıyor.

otPlatSetMcuPowerState

otError otPlatSetMcuPowerState(
  otInstance *aInstance,
  otPlatMcuPowerState aState
)

İstenen MCU güç durumunu ayarlar.

Bu yalnızca OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL etkinleştirildiğinde NCP yapılandırması için geçerlidir ve kullanılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğine işaretçi.
[in] aState
Yeni MCU güç durumu.
Döndürülen Değerler
OT_ERROR_NONE
Güç durumu başarıyla güncellendi.
OT_ERROR_FAILED
Belirtilen MCU güç durumu platform tarafından desteklenmiyor.

otPlatWakeHost

void otPlatWakeHost(
  void
)

Ana makine MCU'sunu uyandırmak için platforma özel bir işlem gerçekleştirir.

Bu yalnızca NCP yapılandırmaları için kullanılır.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar bölümüne bakın.