From 13a3963d74170e1110dc411cea59927334e849cf Mon Sep 17 00:00:00 2001 From: DenialOfIntelligence Date: Fri, 23 Jun 2023 16:53:59 +0200 Subject: [PATCH] Added code --- Reciver/Reciver.ino | 30 +++++++++++++++++++ Transmitter/Transmitter.ino | 58 +++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 Reciver/Reciver.ino create mode 100644 Transmitter/Transmitter.ino diff --git a/Reciver/Reciver.ino b/Reciver/Reciver.ino new file mode 100644 index 0000000..04502fb --- /dev/null +++ b/Reciver/Reciver.ino @@ -0,0 +1,30 @@ +#include +#include + +RF24 radio(9, 10); // (CE, CSN) + +struct gps_info{ + double latitude; + double longitude; + unsigned long date; + unsigned long time; +}gps_data; +const byte address[6] = "5RF24"; +void setup() { + radio.begin(); + radio.setPALevel(RF24_PA_MAX); + radio.setChannel(125); + radio.openReadingPipe(0, address); + radio.startListening(); + Serial.begin(9600); + radio.enableDynamicPayloads(); + radio.setDataRate(RF24_250KBPS); +} + +void loop() { + if (radio.available()) { + byte gpsData; + radio.read(&gps_data, sizeof(gps_data)); + Serial.write((uint8_t*)&gps_data, sizeof(gps_data)); + } +} diff --git a/Transmitter/Transmitter.ino b/Transmitter/Transmitter.ino new file mode 100644 index 0000000..6efae75 --- /dev/null +++ b/Transmitter/Transmitter.ino @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include + +RF24 radio(5, 6); // (CE, CSN) +const byte address[6] = "5RF24"; +static NMEAGPS gps; +struct gps_info{ + double latitude; + double longitude; + unsigned long date; + unsigned long time; +}gps_data; +void setup() { + //Setup radio + radio.begin(); + radio.setPALevel(RF24_PA_MAX); + radio.setChannel(125); + radio.openWritingPipe(address); + radio.stopListening(); + Serial.begin(9600); + radio.setAutoAck(true); + radio.setRetries(5,15); + radio.enableDynamicPayloads(); + radio.setDataRate(RF24_250KBPS); + //Setup NeoGPS + gpsPort.begin(9600); + +} + +static void doSomeWork( const gps_fix & fix ); +static void doSomeWork( const gps_fix & fix ) +{ + + if (fix.valid.location) { + if ( fix.dateTime.seconds < 40 ) + gps_data.latitude=fix.latitude(); + gps_data.longitude=fix.longitude(); + radio.write(&gps_data, sizeof(gps_data)); + } + + +} // doSomeWork + +static void GPSloop(); +static void GPSloop() +{ + while (gps.available( gpsPort )) + doSomeWork( gps.read() ); + +} // GPSloop + + +void loop() { + GPSloop(); +}