``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')
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