Commit Graph

477 Commits

Author SHA1 Message Date
Beat Küng 4d511868e6 refactor lis3mdl: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 54da4997ad refactor bmi088: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 7626be0485 refactor mpu9250: use driver base class 2020-03-24 09:46:20 -04:00
Beat Küng 2f3174abb0 refactor icm20602: use driver base class 2020-03-24 09:46:20 -04:00
Daniel Agar 8738c26426
boards: enable NuttX SPI DMA buffers
- update to NuttX with stm32f4 and stm32f7 SPI DMA internal buffers
 - remove explicit DMA buffer allocations from new IMU drivers
 - restore original BOARD_DMA_ALLOC_POOL_SIZE
 - decrease SPI DMA thresholds based on fmu-v2/v3/v4/v5 bench testing
2020-03-22 19:24:26 -04:00
Daniel Agar b73ec18abb
boards: add px4_fmu-v4 and px4_fmu-v5 optimized (-O3) build variants 2020-03-22 17:50:17 -04:00
Daniel Agar 1be959cba8
InvenSense ICM-40609-D IMU driver
This is another new InvenSense sensor with max output data rate of 32 kHz (both accel & gyro), on board anti-aliasing filter, and accel range 32G. Overall quite similar to the ICM-42688-P added in #14420, but with doubled accel range and without the optional high resolution output or clock sync.
2020-03-20 13:02:13 -04:00
SalimTerryLi dc8e775d8f
ADC: replace ioctl with uorb message (#14087) 2020-03-20 11:23:32 +01: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 47b329cc54 refactor bmm150: 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 832ccd262e refactor ina226: 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 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 f555fe309c fmu-v5: change external i2c bus ordering to match with the label 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
SalimTerryLi b70289c536 move __PX4_LINUX out of px4_impl_os.cmake 2020-03-17 13:20:32 -04:00
Paul Riseborough ab92b46e69
Update ecl to add ability to recover from bad magnetic yaw
* msg: Add EKF-GSF yaw estimator logging data
* ecl: update to version with EKF-GSF yaw estimator
* ekf2: Add param control and logging for EKF-GSF yaw estimator
* logger: Add logging for EKF-GSF yaw esimtator
2020-03-15 12:57:25 -04:00
Daniel Agar 2b03aa3d1b px4_fmu-v2: disable vtol_att_control to save flash 2020-03-12 14:10:39 -04:00
Daniel Agar 0ce9e113ff boards: stm32f4/f7 enable SPI_DMATHRESHOLD=32 2020-03-11 22:08:37 -04:00
Beat Küng 179c89b6bd board configs: extend board_dma_map.h with a table 2020-03-11 22:08:37 -04:00
Daniel Agar aeff85322d px4_fmu-v2: leave SPI DMA disabled for now (flash space) 2020-03-11 22:08:37 -04:00
Daniel Agar 772ddd7f5e px4_fmu-v2/v3: add board_dma_map.h and enable SPI1/SPI4 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar bd16c2b4f6 px4_fmu-v5x: add board_dma_map.h and enable SPI{1,2,3} DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 6ed4b6978e px4_fmu-v5: add board_dma_map.h and enable SPI1 DMA 2020-03-11 22:08:37 -04:00
Daniel Agar 6834f089cc px4_fmu-v4pro: cleanup board_dma_map.h 2020-03-11 22:08:37 -04:00
Daniel Agar 147e37ac88 px4_fmu-v4: cleanup board_dma_map.h 2020-03-11 22:08:37 -04:00
Daniel Agar f9794e99f8
move hover_thrust_estimator to new module (mc_hover_thrust_estimator)
* MC_HTE: unitialize with hover_thrust parameter
* MC_HTE: constrain hover thrust setter between 0.1 and 0.9
* MC_HTE: integrate with land detector and velocity controller
* MCHoverThrustEstimator: Always publish an estimate even when not fusing measurements. This is required as the land detector and the position controller need to receive a hover thrust value.

* MC_HTE: use altitude agl threshold to start the estimator
local_position.z is relative to the origin of the EKF while dist_bottom
is above ground

Co-authored-by: bresch <brescianimathieu@gmail.com>
2020-03-11 21:20:54 -04:00
David Sidrane 82ab1413fc px4_fmu-v5:Add Manifest Entries for UAVCAN interfaces 2020-03-11 20:36:58 -04:00
Daniel Agar 46a09b711f boards: increase STDIO buffer size where we can afford it 2020-03-11 17:19:44 -04:00
Daniel Agar 505afc6063 boards: increase LPWORKSTACKSIZE 1536 -> 1600 2020-03-10 12:53:01 -04:00
Beat Küng 335623e11d SPI config: use enum to specify bus 2020-03-10 10:11:43 -04:00
Beat Küng e627fed117 fmu-v2: disable perf command and some airframes
to reduce FLASH size
2020-03-10 10:11:43 -04:00
Beat Küng b54e5a1c23 param: automatically update calibration ID params on import
This avoids the need for recalibration, and also cleans up other driver
ID's (merge separate accel/gyro).

The SPI address was previously set to a board-specific (arbitrary) value,
and is now set to 0. This will allow extending for multiple sensors of the
same type on the same bus.
2020-03-10 10:11:43 -04:00
Beat Küng 1851665fab boards: add new spi+i2c config
Chip-select and SPI initialization uses the new config, whereas the drivers
still use the existing defines.

The configuration in board_config.h can be removed after all drivers are
updated.
2020-03-10 10:11:43 -04:00
Daniel Agar 4698a09b98 delete unmaintained outback challenge (OBC) bottle drop example 2020-03-05 14:09:31 -05:00
David Sidrane 25c12d8b9e px4_fmu-v5x:Add Serial test 2020-03-05 13:40:11 -05:00
David Sidrane ee220a5086 px4_fmuv5x:Update manifest for USB not present 2020-03-02 19:59:36 -05:00
Daniel Agar 779ba0fda5
px4_fmu-v4/v4pro: switch to new InvenSense icm20602/icm20608g IMU drivers
* 8 kHz gyro, 4 kHz accel
 * DLPF disabled
 * scheduled using data ready interrupts
 * FIFO is emptied at 1 kHz by default, but can adjusted via IMU_GYRO_RATEMAX from 250 Hz - 2000 kHz.
 * On both px4_fmu-v4 and px4_fmu-v4pro the secondary IMU is an mpu9250 with the same driver
2020-02-26 01:19:12 +01:00
Daniel Agar af6213e85e invensense icm20689 improvements and fixes
- refactor Run() into simple state machine
 - perform reset and configuration in sensor bus thread
 - when using data ready interrupt skip checking FIFO count
 - fix periodic temperature sampling (rate limit to 1 Hz)
2020-02-22 12:15:52 -05:00
Daniel Agar afc59f843c invensense icm20602 improvements
- refactor Run() into simple state machine
 - perform reset and configuration in sensor bus thread
 - when using data ready interrupt skip checking FIFO count
2020-02-22 12:15:52 -05:00
Daniel Agar 1d226ad2ca invensense icm20608g improvements
- checked register mechanism and simple watchdog
  - driver checks for errors gradually and can reconfigure itself
 - respect IMU_GYRO_RATEMAX at the driver level
 - fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)
