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