Commit Graph

5587 Commits

Author SHA1 Message Date
Jacob Dahl a24488328f Move GPS blending from ekf2 to sensors module
- new sensors work item that subscribes to N x sensor_gps and publishes vehicle_gps_position
 - blending is now configurable with SENS_GPS_MASK and SENS_GPS_TAU

Co-authored-by: Jacob Crabill <jacob@volans-i.com>
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
2020-09-25 23:28:31 -04:00
Daniel Agar 0a607bdc67 boards: CUAV CAN_GPS v1.2 cannode (stm32f412) with UAVCAN bootloader 2020-09-23 14:30:54 -04:00
Daniel Agar abbd335e4e uavcannode: use correct PYTHON_EXECUTABLE and support stm32h7
- sync CMakeLists.txt with drivers/uavcan
2020-09-18 13:03:07 -04:00
Beat Küng 5fdff6a0e4 i2c drivers: add '-k' flag for keep_running directly to BusCLIArguments 2020-09-18 09:45:06 -04:00
Beat Küng 1bf030e8ba lps33hw: refactor and add -k flag to keep running even if no sensor found 2020-09-18 09:45:06 -04:00
David Sidrane 768ed297f2 uavcan_stm32h7:Support is by Family Not Chip/pacakge 2020-09-16 21:32:04 -04:00
David Sidrane f77fc690c7 hott:Fix compiler error array bound is unknown
This fixes error: variable-length array bound is unknown [-Werror=vla-larger-than=]
   with gcc 9.1
