پیکربندی رادیو
این ماژول شامل انتزاع پلت فرم برای پیکربندی رادیویی است.
خلاصه
کارکرد | |
---|---|
otPlatRadioGetBusSpeed ( otInstance *aInstance) | uint32_t سرعت اتوبوس را بر حسب بیت/ثانیه بین میزبان و تراشه رادیویی دریافت کنید. |
otPlatRadioGetCaps ( otInstance *aInstance) | قابلیت های رادیویی را دریافت کنید. |
otPlatRadioGetCcaEnergyDetectThreshold ( otInstance *aInstance, int8_t *aThreshold) | آستانه CCA ED رادیو را بر حسب dBm اندازه گیری شده در کانکتور آنتن به ازای بخش 10.1.4 IEEE 802.15.4 - 2015 دریافت کنید. |
otPlatRadioGetFemLnaGain ( otInstance *aInstance, int8_t *aGain) | بهره Rx LNA FEM خارجی را بر حسب 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) | آستانه CCA ED رادیو را بر حسب dBm تنظیم کنید که در کانکتور آنتن بر اساس بخش 10.1.4 IEEE 802.15.4 - 2015 اندازه گیری شده است. |
otPlatRadioSetExtendedAddress ( otInstance *aInstance, const otExtAddress *aExtAddress) | void Extended Address را برای فیلتر کردن آدرس تنظیم کنید. |
otPlatRadioSetFemLnaGain ( otInstance *aInstance, int8_t aGain) | بهره Rx LNA FEM خارجی را بر حسب 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 و لایه بالاتر و لایه Radio روی یک تراشه قرار دارند، 0 را برگردانید. |
otPlatRadioGetCaps
otRadioCaps otPlatRadioGetCaps( otInstance *aInstance )
قابلیت های رادیویی را دریافت کنید.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | بردار بیت قابلیت رادیویی (به تعاریف OT_RADIO_CAP_* مراجعه کنید). |
otPlatRadioGetCcaEnergyDetectThreshold
otError otPlatRadioGetCcaEnergyDetectThreshold( otInstance *aInstance, int8_t *aThreshold )
آستانه CCA ED رادیو را بر حسب dBm اندازه گیری شده در کانکتور آنتن به ازای بخش 10.1.4 IEEE 802.15.4 - 2015 دریافت کنید.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
otPlatRadioGetFemLnaGain
otError otPlatRadioGetFemLnaGain( otInstance *aInstance, int8_t *aGain )
بهره Rx LNA FEM خارجی را بر حسب dBm دریافت می کند.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
otPlatRadioGetIeeeEui64
void otPlatRadioGetIeeeEui64( otInstance *aInstance, uint8_t *aIeeeEui64 )
IEEE EUI-64 را برای این رابط اختصاص داده شده توسط کارخانه دریافت می کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otPlatRadioGetNow
uint64_t otPlatRadioGetNow( otInstance *aInstance )
زمان فعلی را بر حسب میکروثانیه دریافت کنید که به یک ساعت رادیویی محلی یکنواخت پیوسته (عرض 64 بیت) ارجاع شده است.
ساعت رادیویی نباید در طول زمان کارکرد دستگاه بسته شود. بنابراین، پیادهسازیها باید سرریزهای داخلی شمارنده را شناسایی و جبران کنند. ساعت دارای یک دوره مشخص نیست و نباید هیچ گونه تنظیمات پیوسته یا ناپیوسته (مثلاً ثانیه های کبیسه) را اعمال کند. پیاده سازی ها باید زمان های خواب دستگاه را جبران کنند.
پیادهسازیها ممکن است ساعت رادیویی را منضبط کنند و زمانهای خواب را با هر وسیلهای جبران کنند (مثلاً با ترکیب یک RTC با دقت بالا/کم توان با یک شمارنده وضوح بالا) تا زمانی که ساعت ترکیبی در معرض تیکهای وضوح میکروثانیه یکنواخت مداوم در محدوده دقت ارائه میکند. توسط otPlatRadioGetCslAccuracy اعلام شده است.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | زمان فعلی بر حسب میکروثانیه 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 )
آستانه CCA ED رادیو را بر حسب dBm تنظیم کنید که در کانکتور آنتن بر اساس بخش 10.1.4 IEEE 802.15.4 - 2015 اندازه گیری شده است.
جزئیات | |||||||
---|---|---|---|---|---|---|---|
مولفه های |
| ||||||
ارزش های بازگشتی |
|
otPlatRadioSetExtendedAddress
void otPlatRadioSetExtendedAddress( otInstance *aInstance, const otExtAddress *aExtAddress )
Extended Address را برای فیلتر کردن آدرس تنظیم کنید.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otPlatRadioSetFemLnaGain
otError otPlatRadioSetFemLnaGain( otInstance *aInstance, int8_t aGain )
بهره Rx LNA FEM خارجی را بر حسب 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 تنظیم شود. در این مورد، اجرای پلت فرم رادیویی باید گیرنده را تا زمان تعیین شده روشن نگه دارد که باعث شروع دوره بیکاری می شود.
OPENTHREAD_CONFIG_MAC_DATA_POLL_TIMEOUT
را می توان به عنوان مرجع برای این مورد در نظر گرفت.
- نهایی کردن یک کار مستقل CCA.
- نهایی کردن یک عملیات CCA با نتیجه شلوغ در طول روش CSMA/CA.
- نهایی کردن یک کار تشخیص انرژی
- نهایی کردن یک پنجره دریافت رادیویی با
otPlatRadioReceiveAt
برنامه ریزی شده است.
اگر پلتفرمی از OT_RADIO_CAPS_RX_ON_WHEN_IDLE
پشتیبانی میکند، باید از OT_RADIO_CAPS_CSMA_BACKOFF
نیز پشتیبانی کند و دورههای بیکاری بعد از CCA را همانطور که در بالا توضیح داده شد مدیریت کند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otPlatRadioSetShortAddress
void otPlatRadioSetShortAddress( otInstance *aInstance, otShortAddress aShortAddress )
آدرس کوتاه را برای فیلتر آدرس تنظیم کنید.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
|
otPlatRadioSetTransmitPower
otError otPlatRadioSetTransmitPower( otInstance *aInstance, int8_t aPower )
قدرت ارسال رادیو را بر حسب dBm تنظیم کنید.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
منابع
موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.