I'm using two functions from this pico tracker code:
setup_lora(433.0, 1, "CODEBRANE");
...
SendLoRaPacket(loraBuffer, 16, 0);
and I'm not sure whether it's sending anything. I have an ESP32 receiving on another SX1278 board and I've tested both sender and receiver boards on ESP32 receiving from an ESP8266 which is sending and the boards are fine.
The ESP32/ESP8266 use the LoRa library in the Arduino IDE but the pico is using the Lora.cpp
functions above and that code sets the bandwidth, spreading factor etc, which the LoRa library doesn't. I'm assuming the pico is sending ok but the ESP32 isn't recieving anything.
Do the sender and receiver have to be using the exact same settings, mode, bandwith, spreading factor, implicit/explicit header etc?
The pico uses mode 1:
ImplicitOrExplicit = IMPLICIT_MODE;
ErrorCoding = ERROR_CODING_4_5;
Bandwidth = BANDWIDTH_20K8;
SpreadingFactor = SPREADING_6;
LowDataRateOptimize = 0;
would I need to translate these into LoRa library equivalents to get the ESP32 to pick up the pico messages?
e.g.
LoRa.setSignalBandwidth(20.8E3);
LoRa.setSpreadingFactor(6);
LoRa.implicitHeaderMode();
but there doesn't appear to be an equivalent for ErrorCoding
or LowDataRateOptimize
.