diff --git a/LORA_nacelle.ino b/LORA_nacelle.ino deleted file mode 100644 index 27adbca..0000000 --- a/LORA_nacelle.ino +++ /dev/null @@ -1,136 +0,0 @@ -// Code contenu dans le module Lora Feather EMBARQUE dans la nacelle - - -#include <SPI.h> -#include <RH_RF95.h> - -/* for feather m0 */ -#define RFM95_CS 8 -#define RFM95_RST 4 -#define RFM95_INT 3 - -#define TAILLE_RADIOPACKET 20 -#define LED 13 - -// Change to 434.0 or other frequency, must match RX's freq! -#define RF95_FREQ 434.0 -// Singleton instance of the radio driver -RH_RF95 rf95(RFM95_CS, RFM95_INT); - -//Fonction vidage de buffer série -void serialFlush(){ - pinMode(LED, OUTPUT); - while(Serial.available() > 0) { - char t = Serial.read(); - } -} - -void setup() -{ - pinMode(RFM95_RST, OUTPUT); - digitalWrite(RFM95_RST, HIGH); - while (!Serial); // peut être à enlever avec rasp.. - Serial.begin(9600); - delay(100); - //Serial.println("Feather LoRa TX Test!"); - // manual reset - digitalWrite(RFM95_RST, LOW); - delay(10); - digitalWrite(RFM95_RST, HIGH); - delay(10); - while (!rf95.init()) { - //Serial.println("LoRa radio init failed"); - while (1); - } - //Serial.println("LoRa radio init completed"); - // Defaults after init are 434.0MHz, modulation GFSK_Rb250Fd250, +13dbM - if (!rf95.setFrequency(RF95_FREQ)) { - //Serial.println("setFrequency failed"); - while (1); - - serialFlush(); - } - - //Serial.print("Set Freq to: "); Serial.println(RF95_FREQ); - // Defaults after init are 434.0MHz, 13dBm, Bw = 125 kHz, Cr = 4/5, Sf = 128chips/symbol, CRC on - // The default transmitter power is 13dBm, using PA_BOOST. - // If you are using RFM95/96/97/98 modules which uses the PA_BOOST transmitter pin, then - // you can set transmitter powers from 5 to 23 dBm: - rf95.setTxPower(23, false); -} - -int nb_envoi; -uint8_t radiopacket[TAILLE_RADIOPACKET]="null"; //Chaîne contenant la requête à envoyer à la nacelle -uint8_t radiopacket_tmp[TAILLE_RADIOPACKET]="null"; - -void loop() -{ - //DECLARATION VARIABLES et INITIALISATION - char caractere_lu = 0; //caractere à lire - int caractere_dispo =0; // nombre de caracteres dispo dans le buffer - int i_chaine = 0; //indique l'endroit où on doit écrire dans la chaîne - - memcpy(radiopacket_tmp,radiopacket,TAILLE_RADIOPACKET); - - //LECTURE DES DONNEES A ENVOYER AU SOL - caractere_dispo = Serial.available(); - - while(caractere_dispo > 0) //tant qu'il y a des caractères à lire - { - caractere_lu = Serial.read(); //on lit le caractère - radiopacket[i_chaine] = caractere_lu; - //Serial.print(caractere_lu); //puis on le renvoi à l’expéditeur tel quel - caractere_dispo = Serial.available(); //on relit le nombre de caractères dispo - i_chaine++; - } - radiopacket[TAILLE_RADIOPACKET-1] = 0; // marquage fin du packet - - //si la donnée reçu est différente de la précédente - if(memcmp(radiopacket,radiopacket_tmp,TAILLE_RADIOPACKET)!=0){ - nb_envoi = 0; - } - - - //Serial.println("Sending..."); delay(10); - - //ENVOI DES DONNEES AU SOL - if (nb_envoi==0){ - rf95.send((uint8_t *)radiopacket, TAILLE_RADIOPACKET); - rf95.waitPacketSent(); - //Serial.println("TX done"); delay(10); - digitalWrite(LED, HIGH); - nb_envoi++; - } - - - //RECEPTION DES REQUETES PROVENANT DU SOL - uint8_t buf[RH_RF95_MAX_MESSAGE_LEN]; - uint8_t len = sizeof(buf); - //Serial.println("Waiting for reply..."); delay(10); - if (rf95.waitAvailableTimeout(1000)) - { - // Should be a reply message for us now - if (rf95.recv(buf, &len)) - { - //ENVOI DE LA REQUETE VERS LA RASPBERRY - Serial.println((char*)buf); - - //Serial.print("RSSI: "); - //Serial.println(rf95.lastRssi(), DEC); - - } - else - { - //Serial.println("Receive failed"); - } - } - else - { - //Serial.println("No reply"); - } - digitalWrite(LED, LOW); - - delay(200); -} - - -- libgit2 0.21.2