2020-09-16 21:32:04 -04:00
David Sidrane 1285c79b6b kinetis uavcan_drivers Updates for NuttX 9.1.0- 2020-09-16 21:32:04 -04:00
Beat Küng 055fa768d8 posix: enable ROMFSROOT
This will copy the ROMFS into the build directory under etc/, and thus
needs a change of the PX4 startup parameters and mixer paths.
2020-09-15 09:30:16 +02:00
SalimTerryLi 28a6e82698 Introduce new generic ADC driver for ADS1115 chip (#14437) 2020-09-14 11:03:40 -04:00
Mirko Denecke ac732cdeba STM32H7 CAN: fix uninitialized pending variable 2020-09-13 18:58:57 -04:00
Beat Küng 2b0396d5df gps: use px4::atomic instead of volatile 2020-09-13 18:31:37 -04:00
Beat Küng e906106ea2 gps: fix memory leak on module exit (delete _helper) 2020-09-13 18:31:37 -04:00
SalimTerryLi c037dbef21 Rename and move src/drivers/adc to src/drivers/adc/board_adc 2020-09-07 23:09:20 -04:00
avionicsanonymous df38e3798c UAVCAN Rangefinder Support (#15097) 2020-09-07 19:22:08 -04:00
SalimTerryLi af84f449c7 isentek/ist8310: support starting with custom i2c address 2020-09-06 09:06:05 -04:00
Daniel Agar 023f6d3983 NuttX cpuload monitoring optimization
- Nuttx only process all suspend & resume scheduling notes when top is running, otherwise only track IDLE
 - convert cpuload and print load to c++
 - delete unused fields from print_load struct
 - update hrt_store_absolute_time (previous unused)
2020-09-05 14:35:50 -04:00
Daniel Agar bf41574b1d isentek/ist8308: set sensor_mag error count and fix bitwise AND 2020-09-03 07:50:43 +02:00
Daniel Agar 24125b3da4 magnetometer/qmc5883l: cleanup/rewrite driver (#14384) 2020-09-02 13:16:27 -04:00
Daniel Agar 7569722821 iSentek IST8310 magnetometer rewrite
- simple state machine to reset, configure, etc
 - checked register mechanism (sensor will reset itself on configuration error)
 - configured in 16 bit mode (1320 LSB/Gauss instead of 330 LSB/Gauss)
 - adjusted orientation handling in driver to match datasheet as closely as possible
     - in many external compass units the rotation was wrong and very difficult to actual determine how to set correctly
2020-09-02 13:14:45 -04:00
Daniel Agar 6ff361479c uORB: introduce SubscriptionMultiArray for working with multi-instances 2020-09-02 12:46:47 -04:00
Matthias Grob d82f325f8d ina226/voxlpm: make sure parameter sub is reset
The subscription to parameter updates has to get
copied otherwise the change detection will not get
reset for next time.
2020-09-01 10:25:03 +02:00
Daniel Agar 28d52aef1f bosch/bmi088: minor cleanup and consistency improvements
- track consecutive failures and trigger reset aggressively
 - only count missed drdy interrupts, not time
 - reset wait times consistent with other drivers
 - accel improve FIFO count check if DRDY isn't available
2020-08-29 11:01:09 -04:00
Daniel Agar a04d79b810 bosch/bmi055: minor cleanup and consistency improvements
- track consecutive failures and trigger reset aggressively
 - only count missed drdy interrupts, not time
 - reset wait times consistent with other drivers
2020-08-29 11:01:09 -04:00
Daniel Agar eb46a42400 bosch/bmi055: fix accel temperature reading
- single register output is in 2's complement
2020-08-28 16:01:08 -04:00
CUAVcaijie 536877cf0a boards: add UAVCAN timer override mechanism and CUAV X7 add CAN (#15348)
* X7Pro adds CAN driver
* UAVCAN timer selection moved to default.cmake
* Modify some details about @CUAVcaijie UAVCAN timer selection moved to default.cmake
* Put some timer parameters to micro_hal.h from board_config.h. Fix all h7 boards

Co-authored-by: honglang <honglang@cuav.net>
2020-08-28 12:16:48 -04:00
bresch 8c0671e93d ll40ls: set default rotation to downwards facing
All the other distance sensors have their default rotation to downwards
facing as well
2020-08-28 12:00:47 -04:00
bresch 644ede5698 distance_sensor: allow setting no rotation (-R 0) 2020-08-28 12:00:47 -04:00
Matthias Grob d4296dbd3f thoneflow: remove unsupported parameter from getopt optsting 2020-08-26 20:25:31 -04:00
Kabir Mohammed c319bbd6f7 drivers/optical_flow: Thoneflow 3901U Driver
* srcparser.py: Add optical flow subcategory for module docs
* thoneflow : Initial support
2020-08-26 13:10:38 -04:00
Daniel Agar 60a7f7f9f2 isentek/ist8308: small style and consistency cleanup 2020-08-25 13:46:04 -04:00
Daniel Agar fb149045e3 drivers/imu/invensense: new ICM42605 IMU driver 2020-08-25 13:07:59 -04:00
Beat Küng b7b23a521a sdp3x: remove reset during init
It is not playing nice with other devices on the same bus.
In particular with the FreeFly RTK GPS: once the reset is sent, the whole
bus is blocked and becomes unusable.
Current understanding is that this device contains another chip on the bus
(apart from the mag+baro+led).

I don't see much use for it either, as we configure everything there is to
configure (just the mode).
2020-08-24 17:55:05 -04:00
Hamish Willee 979243f38f params: make parameter units more consistent (#15502) 2020-08-24 11:33:08 +02:00
Daniel Agar 1bb4c9d05f frsky_telemetry: replace sensor_combined with vehicle_acceleration 2020-08-23 17:38:27 -04:00
Angel 3dd9d2e6db Add copyright info to ina226.h 2020-08-21 13:11:39 -04:00
Daniel Agar 27f23ac290 move initial sensor priority to parameters and purge ORB_PRIORITY
- CAL_ACCx_EN -> CAL_ACCx_PRIO
 - CAL_GYROx_EN -> CAL_GYROx_PRIO
 - CAL_MAGx_EN -> CAL_MAGx_PRIO
2020-08-21 10:12:13 -04:00
Daniel Agar 971b1e4b4d sensors: move mag aggregation to new VehicleMagnetometer WorkItem
- purge all reminaing magnetometer IOCTL usage
 - mag calibration add off diagonal (soft iron) scale factors
2020-08-21 10:12:13 -04:00
modaltb d9bbed767c modalai_fc-v1 - power_monitor/voxlpm: add support for voxlpm v3 (INA231 sensors) 2020-08-19 00:01:31 -04:00
bazooka joe 190b96a46c SMbus battery driver - a lot of updates and optimizations
- added support for BQ40Z80 based battery
- added performance counter for interface errors
- added SMART_BATTERY_INFO mavlink message
- general code cleanups and optimization
- fixed: void flooding the log in case of interface error
- fixed: using _batt_startup_capacity instead of _batt_capacity for discharged_mah
- update: read manufacture_date
- update: get _cell_count from parameter and not const 4
- update: avoid re-reading data that has already been read and stored on class already
- currently the battery type defined by BAT_SMBUS_MODEL parameter and not by auto detection
2020-08-18 21:41:19 -04:00
Daniel Agar 0ff4fad95c rm3100: remove read error message 2020-08-17 09:36:05 -04:00
Daniel Agar 38db7c8b00 lis3mdl: remove read error message 2020-08-17 09:36:05 -04:00
Daniel Agar 84895724cd lis2mdl: remove read error message 2020-08-17 09:36:05 -04:00
Daniel Agar 33e3456de2 mpu9250: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 6b4c14a15c mpu6500: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - only track consecutive errors (not total) to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 19adf805d4 mpu6000: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - only track consecutive errors (not total) to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 8adea51131 icm42688p: accumulated minor improvements and cleanup
- perform reset as per the datasheet (wakeup accel/gyro and wait before proceeding)
 - add register bank selection (not yet used)
 - track consecutive errors to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar a903eb7411 icm40609d: accumulated minor improvements and cleanup
- perform reset as per the datasheet (wakeup accel/gyro and wait before proceeding)
 - add register bank selection (not yet used)
 - track consecutive errors to trigger full reset if necessary
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 50228a05e1 icm20948: accumulated minor improvements and cleanup
- remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00
Daniel Agar 473b0456db icm20649: accumulated minor improvements and cleanup
- perform reset as per the datasheet (disable I2C immediately, set power mode, wait for appropriate time, etc)
 - remove interrupt perf counter and instead only count misses
 - minor style changes to stay in sync with the other Invensense drivers
2020-08-16 19:01:56 -04:00