Semtech SX126X Lora Driver para Micropython y CircuitPython.
Esta biblioteca está portada y modificada de Radiolib por JGROMES.
Esta biblioteca admite micryphon de variante genérica y pycom, así como CircuitPython.
Probado con:
* Compilar a .mpy o compilar en la imagen de Micopython para evitar el error de problema de memoria
Clase SX1262.SX1262 (SPI_BUS, CLK, MOSI, MISO, CS, IRQ, RST, GPIO)
Crear e inicializar el objeto SX1262.
Los parámetros son:
SX1262.SetFrequency (Freq)
Establecer frecuencia en MHz.
Retorno: Estado (consulte el diccionario de estado de constantes )
SX1262.SetOutputPower (potencia)
Establezca la potencia TX en DBM.
Regreso: estado
SX1262.SetBlockingCallback (Bloqueo, Callback = None)
Establezca el modo de bloqueo TX/RX e interrumpa la devolución de llamada.
Si bloquea = true, TX/RX se establece en modo de bloqueo y la función de devolución de llamada se ignorará.
Si bloquea = false, TX/RX se establece en modo no bloqueo y la función de devolución de llamada se activará con el argumento de eventos en eventos TX/RX.
Si Callback = None, la función de devolución de llamada de eventos se deshabilitará.
Sx1262.getrssi ()
Obtenga RX RSSI en DBM.
Retorno: valor RSSI
SX1262.GetTimeOnair (Len)
Obtenga tiempo RX en el aire de acuerdo con la longitud del mensaje, len = longitud del mensaje.
Regreso: tiempo en el valor del aire
Sx1262.send (datos)
Enviar mensaje, el tipo de datos debe ser bytes o bytearray.
Devolución: duración de la carga útil, estado
Sx1262.recv (len = 0, timeOut_en = false, timeOut_ms = 0)
Lea el mensaje RX.
LENT = Longitud del mensaje, si 0, predeterminada a SX126X_MAX_PACKET_LENGHT
TimeOut_en = Enable Rx TimeOut, si es falso, función de bloqueo indefinidamente hasta el mensaje recibido (solo en modo de bloqueo)
TimeOut_ms = Rx Tiempo de espera en MS, 0 significa Tiempo Tiempo de espera = 100 Lora Longitud para Lora o Tiempo Tiempo de tiempo = 500% Estado en el aire esperado para FSK (solo en modo de bloqueo)
Devolución: carga útil, estado
SX1262.Begin (Freq = 434.0, BW = 125.0, SF = 9, CR = 7, Syncal = 0x12, Power = 14, CurrentLimit = 60.0
preamblel longitud = 8, implícito = false, implicTlen = 0xff, crcon = true, txiq = false, rxiq = false,
tcxovoltage = 1.6, useregulatorlDo = false, bloqueo = true)
Este método se utiliza para establecer la configuración de Lora.
Los parámetros son:
Regreso: estado
SX1262.SetBandWidth (BW)
Establecer el ancho de banda de Lora en KHZ.
Regreso: estado
SX1262.SetCodingRate (CR)
Establezca la tasa de codificación Lora, 5 a 8.
Regreso: estado
SX1262.SetPreamBlelength (preamblel longitud)
Establezca la longitud del preámbulo de Lora.
Regreso: estado
SX1262.SetSpreadingFactor (SF)
Establezca el factor de propagación de Lora, 5 a 12.
Regreso: estado
SX1262.SetsyncWord (Syncword, [ControlBits])
Establezca la palabra sincronizada lora, private = 0x12, public = 0x34.
Bolsos de control de parámetros opcionales, el valor predeterminado es 0x44.
por ejemplo, sincronización de síntesis = 0xab, controlbits = 0xcd -> sx126x 2 bytes sync word = 0xacbd
Por ejemplo, Sync Palabra = 0x12, ControlBits = 0x44 -> SX126X 2 Bytes Sync Word = 0x1424
Regreso: estado
Sx1262.Explicitheader ()
Habilitar el modo de encabezado explícito Lora.
Regreso: estado
SX1262. Implicitheader (implicable)
Habilite el modo de encabezado implícito Lora con el parámetro de longitud implícita.
Regreso: estado
SX1262. ForcelDro (habilitar)
La fuerza permite una baja optimización de la velocidad de datos.
Regreso: estado
Sx1262.autoldro ()
Habilite la optimización de la velocidad de datos automática baja.
Regreso: estado
SX1262.SetCRC (CRCON)
Establezca el modo Lora CRC.
Regreso: estado
SX1262.SettXIQ (TXIQ)
Establezca el modo Lora TX Invert IQ.
SX1262.SetRXIQ (RXIQ)
Establezca el modo Lora Rx Invert IQ.
Sx1262.getsnr ()
Obtenga Lora Rx Snr en DB.
Regreso: valor de SNR
Sx1262.beginfsk (freq = 434.0, br = 48.0, freqdev = 50.0, rxbw = 156.2, potencia = 14, currentLimit = 60.0,
preamblelength = 16, DataShaping = 0.5, Syncword = [0x2d, 0x01], SyncBitsLength = 16,
adrfilter = sx1262.Addr_filt_off, addr = 0x00, crclength = 2, crcinitial = 0x1d0f, crcpolynomial = 0x1021,
crcinverted = true, whiteneningon = true, blanqueador de WhiteningInitial = 0x0100,
fijopacketLength = false, paquete de longitud = 0xff, preambledetectorLength = sx1262.preamble_detect_16,
tcxovoltage = 1.6, useregulatorlDo = false,
bloqueo = verdadero)
Este método se utiliza para establecer la configuración FSK.
Los parámetros son:
Regreso: estado
SX1262.SetbitRate (BR)
Establezca la velocidad de bits FSK en KBP.
Regreso: estado
SX1262.SetFrequencyDeviation (FreqDev)
Establezca la desviación de frecuencia FSK en KHZ.
Regreso: estado
SX1262.SetRXBandWidth (RXBW)
Establecer el ancho de banda FSK RX en KHZ.
Regreso: estado
SX1262.SetDataShaping (DataShaping)
Establezca el producto de ancho de banda de tiempo FSK del filtro gaussiano que se utilizará para la configuración.
Regreso: estado
SX1262.SetsyncBits (Palabra sincronizada, Bitslen)
Establezca la palabra de sincronización de FSK y la longitud de los bits de sincronización.
Palabra de sincronización = Sync Word en la lista
bitslen = longitud de bits de palabra sincronal
Regreso: estado
SX1262.SetPreamBlelength (preamblel longitud)
Establezca la longitud del preámbulo FSK.
Regreso: estado
Sx1262.setPreambledEtectorLength (preambledEtectorLength)
Establezca la longitud mínima de detección del preámbulo, consulte la longitud del detector del preámbulo FSK constantes .
SX1262.SetNodeadDress (ADDR)
Active el filtrado de la dirección en la dirección del nodo ADDR.
Regreso: estado
SX1262.SetBroadCastAddress (ADDR)
Active el filtrado de la dirección en el nodo y la dirección de transmisión.
Regreso: estado
Sx1262.DisableaddressFiltering ()
Desactivar el filtrado de direcciones.
Regreso: estado
Sx1262.setcrc (len, inicial = 0x1d0f, polynomial = 0x1021, invertido = true)
Establecer FSK CRC.
Len = CRC Longitud, 0, 1 o 2
inicial = CRC inicial
polinomio = polinomio utilizado para el cálculo de CRC
invertido = habilitar la inversión de Bytes de CRC
Regreso: estado
Sx1262.setwhitening (habilitado, inicial = 0x0100)
Establecer blanqueamiento FSK.
inicial = valor inicial para blanquear LFSR
Regreso: estado
SX1262.FixedPacketLengthMode (Len)
Establezca el modo de longitud del paquete fijo FSK.
len = longitud del paquete en bytes
Regreso: estado
SX1262.VariablePacketLengthMode (MaxLen)
Establezca el modo de longitud del paquete variable FSK.
maxlen = max longitud del paquete en bytes
Regreso: estado
Eventos: sx1262.tx_done, sx1262.rx_done
Filtro de dirección FSK: SX1262.Addr_Filt_off, SX1262.Addr_Filt_Node, SX1262.Addr_Filt_Node_Broad
Longitud del detector del preámbulo FSK: SX1262.Preamble_detect_off, SX1262.Preamble_Detect_X -> x = 8, 16, 24, 32
Diccionario de estado: SX1262.status