Skip to content

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

Merged
rafaellehmkuhl merged 2 commits into
bluerobotics:masterfrom
rafaellehmkuhl:put-variables-from-other-systems-on-datalake
Nov 12, 2025
Merged

ardupilot: Add variables from non-main sources to the Data Lake#1815
rafaellehmkuhl merged 2 commits into
bluerobotics:masterfrom
rafaellehmkuhl:put-variables-from-other-systems-on-datalake

Conversation

@rafaellehmkuhl

Copy link
Copy Markdown
Member

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 rafaellehmkuhl force-pushed the put-variables-from-other-systems-on-datalake branch 2 times, most recently from 491006b to b81e142 Compare April 10, 2025 16:57
@fseegraeber

Copy link
Copy Markdown

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!

@rafaellehmkuhl

rafaellehmkuhl commented Apr 22, 2025

Copy link
Copy Markdown
Member Author

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 rafaellehmkuhl force-pushed the put-variables-from-other-systems-on-datalake branch 3 times, most recently from dc02b8d to 0abc137 Compare April 23, 2025 17:30
@ES-Alexander ES-Alexander added the docs-needed Change needs to be documented label Apr 25, 2025
@rafaellehmkuhl rafaellehmkuhl force-pushed the put-variables-from-other-systems-on-datalake branch from 0abc137 to 74a66b3 Compare April 25, 2025 16:46
@ES-Alexander

ES-Alexander commented Apr 29, 2025

Copy link
Copy Markdown
Contributor

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.

@rafaellehmkuhl

Copy link
Copy Markdown
Member Author

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 rafaellehmkuhl force-pushed the put-variables-from-other-systems-on-datalake branch from 74a66b3 to 7cd47c4 Compare October 30, 2025 19:26
@rafaellehmkuhl

Copy link
Copy Markdown
Member Author

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

@rafaellehmkuhl rafaellehmkuhl force-pushed the put-variables-from-other-systems-on-datalake branch 4 times, most recently from 547a39e to cbd71a8 Compare November 7, 2025 12:02
@rafaellehmkuhl rafaellehmkuhl force-pushed the put-variables-from-other-systems-on-datalake branch from cbd71a8 to ef41ac2 Compare November 7, 2025 12:06
@rafaellehmkuhl

Copy link
Copy Markdown
Member Author

@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).

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.
@rafaellehmkuhl rafaellehmkuhl force-pushed the put-variables-from-other-systems-on-datalake branch from 5362ac7 to 27cd6cf Compare November 12, 2025 17:24
@rafaellehmkuhl rafaellehmkuhl merged commit 83e2a6c into bluerobotics:master Nov 12, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-needed Change needs to be documented

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mavlink messages from other components/systems can not be used

4 participants