라디오 구성
이 모듈에는 무선 구성을 위한 플랫폼 추상화가 포함되어 있습니다.
요약
함수 |
|
---|---|
otPlatRadioGetBusSpeed(otInstance *aInstance)
|
uint32_t
호스트와 라디오 칩 간의 버스 속도(비트/초)를 가져옵니다.
|
otPlatRadioGetCaps(otInstance *aInstance)
|
라디오 기능을 활용하세요.
|
otPlatRadioGetCcaEnergyDetectThreshold(otInstance *aInstance, int8_t *aThreshold)
|
IEEE 802.15.4~2015 섹션 10.1.4에 따라 안테나 커넥터에서 측정한 라디오의 CCA ED 임곗값을 dBm 단위로 가져옵니다.
|
otPlatRadioGetFemLnaGain(otInstance *aInstance, int8_t *aGain)
|
외부 FEM의 Rx LNA 게인을 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)
|
IEEE 802.15.4~2015 섹션 10.1.4에 따라 안테나 커넥터에서 측정된 라디오의 CCA ED 임곗값을 dBm 단위로 설정합니다.
|
otPlatRadioSetExtendedAddress(otInstance *aInstance, const otExtAddress *aExtAddress)
|
void
주소 필터링에 확장 주소를 설정합니다.
|
otPlatRadioSetFemLnaGain(otInstance *aInstance, int8_t aGain)
|
외부 FEM의 Rx LNA 게인을 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 ID를 설정합니다.
|
otPlatRadioSetPromiscuous(otInstance *aInstance, bool aEnable)
|
void
무차별 모드를 사용 설정 또는 중지합니다.
|
otPlatRadioSetRxOnWhenIdle(otInstance *aInstance, bool aEnable)
|
void
rx-on-when-idle 상태를 라디오 플랫폼으로 설정합니다.
|
otPlatRadioSetShortAddress(otInstance *aInstance, otShortAddress aShortAddress)
|
void
주소 필터링의 짧은 주소를 설정합니다.
|
otPlatRadioSetTransmitPower(otInstance *aInstance, int8_t aPower)
|
무선 전송 전력을 dBm 단위로 설정합니다.
|
함수
otPlatRadioGetBusSpeed
uint32_t otPlatRadioGetBusSpeed( otInstance *aInstance )
호스트와 라디오 칩 간의 버스 속도(비트/초)를 가져옵니다.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
호스트와 무선 칩 사이의 버스 속도(비트/초)입니다. MAC 이상 레이어와 무선 레이어가 같은 칩에 있으면 0을 반환합니다.
|
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
라디오 기능을 활용하세요.
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
라디오 기능 비트 벡터입니다 (
OT_RADIO_CAP_* 정의 참고). |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
IEEE 802.15.4~2015 섹션 10.1.4에 따라 안테나 커넥터에서 측정한 라디오의 CCA ED 임곗값을 dBm 단위로 가져옵니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
외부 FEM의 Rx LNA 게인을 dBm 단위로 가져옵니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
이 인터페이스에 대해 초기화된 IEEE EUI-64를 가져옵니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
연속적인 단조 로컬 무선 시계 (64비트 너비)에 참조된 현재 시간을 마이크로초 단위로 가져옵니다.
기기의 가동 시간 동안에 무선 시계가 줄바꿈되면 안 됩니다. 따라서 구현은 내부 카운터 오버플로를 식별하고 보상해야 합니다. 클록에는 정의된 에포크가 없으며 연속적이거나 불연속적인 조정 (예: 윤초)을 도입해서는 안 됩니다. 구현은 기기의 절전 시간을 보완해야 합니다(MUST).
노출된 결합된 시계가 otPlatRadioGetCslAccuracy에서 발표한 정확도 제한 내에서 연속적인 단조 마이크로초 해상도 틱을 제공하는 한 구현은 무선 시계를 규율하고 어떤 방법으로든(예: 고정밀/저전력 RTC를 고해상도 카운터와 결합) 절전 시간을 보완하도록 선택할 수 있습니다(MAY).
세부정보 | |||
---|---|---|---|
매개변수 |
|
||
반환 |
마이크로초 단위의 현재 시간입니다. 플랫폼이 지원하지 않거나 라디오 시간이 준비되지 않은 경우 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 )
IEEE 802.15.4~2015 섹션 10.1.4에 따라 안테나 커넥터에서 측정된 라디오의 CCA ED 임곗값을 dBm 단위로 설정합니다.
세부정보 | |||||||
---|---|---|---|---|---|---|---|
매개변수 |
|
||||||
반환 값 |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
주소 필터링에 확장 주소를 설정합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
외부 FEM의 Rx LNA 게인을 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 ID를 설정합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otPlatRadioSetPromiscuous
void otPlatRadioSetPromiscuous( otInstance *aInstance, bool aEnable )
무차별 모드를 사용 설정 또는 중지합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otPlatRadioSetRxOnWhenIdle
void otPlatRadioSetRxOnWhenIdle( otInstance *aInstance, bool aEnable )
rx-on-when-idle 상태를 라디오 플랫폼으로 설정합니다.
기기가 rx-off-when-idle 상태인 경우 라디오가 절전 모드로 전환될 수 있지만 SubMac이 이러한 상황을 식별하고 무선에 절전 모드로 전환하도록 지시하는 것은 어렵고 비용이 많이 듭니다.
- 일반 프레임 수신 작업 완료. 조건:
- 프레임이 오류 없이 수신되고 필터링을 통과했으며 가짜 ACK가 아닙니다.
- ACK가 요청되지 않았거나 내부 조건으로 인해 ACK의 전송이 불가능합니다.
- 전송된 프레임에서 ACK가 요청되지 않은 경우 프레임 전송 또는 ACK 프레임 전송을 마무리합니다.
- 다음과 같은 이유로 요청된 ACK의 수신 작업 마무리
- ACK 시간 초과
- 잘못된 ACK 또는 ACK 프레임 수신
- 올바른 ACK 수신(전송된 프레임이 데이터 요청 명령어이고 수신된 ACK의 프레임 대기 비트가 true로 설정되지 않은 경우) 이 경우 무선 플랫폼 구현은 유휴 기간 시작을 트리거하는 결정된 시간 제한이 있을 때까지 수신기를 켜진 상태로 유지해야 합니다(SHOULD).
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
을 이에 대한 참조로 사용할 수 있습니다.
- 독립형 CCA 작업 완료
- CSMA/CA 절차 중에 사용 중인 결과가 있는 CCA 작업 완료
- 에너지 감지 작업 마무리
otPlatRadioReceiveAt
로 예약된 무선 수신 기간 완료
플랫폼은 OT_RADIO_CAPS_RX_ON_WHEN_IDLE
를 지원하는 경우 위에서 설명한 대로 CCA 이후의 유휴 기간도 처리하고 OT_RADIO_CAPS_CSMA_BACKOFF
도 지원해야 합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
주소 필터링의 짧은 주소를 설정합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
무선 전송 전력을 dBm 단위로 설정합니다.
세부정보 | |||||
---|---|---|---|---|---|
매개변수 |
|
||||
반환 값 |
|
자료
OpenThread API 참조 주제는 GitHub에서 제공되는 소스 코드에서 비롯됩니다. 자세한 내용을 알아보거나 문서에 참여하려면 리소스를 참고하세요.