SEMTECH SX126X LORA DRIVER for Micropython و CircuitPython.
يتم نقل هذه المكتبة وتعديلها من Radiolib بواسطة JGromes.
تدعم هذه المكتبة micropython المتغير العام و pycom وكذلك CircuitPython.
تم اختباره مع:
* ترجمة إلى .mpy أو تجميعها في صورة micropython لمنع خطأ مشكلة الذاكرة
الفئة SX1262.SX1262 (SPI_BUS ، CLK ، MOSI ، MISO ، CS ، IRQ ، RST ، GPIO)
إنشاء وتهيئة كائن SX1262.
المعلمات هي:
SX1262.SetFrequency (FREQ)
ضبط التردد في MHz.
العائد: الحالة (راجع قاموس حالة الثوابت )
SX1262.SetOutputPower (الطاقة)
اضبط TX Power في DBM.
العودة: الحالة
SX1262.SetBlockingCallback (الحظر ، رد الاتصال = لا شيء)
اضبط وضع حظر TX/RX ومقاطعة رد الاتصال.
إذا تم حظر = صحيح ، سيتم تعيين TX/RX على وضع الحظر وسيتم تجاهل وظيفة رد الاتصال.
إذا تم حظر = خطأ ، فسيتم تعيين TX/RX على وضع عدم الحظر وسيتم تشغيل وظيفة رد الاتصال مع وسيطة الأحداث على أحداث TX/RX.
إذا كان رد الاتصال = لا شيء ، فسيتم تعطيل وظيفة رد الاتصال.
SX1262.GETRSSI ()
الحصول على RX RSSI في DBM.
العودة: قيمة RSSI
SX1262.GetTimeOnair (LEN)
احصل على وقت Rx على الهواء وفقًا لطول الرسالة ، Len = طول الرسالة.
العودة: الوقت على القيمة الجوية
SX1262.SEND (البيانات)
إرسال الرسالة ، يجب أن يكون نوع البيانات بايت أو bytearray.
العائد: طول الحمولة ، الحالة
SX1262.RECV (len = 0 ، timeout_en = false ، timeout_ms = 0)
اقرأ رسالة RX.
LEN = طول الرسالة ، إذا كان 0 ، افتراضيًا إلى SX126X_MAX_PACKET_LENGTH
timeout_en = تمكين مهلة RX ، إذا كان خطأ ، فإن الوظيفة تمنع إلى أجل غير مسمى حتى يتم استلام الرسالة (فقط في وضع الحظر)
timeout_ms = timeout rx في MS ، 0 يعني المهلة = 100 رموز Lora طول لورا أو مهلة = 500 ٪ متوقعة الوقت على الهواء ل FSK (فقط في وضع الحظر)
العائد: الحمولة ، الحالة
SX1262.Begin (Freq = 434.0 ، BW = 125.0 ، SF = 9 ، CR = 7 ، Syncword = 0x12 ، Power = 14 ، CurrentLimit = 60.0
preamblelength = 8 ، ضمنيًا = خطأ ، ضمنيًا = 0xff ، crcon = true ، txiq = false ، rxiq = false ،
tcxovoltage = 1.6 ، useregulatorldo = خطأ ، حظر = صحيح)
يتم استخدام هذه الطريقة لتعيين تكوين Lora.
المعلمات هي:
العودة: الحالة
SX1262.SetBandWidth (BW)
تعيين النطاق الترددي لورا في كيلو هرتز.
العودة: الحالة
SX1262.SetCodingrate (CR)
تعيين معدل ترميز Lora ، 5 إلى 8.
العودة: الحالة
SX1262.SetPreamBlelLength (PreamBleLength)
ضبط طول الديباجة لورا.
العودة: الحالة
SX1262.SetSpreadingFactor (SF)
تعيين عامل انتشار لورا ، 5 إلى 12.
العودة: الحالة
SX1262.SetSyncword (Syncord ، [ControlBits])
اضبط Wora Sync Word ، Private = 0x12 ، public = 0x34.
ControlBits الاختيارية ، القيمة الافتراضية هي 0x44.
EG Syncword = 0xab ، ControlBits = 0xCD -> SX126X 2 BYTES SYNC WORD = 0XACBD
EG Syncword = 0x12 ، ControlBits = 0x44 -> SX126X 2 BYTES SYNC WORD = 0x1424
العودة: الحالة
sx1262.explicitheader ()
تمكين لورا وضع رأس صريح.
العودة: الحالة
SX1262.IMPLICITHEADER (ضمنية)
تمكين وضع رأس Lora الضمني مع معلمة الطول الضمني.
العودة: الحالة
SX1262.ForCeldro (تمكين)
القوة تمكين انخفاض معدل البيانات تحسين.
العودة: الحالة
SX1262.Autoldro ()
تمكين تحسين معدل البيانات منخفضة التلقائي.
العودة: الحالة
SX1262.SetCRC (CRCON)
اضبط وضع Lora CRC.
العودة: الحالة
SX1262.SETTXIQ (TXIQ)
اضبط وضع Lora TX Invert IQ.
SX1262.SetRxiQ (RXIQ)
اضبط وضع Lora RX Invert IQ.
SX1262.GETSNR ()
الحصول على Lora RX SNR في ديسيبل.
العودة: قيمة SNR
sx1262.beginfsk (freq = 434.0 ، br = 48.0 ، freqdev = 50.0 ، rxbw = 156.2 ، power = 14 ، currentLimit = 60.0 ،
preambleLength = 16 ، datashaping = 0.5 ، syncword = [0x2d ، 0x01] ، syncbitslength = 16 ،
addrfilter = sx1262.addr_filt_off ، addr = 0x00 ، crclength = 2 ، crcinitial = 0x1d0f ، crcpolynomial = 0x1021 ،
crcinverted = true ، whiteningon = true ، whiteningInitial = 0x0100 ،
FlexPacketLength = false ، packetlength = 0xff ، preamledetectorlength = sx1262.preamble_detect_16 ،
tcxovoltage = 1.6 ، useregulatorldo = false ،
حظر = صحيح)
يتم استخدام هذه الطريقة لتعيين تكوين FSK.
المعلمات هي:
العودة: الحالة
SX1262.SetBitrate (BR)
تعيين معدل بت FSK في KBPs.
العودة: الحالة
SX1262.SetFrequencyDeviation (Freqdev)
تعيين انحراف تردد FSK في KHz.
العودة: الحالة
SX1262.SetRxBandwidth (RXBW)
تعيين FSK RX النطاق الترددي في KHz.
العودة: الحالة
SX1262.SetDatashaping (datashaping)
اضبط منتج عرض النطاق الترددي للوقت FSK للمرشح Gaussian لاستخدامه في التشكيل.
العودة: الحالة
SX1262.SetSyncbits (Syncword ، Bitslen)
تعيين FSK Sync Word و Sync Bits طول.
Syncword = Sync Word في القائمة
Bitslen = طول البت كلمة المزامنة
العودة: الحالة
SX1262.SetPreamBlelLength (PreamBleLength)
تعيين FSK طول الديباجة.
العودة: الحالة
SX1262.SetPreamleDetectorLength (PreamledetectorLength)
حدد الحد الأدنى لطول الكشف عن الديباجة ، راجع طول كاشف الثوابت FSK.
SX1262.SetNodeadDress (ADDR)
تنشيط تصفية العنوان على عنوان العقدة addr.
العودة: الحالة
SX1262.SetBroadcastaddress (Addr)
تنشيط تصفية العنوان على العقدة وعناوين البث Addr.
العودة: الحالة
SX1262.DISABLEADDRESSFILTERING ()
تعطيل تصفية العنوان.
العودة: الحالة
sx1262.setcrc (len ، inial = 0x1d0f ، متعدد الحدود = 0x1021 ، مقلوب = صحيح)
تعيين FSK CRC.
Len = طول CRC ، 0 ، 1 أو 2
الأولي = CRC الأولي
كثير الحدود = متعدد الحدود المستخدمة لحساب CRC
مقلوب = تمكين انعكاس بايت CRC
العودة: الحالة
SX1262.SetWhitening (تمكين ، أولي = 0x0100)
تعيين FSK تبييض.
الأولي = القيمة الأولية لتبييض LFSR
العودة: الحالة
SX1262.FixedPacketLengthMode (LEN)
اضبط وضع طول حزمة FSK الثابتة.
LEN = طول الحزمة في البايتات
العودة: الحالة
SX1262.VariablePacketLengthMode (Maxlen)
اضبط وضع طول الحزمة المتغير FSK.
Maxlen = طول حزمة الحد الأقصى في البايتات
العودة: الحالة
الأحداث: SX1262.TX_DONE ، SX1262.RX_DONE
مرشح عنوان FSK: SX1262.ADDR_FILT_OFF ، SX1262.ADDR_FILT_NODE ، SX1262.ADDR_FILT_NODE_BROAD
طول كاشف Preamble FSK: SX1262.preamble_detect_off ، SX1262.Preamble_Detect_X -> X = 8 ، 16 ، 24 ، 32
قاموس الحالة: SX1262.Status