David Sidrane
329ed6e273
px4_fmu-v5/v5x: Re-enable TXDMA
2020-08-11 12:27:28 -04:00
Daniel Leonard Robinson
fa4818e467
vehicles: add new vehicle type: Airship ( #14862 )
...
Co-authored-by: Anton Erasmus <anton@flycloudline.com>
Co-authored-by: Beat Küng <beat-kueng@gmx.net>
2020-08-10 08:52:51 +02:00
Daniel Agar
fbc8e1b09e
boards: mRo X2.1-777 fixes
...
- ardupilot bootloader compatibility (first 3 sectors)
- clock tree fixes
- start mavlink
- start mpu9250 magnetometer (only onboard mag)
- fixes https://github.com/PX4/Firmware/issues/15466
2020-08-09 14:24:49 -04:00
Daniel Agar
e16c8fa345
boards: add new Holybro Pix32v5
2020-08-09 11:48:38 -04:00
Igor Mišić
f5283e0da1
spracing_h7extreme: OSD enabled with added internal SPI bus flag
2020-08-04 19:07:15 -04:00
Beat Küng
ca189fefb7
v5x: use board-specific camera capture pin PI0
2020-08-04 13:37:40 +02:00
Beat Küng
316085c154
camera_capture: remove board-specific ifdef
2020-08-04 13:37:40 +02:00
Daniel Agar
a93052f9b2
boards/spracing/h7extreme: delete unused stackcheck build
2020-08-03 15:56:33 -04:00
Igor Mišić
7eaa48e36f
New board: SP Racing H7 Extreme
...
Authored-by: igor.misic <igor.misic@rimac@automobili.hr>
2020-08-03 15:32:58 -04:00
David Sidrane
e67486d603
nxp:Add support for rev E HW nxp_fmuk66-e
2020-07-31 09:46:27 -04:00
David Sidrane
f8b6de24c7
nxp_fmurt1062-v1:Assign board_id
2020-07-31 09:46:27 -04:00
Daniel Agar
cfbf69f2a7
boards: rename Hex -> CubePilot
...
- hex_cube-orange_default -> cubepilot_cubeorange_default
- hex_cube-yellow_default -> cubepilot_cubeyellow_default
2020-07-26 13:55:41 -04:00
Daniel Agar
62fe6d59cc
boards: hex cube yellow fix STM32F7 selection (STM32F765II -> STM32F777VI)
2020-07-24 12:03:25 -04:00
Mirko Denecke
7ac66bae4f
hex io firmware remove double definition of GPIO_HEATER_OFF
2020-07-23 09:41:05 -04:00
Mirko Denecke
b7389119b3
px4 io firmware remove double definition of GPIO_HEATER_OFF
2020-07-23 09:41:05 -04:00
Mirko Denecke
01e9599e93
HEX Cube Yellow: enable platform-specific IO firmware with inverted heater pin.
2020-07-22 10:50:47 -04:00
Mirko Denecke
44e2c326e0
HEX Cube Orange: enable platform-specific IO firmware with inverted heater pin.
2020-07-22 10:50:47 -04:00
Mirko Denecke
57968c6e27
Add platform-specific IO firmware for HEX autopilots.
2020-07-22 10:50:47 -04:00
rolandash
b8f3b97bad
Enable PMW3901 on MindPX/MindRacer. ( #15375 )
...
* enable pmw3901 on MindPX/MindRacer.
* remove useless line.
2020-07-19 16:09:57 +01:00
Daniel Agar
3dd7d0c292
boards: fmu-v5 debug variant disable unnecessary modules to save flash
...
- partially sync with fmu-v5 stackcheck build
2020-07-18 13:41:26 -04:00
Daniel Agar
e3d31a881e
boards: NuttX disable posix message queues
2020-07-17 17:00:21 -04:00
Daniel Agar
b277840233
boards: create px4_fmu-v5_debug build with assertions enabled
2020-07-06 11:13:15 -04:00
Beat Küng
03e51076b0
v5x: fix icm20602 sensor orientation
...
and reorder baro startup, so that the other one is used by default.
2020-07-06 11:02:48 +02:00
Jari van Ewijk
fe7fcb101f
NXP FMUK66 - Fix VDD_3V3_SENSORS_EN polarity
2020-06-29 07:45:47 -07:00
Beat Küng
157ef43e28
replay: use lockstep scheduler
2020-06-23 11:53:55 -04:00
David Sidrane
df73662d66
nxp_fmuk66-v3:Add Full networking support
2020-06-22 18:43:03 -04:00
Mirko Denecke
147fb0afa4
Hex/Proficnc CubeOrange: fix default config for IMU heating
2020-06-22 13:12:08 -04:00
Mirko Denecke
d9f813a443
Hex/Proficnc CubeYellow: fix default config for IMU heating
2020-06-22 13:12:08 -04:00
Daniel Agar
d9102ce54c
imu/invensense/icm20948: sync with other recent invensense improvements
...
- clenaup ak09916 with simplifed setup and health check
2020-06-22 10:11:22 -04:00
David Sidrane
28a695dce4
px4_fmu-v6x:imu/bmi088->imu/bosch/bmi088
2020-06-19 19:13:20 -04:00
JacobCrabill
62799d9aca
UAVCAN: Add STM32H7 FDCAN Driver
...
Took the existing uavcan_stm32 driver and replaced all bxCAN code with
the equivalent for FDCAN following ST Reference Manual RM0433.
Note: There is still a bug somewhere in regards to FDCAN2 (probably
incorrect setup of the message RAM? Not sure.) But (FD)CAN1 is fully
functional (Classic CAN only, no CAN-FD).
Also TODO: Configure CAN filters. Right now there are no filters; all
incoming messages are accepted.
2020-06-18 18:55:21 -04:00
JacobCrabill
08d2226043
CubeOrange: Move console back to CONS (UART7)
2020-06-18 18:55:21 -04:00
Daniel Agar
0a63df25a6
create fake_magnetometer "driver" to publish magnetic field in body frame
...
- this can be helpful for orienting new unknown magnetometers
- requires attitude and GPS position
2020-06-18 16:21:30 -04:00
Daniel Agar
e819f99064
new Bosch BMI055 IMU driver using FIFOs and DRDY
...
- accel & gyro FIFOs enabled
- FIFO watermark on data ready interrupt
- sensor side filtering completely disabled
- gyro now respects `IMU_GYRO_RATEMAX` (up to 2 kHz)
- saves a few % cpu (at default rate)
2020-06-15 10:19:14 -04:00
CUAVcaijie
1c02c37955
boards/cuav/x7pro: RC03 RM3100 moved from SPI1 to SPI2
2020-06-11 21:38:55 -04:00
CUAVcaijie
dee56e78aa
boards/cuav/x7pro: fix X7 LED SAFETY configuration
...
* keep the naming identical to the pinout
2020-06-11 21:32:53 -04:00
Daniel Agar
13e34b32e6
new Bosch BMI088 IMU driver using FIFOs and DRDY
2020-06-11 12:25:13 -04:00
CUAVcaijie
b6ec00c079
boards/cuav/x7pro: Fix HIPOWER enabled state
2020-06-11 12:05:37 -04:00
CUAVcaijie
9270b26c63
IO's RGB status light is modified to PWM breathing light
2020-06-11 12:02:49 -04:00
CUAVcaijie
67554acf9e
x7 add led_pwm driver
2020-06-11 12:02:49 -04:00
CUAVcaijie
37fb4dbb64
Enable safety button
2020-06-10 09:14:25 -04:00
Mirko Denecke
10afcdce2e
Hex/Proficnc Cube Yellow: align firmware location in flash memory to be able to use the default bootloader
2020-06-10 09:08:11 -04:00
Daniel Agar
6f6efd60b7
boards: centralize optional external I2C sensor start
...
- configured with new parameter SENS_EXT_I2C_PRB
2020-06-10 09:04:13 -04:00
Beat Küng
590b65ebfb
Revert "kakutef7 spi: disable IMU drdy"
...
This reverts commit 2069576a6e
.
PR #15004 fixed the problem.
2020-06-09 09:11:51 -04:00
David Sidrane
82b87adfb3
px4_fmu-v6x:default phy is LAN8742
2020-06-09 08:14:22 +02:00
David Sidrane
0bb8d7a065
px4_fmu-v5x p4 (-06) default to suporting LAN8742Ai
2020-06-09 08:12:44 +02:00
Daniel Agar
5e7d2e830d
boards: delete old board.h boilerplate
2020-06-08 19:10:33 -04:00
Daniel Agar
5507c15bdc
boards: move rgbled_pwm startup to appropriate boards
2020-06-08 16:49:46 -04:00
Mirko Denecke
cf02b88d51
Initial Hex/Proficnc Cube Yellow support
2020-06-08 08:22:40 -04:00
David Sidrane
626895eadc
px4_fmu-v5x:Wrong Bit was being tested for mode.
...
@TSC21 - this will fix you build
2020-06-05 18:59:48 -04:00
Daniel Agar
31fe7af454
selectively increase optimization -Os -> -O2
...
- targetted at modules/libraries that benefit without drastically
increasing flash usage
- ignored on boards with CONSTRAINED_FLASH set
2020-06-04 20:59:52 -04:00
Beat Küng
2069576a6e
kakutef7 spi: disable IMU drdy
...
It cause bad transfers on a Kopis 2, though not on a bench KakuteF7 unit.
Not sure if this is a single case.
nsh> icm20689 status
INFO [SPI_I2C] Running on SPI Bus 4
INFO [icm20689] FIFO empty interval: 1000 us (1000.000 Hz)
icm20689: transfer: 46375 events, 6790549us elapsed, 146.43us avg, min 54us max 1709us 81.564us rms
icm20689: bad register: 0 events
icm20689: bad transfer: 4284 events
icm20689: FIFO empty: 0 events
icm20689: FIFO overflow: 1 events
icm20689: FIFO reset: 2 events
icm20689: DRDY interval: 375585 events, 124.93us avg, min 99us max 250us 2.322us rms
INFO [drivers_accelerometer] /dev/accel device instance: 0
INFO [drivers_accelerometer] calibration scale: 1.02174 0.99918 0.98338
INFO [drivers_accelerometer] calibration offset: 0.76124 -0.00725 -0.16437
INFO [drivers_gyroscope] /dev/gyro device instance: 0
INFO [drivers_gyroscope] calibration offset: -0.08153 0.02432 0.00050
2020-06-04 20:58:40 -04:00
Daniel Agar
d1c12ac7cf
boards: mRo Control Zero fix IMU rotations
2020-06-04 11:34:31 -04:00
Mirko Denecke
4a637a5c54
Hex CubeOrange: enable DMA for SPI1
2020-06-04 10:25:52 -04:00
Mirko Denecke
61a2dd8ec6
Hex CubeOrange: limit slew rate so IMU works with DMA
2020-06-04 10:25:52 -04:00
Mirko Denecke
b4e39f91a4
Hex CubeOrange: no LSE available
2020-06-03 21:09:50 -04:00
Mirko Denecke
3e4179cc88
Hex CubeOrange: fix comment calc of PLL
2020-06-03 21:09:50 -04:00
Daniel Agar
6c96748e54
boards: pixhawk mini add unused MPU9250 CS & DRDY pins
2020-06-03 04:03:27 -07:00
David Sidrane
73bb18a053
px4_fmu-v6x: Limit Slew rate So IMU works with DMA
...
The defualt in NuttX is OSPEED of 50Mhz. This is realy a slew
rate control. At the default high slew rate the overshoot was
.7 Volts. On a ICM20649 this was causing the device to output
garbage. All 0s
N.B. A passive scope or Logic analyser's probes load will mask
the failure. Useed a FET probe to verify the issue.
2020-06-02 13:02:51 -04:00
David Sidrane
5d90c31632
Added PX4 FmuV6X
2020-06-02 13:02:51 -04:00
Mirko Denecke
86cd1d0802
Hex CubeOrange: fix comment for TONE_ALARM_CHANNEL pin
2020-05-29 23:44:17 +01:00
Mirko Denecke
b5ff82bccc
Hex CubeOrange: remove CAN Silence Silent mode pins
2020-05-29 23:44:17 +01:00
Mirko Denecke
fd600d7eed
Hex CubeOrange: remove LSM303D
2020-05-29 23:44:17 +01:00
Matthias Grob
88c21337fa
Make all battery sensor drivers report their sample interval
...
To make use of the time abstraction in the leaky integrator.
2020-05-25 11:04:24 +02:00
Daniel Agar
1c0925a189
Hex/Proficnc Cube Orange support
...
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
Co-authored-by: Jacob Crabill <jacob@flyvoly.com>
2020-05-23 18:31:46 -04:00
Julian Kent
dd9c82eb20
systemcmds/gpio: Add nsh command to manipulate/read GPIO
...
* Add basic GPIO test app for R/W on pins from nuttx shell
* Add gpio command to fmu-v3 and fmu-v4
* Sanitize gpio commands by pin configs, --force to override
2020-05-23 11:47:40 -04:00
David Sidrane
04db5391fc
px4_fmu-v5x:Fix PG11 assignment
2020-05-23 11:46:00 -04:00
David Sidrane
b2153c7f2f
px4_fmu-v5x:PG6 is free GPIO
2020-05-23 11:46:00 -04:00
David Sidrane
7f84ed57dd
px4_fmu-v5x:Using SE050 not A71CH
2020-05-23 11:46:00 -04:00
David Sidrane
637578b8be
px4_fmu-v5x:Correct trace connector description
2020-05-23 11:46:00 -04:00
Daniel Agar
951969ba00
drivers/imu/invensense: new ICM20948 driver on SPI with AK09916 mag
2020-05-22 00:09:30 -04:00
Beat Küng
9c6f42a867
v5x defconfig: increase TELEM2 UART TX buffer size to 3000
...
Required for very high-rate log streaming @3MBit baudrate.
2020-05-20 09:12:50 +02:00
Daniel Agar
678c3fe8e4
boards: px4_fmu-v5_optimized don't build all mags
2020-05-07 15:21:15 -04:00
Daniel Agar
1cce549b2b
boards: holybro_durandal-v1_stackcheck don't build all mags
2020-05-07 15:21:15 -04:00
Daniel Agar
04113b4d57
commander: changes when USB connected
...
- skip avionics rail voltage check when USB connected
- skip forced reboot on USB disconnect if circuit breaker set
- avionics voltage preflight check don't silently fail if system_power unavailble
- explicitly set supply check circuit breaker (CBRK_SUPPLY_CHK)
2020-05-06 13:53:54 -04:00
Daniel Agar
746a8f5cf9
commander: reboot/shutdown usability fixes
...
- always check with state machine before reboot/shutdown
- respect BOARD_HAS_POWER_CONTROL (shutdown from command, low battery, power button)
- px4_shutdown_request add optional delay and always execute from HPWORK
- px4_shutdown_request split out px4_reboot_request
2020-05-06 13:53:54 -04:00
Daniel Agar
28d2aca699
boards: include all procfs entries on boards that aren't flash constrained
2020-05-01 20:59:57 -04:00
Daniel Agar
8d0c92003a
boards: remove all CONFIG_NXFONTS_DISABLE*
2020-05-01 20:59:57 -04:00
Daniel Agar
d89b7804f7
boards: initial CUAV X7Pro support (not complete)
...
- this is booting and functional, but still missing a few things
- still needs full PWM output, verification of all sensor rotations and IO, etc
2020-05-01 20:59:28 -04:00
Daniel Agar
76cfd8fa39
boards: add nxp fmuk66-v3 and rddrone-uavcan146 socketcan builds
2020-04-30 15:04:08 -04:00
Daniel Agar
3e5f85b47b
uavcannode: add distance_sensor (all possible instances)
2020-04-30 14:52:06 -04:00
Jakub Kákona
dfa5ca1710
FlightGear simulator support ( #14539 )
...
- Add flightgear_bridge submodule.
- Add traget px4_sitl_nolockstep with disabled LOCKSTEP simulation.
- Add flightgear viewer targets and startup scripts
- Add a few possible vehicles plane (rascal), autogyro (tf-g1), and rover (tf-r1))
Co-authored-by: Vit Hanousek <vithanousek@seznam.cz>
2020-04-29 08:46:59 +02:00
Beat Küng
34c75f2d36
boards: temporarily disable UART TX DMA
...
work-around for https://github.com/PX4/Firmware/issues/14659 .
This can be reverted when fixed properly.
2020-04-27 08:47:46 -04:00
Daniel Agar
5739cf27e5
boards: delete obsolete commented config systemcmd
2020-04-26 22:34:34 -04:00
Roman Dvořák
75fe3bee8c
drivers/rpm: add simple RPM message simulator (dummy publisher)
2020-04-25 09:10:11 -04:00
Daniel Agar
06478d9997
delete obsolete SENSORIOCSPOLLRATE/SENSORIOCRESET and systemcmds/config
2020-04-15 23:33:41 -04:00
Daniel Agar
7c7ee115e3
boards: px4_io-v2 defconfig optimizations to save memory
...
* disable CONFIG_ARMV7M_MEMCPY to save flash
* disable CONFIG_LIB_BOARDCTL
* remove unnecessary pthread and task settings
* reduce preallocated watchdogs
* reduce console buffer size
* reduce IDLE thread stack
* reduce user main stack
Co-Authored-By: David Sidrane <David.Sidrane@Nscdg.com>
2020-04-15 23:17:44 -04:00
mcsauder
6548fde024
Whitespace cleanup to quiet new blank line at EOF git hook.
2020-04-15 23:00:39 -04:00
Daniel Agar
1ac6230758
boards: always change default IMU_GYRO_RATEMAX on px4_fmu-v2/v3 and mro_x21
...
- this can lower cpu usage considerably on older boards
2020-04-15 21:52:02 -04:00
Daniel Agar
588195f46c
boards: px4/fmu-v4pro cleanup rc.board_sensors
...
- board has either an icm20602 or icm20608g, not both
- probe all typical externally compasses
2020-04-13 15:52:45 -04:00
Daniel Agar
66eacd24bc
px4_fmu-v5_stackcheck: update stack sizes and add to Jenkins
...
- increase stack sizes to run cleanly under stackcheck
- this is likely overkill for most boards, but using stackcheck to set our minimum ensures we have a very safe margin on regular builds and it's something we can currently afford
- remove holybro_durandal-v1_stackcheck from test rack (there's only one unit)
2020-04-11 21:16:10 -04:00
Daniel Agar
276b2cad5a
boards: fmu was renamed pwm_out
2020-04-11 14:18:55 -04:00
Daniel Agar
55fc0cbdc7
boards/px4/fmu-v4: fix internal hmc5883 start
2020-04-09 15:54:10 -04:00
Beat Küng
8338f4e543
uvify/core: enable tx dma on telem2
2020-04-09 14:59:28 +02:00
Beat Küng
31937c280d
px4/v4: enable tx dma on telem2
2020-04-09 14:59:28 +02:00
Beat Küng
cbed023334
px4/v{2,3}: enable tx dma on telem2
2020-04-09 14:59:28 +02:00
Beat Küng
68e1172bb5
px4/v5x: enable tx dma on telem2
2020-04-09 14:59:28 +02:00
Beat Küng
c713ce721e
KakuteF7: enable SPI DMA for SPI 4
...
DMA for SPI 1 left disabled because the SD card does not work when enabling
it.
2020-04-08 15:31:51 -04:00
Daniel Agar
a89bba470a
boards: STM32F76xxx/STM32F77xxx linker add ITCM RAM and .ramfuncs handling
...
- this doesn't currently change anything, but gets us ready to start
experimenting with using the small amount of instruction tightly memory
on STM32F7
- the .ramfuncs section works with NuttX CONFIG_ARCH_RAMFUNCS
2020-04-08 13:20:54 -04:00
Daniel Agar
7aa7f0ed95
switch remaining boards to new InvenSense IMU drivers
2020-04-07 09:59:12 -04:00
Daniel Agar
da383064c6
NuttX update with STM32H7 SPI DMA support
...
- holybro durdandal enable SPI DMA
2020-04-06 22:08:45 -04:00
Julian Oes
f650b91718
battery: check source param inside battery lib
...
This moves the handling of the BAT%d_SOURCE param inside of the battery
library. Users of the library now pass the source instead of the flag
whether to publish. The battery library then checks if the source is
selected using the param and publishes accordingly.
Since we removed the strange system_source flag, we now need to look at
all batteries in commander.
For current estimation - I think - it makes sense to sum them up.
2020-04-06 15:56:54 +02:00
Julian Oes
b01cdafcf6
boards: add esc_battery to build
2020-04-06 15:56:54 +02:00
Julian Oes
509b8b6b4b
First skeleton for esc_battery module
2020-04-06 15:56:54 +02:00
Daniel Agar
ad559a66a1
examples: add simple work_item example module
2020-04-06 09:43:55 -04:00
David Sidrane
025799248c
holybro_durandal-v1:Ensure SDMMC power seqensing is clean
2020-04-04 09:39:53 -04:00
Daniel Agar
40b1043e12
NuttX boards minor lpwork and init stack increases
2020-04-02 23:39:17 -04:00
Daniel Agar
15332a7e56
boards: reduce CONFIG_NFILE_DESCRIPTORS 20 -> 15
2020-04-01 16:17:14 -04:00
Daniel Agar
7c8ab49eb9
boards: mro_ctrl-zero-f7 fix i2c
...
- STM32_HSI_FREQUENCY 24 MHz -> 16 MHz (required for NuttX stm32f7 i2c)
2020-04-01 14:27:33 -04:00
Daniel Agar
02f4ad61ec
I2C/SPI require device type in constructor
2020-04-01 12:24:22 -04:00
Daniel Agar
1cc8e4dc1a
distance_sensor/vl53l0x: move to PX4Rangefinder and cleanup
2020-04-01 10:06:08 -04:00
Daniel Agar
baa50a1985
boards: omnibus/f4sd add board_dma_map.h
2020-04-01 10:42:09 +02:00
Daniel Agar
ca81175b07
rename drivers/px4fmu -> drivers/pwm_out
...
- split out header
2020-03-31 19:12:31 -04:00
Daniel Agar
39b47e63b5
boards: airmind mindpx-v2 switch to new mpu6000 and mpu6500 drivers
2020-03-31 16:28:45 -04:00
Beat Küng
cc6ae7ad41
fix omnibus/f4sd: bmp280 start
2020-03-30 15:52:41 -04:00
Beat Küng
fc3b497b41
omnibus/f4sd: switch over mpu6000 driver
...
I'm seeing 'mpu6000: FIFO empty: 49 events' increasing, but that is
epxected as there's no DRDY.
2020-03-30 15:52:41 -04:00
Daniel Agar
a38d4192ab
boards: airmind mindpx-v2 fix L3GD20 DRDY pin
2020-03-30 09:21:00 -04:00
Peter van der Perk
9490f41f85
rddrone-uavcan146 removed shared clock between hrt & rtc
...
Removed non-existing SW2 button
Fixed SW3 button pinmux
Added FlexCAN pin definition
hrt use external sirc clock
rtc use 32khz lpo clock
2020-03-28 06:31:11 -07:00
Travis Bottalico
e898b7f110
- Remove RC_SERIAL_SINGLEWIRE, this broke Spektrum radio on last commit
...
- set FSYNC INT pins to 0 to be safe
2020-03-26 13:54:12 +01:00
baumanta
2103b8f7de
fmu-v5_optimized: disable esc_calib
2020-03-26 08:00:30 +01:00
Daniel Agar
44bec269b0
boards: update all NuttX configs CONFIG_NSH_MAXARGUMENTS 12 -> 15
2020-03-25 17:59:22 -04:00
Peter van der Perk
a4e6f96365
rddrone-uavcan146: HRT & RTC timer support
2020-03-25 16:37:28 -04:00
Hyon Lim
2b54e19adf
Script: As recent driver refactoring checkes start argument first, we change script accordingly.
2020-03-25 16:16:45 -04:00
Hyon Lim
fd0ea29fc6
Board support: UVify Core. As Core is not using SPI4 as external, SPI4 external interface related code removed.
...
Also, PMW3901 flow sensor is added on SPI2 bus.
2020-03-25 16:16:45 -04:00
Hyon Lim
1161dac875
Script update: PMW3901 driver argument has changed. so we change scripts and SPI interface.
2020-03-25 16:16:45 -04:00
Hyon Lim
e8f0c8e239
NSH argument stack increased. Specific MAVLink configuration requires more than 12 parameters.
2020-03-25 16:16:45 -04:00
Hyon Lim
afcf0960df
IFO-S RGB LED app setting has been changed.
2020-03-25 16:16:45 -04:00
Hyon Lim
15f997d337
Airframe: IFO-S setup is added.
2020-03-25 16:16:45 -04:00
Daniel Agar
f4e2cd36d4
add new invensense/mpu6500 driver for airmind mindpx
2020-03-25 01:05:38 -04:00
Daniel Agar
f5fe50f839
invensense/icm20608g driver minor improvements
...
- interupt pin set active low and latch
- relax retry timeout if configure failed
- improve configured empty rate (sample rate) rounding
- fix RegisterCheck
- check FIFO count as part of full transfer and reset or adjust timing if necessary
- rename DRV_IMU_DEVTYPE_ICM20608 -> DRV_IMU_DEVTYPE_ICM20608G
2020-03-25 01:05:38 -04:00
Daniel Agar
a13e8e573e
boards: fmu-v2/v3 rc.board_sensors remove obsolete hmc5883 argument
...
- try to keep fmu-v2/v3 mostly in sync
2020-03-24 09:46:20 -04:00
Beat Küng
81dc73b752
fmu-v5_optimized: disable bl_update
...
to reduce FLASH usage
2020-03-24 09:46:20 -04:00
Beat Küng
7ea8dff8db
spi: do not deselect other chip-selects
...
And make sure on reset & init everything is deselected.
Reduces CPU load on a pixhawk cube by almost 1%.
2020-03-24 09:46:20 -04:00
Beat Küng
6a41c9e417
refactor fxos8701cq: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
5fa4cd1019
refactor fxas21002c: use driver base class
2020-03-24 09:46:20 -04:00
Daniel Agar
974cb30b6d
nxp_rddrone-uavcan146 ignore i2c for now (platform support is incomplete)
2020-03-24 09:46:20 -04:00
Beat Küng
b156fe5787
boards: remove deprecated SPI + I2C defines from board_config.h
...
chip-selects are deselected in stm32_spiinitialize()
2020-03-24 09:46:20 -04:00
Beat Küng
f74474dd55
fmuk66-v3: fix spi bus numbering passing to px4_spibus_initialize
...
Fixes an error on bootup ([boot] FAILED to initialize SPI port 0). Other
than that, everything was working.
2020-03-24 09:46:20 -04:00
Beat Küng
04cffce992
refactor aerofc_adc: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
030ba24f53
refactor pca9685: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
6588dd0861
refactor icm20948: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
924f46ee28
refactor icm20608g: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
c4a19c8852
refactor icm20689: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
609eafd4cd
refactor l3gd20: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
6cf4de9e02
refactor lsm303d: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
3423809cd9
refactor ism330dlc: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
00280d55c2
refactor rm3100: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
74db018012
refactor lsm303agr: use driver base class
2020-03-24 09:46:20 -04:00
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
17761acd49
refactor adis16497: use driver base class
2020-03-24 09:46:20 -04:00
Beat Küng
1f152d7d43
refactor adis16477: 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
rolandash
7d7fe9e4da
Add onboard qmc5883 support for MindPX/MindRacer.
2020-03-20 13:19:53 -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
Daniel Agar
46e5364580
InvenSense ICM-42688-P IMU driver
...
This is a new InvenSense sensor with max output data rate of 32 kHz (both accel & gyro), on board anti-aliasing filter, optional higher resolution output (18 bit accel, 19 bit gyro), and clock sync.
2020-03-20 13:01:02 -04:00
SalimTerryLi
dc8e775d8f
ADC: replace ioctl with uorb message ( #14087 )
2020-03-20 11:23:32 +01:00
Daniel Agar
0da7040cf5
beaglebone blue add empty px4_spi_buses
2020-03-18 11:55:11 -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
47b329cc54
refactor bmm150: 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
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
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
1b1e1ba31f
refactor ll40ls: use driver base class
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
d81fedfcfa
refactor lps22hb: 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
58f386a81c
refactor pmw3910: 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
c8509892a6
intel_aerofc-v1: add board_dma_map.h and enable SPI1 DMA
2020-03-11 22:08:37 -04:00
Daniel Agar
8c2ba5f39f
mro_x21-777: add board_dma_map.h and enable SPI1 DMA
2020-03-11 22:08:37 -04:00
Daniel Agar
38a10fc7fc
mro_x21: add board_dma_map.h and enable SPI1 DMA
2020-03-11 22:08:37 -04:00
Daniel Agar
f309e3a5ba
mro_ctrl-zero-f7: add board_dma_map.h and enable SPI1/SPI5 DMA
2020-03-11 22:08:37 -04:00
Daniel Agar
5660ea0fd2
av_x-v1: add board_dma_map.h and enable SPI1/SPI2 DMA
2020-03-11 22:08:37 -04:00
Daniel Agar
98108bc4da
airmind_mindpx-v2: add board_dma_map.h and enable SPI1 DMA
2020-03-11 22:08:37 -04:00
Daniel Agar
e24fcee214
modalai_fc-v1: add board_dma_map.h and enable SPI1/SPI2 DMA
2020-03-11 22:08:37 -04:00
Daniel Agar
01b90fefaf
uvify_core: add board_dma_map.h and enable SPI1 DMA
...
- synced with px4_fmu-v4
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
modaltb
707c840fd9
boards/modalai/fc-v1: Maintenance Updates
...
* Add Drotek RM3100 mag to board_sensors
* update to single wire
* Fix inverted FMU outputs from 451af07472
* digital power module update for e9890d01d9
* board doesn't have battery monitoring through ADC or GPIO, rather through I2C only
2020-03-11 09:25:17 -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
37846a177c
omnibusf4sd: disable landing_target_estimator
...
to reduce FLASH size
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
Beat Küng
977b80cee9
omnibus: enable DMA on SPI2 (SD Card)
...
Reduces CPU load by ~10%, and allows to comfortably run the rate loop at
2kHz.
2020-03-09 12:47:43 +01:00
Julian Kent
4bf34a75db
Indicate that omnibus_f4sd is constrained in flash
2020-03-09 09:51:49 +01: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
David Sidrane
cad3a811d2
nxp_fmurt1062-v1:Run from OCRAM
2020-03-02 10:20:33 -08:00
David Sidrane
3ed643f3d7
fmurt1062-v1:Update imxrt_flexspi_nor_boot configurable
2020-03-02 10:20:33 -08: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
Beat Küng
77b854b7c3
omnibus: enable SPI dma + use new ICM-20602 driver (disabled DLPF)
2020-02-25 09:59:52 +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
SalimTerryLi
77a9135036
ADC driver report back vref alone with sample count ( #14136 )
...
* Introduce "px4_arch_adc_reference_v"
* Revert "Introduce "px4_arch_adc_reference_v""
This reverts commit 93691fbbd55a1b8da8c190e225b318067d90399b.
* use structure to return sample count and vref at the same time
* Revert "use structure to return sample count and vref at the same time"
This reverts commit 9cfd1c173cda51495f766a3f678c2202d67725fd.
* Revert "Revert "Introduce "px4_arch_adc_reference_v"""
This reverts commit edb7f7603e4471163ffb0fc6fc62ad2e30336e91.
* fix missed reference
* remove unecessary channel specific vref
* Update src/drivers/drv_adc.h
Co-Authored-By: David Sidrane <David.Sidrane@Nscdg.com>
* Update src/drivers/drv_adc.h
Co-Authored-By: David Sidrane <David.Sidrane@Nscdg.com>
* Introduce BOARD_ADC_POS_REF_V
Co-authored-by: David Sidrane <David.Sidrane@Nscdg.com>
2020-02-21 06:52:45 -08: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
ccf2078c66
nxp/fmurt1062-v1: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
8cd9afc19a
imxrt io_timer: remove some fields from io_timers_t and split out channel indexes
...
IOMUX uses different enumeration from GPIO pin + port, so we cannot use
.gpio_out, and add a .gpio_portpin.
2020-02-13 03:49:16 -08: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
b380278f02
uvify/core: use hw description methods for timer configuration
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
ba4be76bcc
omnibus/f4sd: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
03210f5386
mro/x21: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
bd3fe62fcf
mro/x21-777: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
b3fe4a6691
mro/ctrl-zero-f7: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
451af07472
modalai/fc-v1: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
93106836df
intel/aerofc-v1: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
d2254c2e44
holybro/kakutef7: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
ebbcc01f12
av/x-v1: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
366e2b9dc9
airmind/mindpx-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
c01f6811d0
nxp/fmuk66-v3: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
5319a98fec
durandal-v1: use hw description methods for timer configuration
2020-02-13 03:49:16 -08:00
Beat Küng
4fd431b5e5
crazyflie: 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