I am writing a program that retrieves simulation parameters programmatically. I am currently retrieving them through pymavlink. I am aware that pymavlink keeps a dictionary of parameters retrieved from PARAM_VALUE messages. These messages however, seem to come in at a rather slow rate (I wait for about 10 seconds before checking the dictionary, only to find about 50 of the messages still missing). On the other hand, MAVProxy seems to retrieve all 899 of them in the first second of its runtime. It’s possible that the MAVLink buffer is near full, since I have a simulated plane running at the same time that I am retrieving the parameters.
I’m not sure how MAVProxy does this, but I have a few theories:
- MAVProxy’s MAVLink buffer is relatively clear on startup, thus the fetch / acknowledgement transactions are executed as quickly as possible
- The parameters are pre-loaded from some place that I can’t see or the EEPROM.
TLDR: What is the fastest way to fetch all 899 or at least some parameters programmatically?