Hello folks,
I'm testing a LoRa E220-100 device by looking at Ebyte LoRa E220 LLCC68 device for Arduino, esp32 or esp8266: configuration – 3 – Renzo Mischianti
But I get a strange result:
17:57:44.837 -> Initializing LoRa
17:57:44.917 -> Getting configuration
17:57:45.197 -> Save mode returned not recognized!
17:57:45.237 -> 11
17:57:45.237 -> ----------------------------------------
17:57:45.277 -> HEAD : 0 0 C1
17:57:45.277 ->
17:57:45.317 -> AddH : 0
17:57:45.317 -> AddL : 8
17:57:45.317 ->
17:57:45.317 -> Chan : 98 -> 508MHz
17:57:45.357 ->
17:57:45.357 -> SpeedParityBit : 0 -> 8N1 (Default)
17:57:45.397 -> SpeedUARTDatte : 0 -> 1200bps
17:57:45.437 -> SpeedAirDataRate : 0 -> 2.4kbps
17:57:45.477 ->
17:57:45.477 -> OptionSubPacketSett: 0 -> 200bytes (default)
17:57:45.517 -> OptionTranPower : 0 -> 22dBm (Default)
17:57:45.557 -> OptionRSSIAmbientNo: 0 -> Disabled (default)
17:57:45.597 ->
17:57:45.597 -> TransModeWORPeriod : 0 -> 500ms
17:57:45.637 -> TransModeEnableLBT : 0 -> Disabled (default)
17:57:45.677 -> TransModeEnableRSSI: 0 -> Disabled (default)
17:57:45.717 -> TransModeFixedTrans: 0 -> Transparent transmission (default)
17:57:45.797 -> ----------------------------------------
17:57:45.837 -> Getting module information
17:57:46.077 -> Save mode returned not recognized!
17:57:46.117 -> 11
17:57:46.117 -> ----------------------------------------
17:57:46.157 -> HEAD: 0 0 0
17:57:46.197 -> Model no.: 0
17:57:46.197 -> Version : C1
17:57:46.197 -> Features : 8
17:57:46.237 -> ----------------------------------------
What does Save mode returned not recognized! mean?
I have checked, double checked, triple checked the connections both visual and by using a multi-meter.
Here is the code I'm using:
#include "Arduino.h"
#include "EByte_LoRa_E220_library.h"
LoRa_E220 lora(2, 3, 4, 5, 6); // software serial, AUX, M0, M1
void printParameters(struct Configuration configuration);
void printModuleInformation(struct ModuleInformation moduleInformation);
void setup()
{
Serial.begin(9600);
delay(1000);
// Startup all pins and UART.
Serial.println(F("Initializing LoRa"));
lora.begin();
ResponseStructContainer c;
Serial.println(F("Getting configuration"));
c = lora.getConfiguration();
// It's important get configuration pointer before all other operation.
Configuration configuration = *(Configuration*) c.data;
Serial.println(c.status.getResponseDescription());
Serial.println(c.status.code);
printParameters(configuration);
ResponseStructContainer cMi;
Serial.println(F("Getting module information"));
cMi = lora.getModuleInformation();
// It's important get information pointer before all other operation.
ModuleInformation mi = *(ModuleInformation*)cMi.data;
Serial.println(cMi.status.getResponseDescription());
Serial.println(cMi.status.code);
printModuleInformation(mi);
c.close();
}
void loop()
{
}
void printParameters(struct Configuration configuration)
{
Serial.println(F("----------------------------------------"));
Serial.print(F("HEAD : "));
Serial.print(configuration.COMMAND, HEX);
Serial.print(" ");
Serial.print(configuration.STARTING_ADDRESS, HEX);
Serial.print(" ");
Serial.println(configuration.LENGHT, HEX);
Serial.println(F(" "));
Serial.print(F("AddH : "));
Serial.println(configuration.ADDH, HEX);
Serial.print(F("AddL : "));
Serial.println(configuration.ADDL, HEX);
// Serial.print(F("NetID : "));
// Serial.println(configuration.NETID, HEX);
Serial.println(F(" "));
Serial.print(F("Chan : "));
Serial.print(configuration.CHAN, DEC);
Serial.print(" -> ");
Serial.println(configuration.getChannelDescription());
Serial.println(F(" "));
Serial.print(F("SpeedParityBit : "));
Serial.print(configuration.SPED.uartParity, BIN);
Serial.print(" -> ");
Serial.println(configuration.SPED.getUARTParityDescription());
Serial.print(F("SpeedUARTDatte : "));
Serial.print(configuration.SPED.uartBaudRate, BIN);
Serial.print(" -> ");
Serial.println(configuration.SPED.getUARTBaudRateDescription());
Serial.print(F("SpeedAirDataRate : "));
Serial.print(configuration.SPED.airDataRate, BIN);
Serial.print(" -> ");
Serial.println(configuration.SPED.getAirDataRateDescription());
Serial.println(F(" "));
Serial.print(F("OptionSubPacketSett: "));
Serial.print(configuration.OPTION.subPacketSetting, BIN);
Serial.print(" -> ");
Serial.println(configuration.OPTION.getSubPacketSetting());
Serial.print(F("OptionTranPower : "));
Serial.print(configuration.OPTION.transmissionPower, BIN);
Serial.print(" -> ");
Serial.println(configuration.OPTION.getTransmissionPowerDescription());
Serial.print(F("OptionRSSIAmbientNo: "));
Serial.print(configuration.OPTION.RSSIAmbientNoise, BIN);
Serial.print(" -> ");
Serial.println(configuration.OPTION.getRSSIAmbientNoiseEnable());
Serial.println(F(" "));
Serial.print(F("TransModeWORPeriod : "));
Serial.print(configuration.TRANSMISSION_MODE.WORPeriod, BIN);
Serial.print(" -> ");
Serial.println(configuration.TRANSMISSION_MODE.getWORPeriodByParamsDescription());
/* Serial.print(F("TransModeTransContr: "));
Serial.print(configuration.TRANSMISSION_MODE.WORTransceiverControl, BIN);
Serial.print(" -> ");
Serial.println(configuration.TRANSMISSION_MODE.getWORTransceiverControlDescription());
*/
Serial.print(F("TransModeEnableLBT : "));
Serial.print(configuration.TRANSMISSION_MODE.enableLBT, BIN);
Serial.print(" -> ");
Serial.println(configuration.TRANSMISSION_MODE.getLBTEnableByteDescription());
Serial.print(F("TransModeEnableRSSI: "));
Serial.print(configuration.TRANSMISSION_MODE.enableRSSI, BIN);
Serial.print(" -> ");
Serial.println(configuration.TRANSMISSION_MODE.getRSSIEnableByteDescription());
/* Serial.print(F("TransModeEnabRepeat: "));
Serial.print(configuration.TRANSMISSION_MODE.enableRepeater, BIN);
Serial.print(" -> ");
Serial.println(configuration.TRANSMISSION_MODE.getRepeaterModeEnableByteDescription());
*/
Serial.print(F("TransModeFixedTrans: "));
Serial.print(configuration.TRANSMISSION_MODE.fixedTransmission, BIN);
Serial.print(" -> ");
Serial.println(configuration.TRANSMISSION_MODE.getFixedTransmissionDescription());
Serial.println(F("----------------------------------------"));
}
void printModuleInformation(struct ModuleInformation moduleInformation)
{
Serial.println(F("----------------------------------------"));
Serial.print(F("HEAD: "));
Serial.print(moduleInformation.COMMAND, HEX);
Serial.print(" ");
Serial.print(moduleInformation.STARTING_ADDRESS, HEX);
Serial.print(" ");
Serial.println(moduleInformation.LENGHT, DEC);
Serial.print(F("Model no.: "));
Serial.println(moduleInformation.model, HEX);
Serial.print(F("Version : "));
Serial.println(moduleInformation.version, HEX);
Serial.print(F("Features : "));
Serial.println(moduleInformation.features, HEX);
Serial.println(F("----------------------------------------"));
}