Slave Implementation of WANOT Slave
Dependencies: SX1276Lib mbed-src
GPS.cpp@0:80ebf9b1dd4f, 2016-05-23 (annotated)
- Committer:
- semsem
- Date:
- Mon May 23 22:28:07 2016 +0000
- Revision:
- 0:80ebf9b1dd4f
WANOT
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
semsem | 0:80ebf9b1dd4f | 1 | #include "WANOT.h" |
semsem | 0:80ebf9b1dd4f | 2 | |
semsem | 0:80ebf9b1dd4f | 3 | /* |
semsem | 0:80ebf9b1dd4f | 4 | * Global variables declarations |
semsem | 0:80ebf9b1dd4f | 5 | */ |
semsem | 0:80ebf9b1dd4f | 6 | |
semsem | 0:80ebf9b1dd4f | 7 | |
semsem | 0:80ebf9b1dd4f | 8 | void GPS_Read(char* StoreRead) |
semsem | 0:80ebf9b1dd4f | 9 | { |
semsem | 0:80ebf9b1dd4f | 10 | debug("GPS Data Query Started...\n\r"); |
semsem | 0:80ebf9b1dd4f | 11 | int j; |
semsem | 0:80ebf9b1dd4f | 12 | int parts; |
semsem | 0:80ebf9b1dd4f | 13 | char Parts_TimeBuffer[4]; |
semsem | 0:80ebf9b1dd4f | 14 | |
semsem | 0:80ebf9b1dd4f | 15 | |
semsem | 0:80ebf9b1dd4f | 16 | // struct tm t; // setup time structure reffered to GPS |
semsem | 0:80ebf9b1dd4f | 17 | |
semsem | 0:80ebf9b1dd4f | 18 | Serial SS(NC,PC_11); |
semsem | 0:80ebf9b1dd4f | 19 | SS.baud(4800); |
semsem | 0:80ebf9b1dd4f | 20 | |
semsem | 0:80ebf9b1dd4f | 21 | uint8_t Loop_Counter = 0; |
semsem | 0:80ebf9b1dd4f | 22 | |
semsem | 0:80ebf9b1dd4f | 23 | while(Loop_Counter < 3) { |
semsem | 0:80ebf9b1dd4f | 24 | |
semsem | 0:80ebf9b1dd4f | 25 | SS.gets(StoreRead,50); |
semsem | 0:80ebf9b1dd4f | 26 | |
semsem | 0:80ebf9b1dd4f | 27 | debug("New Statement Read\n\r"); |
semsem | 0:80ebf9b1dd4f | 28 | |
semsem | 0:80ebf9b1dd4f | 29 | if(StoreRead[0]=='$' && StoreRead[1]=='G' && StoreRead[2]=='P'&& StoreRead[3]=='G'&& StoreRead[4]=='G' && StoreRead[5]=='A') { //GPGGA Message |
semsem | 0:80ebf9b1dd4f | 30 | |
semsem | 0:80ebf9b1dd4f | 31 | debug("GPGGA Statement\n\r"); |
semsem | 0:80ebf9b1dd4f | 32 | Loop_Counter++; // To make sure it gets GPGGA Statement |
semsem | 0:80ebf9b1dd4f | 33 | } |
semsem | 0:80ebf9b1dd4f | 34 | } |
semsem | 0:80ebf9b1dd4f | 35 | |
semsem | 0:80ebf9b1dd4f | 36 | debug("GPS Data Fix Finished...\n\r"); |
semsem | 0:80ebf9b1dd4f | 37 | |
semsem | 0:80ebf9b1dd4f | 38 | /*Parts of second*/ |
semsem | 0:80ebf9b1dd4f | 39 | for(j=0; j<3; j++) { |
semsem | 0:80ebf9b1dd4f | 40 | //debug("%c",StoreRead[14+j]);//send parts of second |
semsem | 0:80ebf9b1dd4f | 41 | Parts_TimeBuffer[j] = StoreRead[14+j]; |
semsem | 0:80ebf9b1dd4f | 42 | } |
semsem | 0:80ebf9b1dd4f | 43 | |
semsem | 0:80ebf9b1dd4f | 44 | Parts_TimeBuffer[3] = 0; |
semsem | 0:80ebf9b1dd4f | 45 | |
semsem | 0:80ebf9b1dd4f | 46 | parts = atoi(Parts_TimeBuffer); // change to intege for mktime function |
semsem | 0:80ebf9b1dd4f | 47 | wait_ms(1000-parts); // to make time reffered to 00.00 of parts |
semsem | 0:80ebf9b1dd4f | 48 | |
semsem | 0:80ebf9b1dd4f | 49 | debug("GPS Synch Finished...\n\r"); |
semsem | 0:80ebf9b1dd4f | 50 | } |