Bar30 in ArduRover

My first post here. I hope I’m posting in the right place.

I have a Bar30. I want to use it on a boat that uses a Matek H743 board running ArduRover. The boat is running and happy with the Rover installation.

@EliotBR and @williangalvani have been very helpful in pointing me to the relevant section in AP_Baro.ccp. There are two flags, APM_BUILD_TYPE(APM_BUILD_ArduSub) and AP_BARO_MS56XX_ENABLED, that guard the inclusion of the AP_Baro_MS56XX backend.

I have two questions:

  • Where do I set these flags for my build
  • What is going to break in Rover if I set APM_BUILD_ArduSub

There has been interest in Bar30 sensors for Rover for some time, but no support for it and no comments from AP maintainers. Here’s an example from the AP forum:

Hi @iter, welcome to the forum :slight_smile:

Apologies for the slow response on this.

From some digging around, the APM_BUILD_TYPE macro is based off of the APM_BUILD_DIRECTORY compilation flag, which I assume is set automatically by waf when building.

I haven’t had to play with the build process (the general ArduPilot forum and discord are likely better places for discussing that), but it seems waf builds using wscript files. In the configuration side of things there seems to be a provision for an extra hwdef.dat file, which may be relevant for enabling the sensor build, although I believe that should be handled by the hardware definition for the flight controller you’re using this Pixhawk line may be relevant.

The build type is a single exclusive selection, so if your build is an ArduSub one then any features requiring APM_BUILD_Rover would be disabled.