UP | HOME

Corso di LoRa - Aggiunta del comando lora nella shell

Table of Contents

Comando lora

Come mostrato nel video dedicato all'utilizzo del comando lora con poche modifiche rispetto a quanto quanto indicato nella lezione n.2 di questo corso il codice e' stato integrato all'interno del metodo LoRaReadConf() della classe shell richiamabile dal comando lora –rconf 0 in combinazione i flag di redirezione [>>|>].

/*
 * Legge la configurazione della scheda LoRa
 */
void shell::LoRaReadConf(string __cmd__)
{

  String FO;
  String sMODE;
  File pFILE;

  Serial2.setPins(myPIN["TX"], myPIN["RX"]); // Arduino RX <-- e220 TX, Arduino TX --> e220 RX
  LoRa_E220 e220ttl(&Serial2, myPIN["AUX"], myPIN["M0"], myPIN["M1"]);

  e220ttl.begin();

  ResponseStructContainer c;
  c = e220ttl.getConfiguration();

  // It's important get configuration pointer before all other operation
  Configuration configuration = *(Configuration *)c.data;

  ResponseStructContainer cMi;
  cMi = e220ttl.getModuleInformation();
  // It's important get information pointer before all other operation
  ModuleInformation mi = *(ModuleInformation *)cMi.data;

  if ((shell::readFlag(">>")).size() > 0)
  {
    __PRTDBG__
    FO = shell::s2S(shell::getPath() + shell::readFlag(">>"));
    pFILE = SPIFFS.open(FO.c_str(), "a+");
  }
  else if ((shell::readFlag(">")).size() > 0)
  {
    __PRTDBG__
    FO = shell::s2S(shell::getPath() + shell::readFlag(">"));
    pFILE = SPIFFS.open(FO.c_str(), "w");
  }

  __PRTVAR__("pFILE", pFILE)

  if (pFILE)
  {
    __PRTDBG__

    pFILE.println(c.status.getResponseDescription());

    // ...

    pFILE.close();
  }
  else
  {
    __PRTDBG__

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

    // ...

  }
}

Author: ARI people

Created: 2023-06-06 mar 00:36

Validate