31854 Commits

Author SHA1 Message Date
PX4 BuildBot
640c245c44 Update submodule devices to latest Wed Mar 18 12:38:39 UTC 2020
- devices in PX4/Firmware (5ba8a9f62ff93843185979b3881eb7125ffc42cc): 781d4f1255
    - devices current upstream: c25a8f22c4
    - Changes: 781d4f1255...c25a8f22c4

    c25a8f2 2020-03-16 Nicolas Martin - ubx: fix baud rate search
2020-03-18 12:05:16 -04:00
Daniel Agar
0da7040cf5 beaglebone blue add empty px4_spi_buses 2020-03-18 11:55:11 -04:00
Daniel Agar
df5fe85cf6 github actions add linux builds 2020-03-18 11:55:11 -04:00
Julian Oes
3233e0794d navigator: fix edge case with valid idle setpoint
This is an attempt to fix an edge case in the triplet publication which
can lead to crashes on autopilots with slow SD cards.

The sequence of events before this patch is:
1. Switch to POSCTL when disarmed. At this point current valid with
   setpoint idle is published.
2. Arm, takeoff, and fly using joystick/RC.
3. Switch to RTL (or trigger RTL using RC loss). At this point the
   setpoint is valid but still idle and the motors will shut off.
4. Once navigator has published the new setpoint (which can take up to
   1.5 seconds on slow SD cards) we will hopefully recover.

With this patch we omit this edge case, so we never publish this idle
setpoint when landed. The assumption is that this idle setpoint is no
longer required with the current flight task code, however, that needs
to be further verified.
2020-03-18 10:50:03 -04:00
CarlOlsson
58ded8d4c0 ekf2: remove unused function declatation 2020-03-18 14:33:11 +01:00
Beat Küng
d6bb5b3b9e i2c spi buses: enforce drivers to set default SPI/I2C bus frequency
Not a lot of drivers use the global default, which is somewhat arbitrary.
2020-03-17 23:31:17 -04:00
Beat Küng
8ebde51648 refactor hmc5883: use driver base class
Removes the calibration on startup, as these values were overwritten by
the system calibration values anyway.
So the only difference is that if all calibration scales were equal to 1,
the driver startup would have failed.
2020-03-17 23:31:17 -04:00
Beat Küng
8f3ba81c4a refactor atxxxx: use driver base class
and increase update rate to 20Hz
2020-03-17 23:31:17 -04:00
Beat Küng
20db735d77 refactor ak09916: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
47b329cc54 refactor bmm150: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
e4bf535595 refactor bst telemetry: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
fb6ce09dc4 refactor pcf8583: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
bb4ff04caf refactor irlock: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
1710cd9648 refactor px4flow: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
b6119c71df refactor paw3902: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
82f92b56db batt_smbus: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
ec2de33547 lights: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
692d262e0e refactor voxlpm: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
832ccd262e refactor ina226: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
d6b9cfa3e2 pga460: fix documentation 2020-03-17 23:31:17 -04:00
Beat Küng
68ef14002a differential_pressure drivers: allow multiple instances of each driver
- the device path needs to be removed, as startup fails if it already
  exists
- sdp3x broadcasts a reset on startup, so do it only for the first I2C
  address
2020-03-17 23:31:17 -04:00
Beat Küng
3b7b2dc871 differential_pressure sensors: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
0924ff7fcf refactor vl53lxx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
83b367f000 refactor teraranger: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
5a26f06f8a fix sf0x: check if device port is given
otherwise we risk dereferencing a null pointer
2020-03-17 23:31:17 -04:00
Beat Küng
bbe15aa61a refactor srf02: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
a6ddf0e4b9 refactor sf1xx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
f743585160 refactor mb12xx: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
7e3f40d1c2 refactor mappydot: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
1b1e1ba31f refactor ll40ls: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
df99555132 refactor ll40ls: split I2C and PWM into separate drivers
- there was almost nothing shared
- it will fit better into the updated I2C driver structure
2020-03-17 23:31:17 -04:00
Beat Küng
081ab729aa refactor lps25h: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
dc5ffb43a3 refactor mpl3115a2: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
d81fedfcfa refactor lps22hb: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
83a3deb9da refactor dps310: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
985bb2adc9 refactor bmp388: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
aeadf54a74 refactor bmp280: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
dbb53044ce refactor ms5611: use driver base class
Also: remove device type auto-detection as it will not work with
together with the new SPI board config (which specifies a specific
device type)
2020-03-17 23:31:17 -04:00
Beat Küng
22a38453ab refactor bmi055: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
969a77f889 refactor mpu6000: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
be0a205438 refactor ist8310: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
3e71914fae refactor lsm9ds1+lsm9ds1_mag: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
58f386a81c refactor pmw3910: use driver base class 2020-03-17 23:31:17 -04:00
Beat Küng
2f4080f47b i2cdetect: remove use of PX4_I2C_BUS_EXPANSION 2020-03-17 23:31:17 -04:00
Beat Küng
971897b9ed mtd: switch to c++ and use px4_find_spi_bus 2020-03-17 23:31:17 -04:00
Beat Küng
f555fe309c fmu-v5: change external i2c bus ordering to match with the label 2020-03-17 23:31:17 -04:00
Beat Küng
83b6f6456b refactor I2CSPIInstance: store running instances in a global linked list
instead of a static per-driver array.

Reduces BSS RAM usage by a couple of 100 Bytes (linear increase with num
drivers).

Downsides:
- a bit more runtime overhead
- less isolation, locking required
- a bit more complex
2020-03-17 23:31:17 -04:00
Beat Küng
e7f04109d9 i2c spi init + custom methods: use WorkItemSingleShot
Use it for custom methods as well (like reset), and run by default on the
work queue, since they typically access the bus.
2020-03-17 23:31:17 -04:00
Beat Küng
8c41025565 px4_work_queue: add WorkItemSingleShot
To run a specific method on a work queue and wait for it to return.
2020-03-17 23:31:17 -04:00
Beat Küng
87cd20180c i2c spi: add unittests for BusCLIArguments 2020-03-17 23:31:17 -04:00