SX1278 Register auslesen
Die LoRa-Bibliothek kennt den Aufruf
Registerdump. Die Funktion liefert den Inhalt aller SX-Register und gibt sie seriell aus. Da der Empfänger mit einem jungfräulichen Chip aufgebaut wird, soll der Factory-Zustand festgehalten werden.
Um zu vermeiden, dass die Register durch einen noch im ESP8266 vorhandenen LoRa-Sketch beim Einschalten ungewollt geändert werden, erfolgt vorsichtshalber die Trennung der Leitungen MOSI, Vcc und GND zunächst. Erst wenn der Registerdump-Sketch zum ESP übertragen ist, erfolgt die Verbindung erneut.
Mit dem nun folgenden Sketch für den ESP8266 am SX1278 landen die Registerinhalte im seriellen Monitor. Ärgerlicherweise haben die Coder der IDE 2.1.0 die Möglichkeit der elementaren Markier- und Kopierfunktion der seriellen Ausgabe nicht entsprechend der üblichen Verfahrensweise eingebaut. Aus diesem Grund erfolgt der Dump mit der IDE 1.x.x.
Eine leicht modifizierte Variante des LoRa-Examples LoRaDumpRegisters:
#include <SPI.h> // include libraries
#include <LoRa.h>
// ESP8266 Wemos D1 Mini
#define ss 15
#define rst 16
#define dio0 2
void setup()
{Serial.begin(9600); // initialize serial
delay(4000);
while (!Serial);
Serial.println("LoRa Dump Registers");
LoRa.setPins(ss, rst, dio0);
if (!LoRa.begin(433E6))Serial.println("LoRa init failed.");
LoRa.dumpRegisters(Serial);
}
void loop() {
Serial.print('.');
delay(1000);
}
Das Ergebnis ist in der Datei
loradump.txt abgelegt. Mit diesen Daten kann der Baustein wieder in den Auslieferungszustand gesetzt werden. Es folgt ein
LoRa Sende-Test, wie zuletzt mit dem PicoW, um die Funktion des zweiten Moduls zu testen. Ausgabe und Kontrolle via RTLSDR und HDSDR. Dabei kann ein direkter Vergleich der beiden Sendervarianten aufschlussreich sein. Insbesondere die verwendeten Antennen am SX zeigen oft überraschende Ergebnisse und Unterschiede beim Empfang via RTL-SDR am PC.