Commit Graph
100 Commits
Author SHA1 Message Date
Julian Oes 20137bea40 boards: add console build for Cube Orange(+)
This adds a build variant which enables the serial console, and
therefore disables the ADSB receiver.
2024-07-10 21:14:08 -04:00
Julian Oes a35cecece4 gnss: add missing include
Breaks CLion otherwise.
2024-07-08 20:38:40 -04:00
Julian OesandBeat Küng 8258cd63ba ist8310: do reset before WHOAMI call (#23161)
* ist8310: do reset before WHOAMI call

Apparently, the IST8310's WHOAMI register is writeable. Presumably, this
can get corrupted by bus noise. It is only reset if powered off for 30s.

Therefore, we do a reset before doing the WHOAMI.

* ist8310: improve comment

Co-authored-by: Beat Küng <beat-kueng@gmx.net>

---------

Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2024-06-14 17:22:39 -08:00
Julian Oes 0932f50d79 mavlink: enable gimbal controls in QGC over USB 2024-06-10 21:56:37 +12:00
Julian Oes 3710a9ef6e gimbal: fix auto RC and MAVLink mode
This fixes various edge cases when input is set to both: RC and
MAVLink gimbal protocol v2.

Specifically:
- We no longer immediately reset primary control if there is no update,
  otherwise this will reset immediately after an commands.
- Talking of commands: GIMBAL_MANAGER_CONFIGURE no longer switches
  control to MAVLink but only an actual incoming setpoint command does.
- And incoming setpoint command only triggers UpdatedActiveOnce which
  means we will check RC again afterwards and if there is big movement
  switch back to RC. That's the intuitive thing to do until we have
  better reporting about who/what is in control.
- Also, with RC we no longer always set us to be in control but only on
  major movement.
2024-06-10 21:56:37 +12:00
Julian Oes f6b65e68cc boards: update all bootloaders 2024-06-07 13:16:17 +12:00
Julian Oes 7137780654 Makefile: add missing bootloader targets
Quite a few were missing, and everything on one line was hard to diff.
2024-06-07 13:16:17 +12:00
Julian Oes a9962dc44d boards: update all bootloaders 2024-05-22 18:18:55 +12:00
Julian Oes 5bace785e0 px_uploader: catch serial exception correctly
Signed-off-by: Julian Oes <julian@oes.ch>
2024-05-22 18:18:55 +12:00
Julian Oes e4fd80b6ef bootloader: remove unused/duplicate defines 2024-05-22 18:18:55 +12:00
Julian Oes 6ebb2b33df bootloader: track ArduPilot protocol
Just so we don't conflict on these commands in the future.
2024-05-22 18:18:55 +12:00
Julian Oes 8fe8f2fcb3 px_uploader.py: clean up various tidbits
Includes:
- Remove some of the outdated Python2 checks and compatibility.
- Try not catch all exceptions but only the expected ones. Otherwise,
  this makes it really hard to debug if anything unexpected actually
  goes wrong.
- Make use of fstrings.
- Make output slightly prettier.

Signed-off-by: Julian Oes <julian@oes.ch>
2024-05-22 18:18:55 +12:00
Julian Oes 7c4507b6d6 bootloader: add bootloader version
This adds a new protocol extension which allows to get the bootloader
version.

The bootloader version is different from the bootloader protocol
revision which has stabilized at 5 and is not easy to update unless a
bootloader is actually breaking the protocol. The reason being that both
the Python script as well as the uploader used in QGC will not attempt
to load firmware if they don't know the bootloader version, so it could
basically be considered a "breaking" protocol revision.

Signed-off-by: Julian Oes <julian@oes.ch>
2024-05-22 18:18:55 +12:00
Julian Oes 21e550fdba tools/bootloader: add force-erase option
If the STM32H7 fails to program or erase a full chunk of 256 bytes, the
ECC check will trigger a busfault when trying to read from it.

To speed up erasing and optimize wear, we read before erasing to check
if it actually needs erasing. That's when a busfault happens and the
erase time outs.

The workaround is to add an option to do a full erase without check.

Credit goes to:
https://github.com/ArduPilot/ardupilot/pull/22090

And the protocol option added to the bootloader is the same as for
ArduPilot, so compatible.

Signed-off-by: Julian Oes <julian@oes.ch>
2024-05-22 18:18:55 +12:00
Julian Oes b1b9c8fd99 gps: add note to param
This notes the reference yaw angle for the Septentrio Mosaic-H.

It's unfortunately a bit tricky in that Unicore has the main antenna
in front by default while Septentrio decided to put the aux antenna in
front.

Signed-off-by: Julian Oes <julian@oes.ch>
2024-05-07 21:15:44 -04:00
Julian Oes f04d17d160 Tools: skip submodule check in CLion
Same as what's required for VSCode.

Signed-off-by: Julian Oes <julian@oes.ch>
2024-05-05 11:33:24 +12:00
Julian Oes e79993a316 gps: split enum after rebase
Signed-off-by: Julian Oes <julian@oes.ch>
2024-05-01 14:42:58 -04:00
Julian Oes 0283dc2459 gps: fix Septentrino serial read (#22936)
For Septententrino we seem to sometimes fill the buffer pretty full.

If we ask for too much, readAtLeast will fail completely and make the
GPS discovery logic fall over. Therefore, let's not ask for too much and
just read what we can given the available buffer.

Signed-off-by: Julian Oes <julian@oes.ch>
2024-04-01 20:46:53 -04:00
Julian Oes 868a884131 fw_att_control: bitwise and should be logical and (#22933)
Signed-off-by: Julian Oes <julian@oes.ch>
2024-03-27 16:29:56 +13:00
Julian Oes 2cfdea2edb fmu-6x: fix Telem2 without flow control
When flow control is used together with DMA, we need to add a pulldown
to CTS. Without it, it assumes flow control and gets stuck when
CTS is not connected.

Signed-off-by: Julian Oes <julian@oes.ch>
2024-02-02 06:52:17 +13:00
Julian Oes 88b3316409 sensors/vehicle_imu: fix gyro clipping publication
The IMU topic is not zeroed, and the clipping information was not
copied, so this field ended up being garbage.

Signed-off-by: Julian Oes <julian@oes.ch>
2024-01-09 10:20:40 -05:00
Julian Oes ef20708a98 kakuteh7/7mini/h7v2: Add ICM42686p as alternative
This adds the ICM42686p as a possible alternative to the existing IMUs.

Apparently, the ICM20689 was never actually used in these boards.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-27 21:31:46 -05:00
Julian Oes 19964d56ed fmu-6x: Use i2c_launcher by default
This switches all SENS_EN_INAXXX params to 0 by default and instead uses
the i2c_launcher command.

However, if any one the SENS_EN_INAXXX param is set, it no longer tries
to auto-configure it.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-22 22:19:52 -05:00
Julian Oes fbc95ff4bd Add I2C driver launcher
This is just a first draft of the launcher part.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-22 22:19:52 -05:00
Julian Oes 895ddee16a i2c_spi_buses: method to count instances per bus
Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-22 22:19:52 -05:00
Julian Oes 976cd67f71 logger: increase default GPS rate
Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-22 21:30:31 -05:00
Julian Oes a501262a6b icm45686: fix dt (and usage command)
With the wrong dt, the flight behaviour was really poor and noisy, so
this fix is absolutely required.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-21 07:44:00 +13:00
Julian Oes 84577ce2c2 battery: skip charge estimation if N cells is 0
This triggers the undefined behaviour fuzzer, so let's try to fix it.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-13 09:55:39 +01:00
Julian Oes 10a2e7e44f SITL: fix parse error on start
This fixes the error:
etc/init.d-posix/rcS: 39: [: Illegal number:

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-11 11:26:20 +13:00
Julian Oes 19b681ca1f Remove SYS_USE_IO param
The param is not really required anymore with the actuator
configuration. Also, when it is set to 0, RC doesn't work for some
boards which would be nice to avoid.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-11-10 12:17:23 +13:00
Julian Oes f120ebcdc0 mavlink: properly set mission_type
This was defaulted to 0 before which messed with transmitting geofence
and rally items.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-19 21:20:14 -05:00
Julian Oes fefdad83bf mavlink: fix MAVLink message forwarding
This switches from the horribly intertwined ringbuffer implementation to
the new VariableLengthRingbuffer implementation.

By ditching the previous implementation, we fix MAVLink message
forwarding, which didn't work reliably. The reason it didn't work is
that multiple mavlink messages could be added but only one of them was
sent out because the buffer didn't keep track of the messages properly
and only read the first one.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-18 12:26:47 -04:00
Julian Oes da34e5e2c8 lib: add variable length ringbuffer
This adds a reusable class for a FIFO ringbuffer that accepts variable
length packets. It is using the Ringbuffer class internally.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-18 12:26:47 -04:00
Julian Oes 7d0a8aa638 lib: add FIFO ringbuffer class
This adds a reusable class for a simple FIFO ringbuffer.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-18 12:26:47 -04:00
Julian Oes aa87b2ef4d cubepilot: fix 4. Orange+ variant
There was a missing then, and missing SPI definitions.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-10-06 08:02:03 +13:00
Julian Oes f2bb548b27 6x: fix internal mag rotation
From looking at the history the BMM150 rotation was initially 0. Then,
this was changed to 6 when the intent was to only change it for Skynode.

A bit later, the rotation was changed back to 0, but only for Skynode.

This tells me that rotation 0 was correct for all 6X including Skynode
all along.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-11 15:03:33 +12:00
Julian Oes 35c1d5d9b1 asp5033: fix K value
As QioTek told me via email.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-06 10:25:48 -04:00
Julian Oes 70b48dd41c cubepilot: Add support for 4. variant of Orange+
This adds support for the 4. hardware variant of the CubeOrange+
featuring 3 ICM45686.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-05 11:07:09 -04:00
Julian Oes fb30b4d288 control_allocator: Clarify position description
I'm assuming that the rotor positions are given relative to the center
of gravity (CG).

Signed-off-by: Julian Oes <julian@oes.ch>
2023-09-04 08:02:15 +02:00
Julian Oes 329a2d0e98 gps: request Unicore HEADINGA message
This updates the gps/devices submodule which includes a fix that
requests the Unicore HEADINGA message in case the message is not enabled
by default.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-30 11:31:22 +12:00
Julian OesandMatthias Grob cde47e8fc0 mavlink: improve readability
Co-authored-by: Matthias Grob <maetugr@gmail.com>
2023-08-29 13:23:55 +02:00
Julian Oes 448454a317 mavlink: Support voltages > 65v in battery status
If the measured voltage is more than 65v we need to split the voltage
over multiple cells in order to avoid overflowing the uint16. This is
according to the MAVLink spec.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-29 13:23:55 +02:00
Julian Oes 74b4902e50 mavlink: fix BATTERY_STATUS extension
The extension fields need to be 0 by default according to the MAVLink
spec. This is because extensions are 0 by default and need to be 0 when
unknown/unused for backwards compatibility.

The patch also simplifies the flow slightly in that it doesn't create a
temporary array but just fills in the cell voltages directly.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-29 13:23:55 +02:00
Julian Oes ecbc5b83a0 kakute: disable some EKF2 features
To save flash.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-28 13:20:00 +02:00
Julian Oes 9d97c7c5cb kakuteh7: use EKF2 by default
Signed-off-by: Julian Oes <julian@oes.ch>
2023-08-28 13:20:00 +02:00
Julian Oes 42bdfe0fb2 boards: px4/fmu-v5 move some test commands to test config
I would expect anyone using these test commands can just use the test config instead.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-07-27 10:36:03 -04:00
Julian Oes 745fa3720e fmu-v6x: build battery status
This is required to process data from the ADS1115 ADC and enables the
params BATx_I_CHANNEL and BATx_V_CHANNEL.

Testing is required whether this actually works on Pixhawk 6X though.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-07-07 13:40:58 +12:00
Julian Oes a6502c9f2b ROMFS: auto try RGBLED is31fl3195
This is required to auto-start the is31fl3195 driver if connected.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-07-05 20:49:39 +12:00
Julian Oes cd485b3a13 lights: Add LP5562 RGBLED driver
This adds support for the TI LP5562 RGB LED driver.

Things to note:
- The driver is initialized in simple PWM mode using its internal clock,
  for R,G,B, but not for W(hite).
- The chip doesn't have a WHO_AM_I or DEVICE_ID register to check.
  Instead we read the W_CURRENT register that we're generally not using
  and therefore doesn't get changed.
- The current is left at the default 17.5 mA but could be changed using
  the command line argument.

Datasheet:
https://www.ti.com/lit/ds/symlink/lp5562.pdf

Signed-off-by: Julian Oes <julian@oes.ch>
2023-06-06 13:12:44 +12:00
Julian Oes ea8b985a2f netman: fix line too long
Signed-off-by: Julian Oes <julian@oes.ch>
2023-06-05 12:01:07 +12:00
Julian Oes 6977fd9956 ROMFS: initial quadtailsitter tuning
This is now using the advanced lift drag plugin.

The important step was to enable airmode for yaw, otherwise yaw gets
saturated at low throttle and we can barely roll.

The other trick was to raise airspeed a little bit to avoid operating
too much at the lower end of throttle where control authority is low.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-29 12:25:20 +02:00
Julian Oes 636c3c069f gimbal: make device ID a clear out argument
The API is cleaner if the control_data is const reference and the device
compid is an explicit output argument.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-08 07:06:37 +02:00
Julian Oes ddfc2986dc mavlink: flow control param needs reboot
Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-07 21:48:27 -04:00
Julian Oes 40324b03f4 fmu-v6x: pulldown on RTS not required
On CTS with DMA, we need the pulldown but not on RTS.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-05 02:49:25 -04:00
Julian Oes 3cc940cb06 fmu-v6c: fix Telem1, Telem2 without flow control
When flow control is used together with DMA, we need to add a pulldown
to CTS. Without it, it assumes flow control and gets stuck when
CTS is not connected.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-05 08:02:58 +12:00
Julian Oes 1d4b66fcbc gps: use all injection data
When we fall back to another link, we are already doing a uORB copy when
checking the data. Therefore, we should further down use/send that data
instead of overwriting it immediately.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
Julian Oes 2fd3de8f45 gps: retry switching RTCM injection more often
I don't think it makes sense to slow down switching RTCM injection to
once every 5 seconds. If we don't have corrections, we should check and
use whatever we get as soon as possible.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
Julian Oes 6108b31e6a gps: reset RTCM instance
We need to reset the instance after looping through all instances.
Otherwise, we are left with the last instance if none is valid but have
not updated the _selected_rtcm_instance which is what is logged.

Therefore, this change fixes the logged RTCM instance.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-03 07:47:51 +02:00
Julian Oes 3f13a6e787 gimbal: implement gimbal_device_id
It turns out that I had omitted implementing the gimbal_device_id which
is the component ID of the gimbal device that the gimbal manager (in
this case PX4) is responsible for.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-05-01 09:02:25 -04:00
Julian Oes 0afd93a9e9 gimbal: add control setter and status
This adds the ability to manually set who has primary control over a
gimbal and also adds printing it as part of the status.

This is helpful, especially while working on the QGC gimbal v2
implementation.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-26 08:20:34 +02:00
Julian Oes 09d86085bd kakute f7/h7/h7mini/h7v2: enable airspeed
Without this airspeed sensors are not working which is not intuitive.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-18 07:45:52 +02:00
Julian Oes 0cfe135028 cubeorangeplus: enable bl_update
This way the bootloader can be updated.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-10 15:19:25 +12:00
Julian Oes 728367a1dc cubeorange: enable bl_update
This way the bootloader can be updated.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-10 15:19:25 +12:00
Julian Oes 19752a7670 fmu-v2/v3: fix HW detection on CubeBlack
This fixes the case where the hardware detection fails on CubeBlack when
a CAN device is connected to CAN1 and talking, and therefore preventing
the check from getting a clear result.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-01 10:34:24 -07:00
Julian Oes 50f8c30f10 fmu-v2/v3: refactor detection function
This consolidates the version/revision detection function.

This should allow for actual changes in a follow up commit.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-04-01 10:34:24 -07:00
Julian Oes 93ba7de0c3 gps: fix protocol param max
This seemed wrong.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-30 07:43:06 +02:00
Julian Oes 09a0089c80 README: add Cube Orange+ (#21361)
This adds the Cube Orange+ to the list, and also changes the Hex naming
to CubePilot as that is how it is sold/marketed now.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-24 05:21:43 +01:00
Julian Oes 89548e4f9e gps: Support for Unicore HEADINGA sentence in NMEA
This adds a parser for Unicore sentences sent in-between NMEA sentences.

This brings support for the Unicore UM982 module which publishes heading
information based on the two antennas.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-15 21:55:15 -04:00
Julian Oes 2605562a69 cubeorangeplus: add I2C4, start AK09918
CubeOrange+ which have the ICM45686, also have the AK09918 connected
on the internal I2C4.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-14 08:34:28 -04:00
Julian Oes 695d48d6c9 AK09916: add support for AK09918
The AK09918 seems to only differ in the WHO_AM_I ID.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-14 08:34:28 -04:00
Julian Oes 7be3279675 cubeorangeplus: add check for SMPS support
If NuttX is built without support for SMPS it can brick the hardware.
Therefore, I suggest that we add this additional compile-time check.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:54:41 -04:00
Julian Oes 36f430e385 cubeorangeplus: save some flash space
We need to make space for drivers.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes bee4fe9470 boards: sensor config for CubeOrange+
Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes 63dc6b5bc9 ICM45686: fix clipping due to rotation
It turns out that when you rotate by 45 degrees, as required on the
CubeOrange+, then you can easily get into clipping because the vector
components are constrained after the rotation. In order to avoid that,
we have to avoid getting close to the int16 range and switch from 20 bit
resolution to 16bit resolution earlier.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes f4b48e685f drivers: add ICM45686
Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-13 22:53:56 -04:00
Julian Oes ea20217c1b kakuteh7v2/mini: EKF2 is already the default 2023-03-08 10:48:31 -05:00
Julian Oes 593b3d250d kakuteh7mini: remove duplicate param defaults
Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-08 10:48:31 -05:00
Julian Oes ed49ed3903 kakuteh7v2/mini: use EKF2 without mag by default
This switches from attitude_estimator_q to EKF2 which should now work
without mag when the params are set to SYS_HAS_MAG = 0 and
EKF2_IMU_CTRL = 7 to enable gravity fusion.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-03-08 10:48:31 -05:00
Julian Oes 9ec6a4b1d7 icm42688p: fix comment about gyro and accel bits
This really confused me.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-20 21:47:11 -05:00
Julian Oes 5803f692b9 boards: update CubePilot+ test defconfig
This is tracking upstream changes and making it build.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:36:22 -05:00
Julian Oes 01a9563955 cubeorangeplus: remove some modules to save flash
Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:36:22 -05:00
Julian Oes 9d8fa38793 cubeorange: remove some modules to save flash
Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:36:22 -05:00
Julian Oes 69cb1da3cc workflows: add CubeOrange+ to CI build
Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:36:22 -05:00
Julian Oes d69d99b191 kakuteh7v2/mini: switch on VTX+
This just always switches the VTX+ power on.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-02-13 22:00:49 -05:00
Julian Oes b1fc0ca0d0 mavlink: always forward messages to/from USB
Previously, it was not possible to enable forwarding of messages to/from
teh USB instance because it does not have a param for it, like the
serial instances have.

With this commit, we change the default to always set forwarding on for
the USB instance as that is likely desired.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-30 10:46:14 -05:00
Julian Oes 0446292c75 mavlink: always use public method
Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-30 10:46:14 -05:00
Julian Oes 7b8cf4913e mavlink: show forwarding status
Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-30 10:46:14 -05:00
Julian Oes 35d6b734f5 perf: avoid leaks in dtor
From what address sanitizer tells me, we need to tell delete what type
it is deleting.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-17 21:20:51 -05:00
Julian Oes 1e93ae3148 jsbsim: take FG_BINARY env var into account
This is just to match the docs.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-13 17:07:20 -05:00
Julian Oes 72d36fc874 sensors: Add param for VL53L0X to startup
It turns out there was no param to enable starting the VL53L0X at
startup.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-11 09:52:27 -05:00
Julian Oes 243caac44a mavlink: filter command_acks by target
When we receive a command_long or command_int message to
answer, it arrives with a source sysid/compid, so this means we can send
the command_ack back on the appropriate MAVLink instances instead of all
of them.

This commit filters outgoing command_ack messages, so they are only sent
on the MAVLink instances where the sysid/compid has been seen in the
past.

This means that a command_ack is likely still sent on multiple links for
a setup with redundant links.

This should also prevent command_acks from being blasted on Iridium links
when it's not required.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-07 10:39:08 -05:00
Julian Oes 7e3dcd7be4 sensors: fix overlapping ifdef
This fixes the case where vehicle_angular_rate is no longer started when
airspeed is not enabled.

Signed-off-by: Julian Oes <julian@oes.ch>
2023-01-05 21:09:14 -05:00
Julian Oes bb591c6c29 mavlink_shell: fix stall on CubeOrange
On CubeOrange where no console is configured by default, starting
MAVLink shell just stalls, and doesn't work.

Also, logfile download has been reported not to work, and again, seems
to work with this change.

Signed-off-by: Julian Oes <julian@oes.ch>
2022-12-23 11:00:20 -05:00
Julian Oes 21f49ff5be drivers: fix two includes for CLion
This fixes two errors where CLion complains:

error: 'size_t' does not name a type
2022-10-31 07:56:59 +01:00
Julian Oes 5c77bbcb4c ms5611: ignore reading 0
This prevents publishing a negative pressure which leads to a NAN
altitude estimate further down the line.
2022-10-04 09:37:53 -04:00
Julian Oes 8080ca966a boards/platform: remove confusing override
This removes the odd px4_i2c_bus_external override which was confusing
me and lead to odd and inconsistent results.

The function is now only available with an int as the argument.
2022-09-23 20:54:08 +12:00
Julian Oes 5aa873aed5 fmu-v6x: alias, add VX43
- alias from hw_mft_list_v0650 to hw_mft_list_v0600 as it is the same
- add V6X50 again
2022-09-20 08:26:16 -04:00
Julian Oes d78de90fc8 fmu-v5x: alias for duplicates, remove commented
- Removed commented out config data.
- hw_mft_list_v0540 was the same as hw_mft_list_v0500
2022-09-20 08:26:16 -04:00
Julian Oes b922307ddb px4_fmu-v6c: Move I2C 4 back to External
This is a revert of the revert.
This reverts commit 1080855f4d.
2022-09-20 10:31:26 +12:00
Julian Oes 94c8a4a840 fmu-v6c: internal baro and mag on external bus
This swaps the internal baro and mag back to the bus which is both
internal an external but configured as external for this case.
2022-09-20 10:31:26 +12:00