Ahmad Fahad
/
Geofence_sender
Yeah it works!
Fork of Geofence_sender by
main.cpp
- Committer:
- afahadshujah
- Date:
- 2016-01-01
- Revision:
- 2:c1f0b54834a5
- Parent:
- 0:bdfb6afe26e0
File content as of revision 2:c1f0b54834a5:
#include "mbed.h" #include <RF22.h> #include <RF22ReliableDatagram.h> #include <GPS.h> // Sample programm for ReliableDatagramm Sending // Uses address 1 and sends to RF22 with address 2 // See notebook http://mbed.org/users/charly/notebook/rfm22/ for connecting RFM22 to mbed DigitalOut myled(LED1); Serial pc(USBTX, USBRX); GPS af(PB_10, PB_11); //RF22ReliableDatagram (uint8_t thisAddress, PinName slaveSelectPin, PinName mosi, PinName miso, PinName sclk, PinName interrupt) RF22ReliableDatagram rf22(0,PB_6,PA_7,PA_6,PA_5,PA_10); float frequency = 433; // frequency const uint8_t sender_adress = 1; // address of sender const uint8_t receiver_adress =2; // address of receiver // send messages forever int send_loop() { uint8_t data[32] = ""; int flagcheck1=0; while (flagcheck1==0) { if(af.sample()==1) { float latitude=af.latitude; float longitude=af.longitude; sprintf((char*)data,"%f,%f",latitude,longitude); pc.printf("%f, %f",latitude,longitude); //sendtoWait(uint8_t* buf, uint8_t len, uint8_t address); pc.printf("\n\rStart sending ... "); if (rf22.sendtoWait(data, sizeof(data), receiver_adress)) { pc.printf("Send to %i ACK: >>%s<< ", receiver_adress,(char*)data); } else { pc.printf("Send to %i NOTACK: >>%s<< ", receiver_adress,(char*)data); } pc.printf("sleeping 2 seconds... "); flagcheck1=1; wait(1); } else { myled=1; wait(0.5); myled=0; wait(0.5); } // Wait 2 Seconds } } void rfcheck() { pc.printf("\n\rConnected to mbed\n\r"); pc.printf ("RF22-Test-Reliable-Send V1.0\n\r"); // initialize the device if (!rf22.init()) pc.printf("RF22 init failed\n\r"); // set to 19.2 KB if (!rf22.setModemConfig(RF22::GFSK_Rb19_2Fd9_6)) pc.printf("setModemConfig failed"); if (!rf22.setFrequency(frequency)) pc.printf("setFrequency failed"); // Code for sending pc.printf("I am sending with address %i to adress %i ...\n\r",sender_adress,receiver_adress ); rf22.setThisAddress(sender_adress); // sender-adress } int main() { pc.baud(9600); rfcheck(); send_loop(); // start sending }