Rev 378 | Rev 585 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 378 | Rev 582 | ||
---|---|---|---|
Line 90... | Line 90... | ||
90 | u8 UART0_Request_NaviData = FALSE; |
90 | u8 UART0_Request_NaviData = FALSE; |
91 | u8 UART0_Request_ErrorMessage = FALSE; |
91 | u8 UART0_Request_ErrorMessage = FALSE; |
92 | u32 UART0_NaviData_Timer; |
92 | u32 UART0_NaviData_Timer; |
93 | u32 UART0_NaviData_Interval = 0; // in ms |
93 | u32 UART0_NaviData_Interval = 0; // in ms |
Line -... | Line 94... | ||
- | 94 | ||
94 | 95 | u16 GPS_Version = 0; |
|
95 | //------------------------------------------------------------------------------------ |
96 | //------------------------------------------------------------------------------------ |
Line 96... | Line 97... | ||
96 | // functions |
97 | // functions |
97 | 98 | ||
Line 499... | Line 500... | ||
499 | /* Get Version Info from UBX Module */ |
500 | /* Get Version Info from UBX Module */ |
500 | /**************************************************************/ |
501 | /**************************************************************/ |
501 | u8 UART0_GetUBXVersion(void) |
502 | u8 UART0_GetUBXVersion(void) |
502 | { |
503 | { |
503 | u32 timeout; |
504 | u32 timeout; |
- | 505 | u8 msg[64]; |
|
504 | u8 retval = 0xFF; |
506 | u8 retval = 0xFF; |
505 | u8 ubxmsg[]={0x0A, 0x04, 0x00, 0x00}; //MON-VER |
507 | u8 ubxmsg[]={0x0A, 0x04, 0x00, 0x00}; //MON-VER |
506 | // prepare rx msg filter |
508 | // prepare rx msg filter |
507 | UbxMsg.Hdr.Class = 0x0A; |
509 | UbxMsg.Hdr.Class = 0x0A; |
508 | UbxMsg.Hdr.Id = 0x04; |
510 | UbxMsg.Hdr.Id = 0x04; |
Line 517... | Line 519... | ||
517 | { |
519 | { |
518 | if(UbxMsg.Status == NEWDATA) break; |
520 | if(UbxMsg.Status == NEWDATA) break; |
519 | }while(!CheckDelay(timeout)); |
521 | }while(!CheckDelay(timeout)); |
520 | if((UbxMsg.Hdr.Length >= 40) && (UbxMsg.Status == NEWDATA)) |
522 | if((UbxMsg.Hdr.Length >= 40) && (UbxMsg.Status == NEWDATA)) |
521 | { |
523 | { |
522 | UbxMsg.Data[4] = 0; //Only the fisrt 4 chsracters |
- | |
523 | UbxMsg.Data[39] = 0; |
524 | /* |
524 | UART1_PutString(" V"); |
525 | UART1_PutString(" V"); |
- | 526 | UbxMsg.Data[4] = 0; //Only the first 4 characters |
|
525 | UART1_PutString((u8*)&UbxMsg.Data); |
527 | UART1_PutString((u8*)&UbxMsg.Data); |
526 | UART1_PutString(" HW:"); |
528 | UART1_PutString(" HW:"); |
- | 529 | UbxMsg.Data[39] = 0; |
|
527 | UART1_PutString((u8*)&UbxMsg.Data[30]); |
530 | UART1_PutString((u8*)&UbxMsg.Data[30]); |
- | 531 | */ |
|
- | 532 | if(UbxMsg.Data[33] == '4' && UbxMsg.Data[37] == '1') // LEA-4 |
|
- | 533 | { |
|
- | 534 | GPS_Version = 1000 + (UbxMsg.Data[0] - '0') * 100 + (UbxMsg.Data[2] - '0') * 10 + (UbxMsg.Data[3] - '0'); |
|
- | 535 | retval = 10; // MKGPS V1 |
|
- | 536 | } |
|
- | 537 | else |
|
- | 538 | if(UbxMsg.Data[33] == '4' && UbxMsg.Data[37] == '7') // LEA-6 |
|
- | 539 | { |
|
- | 540 | GPS_Version = 2000 + (UbxMsg.Data[0] - '0') * 100 + (UbxMsg.Data[2] - '0') * 10 + (UbxMsg.Data[3] - '0'); |
|
- | 541 | retval = 20; // MKGPS V2 |
|
- | 542 | } |
|
- | 543 | else |
|
- | 544 | if(UbxMsg.Data[33] == '8' && UbxMsg.Data[37] == '0') // NEO-8 |
|
- | 545 | { |
|
- | 546 | GPS_Version = 3000 + (UbxMsg.Data[0] - '0') * 100 + (UbxMsg.Data[2] - '0') * 10 + (UbxMsg.Data[3] - '0'); |
|
- | 547 | retval = 30; // MKGPS V3 |
|
- | 548 | } |
|
- | 549 | else |
|
- | 550 | UART1_PutString(" ! -> UNKNOWN <- ! "); |
|
- | 551 | // HW:00000040: Antaris |
|
- | 552 | // HW:00040001: Antaris-4 |
|
- | 553 | // HW:80040001: Antaris-4 |
|
- | 554 | // HW:00040005: u-blox 5 |
|
- | 555 | // HW:00040006: u-blox 6 |
|
- | 556 | // HW:00040007: u-blox 6 |
|
- | 557 | // HW:00070000: u-blox 7 |
|
- | 558 | // HW:00080000: u-blox M8 |
|
- | 559 | // MKGPS V1 -> 1500 -> LEA-4H-0-000 -> ubxsw == 5.00 HW:00040001 |
|
- | 560 | // MKGPS V2 -> 2602 -> LEA-6S-0-000 -> ubxsw == 6.02 HW:00040007 |
|
- | 561 | // MKGPS V2 -> 2703 -> LEA-6S-0-001 -> ubxsw == 7.03 HW:00040007 |
|
- | 562 | // MKGPS V3 -> 3201 -> NEO-M8Q-0-00 -> ubxsw == 2.00 HW:00080000 (Flash-oder ROM Variante) |
|
528 | retval = UbxMsg.Data[0]-'0'; // major sw version |
563 | UbxMsg.Data[4] = 0; //Only the first 4 characters |
- | 564 | sprintf(msg, " V%d SW:%s", retval, (u8*)&UbxMsg.Data[0]); |
|
- | 565 | UART1_PutString(msg); |
|
529 | } |
566 | } |
530 | UbxMsg.Status = INVALID; |
567 | UbxMsg.Status = INVALID; |
531 | return(retval); |
568 | return(retval); |
532 | } |
569 | } |
- | 570 | ||
- | 571 | ||
- | 572 | ||
- | 573 | ||
- | 574 | ||
- | 575 | ||
- | 576 | ||
- | 577 | ||
- | 578 | ||
- | 579 | ||
- | 580 | ||
- | 581 | ||
- | 582 | ||
- | 583 | ||
- | 584 | ||
- | 585 | ||
- | 586 | ||
- | 587 |