2020-02-18 22:48:32 -05:00
Daniel Agar 22499effb9 invensense icm20602 improvements
- checked register mechanism and simple watchdog
    - driver checks for errors gradually and can reconfigure itself
 - respect IMU_GYRO_RATEMAX at the driver level
 - fixed sensor INT16_MIN and INT16_MAX handling (y & z axis are flipped before publishing)
 - increased sensor_gyro_fifo max size (enables running the driver much slower, but still transferring all raw data)
 - PX4Accelerometer/PX4Gyroscope remove unnecessary memsets
2020-02-18 19:21:20 -05:00
Daniel Agar d7c3e1066a
uavcannode updates and px4_fmu-v4_cannode example
- drivers/uavcannode add baro, mag, gps publications
 - delete old px4_cannode-v1 board
 - add stripped down simple rcS for CAN nodes
2020-02-16 12:11:54 -05:00
Beat Küng d74d094940 nuttx configs: disable nuttx timers which are used for PWM output
These are not required, and to be consistent we enforce disabling them now.
2020-02-13 03:49:16 -08:00
Beat Küng 40898ba237 px4/fmu-v5x: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng a0bfb7ad8e px4/fmu-v4pro: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng d53153bb9b px4/fmu-v3: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 4599c30817 px4/fmu-v2: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 2b0f7e514e io-v2: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng f7637ebf8f fmu-v5: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng d1e690a036 fmu-v4: use hw description methods for timer configuration 2020-02-13 03:49:16 -08:00
Beat Küng 62b4f3487a io timer: remove some fields from io_timers_t and split out channel indexes
- reduces amount of board configuration required
- removes the cyclic dependency between io_timers_t and timer_io_channels_t

