Reading mavlink mesage GPS_RAW_INT with python

``Hello all,
I have been going through the documentation on the mavlink web site. I copied and pasted the code below. when I run it the except case it always used. If I comment this out I get key error ‘GPS_RAW_INT’.

Has anyone else had this problem before its on there web site maybe something is outdated.

https://mavlink.io/en/mavgen_python/#receiving-messages `
try:
altitude=the_connection.messages[‘GPS_RAW_INT’].alt # Note, you can access message fields as attributes!
timestamp=the_connection.time_since(‘GPS_RAW_INT’)
except:
print(‘No GPS_RAW_INT message received’)

I’ve just tried it in SITL and it works if you put a time delay in:

from pymavlink import mavutil
import time

# Start a connection listening to a UDP port
the_connection = mavutil.mavlink_connection('udpin:localhost:14550')

# Wait for the first heartbeat 
#   This sets the system and component ID of remote system for the link
the_connection.wait_heartbeat()
print("Heartbeat from system (system %u component %u)" % (the_connection.target_system, the_connection.target_system))

# Wait for the vehicle to send GPS_RAW_INT message
time.sleep(1)

try: 
    altitude=the_connection.messages['GPS_RAW_INT'].alt  # Note, you can access message fields as attributes!
    timestamp=the_connection.time_since('GPS_RAW_INT')
    print("Altitude is " + str(altitude))
    print("Time is " + str(timestamp))
except:
    print('No GPS_RAW_INT message received')

Thank you very much for the doing this. I will give this a try. I am running arduplane sitl sim_vehicle too.

Hello again,
So I just copied and pasted your code into a new python script. I have it connect to the arduplane SITL on 14550 as you have done and I get the no GPS message found.

I also tried it with arducopter.
In addition I tried the code with a real pixhawk

bummer, I will keep looking into this

Hi Brian, did you by any chance solve this problem?
I’m getting the exactly same issue and there is almost no info about that avaliable?
Cheers
Fil

No I didn’t but I found a work around.

Using this web link I wrote a code to look for the VFR_HUD message instead which contains the altitude attribute. Not sure if this helps you.
https://www.ardusub.com/developers/pymavlink.html

https://mavlink.io/en/messages/common.html#VFR_HUD

Thank you, will take a look!