Site icon Renzo Mischianti

Data Size Not Match 7 error ESP32

Hi, I am using an ESP32-WROOM-32UE and an E32900T30D. I run this code:

/*
 * LoRa E32-TTL-100 – ESP32
 * Configuração do módulo e leitura das informações
 * Adaptado para usar os pinos 16 RX e 17 TX
 *
 * Conexões:
 * M0 —– 3.3V
 * M1 —– 3.3V
 * TX —– GPIO 16 pull up resistor
 * RX —– GPIO 17 pull up resistor
 * AUX —– 3.3V pull up resistor
 * VCC —– 5V
 * GND —– GND
 */

#include "Arduino.h"
#include "LoRa_E32.h"

// Define pinos de comunicação UART2 (ESP32)
#define RXD2 16 // Pino RX do ESP32 (conectado ao TX do LoRa)
#define TXD2 17 // Pino TX do ESP32 (conectado ao RX do LoRa)

// Inicializa o módulo LoRa E32 usando apenas o Serial2
LoRa_E32 e32ttl100(&Serial2);

void printParameters(struct Configuration configuration);
void printModuleInformation(struct ModuleInformation moduleInformation);

void setup() {
  Serial.begin(9600); // Comunicação com o PC
  Serial2.begin(19200, SERIAL_8E1, RXD2, TXD2);
  // Serial2.begin(9600, SERIAL_8N1, RXD2, TXD2); // Comunicação com o módulo LoRa

  delay(500);
  Serial.println("Inicializando LoRa E32...");

  // Inicia comunicação com o módulo
  e32ttl100.begin();

  // Obtém a configuração atual do módulo
  ResponseStructContainer c = e32ttl100.getConfiguration();
  Configuration configuration = *(Configuration *)c.data;

  Serial.println(c.status.getResponseDescription());
  Serial.println(c.status.code);

  printParameters(configuration);
  c.close();

  // Obtém informações do módulo
  ResponseStructContainer cMi = e32ttl100.getModuleInformation();
  ModuleInformation mi = *(ModuleInformation *)cMi.data;

  Serial.println(cMi.status.getResponseDescription());
  Serial.println(cMi.status.code);

  printModuleInformation(mi);
  cMi.close();
}

void loop() {
  // Nada no loop por enquanto
}

void printParameters(struct Configuration configuration) {
  Serial.println("—————————————-");
  Serial.print(F("HEAD BIN: "));
  Serial.print(configuration.HEAD, BIN);
  Serial.print(" ");
  Serial.print(configuration.HEAD, DEC);
  Serial.print(" ");
  Serial.println(configuration.HEAD, HEX);

  Serial.println(F(" "));
  Serial.print(F("AddH BIN: "));
  Serial.println(configuration.ADDH, BIN);
  Serial.print(F("AddL BIN: "));
  Serial.println(configuration.ADDL, BIN);
  Serial.print(F("Chan BIN: "));
  Serial.print(configuration.CHAN, DEC);
  Serial.print(" -> ");
  Serial.println(configuration.getChannelDescription());

  Serial.println(F(" "));
  Serial.print(F("SpeedParityBit BIN : "));
  Serial.print(configuration.SPED.uartParity, BIN);
  Serial.print(" -> ");
  Serial.println(configuration.SPED.getUARTParityDescription());
  Serial.print(F("SpeedUARTDataRate BIN : "));
  Serial.print(configuration.SPED.uartBaudRate, BIN);
  Serial.print(" -> ");
  Serial.println(configuration.SPED.getUARTBaudRate());
  Serial.print(F("SpeedAirDataRate BIN : "));
  Serial.print(configuration.SPED.airDataRate, BIN);
  Serial.print(" -> ");
  Serial.println(configuration.SPED.getAirDataRate());

  Serial.print(F("OptionTrans BIN : "));
  Serial.print(configuration.OPTION.fixedTransmission, BIN);
  Serial.print(" -> ");
  Serial.println(configuration.OPTION.getFixedTransmissionDescription());
  Serial.print(F("OptionPullup BIN : "));
  Serial.print(configuration.OPTION.ioDriveMode, BIN);
  Serial.print(" -> ");
  Serial.println(configuration.OPTION.getIODroveModeDescription());
  Serial.print(F("OptionWakeup BIN : "));
  Serial.print(configuration.OPTION.wirelessWakeupTime, BIN);
  Serial.print(" -> ");
  Serial.println(configuration.OPTION.getWirelessWakeUPTimeDescription());
  Serial.print(F("OptionFEC BIN : "));
  Serial.print(configuration.OPTION.fec, BIN);
  Serial.print(" -> ");
  Serial.println(configuration.OPTION.getFECDescription());
  Serial.print(F("OptionPower BIN : "));
  Serial.print(configuration.OPTION.transmissionPower, BIN);
  Serial.print(" -> ");
  Serial.println(configuration.OPTION.getTransmissionPowerDescription());

  Serial.println("—————————————-");
}

void printModuleInformation(struct ModuleInformation moduleInformation) {
  Serial.println("—————————————-");
  Serial.print(F("HEAD BIN: "));
  Serial.print(moduleInformation.HEAD, BIN);
  Serial.print(" ");
  Serial.print(moduleInformation.HEAD, DEC);
  Serial.print(" ");
  Serial.println(moduleInformation.HEAD, HEX);

  Serial.print(F("Freq.: "));
  Serial.println(moduleInformation.frequency, HEX);
  Serial.print(F("Version : "));
  Serial.println(moduleInformation.version, HEX);
  Serial.print(F("Features : "));
  Serial.println(moduleInformation.features, HEX);
  Serial.println("—————————————-");
}

and get: !��ܠ��J��1���1!���!��L!�1�Inicializando LoRa E32... Data size not match! 7 ---------------------------------------- HEAD BIN: 11000001 193 C1 AddH BIN: 11000001 AddL BIN: 11000001 Chan BIN: 178 -> 588MHz SpeedParityBit BIN : 10 -> 8E1 SpeedUARTDataRate BIN : 100 -> 19200bps SpeedAirDataRate BIN : 101 -> 19.2kbps Thanks, and I am waiting for an answer
Exit mobile version