xreef / LoRa_E32_Series_Library

Arduino LoRa EBYTE E32 device library complete and tested with Arduino, esp8266, esp32, STM32 and Raspberry Pi Pico (rp2040 boards). sx1278/sx1276
https://www.mischianti.org
Other
348 stars 72 forks source link

Hardware Serial with stm 32 #47

Closed deckboy35 closed 1 year ago

deckboy35 commented 1 year ago

Hi, trying to use STM32F767ZI (nucleo 144) with arduino core and LORA E32-433t30D. Here below wiring.

433T30D-------------STM32

M0 --------------------3.3v M1 -------------------3.3v RX --------------------TX(D1) ( Serial6 TX) TX --------------------RX(D0) ( Serial6 RX) AUX ------------------D5 VCC ------------------ External 5V GND ------------------External GND

Code i am trying to set parameters and get parameters as below. Please advice how to use hardware serial on this board.

SET PARAMETERS `

include "Arduino.h"

define E32_TTL_1W

include "LoRa_E32.h"

HardwareSerial Serial6(D0, D1); LoRa_E32 e32ttl100(&Serial6, D5, D7, D6); // e32 TX e32 RX void printParameters(struct Configuration configuration); void printModuleInformation(struct ModuleInformation moduleInformation);

void setup() { Serial.begin(9600); delay(500);

// Startup all pins and UART e32ttl100.begin();

ResponseStructContainer c; c = e32ttl100.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); configuration.ADDL = 0x0; configuration.ADDH = 0x3f; configuration.CHAN = 0x17;

configuration.OPTION.fec = FEC_0_OFF; configuration.OPTION.fixedTransmission = FT_FIXED_TRANSMISSION; configuration.OPTION.ioDriveMode = IO_D_MODE_PUSH_PULLS_PULL_UPS; configuration.OPTION.transmissionPower = POWER_30; configuration.OPTION.wirelessWakeupTime = WAKE_UP_1250;

configuration.SPED.airDataRate = AIR_DATA_RATE_010_24; configuration.SPED.uartBaudRate = UART_BPS_9600; configuration.SPED.uartParity = MODE_00_8N1;

// Set configuration changed and set to not hold the configuration ResponseStatus rs = e32ttl100.setConfiguration(configuration, WRITE_CFG_PWR_DWN_LOSE); Serial.println(rs.getResponseDescription()); Serial.println(rs.code); printParameters(configuration); c.close(); }

void loop() { } void printParameters(struct Configuration configuration) { Serial.println("----------------------------------------");

Serial.print(F("HEAD : ")); 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 : ")); Serial.println(configuration.ADDH, BIN); Serial.print(F("AddL : ")); Serial.println(configuration.ADDL, BIN); 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.getUARTBaudRate()); Serial.print(F("SpeedAirDataRate : ")); Serial.print(configuration.SPED.airDataRate, BIN); Serial.print(" -> "); Serial.println(configuration.SPED.getAirDataRate());

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

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

` /////////****////////////////****////////////////***/////////////

GET PARAMETERS

`#include "Arduino.h"

define E32_TTL_1W

include "LoRa_E32.h"

HardwareSerial Serial6(D0, D1); LoRa_E32 e32ttl100(&Serial6,D5,D7,D6);

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

void setup() { Serial.begin(9600); delay(500);

// Startup all pins and UART e32ttl100.begin();

ResponseStructContainer c; c = e32ttl100.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; cMi = e32ttl100.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(); cMi.close(); }

void loop() { } 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("----------------------------------------"); } `

Thanks in advance

xreef commented 1 year ago

Remove D6 and D7 and retry. I think it's all ok. Bye Renzo