무선 작동

이 모듈에는 무선 작업을 위한 플랫폼 추상화가 포함되어 있습니다.

요약

함수

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
라디오 공존이 사용 설정되어 있는지 확인합니다.
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, rx 버퍼 공간 부족으로 인해 프레임을 수신할 수 없을 때는 OT_ERROR_NO_BUFS입니다.

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
Little Endian 바이트 순서로 저장될 확장 주소입니다.
반환 값
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
Little Endian 바이트 순서로 저장되는 확장 주소입니다.
반환 값
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 기반 프로브를 사용 설정/사용 중지 또는 업데이트합니다.

특정 프로브 개시자가 향상된 ACK 기반 프로브를 구성한 후 해당 노드로 전송되는 향상된 ACK에는 링크 측정항목 데이터가 포함된 공급업체별 IE가 포함되어야 합니다. 이 메서드는 라디오에 링크 측정항목 데이터 수집을 시작/중지하도록 알리고 해당 탐색 시작자에게 전송된 Enhanced-ACK의 데이터가 포함된 공급업체별 IE를 포함합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aLinkMetrics
이 매개변수는 쿼리할 측정항목을 지정합니다. 사양 4.11.3.4.4.6에 따라 최대 2개의 측정항목을 지정할 수 있습니다. aLinkMetrics가 비트 0이면 프로브가 사용 중지됩니다.
[in] aShortAddress
문제 파악을 시작한 사람의 짧은 주소입니다.
[in] aExtAddress
프로브 개시자의 확장된 소스 주소입니다. aExtAddrNULL이면 안 됩니다.
반환 값
OT_ERROR_NONE
향상된 ACK 기반 프로브를 구성했습니다.
OT_ERROR_INVALID_ARGS
aExtAddressNULL입니다.
OT_ERROR_NOT_FOUND
삭제를 시도할 때 aShortAddress(으)로 표시된 개시자를 찾을 수 없습니다.
OT_ERROR_NO_BUFS
더 이상 Initiator를 지원할 수 없습니다.
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
)

소스 주소 일치 기능을 사용 설정/사용 중지합니다.

소스 주소 일치 기능은 하위 요소로부터의 데이터 요청 명령에 대한 응답으로 전송된 확인에 대해 무선 계층이 "프레임 대기 중" 비트를 결정하는 방법을 제어합니다.

사용 중지된 경우 무선 계층은 데이터 요청 명령어에 대해 모든 확인에서 '프레임 대기 중'을 설정해야 합니다.

사용 설정된 경우 무선 계층은 소스 주소 데이터 이동 색인을 사용하여 데이터 요청 명령어에 대한 확인의 '프레임 대기' 비트를 설정하거나 삭제할지 결정합니다.

소스 주소 데이터 이동 색인은 대기 중인 프레임이 있는 하위 요소의 목록을 제공합니다. 짧은 주소 또는 확장/긴 주소를 원본 주소 데이터 이동 색인에 추가할 수 있습니다.

세부정보
매개변수
[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_RADIO_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 작업을 예약하는 데 사용되는 시계입니다.

구현에서 현재 값을 추정하지 않지만 고정 값을 반환하는 경우 이 값은 구현의 가능한 모든 예상 작동 조건(온도, 압력 등)에 대해 최악의 정확도여야 합니다(MUST).

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스를 가리키는 포인터입니다.
반환
PPM 단위의 현재 CSL rx/tx 스케줄링 드리프트.

otPlatRadioGetCslUncertainty

uint8_t otPlatRadioGetCslUncertainty(
  otInstance *aInstance
)

고정 불확실성 (예:

임의의 잡음)입니다.

이는 경과 시간과는 무관하게 로컬 무선 시계를 기준으로 계산된 전송 시간에서 전송된 실제 전송 시간의 최악의 긍정 또는 음의 편차를 지정합니다. 경과된 시간에 걸쳐 누적된 불확실성 외에도, 무작위 도착 시간 잡음이 있는 경우 로컬 수신기가 실제 전송을 감지할 수 있도록 이 편차만큼 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
)

