Driver Lora Semtech SX126X untuk Micropython dan Circuitpython.
Perpustakaan ini porting dan dimodifikasi dari Radiolib oleh Jgromes.
Perpustakaan ini mendukung varian generik dan pycom micropython serta sirkuitpython.
Diuji dengan:
* Kompilasi ke .mpy atau dikompilasi ke dalam gambar micropython untuk mencegah kesalahan masalah memori
Kelas SX1262.SX1262 (SPI_BUS, CLK, MOSI, MISO, CS, IRQ, RST, GPIO)
Buat dan inisialisasi objek SX1262.
Parameternya adalah:
SX1262.SetFrequency (FREQ)
Atur frekuensi dalam MHz.
Return: Status (Lihat Kamus Status Konstanta )
Sx1262.setoutputPower (daya)
Atur TX Power di DBM.
Return: Status
Sx1262.setBlockingCallback (blocking, callback = none)
Atur mode pemblokiran TX/RX dan interupsi panggilan balik.
Jika pemblokiran = true, TX/RX diatur ke mode pemblokiran dan fungsi panggilan balik akan diabaikan.
Jika blocking = false, TX/RX diatur ke mode non blocking dan fungsi panggilan balik akan dipicu dengan argumen peristiwa pada peristiwa TX/RX.
Jika callback = tidak ada, fungsi callback acara akan dinonaktifkan.
Sx1262.getrssi ()
Dapatkan RX RSSI di DBM.
Pengembalian: Nilai RSSI
SX1262.GetTimeonAir (Len)
Dapatkan waktu RX di udara sesuai dengan panjang pesan, len = panjang pesan.
Return: Time on Air Nilai
Sx1262.send (data)
Kirim pesan, tipe data harus byte atau bytearray.
Pengembalian: Panjang muatan, status
Sx1262.recv (len = 0, timeout_en = false, timeout_ms = 0)
Baca pesan RX.
len = panjang pesan, jika 0, default ke sx126x_max_packet_length
timeout_en = Aktifkan rx timeout, jika false, fungsi memblokir tanpa batas waktu sampai pesan diterima (hanya dalam mode pemblokiran)
timeout_ms = rx timeout di ms, 0 berarti batas waktu = 100 lora simbol panjang untuk lora atau timeout = 500% waktu yang diharapkan untuk fsk (hanya dalam mode pemblokiran)
Return: Payload, Status
Sx1262.begin (freq = 434.0, bw = 125.0, sf = 9, cr = 7, syncword = 0x12, power = 14, currentLimit = 60.0
preamblelength = 8, implisit = false, implicitlen = 0xff, crcon = true, txiq = false, rxiq = false,
tcxovoltage = 1.6, useregulatorldo = false, blocking = true)
Metode ini digunakan untuk mengatur konfigurasi LORA.
Parameternya adalah:
Return: Status
Sx1262.setbandwidth (BW)
Setel bandwidth Lora di KHZ.
Return: Status
SX1262.SetCodingRate (CR)
Atur laju pengkodean Lora, 5 hingga 8.
Return: Status
Sx1262.setPreamBlelength (preamblelength)
Atur Lora Preamble Length.
Return: Status
SX1262.SetSpreadingFactor (SF)
Setel faktor penyebaran Lora, 5 hingga 12.
Return: Status
Sx1262.setsyncword (syncword, [controlbits])
Atur Lora Sync Word, Private = 0x12, Public = 0x34.
Kontrol Parameter Opsional, nilai default adalah 0x44.
EG SYNCWORD = 0XAB, CONTROLBITS = 0XCD -> SX126X 2 BYTES SYNC Word = 0XACBD
EG SYNCWORD = 0x12, CONTROLBITS = 0x44 -> SX126X 2 BYTES SYNC Word = 0x1424
Return: Status
SX1262.EXPLICITHEADER ()
Aktifkan mode header eksplisit Lora.
Return: Status
SX1262.Implicitheader (implicitlen)
Aktifkan mode header implisit LORA dengan parameter panjang implisit.
Return: Status
Sx1262.forceldro (aktifkan)
Kekuatan Mengaktifkan optimasi laju data yang rendah.
Return: Status
SX1262.Autoldro ()
Aktifkan optimasi laju data rendah otomatis.
Return: Status
Sx1262.setcrc (crcon)
Atur mode Lora CRC.
Return: Status
Sx1262.settxiq (TXIQ)
Atur mode IQ Invert Lora TX.
SX1262.SETRXIQ (RXIQ)
Atur mode IQ Lora RX Invert.
Sx1262.getsnr ()
Dapatkan Lora Rx Snr di DB.
Return: Nilai 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,
fixedPacketLength = false, packetlength = 0xff, preambledetectorlength = sx1262.preamble_detect_16,
tcxovoltage = 1.6, useregulatorldo = false,
blocking = true)
Metode ini digunakan untuk mengatur konfigurasi FSK.
Parameternya adalah:
Return: Status
SX1262.SetBitrate (BR)
Atur laju bit FSK di KBPS.
Return: Status
SX1262.SetFrequencyDeviation (FREQDEV)
Atur penyimpangan frekuensi FSK di KHZ.
Return: Status
SX1262.SETRXBANDWIDTH (RXBW)
Atur bandwidth FSK RX di KHZ.
Return: Status
SX1262.SetDataShaping (DataShaping)
Atur produk bandwidth waktu FSK dari filter Gaussian untuk digunakan untuk membentuk.
Return: Status
Sx1262.setsyncbits (Syncword, Bitslen)
Atur kata Sinkronisasi FSK dan panjang Bit Sinkronisasi.
SyncWord = Sinkronisasi Kata dalam Daftar
bitslen = sinkronisasi panjang bit kata
Return: Status
Sx1262.setPreamBlelength (preamblelength)
Atur panjang pembukaan FSK.
Return: Status
Sx1262.setPreambledetectorLlength (preambledetectorlength)
Atur panjang deteksi minimum minimum, lihat konstanta panjang detektor pembukaan FSK.
Sx1262.setNodeaddress (addr)
Aktifkan Penyaringan Alamat pada Addr Alamat Node.
Return: Status
Sx1262.setBroadcastAddress (addr)
Aktifkan pemfilteran alamat pada node dan alamat siaran Addr.
Return: Status
Sx1262.disableaddressfiltering ()
Nonaktifkan pemfilteran alamat.
Return: Status
Sx1262.setcrc (len, awal = 0x1d0f, polinomial = 0x1021, terbalik = true)
Atur FSK CRC.
Len = Panjang CRC, 0, 1 atau 2
Awal = CRC Inisial
polinomial = polinomial yang digunakan untuk perhitungan CRC
terbalik = Aktifkan inversi byte crc
Return: Status
Sx1262.setWhitening (diaktifkan, awal = 0x0100)
Atur pemutih fsk.
awal = nilai awal untuk pemutihan LFSR
Return: Status
SX1262.FIXEDPACKETLETHMODE (LEN)
Atur mode panjang paket tetap FSK.
len = panjang paket dalam byte
Return: Status
SX1262.VariablePacketLengthMode (Maxlen)
Atur mode panjang paket variabel FSK.
maxlen = panjang paket maks dalam byte
Return: Status
Acara: SX1262.TX_DONE, SX1262.RX_DONE
Filter Alamat FSK: SX1262.ADDR_FILT_OFF, SX1262.ADDR_FILT_NODE, SX1262.ADDR_FILT_NODE_BROAD
FSK Preamble Detector Length: SX1262.PREAMLE_DETECT_OFF, SX1262.PREAMLE_DETECT_X -> x = 8, 16, 24, 32
Kamus Status: SX1262.Status