기타

이 모듈에는 기타 동작에 대한 플랫폼 추상화가 포함되어 있습니다.

요약

열거

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
어설션을 위한 플랫폼별 구현을 제공합니다.
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

마이크로 컨트롤러의 전원 상태 열거형입니다.

이 값은 OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL가 사용 설정된 경우 NCP 구성에 사용됩니다.

전원 상태는 기본 플랫폼 운영체제가 유휴 모드로 전환될 때 (즉, 모든 활성 작업/이벤트가 처리되고 MCU가 잠재적으로 에너지 절약 전원 상태가 될 수 있음)될 때 NCP 마이크로 컨트롤러 (MCU)의 원하는 전원 상태를 지정합니다.

전원 상태는 주로 호스트가 NCP와 상호작용하는 방법과 호스트가 NCP와 통신하기 전에 NCP에 대한 외부 트리거('포킹')가 필요한지 여부를 결정합니다.

재설정 후에는 MCU 전원 상태가 OT_PLAT_POWER_STATE_ON이어야 합니다(MUST).

속성
OT_PLAT_MCU_POWER_STATE_LOW_POWER

NCP의 MCU는 저전력 (에너지 절약) 상태가 될 수 있습니다.

NCP의 원하는 전원 상태가 LOW_POWER로 설정되면 호스트는 NCP (예: 인터럽트와 같은 외부 트리거)를 '포킹'해야 NCP와 통신 (NCP에 메시지 전송)할 수 있습니다. '포크' 메커니즘은 플랫폼 코드에 의해 결정됩니다 (호스트에 대한 NCP 인터페이스 기반).

전원 상태가 LOW_POWER로 설정되어 있어도 NCP는 언제든지 호스트에 메시지를 전송할 수 있습니다. NCP에서 메시지를 수신한다고 해서 NCP의 전원 상태가 변경된 것은 아닙니다. 즉, 호스트가 NCP와 통신하려고 할 때는 전원 상태가 명시적으로 변경될 때까지 (otPlatSetMcuPowerState() 호출이 성공적으로 완료되어 상태가 ON로 변경)되어 계속 '포킹'해야 합니다.

OT_PLAT_MCU_POWER_STATE_OFF

NCP가 완전히 사용 중지되었습니다.

NCP를 다시 SPINEL_MCU_POWER_STATE_ON로 되돌리려면 RESET 핀을 통해 NCP 하드웨어를 재설정해야 합니다. 재설정 후 RAM이 유지되지 않습니다.

OT_PLAT_MCU_POWER_STATE_ON

NCP의 MCU는 항상 사용 설정된 상태로 유지됩니다.

NCP의 원하는 전원 상태가 ON로 설정되면 호스트는 '포크' 또는 외부 트리거 없이 NCP에 메시지를 전송할 수 있습니다.

otPlatResetReason

 otPlatResetReason

가능한 재설정 이유 코드의 열거형입니다.

Spinel 재설정 이유 코드와 순서는 동일합니다.

함수

otPlatAssertFail

void otPlatAssertFail(
  const char *aFilename,
  int aLineNumber
)

어설션을 위한 플랫폼별 구현을 제공합니다.

세부정보
매개변수
[in] aFilename
어설션이 발생한 파일의 이름입니다.
[in] aLineNumber
어설션이 발생한 파일의 줄 번호입니다.

otPlatGetMcuPowerState

otPlatMcuPowerState otPlatGetMcuPowerState(
  otInstance *aInstance
)

원하는 현재 MCU 전원 상태를 가져옵니다.

이는 OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL가 사용 설정된 경우에만 NCP 구성에만 적용 가능하며 사용됩니다.

재설정 후에는 전원 상태가 OT_PLAT_POWER_STATE_ON를 반환해야 합니다(MUST). 작동 중에 전원 상태는 otPlatSetMcuPowerState()에 대한 명시적인 성공적인 호출을 통해서만 변경되어야 합니다(SHOULD).

세부정보
매개변수
[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 전원 상태를 설정합니다.

이는 OPENTHREAD_CONFIG_NCP_ENABLE_MCU_POWER_STATE_CONTROL가 사용 설정된 경우에만 NCP 구성에만 적용 가능하며 사용됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
[in] aState
새로운 MCU 전원 상태
반환 값
OT_ERROR_NONE
전원 상태가 업데이트되었습니다.
OT_ERROR_FAILED
지정된 MCU 전원 상태가 플랫폼에서 지원되지 않습니다.

otPlatWakeHost

void otPlatWakeHost(
  void
)

플랫폼별 작업을 실행하여 호스트 MCU의 절전 모드를 해제합니다.

이는 NCP 구성에만 사용됩니다.

자료

OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 알아보거나 문서에 참여하려면 리소스를 참고하세요.