지역 코드를 가져옵니다.

라디오 지역 형식은 ISO 3166 alpha-2 코드의 2바이트 ASCII 표현입니다.

세부정보
매개변수
[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) RSSI가 잘못된 경우 127입니다.

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
)

라디오 공존이 사용 설정되어 있는지 확인합니다.

OPENTHREAD_CONFIG_PLATFORM_RADIO_COEX_ENABLE 기능이 사용 설정된 경우 사용됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
반환
라디오 공존이 사용 설정된 경우 TRUE, 그렇지 않으면 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
로컬 무선 시계로 측정한 수신 기간(마이크로초)입니다. 이 기간이 지나면 라디오가 꺼져 있거나(ACK 프레임을 전송해야 하는 경우 TX 모드로 전환되어야 함) 여전히 프레임을 적극적으로 수신하고 있지 않은 이상 수신되어야 합니다(SHOULD). 후자의 경우 프레임 수신이 성공하거나 실패할 때까지 라디오를 수신 모드로 유지해야 합니다(MUST).
반환 값
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, rx 버퍼 공간 부족으로 인해 프레임을 수신할 수 없을 때는 OT_ERROR_NO_BUFS입니다.

otPlatRadioSetChannelMaxTransmitPower

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

특정 채널의 최대 전송 전력을 설정합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aChannel
라디오 채널
[in] aMaxPower
OT_RADIO_RSSI_INVALID를 전달하는 최대 전력(dBm)으로 인해 이 채널이 사용 중지됩니다.
반환 값
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_RADIO_COEX_ENABLE 기능이 사용 설정된 경우 사용됩니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aEnabled
무선 공존을 사용 설정하려면 TRUE, 사용하지 않으려면 FALSE입니다.
반환 값
OT_ERROR_NONE
사용 설정했습니다.
OT_ERROR_FAILED
라디오 공존을 사용 설정할 수 없습니다.

otPlatRadioSetRegion

otError otPlatRadioSetRegion(
  otInstance *aInstance,
  uint16_t aRegionCode
)

지역 코드를 설정합니다.

라디오 지역 형식은 ISO 3166 alpha-2 코드의 2바이트 ASCII 표현입니다.

세부정보
매개변수
[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
)

라디오에서 전송 시퀀스를 시작합니다.

호출자는 전송을 요청하기 전에 otPlatRadioGetTransmitBuffer()에서 제공하는 버퍼에 IEEE 802.15.4 프레임을 형성해야 합니다. 채널과 전송 전력도 otRadioFrame 구조에 포함됩니다.

전송 시퀀스는 다음으로 구성됩니다.

  1. 다음 상태 중 하나에서 전송으로 라디오를 전환합니다.
    • 기기가 유휴 상태이거나 OT_RADIO_CAPS_SLEEP_TO_TX가 지원되지 않을 때 RX가 켜져 있으면 수신합니다.
    • 기기가 유휴 상태이고 OT_RADIO_CAPS_SLEEP_TO_TX가 지원될 때 RX가 꺼지면 절전 모드입니다.
  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, 프레임이 전송되었지만 ACK가 수신되지 않은 경우 OT_ERROR_NO_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 샘플 시간을 업데이트합니다.

샘플 시간은 CSL IE로 ACK를 보낼 때 단계를 계산하기 위해 라디오 드라이버에 사본으로 저장됩니다. CSL 수신기의 CSL 샘플 (기간)은 샘플 시간 전후로 연장됩니다. CSL 샘플 시간은 부정확성/클록 드리프트가 없는 경우 '이상적인 조건'에서 프레임을 수신해야 할 때 CSL 샘플 기간에 타임스탬프를 표시합니다.

세부정보
매개변수
[in] aInstance
OpenThread 인스턴스 구조
[in] aCslSampleTime
다음 샘플링 시간(마이크로초)입니다. 프레임에서 MHR의 첫 번째 기호가 예상되는 시간입니다.

자료

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