Semtech SX126X драйвер LORA для микропитона и схема.
Эта библиотека портирована и модифицирована из Radiolib Jgromes.
Эта библиотека поддерживает общий и вариант Pycom Micropiant, а также CircuitPython.
Протестировано с:
* Скомпилируйте .mpy или компилируется в изображение микропитона, чтобы предотвратить ошибку проблемы с памятью
Класс SX1262.SX1262 (SPI_BUS, CLK, MOSI, MISO, CS, IRQ, RST, GPIO)
Создать и инициализировать объект SX1262.
Параметры:
SX1262.SetFrequency (FREQ)
Установить частоту в МГц.
Возврат: Статус (см. Словарь статуса констант )
SX1262.setOutputPower (Power)
Установите мощность TX в DBM.
Возврат: Статус
Sx1262.setblockingCallback (блокировка, обратный вызов = нет)
Установите режим блокировки TX/RX и прерывать обратный вызов.
Если Blocking = true, TX/RX устанавливается на режим блокировки, а функция обратного вызова будет проигнорирована.
Если Blocking = false, TX/RX устанавливается в режим не блокировки, а функция обратного вызова будет запускаться с аргументом событий на событиях TX/RX.
Если обратный вызов = нет, функция обратного вызова событий будет отключена.
Sx1262.getrssi ()
Получите RX RSSI в DBM.
Возврат: значение RSSI
Sx1262.gettimeonair (Len)
Получить время RX в эфире в соответствии с длиной сообщения, Len = длина сообщения.
Возврат: время на стоимости воздуха
Sx1262.send (данные)
Отправить сообщение, тип данных должен быть байтами или байтором.
Возврат: длина полезной нагрузки, статус
Sx1262.recv (len = 0, timeout_en = false, timeout_ms = 0)
Прочитайте сообщение RX.
LEN = Длина сообщения, если 0, по умолчанию в SX126X_MAX_PACKET_LENGHT
timeout_en = Enable RX Timeout, если false, функция блокирует бесконечно до получения сообщения (только в режиме блокировки)
timeout_ms = rx тайм-аут в MS, 0 означает тайм-аут = 100 длина символов LORA для LORA или Timeout = 500% ожидаемого времени в воздухе для FSK (только в режиме блокировки)
Возврат: полезная нагрузка, статус
Sx1262.begin (freq = 434,0, bw = 125,0, sf = 9, cr = 7, syncword = 0x12, power = 14, currentLimit = 60,0
preamblelength = 8, intize = false, impitiacelen = 0xff, crcon = true, txiq = false, rxiq = false,
tcxovoltage = 1,6, useregulatorldo = false, blocking = true)
Этот метод используется для установки конфигурации LORA.
Параметры:
Возврат: Статус
SX1262.SetBandWidth (BW)
Установите полосу пропускания LORA в кГц.
Возврат: Статус
SX1262.setCodingRate (CR)
Установите скорость кодирования LORA, от 5 до 8.
Возврат: Статус
Sx1262.setpreamblelength (preamblelength)
Установите длину преамбулы Лоры.
Возврат: Статус
Sx1262.sets opreadingfactor (sf)
Установите коэффициент распространения Лоры, от 5 до 12.
Возврат: Статус
Sx1262.setsyncword (syncword, [controlbits])
Установите синхронизацию Lora, private = 0x12, public = 0x34.
Необязательные элементы управления параметрами, значение по умолчанию составляет 0x44.
Например, Syncword = 0xab, Controlbits = 0xcd -> SX126x 2 Bytes Sync Word = 0xACBD
Например, Syncword = 0x12, Controlbits = 0x44 -> SX126X 2 байт Sync Word = 0x1424
Возврат: Статус
Sx1262.expliciteheader ()
Включить режим явного заголовка LORA.
Возврат: Статус
SX1262.ImpliciteHeader (ImtiaceLen)
Включите режим неявного заголовка LORA с неявным параметром длины.
Возврат: Статус
Sx1262.forceldro (включить)
Сила включает в себя низкую оптимизацию данных.
Возврат: Статус
SX1262.Autoldro ()
Включить автоматическую оптимизацию низкой скорости передачи данных.
Возврат: Статус
Sx1262.setcrc (crcon)
Установите режим Lora CRC.
Возврат: Статус
Sx1262.settxiq (txiq)
Установите Lora TX Invert IQ Mode.
Sx1262.setrxiq (rxiq)
Установите Lora RX Invert IQ Mode.
Sx1262.getsnr ()
Получите Lora RX SNR в дБ.
Возврат: значение SNR
Sx1262.beginfsk (freq = 434,0, br = 48,0, freqdev = 50,0, rxbw = 156,2, мощность = 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, leteningon = true, отбелизвинный = 0x0100,
FixedPacketLength = false, packetLength = 0xff, preambledectorlength = sx1262.preamble_detect_16,
tcxovoltage = 1,6, useregulatorldo = false,
Блокировка = true)
Этот метод используется для установки конфигурации FSK.
Параметры:
Возврат: Статус
Sx1262.setbitrate (br)
Установите скорость битов FSK в KBPS.
Возврат: Статус
SX1262.SetFrequencyDeviation (freqDev)
Установите отклонение частоты FSK в кГц.
Возврат: Статус
Sx1262.setrxbandwidth (rxbw)
Установите пропускную способность FSK RX в кГц.
Возврат: Статус
Sx1262.setDatashaping (datashaping)
Установите продукт времени пропускания FSK гауссового фильтра, который будет использоваться для формирования.
Возврат: Статус
Sx1262.setsyncbits (syncword, bitslen)
Установите FSK Sync Word и Sync Bits длины.
Syncword = Sync Word в списке
bitslen = синхронизация длина бита слов
Возврат: Статус
Sx1262.setpreamblelength (preamblelength)
Установите длину преамбулы FSK.
Возврат: Статус
SX1262.SetPreambledectorLength (Preambletectorlength)
Установите минимальную длину обнаружения в преамбуле, см. Константы FSK Preamble Detctor.
Sx1262.setnodeaddress (addr)
Активировать фильтрацию адреса на адресе узла Addr.
Возврат: Статус
Sx1262.setbroadcastaddress (addr)
Активировать фильтрацию адресов на узле и трансляционном адресе Addr.
Возврат: Статус
Sx1262.disableaddressfiltering ()
Отключить фильтрацию адреса.
Возврат: Статус
Sx1262.setcrc (len, initial = 0x1d0f, многочлен = 0x1021, inverted = true)
Установить 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
Длина детектора в преамбуле FSK: SX1262.preamble_detect_off, SX1262.preamble_detect_x -> x = 8, 16, 24, 32
Статус Словарь: SX1262.Status