Subversion Repositories NaviCtrl

Rev

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