Fixes a bug in the fmuk66-v3 config: the 2. timer has 3 channels associated
not 2.
Fixes a bug in the modelai config: the 2. timer has 4 channels associated.
2020-02-13 03:49:16 -08:00
David Sidrane 254b05d377 px4_fmu-v5x:P2 Base migrating to LAN8742Ai phy 2020-02-08 06:39:10 -08:00
Beat Küng b399698306 ist8310: remove calibration code
- it does nothing useful
- increases boot time by 2 seconds on pixhawk 4 due to a poll timeout:
IST8310 on I2C bus 3 at 0x0e (bus: 100 KHz, max: 400 KHz)
WARN  [ist8310] ERROR: TIMEOUT 2
2020-02-06 12:39:39 -05:00
Daniel Duecker 36f836be79
add support for unmanned underwater vehicles (#14079)
* add support for unmanned underwater vehicles:
* airframe uuv_generic + uuv_hippocammpus including mav_type = 12 for submarines
* mixer for UUVs with X-shaped thruster setup similar to quadcopter
* add module  uuv_att_control for underwater robot attitude control
* add rc.uuv_defaults/apps for autostarting e.g. ekf2 and uuv_att_control app
2020-02-04 23:24:37 -05:00
SalimTerryLi 9612e40464
purge drivers/linux_sbus
- rc_input now provides reliable parsing for SBUS on Linux platform. linux_sbus can be fully removed.
2020-02-03 08:40:27 -05:00
Roman Dvořák c8a58c5c9d
drivers: add PCF8583 RPM sensor (#14018) 2020-02-02 12:10:20 -05:00
David Sidrane 514e1a3744 px4_fmu-v4pro:Fix USART6 RX DMA Assignment 2020-01-30 16:20:49 -05:00
Daniel Agar 6fe35d522a new icm20689 driver using FIFOs and raw sampling (8 kHz gyro, 4 kHz accel) 2020-01-30 13:07:44 -05:00
Daniel Agar 3910028fc5 new mpu6000 driver using FIFOs and raw sampling (8 kHz gyro, 1 kHz accel) 2020-01-30 13:07:44 -05:00
Daniel Agar 0a0ed1eb33 px4_fmu-v2_fixedwing: disable vmount to save flash 2020-01-27 21:19:18 -05:00
SalimTerryLi 3ed8e876b7 New pca9685 pwm output driver 2020-01-22 15:19:47 -05:00
Claudio Micheli 624fcc3adb v5x target: Fix wrong FD for TELEM3
Signed-off-by: Claudio Micheli <claudio@auterion.com>
2020-01-21 23:27:59 +01:00
Daniel Agar b2f4dae2c4 boards: fmu-v2/v3 limit rate loop by default 2020-01-21 19:16:27 +01:00
Daniel Agar 6704c90354
px4/fmu-v4: restore SPIDEV integers from stable v1.10 (and earlier) 2020-01-20 22:31:30 -05:00
Daniel Agar dc05ceaad2
create temperature_compensation module
- this is a new module for temperature compensation that consolidates the functionality previously handled in the sensors module (calculating runtime thermal corrections) and the events module (online thermal calibration)
 - by collecting this functionality into a single module we can optionally disable it on systems where it's not used and save some flash (if disabled at build time) or memory (disabled at run time)
2020-01-20 21:42:42 -05:00
Daniel Agar de4f594937 DriverFramework purge
The bulk of this change was tightly coupled and needed to be deleted in one pass. Some of the smaller changes were things that broke as a result of the initial purge and subsequently fixed by further eradicating unnecessary platform differences. Finally, I deleted any dead code I came across in the related files I touched while going through everything.

 - DriverFramework (src/lib/DriverFramework submodule) completely removed
 - added dspal submodule in qurt platform (was brought in via DriverFramework)
 - all df wrapper drivers removed
 - all boards using df wrapper drivers updated to use in tree equivalents
 - unused empty arch/board.h on posix and qurt removed
 - unused IOCTLs removed (pub block, priv, etc)
 - Integrator delete methods only used from df wrapper drivers
 - commander: sensor calibration use "NuttX version" everywhere for now
 - sensors: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - battery_status: update to px4_{open, read, close} instead of DevMgr wrapper (adc open for analog differential pressure)
 - cdev cleanup conflicting typedefs and names with actual OS (pollevent_t, etc)
 - load_mon and top remove from linux boards (unused)
 - delete unused PX4_MAIN_FUNCTION
 - delete unused getreg32 macro
 - delete unused SIOCDEVPRIVATE define
 - named each platform tasks consistently
 - posix list_devices and list_topics removed (list_files now shows all virtual files)
2020-01-13 14:07:03 -05:00
Daniel Agar e3de7e62ea drivers/rc_input: port to linux for testing 2020-01-09 16:16:23 -05:00
SalimTerryLi faec9fe579 boards px4/raspberrypi: fix upload AUTOPILOT_HOST 2020-01-09 09:51:47 -05:00
David Sidrane 7cf1bb7f7f px4_fmu-v5:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -05:00
David Sidrane 351c3f7c22 px4_fmu-v5x:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -05:00
Daniel Agar 7166b867e1
NuttX stackcheck exclude PX4 Matrix and Param
- instrumenting PX4 Matrix and Param methods is too burdensome
 - partially restore px4_fmu-v5_stackcheck and holybro_durandal-v1_stackcheck to match default configs
2020-01-06 18:15:55 -05:00
Daniel Agar ce1e9762b0 deprecate df_hmc5883_wrapper and replace with in tree hmc5883
- deprecate DriverFramework hmc5883 driver (df_hmc5883_wrapper)
 - update aerotenna ocpoc and snapdragon flight eagle boards to use in tree hmc5883
2020-01-05 15:17:26 -05:00
Daniel Agar 7241eebd80
cmake merge linux cross compile targets (cross + native) and cleanup
- consolidate cross and native variants (only a single default is needed)
   - beaglebone_blue_cross + beaglebone_blue_native => beaglebone_blue_default
   - emlid_navio2_cross + emlid_navio2_native => emlid_navio2_default
   - px4_raspberrypi_cross + px4_raspberrypi_native => px4_raspberrypi_default
 - move upload helpers to cmake/upload.cmake
2020-01-05 14:03:57 -05:00
SalimTerryLi 5f5a2e12fb mpu9250: improve AK8963 init (fixes raspberry pi support) 2020-01-03 22:29:46 -05:00
SalimTerryLi 87e5da189b ms5611: fix start_bus() logic to work on linux and add RPi I2C bus config (#13814) 2019-12-30 16:16:56 -05:00
Timothy Scott fc1341208f INA226: Integrate with PX4 (#12673)
* Publish I2C battery data as battery_status
2019-12-28 12:30:11 -05:00
David Sidrane 5bb82a9f93 px4_fmu-v5x:GPIO_VDD_5V_{HIPOWER|PERIPH}_nOC remove Pull up - OC have series 47K 2019-12-17 18:33:20 -08:00
David Sidrane a5be0bb3d8 px4_fmu-v5:GPIO_VDD_5V_{HIPOWER|PERIPH}_OC remove Pull up - OC have series 47K 2019-12-17 18:33:20 -08:00
Daniel Agar 3d56f37606 vscode debug and ekf2 replay improvements
- create new px4_sitl_replay config specifically for replay
 - ekf2 replay don't launch gazebo
 - add px4_sitl_test cmake variant
 - px4_sitl_test bring into sync with px4_sitl_default
 - vscode replace hard coded build path with cmake setting
2019-12-17 10:19:56 -08:00
Daniel Agar 2b792c0225 px4_raspberrypi cleanup configs and add to Jenkins 2019-12-10 11:10:24 -05:00
David Sidrane 74b6cc5bce px4_fmu-v5:Use Serial TX DMA on Telem 2 2019-12-09 16:23:16 -05:00
Matthias Grob 904ab16558 Fix trailing whitespace, EOF newline, indentation 2019-12-09 13:22:19 +01:00
mcsauder bd98a4eebb Add camera_capture module build to raspberry pi cross.cmake. 2019-12-04 00:48:52 -05:00
Daniel Agar 709961ec8c
InvenSense ICM20602 and ICM20608-G: new standalone optimized drivers
- uses the FIFO and SPI DMA to transfer full raw data (8 kHz gyro, 4 kHz accel)
 - new sensor messages for better visibility
   - sensor_{accel, gyro}_fifo: full raw data for optional logging and analysis
   - sensor_{accel, gyro}_status: metadata, clipping, etc
 - currently not enabled by default
2019-12-03 23:21:32 -05:00
David Sidrane feaa657172 px4_fmu-v5x:SE050 Assert Reset on board_init, and release in appinit 2019-12-03 16:16:49 -05:00
David Sidrane 949ab563ef px4_fmu-v5x:Drop netinit task priority below LP work 2019-12-03 16:16:49 -05:00
David Sidrane c9cb59fdd8 px4_fmu-v5x:Init Network in background (no monitor CONFIG_NETINIT_MONITOR is not set) 2019-12-03 16:16:49 -05:00
dino 34f53c14bf Fixed sensor orientation 2019-12-03 16:16:49 -05:00
David Sidrane 213174fc74 px4_fmu-v5x:Set IP 192.168.0.123 GW:192.168.0.254 2019-12-03 16:16:49 -05:00
David Sidrane ea69fde02a px4_fmu-v5x:Add SPI6_nRESET_EXTERNAL1 2019-12-03 16:16:49 -05:00
David Sidrane 3b88142744 px4_fmu-v5x:rc.board_sensors Add Second BMP388 2019-12-03 16:16:49 -05:00
David Sidrane 996ee49868 fmu-v5x:SPI4 is not used BMM150 moved to I2C4 2019-12-03 16:16:49 -05:00
David Sidrane 0399d689ce px4_fmu-v5x:Start MS5611 on Base I2C3 2019-12-03 16:16:49 -05:00
David Sidrane 31456419e9 px4_fmu-v5x:Add 4096 for ism330dlc to BOARD_DMA_ALLOC_POOL_SIZE
ISM330DLC uses 4096 of memory allocated from DMA pool.
   This depleted the pool to the point the next allocation
   for FAT would fail. Unfortuanly this is the logger
   on a later open.
2019-12-03 16:16:49 -05:00
Daniel Agar 1a395fb6d9 ST ISM330DLC IMU driver 2019-12-03 16:16:49 -05:00
David Sidrane eb560e8a0f fmu-v5x:Properly reset SPI 2019-12-03 16:16:49 -05:00
David Sidrane 14b592d0c6 px4fmuv5x:Add Sync pin to board config 2019-12-03 16:16:49 -05:00
SalimTerryLi 2ec1c53679 Add upload command support for Raspberry Pi build. 2019-12-03 08:03:27 +01:00
Daniel Agar e951531b12 camera_feedback: move to WQ callback and uORB::Subscription 2019-11-30 15:49:55 -05:00
Daniel Agar 0420a4386d deprecate px4 esc-v1 and drivers/uavcanesc 2019-11-30 14:55:01 -05:00
Beat Küng cf4e97b71c fmu-v5x: enable DShot
Only the first 6 FMU pins support it.
DMA conflict with UART8, which is the GPS2 port.
2019-11-29 07:39:08 +01:00
Beat Küng 7aa905eb21 fix fmu-v5x: use correct GPS2 serial port 2019-11-29 07:39:08 +01:00
Daniel Agar bc182e94e6
sensors split rc_update into new standalone module 2019-11-24 13:25:11 -05:00
Daniel Agar 5aaf1b100b delete unused md25 driver 2019-11-21 18:56:24 -05:00
Daniel Agar 8c38176d77 boards: alphabetize and sync common drivers and modules 2019-11-21 18:56:24 -05:00
Silvan Fuhrer ebdc29bc5f Airspeed Selector: enable airspeed_validated in control modules (#12887)
* FW attitude controller, FW position controller and VTOL attitude controller subscribe to airspeed_validated topic
* add possibility to switch off the airspeed valid checks
* remove airspeed valid checks from commander
* clean up of VTOL transition logic
* Airspeed Selector: remove dynamic allocation of airspeed validators (depending on number of connected sensors) but do it statically for the maximum number allowed. Check for number of connected sensors not only during start up, but always when vehicle is disarmed.
* Airspeed Selector: change work queue from lp to att_pos_ctrl as this module is safety-critical
* add airspeed selector to px4_fmu-v2 defaults
2019-11-21 14:14:25 -05:00
Julien Lecoeur a46581987c Update matrix submodule and add pseudoinverse tests (tests matrix) 2019-11-21 13:06:59 -05:00
Daniel Agar 1af7af02db bmp388: cleanup main and add to px4_fmu-v5x board_config.h 2019-11-20 13:12:03 -05:00
Daniel Agar 84fe64b1c2
create new multicopter rate controller module (mc_rate_control) split out of mc_att_control 2019-11-19 17:03:11 -05:00
Daniel Agar 99aae8b891 NuttX use toolchain math.h and avoid empty drivers/Kconfig 2019-11-16 11:43:42 +01:00
David Sidrane 148215c114 px4:io-v2 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 26b9b0371f px4:fmu-v5x BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 7e979676ee px4_fmuv5_stackcheck:Remove bl_update to fit 2019-11-16 11:43:42 +01:00
David Sidrane 0ebe285201 px4:fmu-v5 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 7ce4f06470 px4:fmu-v4pro BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 40a3e47712 px4:fmu-v4 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 2c13883e56 px4:fmu-v3 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 47bbb36575 px4_fmuv2_multicopter:Remove bl_update to fit 2019-11-16 11:43:42 +01:00
David Sidrane ab1c8850fe px4:fmu-v2 BSP Updated to NuttX 8.1+
px4/fmu-v2 disable events and work_queue systemcmd
2019-11-16 11:43:42 +01:00
David Sidrane 208c23c826 px4:esc-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane 25a6a45640 px4:cannode-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01:00
David Sidrane fa79283602 px4/fmu-v4: update nuttx config 2019-11-16 11:43:42 +01:00
David Sidrane 69694ab000 px4io-v2:Resonable Def config memory - verified by inspection 2019-11-16 11:43:42 +01:00
Beat Küng 58799dc7d1 px4/fmu-v5: update nuttx config
px4_fmuv5:Needed PROGMEM

fmu-v5:Kconfig - add knob to ensure ARCH_MATH_H is kept

    Upstream changes added ARCH_HAVE_MATH_H to protect from archs
    without math.h from causing isses for users setting
    CONFIG_ARCH_MATH_H and getting errors. PX4 provides a math.h
    and we need CONFIG_ARCH_MATH_H set. So this Selects
    ARCH_HAVE_MATH_H perserving CONFIG_ARCH_MATH_H a defconfig
2019-11-16 11:43:42 +01:00
Beat Küng 694ae56afe px4/io-v2: update nuttx config
px4_io - add knob to ensure ARCH_MATH_H is kept

   Upstream changes added ARCH_HAVE_MATH_H to protect from archs
   without math.h from causing isses for users setting
   CONFIG_ARCH_MATH_H and getting errors. PX4 provides a math.h
   and we need CONFIG_ARCH_MATH_H set. So this Selects
   ARCH_HAVE_MATH_H perserving CONFIG_ARCH_MATH_H a defconfig
2019-11-16 11:43:42 +01:00
Daniel Agar 52554f1efa px4_fmu-v4pro: cleanup SPI devs 2019-11-12 11:18:57 -05:00
Daniel Agar 9183f44243 px4_fmu-v4: deprecate boscch pixracer variant and cleanup SPI devs 2019-11-12 11:18:57 -05:00
Daniel Agar 668984b6b0 boards: start adc in rc.board_sensors 2019-11-11 17:08:24 -05:00
Daniel Agar 40850f58ee boards cleanup old nsh_archinitialize 2019-11-03 12:09:48 -05:00
flbernier 79a814199c Add rm3100 start for fmu-v5x 2019-10-31 12:09:44 -04:00
flbernier 568a349d60 Add rm3100 start for fmu-v5 2019-10-31 12:09:44 -04:00
flbernier 6f5f9a787e Add rm3100 start for fmu-v4 2019-10-31 12:09:44 -04:00
flbernier 7a356e1e91 Add rm3100 start for fmu-v3 2019-10-31 12:09:44 -04:00
Beat Küng 3b7c1b4ff1 src/drivers/boards: move to platforms/nuttx/src/px4/common 2019-10-30 11:48:47 +01:00
Beat Küng e7519c9fa0 board_identity: move to platforms/nuttx/src
And fix a potential alignment issue in board_get_mfguid and
board_get_px4_guid.
2019-10-30 11:48:47 +01:00
Beat Küng b30171ba8d board_common.h: move under platforms/common
Also move board_determine_hw_info and board_gpio_init under platforms/nuttx
2019-10-30 11:48:47 +01:00
Beat Küng 3198610f85 src/platforms: move all headers to platforms/common/include/px4_platform_common
and remove the px4_ prefix, except for px4_config.h.

command to update includes:
for k in app.h atomic.h cli.h console_buffer.h defines.h getopt.h i2c.h init.h log.h micro_hal.h module.h module_params.h param.h param_macros.h posix.h sem.h sem.hpp shmem.h shutdown.h tasks.h time.h workqueue.h; do for i in $(grep -rl 'include <px4_'$k src platforms boards); do sed -i 's/#include <px4_'$k'/#include <px4_platform_common\/'$k/ $i; done; done
for in $(grep -rl 'include <px4_config.h' src platforms boards); do sed -i 's/#include <px4_config.h/#include <px4_platform_common\/px4_config.h'/ $i; done

Transitional headers for submodules are added (px4_{defines,log,time}.h)
2019-10-30 11:48:47 +01:00
Daniel Agar 47dd312b57
fw_att_control: move to px4::params 2019-10-28 18:08:47 -04:00
Beat Küng 0734fe047e fmu-v2 fixedwing: add CONSTRAINED_FLASH to the config 2019-10-28 09:54:59 +01:00
Daniel Agar e2cf501f9d
boards: increase CONFIG_MAX_TASKS 32->64 on all F7s (#13285)
On more complicated setups it's still possible to exceed 32 tasks. For example fmu-v5 with mavlink on every telem (+ USB), external spi usage (pmw3901), gimbal (vmount), multiple i2c sensors, and camera feedback is 35 tasks (with top running). This is a fairly extreme case, so I'm only going to increase CONFIG_MAX_TASKS on newer F7 boards.
2019-10-27 12:37:01 -04:00
Julien Lecoeur 8bf60662fa fmu-v2: set CONSTRAINED_FLASH on all targets 2019-10-26 15:19:07 +01:00
Igor Mišić f4ee9141cb DShot: updated driver to use NuttX DMA functions (#13233) 2019-10-25 09:49:03 +02:00
Daniel Agar 6a0f5249f8
sensors: split out analog battery handling to new standalone battery_status module 2019-10-21 13:40:23 -04:00
Beat Küng 0871802568 mixer_module: add support for test_motor (motor_test CLI command) 2019-10-21 09:42:08 +02:00
modaltb 1e1549a169 Add support for Bosch BMP388 barometer 2019-10-15 23:33:49 -04:00
Silvan Fuhrer 51374aec7b px4_fmu-v5: add here2 mag to startup
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-10-14 15:16:33 -04:00
Beat Küng 803a71928f fmu-v3: enable DShot
Disables RX DMA on TEL4 and IO debug serial port
2019-10-11 08:14:17 +02:00
Beat Küng 67500123e3 fmu-v5: add dshot support
But only on the first 4 FMU outputs, as the next ones conflict with px4io
serial dma (UART8_RX)

RX DMA is disabled on the GPS port as well (conflicts with TIM1).
2019-10-11 08:14:17 +02:00
Beat Küng 182efaa757 dshot: reduce static buffer size
And handle failures of up_dshot_init().

On Omnibus: reduces memory usage if dshot is enabled by ~1.0KB.
The buffer is roughly 1KB in size.
2019-10-11 08:14:17 +02:00
Igor Mišić 543a057f80 fmu-v4: add dshot timer config 2019-10-11 08:14:17 +02:00
Daniel Agar f885d2274a
Revert "vtol_att_control: update parameter strings to class enum"
This reverts commit 5351f886ec.
2019-10-03 11:28:51 -04:00
Daniel Agar 315141873e NuttX boards reduce CONFIG_MAX_TASKS 64 -> 32 (default) 2019-10-02 19:44:46 -04:00
Daniel Agar 5351f886ec vtol_att_control: update parameter strings to class enum 2019-10-02 19:43:32 -04:00
Daniel Agar 26364d44c9
px4_work_queue: command line status output and shutdown empty queues
* adds a work_queue systemcmd that will bring a tree view of all active work queues and work items
 * WorkQueues now track attached WorkItems and will shutdown when the last WorkItem is detached
2019-10-02 12:23:17 -04:00
Daniel Agar 3687677095 cmake: show sitl_gazebo build output and improve rebuild 2019-10-01 14:22:30 -04:00
garfieldG bbb96cbd0c Mavlink startup script per board
-moved rc.mavlink to the boards optional rc additions (now it's called rc.board_mavlink) to handle board specific mavlink needs (mavlink over usb, ethernet, additional streams, etc.)
-mavlink module will be responsible to usb defaults, therefore less args are needed to be passed to mavlink module if one wants to use mavlink over usb.
-the way to check if connection is usb is by it's designated variable and not by config mode.
2019-09-29 10:46:08 -04:00
Daniel Agar 0486d69240 delete obsolete segway example 2019-09-28 15:05:50 -04:00
mcsauder 410dd85289 Comment out the ll40ls (LidarLite) driver from the fmu-v2 build. 2019-09-13 11:03:13 -04:00
BazookaJoe1900 6ab5c2170e remove unused pca8574 and oreoled drivers 2019-09-04 08:05:08 -07:00
Daniel Agar f1339038ca
px4_fmu-v5_stackcheck disable roboclaw and pca9685 to reduce flash 2019-09-03 08:03:32 -07:00
Silvan Fuhrer d5fdc55460 fmu-v5: add baro again in startup
Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-09-03 13:48:34 +02:00
Daniel Agar 3c8a41aff7 px4_fmu-v2 variants disable mpu9250 2019-09-02 12:42:18 -04:00
BazookaJoe1900 8a45c6145b add new parameter SENS_EN_PMW3901 to start pmw3901 optical flow 2019-09-02 11:08:51 -04:00
Daniel Agar 82bcfcb710 boards/px4/fmu-v5x remove alternate configs until default is complete 2019-09-01 18:48:55 -04:00
BazookaJoe1900 e3b60cd9e7 rc.sensors: moved common ms5611 start to rc.board_sensors per board 2019-09-01 12:55:50 -04:00
Beat Küng f3fccf53f6 src/drivers/{kinetis,stm32}: move to arch-specific directories 2019-08-30 07:59:44 +02:00
Beat Küng 1cb6c36a00 adc: refactor into arch-specific directories 2019-08-30 07:59:44 +02:00
Beat Küng ab43a83bed platform: restructure (NuttX) architecture-specific code
updated: tone_alarm, px4io_serial, px4_micro_hal
2019-08-30 07:59:44 +02:00
roangel e50dd7c364 replay: close replay log file after replay is finished, then exit (#11264) 2019-08-28 08:13:50 +02:00
Daniel Agar b1d59c8817
px4fmu split safety button into new driver 2019-08-24 17:14:17 -04:00
Hyon Lim 0262a699c1 UVify Core board support and airframes (Draco, Draco-R, IFO) (#12337)
* also includes minor changes to make it easy to keep in sync with px4_fmu-v4
2019-08-23 17:02:25 -04:00
Daniel Agar 7d248e0f45
px4fmu: move to WQ with uORB callback scheduling (#12224) 2019-08-20 20:24:12 -04:00
Daniel Agar 7adc43b795
px4_fmu-v5: add critical section monitor build (#12724) 2019-08-16 21:48:09 -04:00
Daniel Agar 6e7e2b6e3b
px4_fmu-v5: add irqmonitor build (#12723) 2019-08-16 19:01:16 -04:00
Silvan Fuhrer cedf14e2ba Airspeed Selector: repurpose wind estimator into an airspeed (selection, validation) module.
This new airspeed module does:
  -runns an airspeed validator for every airspeed sensor present, which checks measurement validity and estimates an airspeed scale
  -selects another airspeed sensor if for the current one a failure is detected
  -estimates airspeed with groundspeed-windspeed if no valid airspeed sensor is present
  -outputs airspeed_validated topic

Signed-off-by: Silvan Fuhrer <silvan@auterion.com>
2019-08-09 10:55:05 +02:00
David Sidrane 21782603b3 px4_fmu-v5x: add networking
* fixed dropped CONFIG_LIBC_FLOATINGPOINT=y
* fix RMII TX pinning
* update platforms/nuttx/NuttX/nuttx w/ f7 eth
2019-08-08 20:38:56 -04:00
Daniel Agar 0955fd2d58
NuttX boards reduce CONFIG_NFILE_DESCRIPTORS 54 -> 20 2019-08-07 21:23:27 -04:00
Daniel Agar 5421ef5535 NuttX increase HPWORK and LPWORK stack by 256 bytes 2019-08-06 23:15:07 -04:00
Daniel Agar 9d701a077d
NuttX reduce stack for interrupts, HPWORK, LPWORK 2019-08-06 11:00:55 -04:00
David Sidrane 5a1c46deeb fmuv5x:Use ADC3 for HW VER/REV detection
fmu-v5x:hrt needs to be running for ADC time out

       Fixes bug introduced in 320d2e adding platform layer.
2019-08-06 10:46:37 -04:00
David Sidrane 0ebb87357f fmu-v5:hrt needs to be running for ADC time out
Fixes bug introduced in 320d2e adding platform layer.
2019-08-06 10:46:37 -04:00
Daniel Agar 77694183b2 delete position_estimator_inav 2019-08-02 17:38:28 -04:00
Karl Schwabe d301c22665 Bosch BMI088 initial driver 2019-08-02 13:38:36 -04:00
David Sidrane a90c87a791
px4fmu-v5x:BMI055->BMI088 (#12582) 2019-07-30 15:54:17 -07:00
David Sidrane 0300a380cf fmuv5x:Missing define PX4_SPI_BUS_SENSORS 2019-07-30 10:49:03 -04:00
David Sidrane 423dd23ff1 fmu-v5x:SPI fix Typo on SPI4 causing assertion 2019-07-30 10:49:03 -04:00
David Sidrane 25b95dcd0c px4fmu-v5x:Fix up start script
Fix commandline for bmm150
    Add 2 internal bmp388 - needs works
    Add 2 ina2662
2019-07-30 10:49:03 -04:00
David Sidrane 72c742f53d px4_fmuv5x:Update to master single wire 2019-07-30 10:49:03 -04:00
David Sidrane 7c1d616187 px4_fmuv5x:Fix GPS 2019-07-30 10:49:03 -04:00
David Sidrane 7eb7db476c px4_fmuv5x:Fixed SDMMC DMA 2019-07-30 10:49:03 -04:00
David Sidrane 13e777c2ce px4_fmuv5x:Use slot 0 with SDMMC2 2019-07-30 10:49:03 -04:00
Beat Küng b7a0e1ef03 boards: simplify RC port configuration by using NuttX ioctl's
A board only needs to define:
 #define RC_SERIAL_PORT                     "/dev/ttyS4"

Then it can optionally define one or more of the following:
 #define RC_SERIAL_SWAP_RXTX
 #define RC_SERIAL_SINGLEWIRE
 #define RC_INVERT_INPUT(_invert_true) px4_arch_gpiowrite(GPIO_SBUS_INV, _invert_true)
2019-07-16 08:09:22 +02:00
Beat Küng a3c920db7d board_defaults: remove unnecessary 'set MIXER_AUX none'
On all of these boards '$USE_IO = no' will hold.
2019-07-16 08:09:22 +02:00
Beat Küng 4b0afff33a fmu-v5 init.c: remove unused include 2019-07-16 08:09:22 +02:00
Daniel Agar 53c5b6d24f
px4_fmu-v2_multicopter disable batt_smbus
- saves a bit of flash
2019-07-12 15:57:35 -04:00