Trasmissione LoRa

Buongiorno a tutti, sono alle prime armi con i trasmettitori LoRa e sto provando come test ad inviare 3 dati diversi tra di loro ( un "Array", un "int" ed un "byte"). Ho strutturato il pacchetto send in questo modo:

//Send LoRa packet to receiver
  LoRa.beginPacket();
  LoRa.write((byte*)&myArray,sizeof(myArray));
  LoRa.write(myInteger);
  LoRa.write(myByte);
  LoRa.endPacket();

Il pacchetto ricevitore in questo modo:

  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    for (int i = 0; i < arraySize; i++) {
    myArray[i] = LoRa.read();
    }
  myInteger = LoRa.read();
  myByte = LoRa.read();
}

La trasmissione funziona , l'array e il valore del byte li vedo correttamente mentre il valore dell'integer mi da problemi. Fino a valori di trasmissione di 255 il ricevitore è preciso mentre oltre quel valore va in roll over e vedo il valore - 255. E' come se ricevesse al posto di un intero un solo byte. Qualcuno mi puoi dire dove sbaglio?

Quale libreria stai utilizzando? Hai letto bene cosa fa il metodo write() e come si comporta con i vari tipi di dati?

Guglielmo

le librerie che sto utilizzando sono queste:

//Libraries for LoRa
#include <SPI.h>
#include <LoRa.h>

per quanto riguarda il metodo write() ho trovato poco però mi sembra di aver capito che posso inviare un integer.

Se non metti il link come la troviamo? Quella ufficiale di Arduino è la MKRWAN ... :roll_eyes:

Guglielmo

LoRa - Arduino Reference

caricato l'ultima versione 0.8.0

C.V.D. ... basta dare un'occhiata ai sorgenti per vedere che il metodo write() è così definito (nel .h):

 // from Print
  virtual size_t write(uint8_t byte);
  virtual size_t write(const uint8_t *buffer, size_t size);

... quindi o accetta solo UN byte (primo caso) o accetta un puntatore ed una lunghezza (secondo caso), null'altro :wink:

Guglielmo

Grazie Guglielmo... come ho scritto nella presentazione sono alle prime armi e tante cose faccio un po fatica a trovarle. grazie ancora e ciaoooo

Dato che spesso le librerie (scritte gratuitamente da volontari) sono scarsamente documentate, è sempre una buona cosa dare un'occhiata hai sorgenti per capire se quello che si vuole fare è possibile o meno :wink:

Buona continuazione :slight_smile:

Guglielmo

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.