cockpit icon indicating copy to clipboard operation
cockpit copied to clipboard

ardupilot: Add variables from non-main sources to the Data Lake

Open rafaellehmkuhl opened this issue 8 months ago • 4 comments

Today, we completely ignore data comming from sources with systemIDs different from the main one and component IDs different than 1.

This PR reads the messages from those systems and create Data Lake variables for them, so the user can use it on VGIs, Plotters and other components.

To be merged after #1814. Fix #1809.

rafaellehmkuhl avatar Apr 10 '25 15:04 rafaellehmkuhl

Hey, thanks for implementing this. Can confirm that this allows the usage of mavlink messages with a component ID of e.g. 158 (MAV_COMP_ID_PERIPHERAL) for VGIs: Screenshot from 2025-04-17 15-58-35 LGTM!

fseegraeber avatar Apr 22 '25 06:04 fseegraeber

Hey, thanks for implementing this. Can confirm that this allows the usage of mavlink messages with a component ID of e.g. 158 (MAV_COMP_ID_PERIPHERAL) for VGIs: LGTM!

Nice to hear that! I will just make sure about the path format, and we can push it.

I'm thinking about doing something like mavlink/ardupilot/system=1/component=158/cmpt_volt, so we only reserve the / character and make it easier to filter for different paths in the future.

@Williangalvani what do you think?

PS: pushed this way in the updated commit.

rafaellehmkuhl avatar Apr 22 '25 14:04 rafaellehmkuhl

Cool! This is also a good start for being able to display non-selected vehicles on the map :-)

I'm thinking about doing something like mavlink/ardupilot/system=1/component=158/cmpt_volt, so we only reserve the / character and make it easier to filter for different paths in the future.

  • Is there some way to know whether a MAVLink message comes from an ArduPilot system/component? That seems potentially unnecessary
  • Component IDs have default names, which could be worth including
  • When we're adding so much length to the paths, #539 becomes extra relevant

ES-Alexander avatar Apr 29 '25 08:04 ES-Alexander

Cool! This is also a good start for being able to display non-selected vehicles on the map :-)

Nice! Exactly the idea!

I'm thinking about doing something like mavlink/ardupilot/system=1/component=158/cmpt_volt, so we only reserve the / character and make it easier to filter for different paths in the future.

  • Is there some way to know whether a MAVLink message comes from an ArduPilot system/component? That seems potentially unnecessary

You mean removing the /ardupilot right? Makes sense. Will do.

I think it would be better if we just leave it non abstracted here and abstract on a higher level.

Definitely. Let me give a try on that. If I don't see much problems, I will open a PR with the implementation in parallel.

rafaellehmkuhl avatar Apr 29 '25 11:04 rafaellehmkuhl

@ES-Alexander if you want to test it, I have rebased it over master and fixed the conflicts.

rafaellehmkuhl avatar Nov 03 '25 23:11 rafaellehmkuhl

@ES-Alexander I've modified the PR to not inject those variables by default, but instead allow the user to enable it in the MAVLink config menu (under pirate mode).

rafaellehmkuhl avatar Nov 07 '25 12:11 rafaellehmkuhl