Talking to the Magnavox: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
Brian Wilson (talk | contribs)
mNo edit summary
Line 4: Line 4:


I installed a copy of gpsd, a dandy program no doubt, but the Magnavox is sending strings it does not understand. Alas, I will have to READ THE MANUAL.
I installed a copy of gpsd, a dandy program no doubt, but the Magnavox is sending strings it does not understand. Alas, I will have to READ THE MANUAL.
Each of the strings is prefixed with $PMVXG,'''code''', where '''code''' is a 3-digit integer padded leading zeroes. There are about 50 codes defined. Here is a sample of the output.


  $PMVXG,015,0000000,0000,1,,*61                                                   
  $PMVXG,015,0000000,0000,1,,*61                                                   
Line 31: Line 33:
  $PMVXG,052,  3.4512,*50                                                         
  $PMVXG,052,  3.4512,*50                                                         
  $PMVXG,533,14,11,2005,,,*4F
  $PMVXG,533,14,11,2005,,,*4F
Fields are comma-separated, and the last part (eg *4f) is a checksum field.
You don't have to send checksum, it's optional, just leave it off when sending commands.
000 Receiver status: It's in Navigation mode, 11 satellites should be visible, it's tracking 9, time since last navigation: 0, and its wating for initialization.
022 Nav constellation
023 Position, height, COG and SOG
036 Self survey results
052 Oscillator offset (?) (something I have been longing to know...)
100 GPS Channel status
533 GPS date
I think the 000 message means that I need to send it an initialization command to make it happy. The 000 command sets its known position, and the 001 command sets some constants and limits. Since I am in navigation mode, I don't need to give it position.
To get GGA/GLL strings though, I think I need to issue a control port output command: $PMVXG,007,,1,,1,4,1,


==A few resources==
==A few resources==

Revision as of 17:39, 14 November 2005

NMEA from the Magnavox

NMEA strings are pouring in at 9600 bps on the serial port; I can see them in a minicom window. It looks like a NMEA message comes in once per second.

I installed a copy of gpsd, a dandy program no doubt, but the Magnavox is sending strings it does not understand. Alas, I will have to READ THE MANUAL.

Each of the strings is prefixed with $PMVXG,code, where code is a 3-digit integer padded leading zeroes. There are about 50 codes defined. Here is a sample of the output.

$PMVXG,015,0000000,0000,1,,*61                                                  
$PMVXG,052,  3.4515,*57                                                         
$PMVXG,100,05,10,052,38,47,,,,D5,  + ,-000.871,,,*05                            
$PMVXG,100,06,29,103,19,45,,,,71,  + ,0003.445,,,*6A                            
$PMVXG,100,07,30,190,25,45,,,,92,  + ,0000.011,,,*6D                            
$PMVXG,100,08,00,,,,,,,*6D                                                      
$PMVXG,000,NAV,11,9,0000,0*34                                                   
$PMVXG,036,032708,5539.86934,N,10942.90202,W,????????,000000,343634,0*7E        
$PMVXG,023,032709,4432.72623,N,12315.75804,W,00055.40,333.0,000.0,03,032708,03,C
$PMVXG,022,098828.00,00.5,00.7,01.5,15,00,21,06,10,29,30,00,26,00,16,18*7F      
$PMVXG,052,  3.4514,*56                                                         
$PMVXG,100,09,26,118,13,42,,,,77,  + ,0003.917,,,*61                            
$PMVXG,100,10,02,072,00,00,,,,82,SRCH,,,,*7F                                    
$PMVXG,100,11,16,315,21,44,,,,03,  + ,0000.257,,,*6C                            
$PMVXG,100,12,18,197,23,46,,,,A3,  + ,0002.088,,,*1A                            
$PMVXG,000,NAV,11,9,0000,0*34                                                   
$PMVXG,023,032710,4432.72623,N,12315.75805,W,00055.40,002.5,000.0,03,032709,03,0
$PMVXG,052,  3.4513,*51                                                         
$PMVXG,000,NAV,11,9,0000,0*34                                                   
$PMVXG,023,032711,4432.72623,N,12315.75805,W,00055.39,202.4,000.0,03,032710,03,4
$PMVXG,052,  3.4512,*50                                                         
$PMVXG,533,14,11,2005,,,*4F

Fields are comma-separated, and the last part (eg *4f) is a checksum field. You don't have to send checksum, it's optional, just leave it off when sending commands.

000 Receiver status: It's in Navigation mode, 11 satellites should be visible, it's tracking 9, time since last navigation: 0, and its wating for initialization.
022 Nav constellation
023 Position, height, COG and SOG
036 Self survey results
052 Oscillator offset (?) (something I have been longing to know...)
100 GPS Channel status
533 GPS date

I think the 000 message means that I need to send it an initialization command to make it happy. The 000 command sets its known position, and the 001 command sets some constants and limits. Since I am in navigation mode, I don't need to give it position.

To get GGA/GLL strings though, I think I need to issue a control port output command: $PMVXG,007,,1,,1,4,1,

A few resources

gpsd a daemon that reads nmea data
Python GPS project
Python serial library