Commit Graph

129 Commits

Author SHA1 Message Date
Daniel Agar cb74cb8692 boards: enable CONFIG_ARMV7M_LAZYFPU everywhere 2021-01-12 09:04:38 +01:00
Daniel Agar 763c3b8fda boards: start enabling multi-EKF by default on F7/H7 2021-01-10 17:56:34 +01:00
Matthias Grob 7545249215 Add flight_mode_manager to all targets with mc_pos_control 2020-12-30 10:25:08 -05:00
Benjamin Linne 80068093d6 add esc_battery module to modalai/fc-v1 build 2020-12-29 23:41:22 -05:00
David Sidrane 22bc176885 Added mft for queries 2020-12-02 20:40:23 -05:00
David Sidrane 2247779216 modalai_fc-v1: Use px4_platform_configure 2020-12-02 20:40:23 -05:00
Daniel Agar c60743b306 boards: NuttX increase file name max 32 -> 40 2020-11-08 12:51:59 -05:00
Daniel Agar 233949a377 NuttX upgrade to 10.0.0+ defconfig changes 2020-10-28 14:25:25 -04:00
Tanja Baumann b5ebdb8e41
add system command to get and set system time
* add system_time command for all boards
2020-09-26 13:09:01 -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
David Sidrane 05a415cf4a modalai_fc-v1: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane c8ef85c090 modalai_fc-v1 Updates for NuttX 9.1.0-
modalai_fc-v1: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
David Sidrane e8e463b875 cubepilot_cubeyellow Updates for NuttX 9.1.0-
cubepilot_cubeyellow: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
SalimTerryLi c037dbef21
Rename and move src/drivers/adc to src/drivers/adc/board_adc 2020-09-07 23:09:20 -04:00
Daniel Agar 2c3441aa90 boards: reduce CONFIG_NFILE_DESCRIPTORS 15 -> 12
- reduced now that calibration uses uORB::Subscription
 - can likely be reduced further (perhaps < 8) with additional testing
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
Travis Bottalico e325ca25bb modalai-fc-v1 - update default MAVLink configuration 2020-08-18 20:45:20 -04:00
Daniel Agar e3d31a881e boards: NuttX disable posix message queues 2020-07-17 17:00:21 -04:00
Daniel Agar 13e34b32e6 new Bosch BMI088 IMU driver using FIFOs and DRDY 2020-06-11 12:25:13 -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
Daniel Agar 5e7d2e830d boards: delete old board.h boilerplate 2020-06-08 19:10:33 -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 06478d9997 delete obsolete SENSORIOCSPOLLRATE/SENSORIOCRESET and systemcmds/config 2020-04-15 23:33:41 -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 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 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 ad559a66a1 examples: add simple work_item example module 2020-04-06 09:43:55 -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 ca81175b07 rename drivers/px4fmu -> drivers/pwm_out
- split out header
2020-03-31 19:12:31 -04: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
Daniel Agar 44bec269b0 boards: update all NuttX configs CONFIG_NSH_MAXARGUMENTS 12 -> 15 2020-03-25 17:59:22 -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 00280d55c2 refactor rm3100: 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
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 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
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 692d262e0e refactor voxlpm: 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 be0a205438 refactor ist8310: use driver base class 2020-03-17 23:31:17 -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 e24fcee214 modalai_fc-v1: add board_dma_map.h and enable SPI1/SPI2 DMA 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
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 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
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 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
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
Travis Bottalico 9d2a37b35d Fix hardware detection of Flight Core standalone configuration 2020-02-01 13:06:41 -05:00
Travis Bottalico 9e38fee1c6 [BACKPORT] hrt needs to be running for ADC time out.
From commit 5a1c46deeb
2020-02-01 13:06:41 -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
David Sidrane 8d7bfa805b modalai_fc-v1:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -05:00
Daniel Agar bb09ac0c6d modalai_fc-v1 sync NFILE_DESCRIPTORS, HPWORKSTACKSIZE, and LPWORKSTACKSIZE with v5x 2019-12-09 18:45:27 -05:00
modaltb c5de2cfe0d modalai_fc-v1: Add support for VOXL Flight board defaults, handle default MAVLink setups (#13677)
- Handle out of box config for Flight Core and VOXL Flight
- Handle AUTOCNF use case
- Hard code TELEM2 MAVLink Instace 1 for VOXL Flight
2019-12-09 12:39:17 -05: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
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 4d021fcd42 modalai:fc-v1 BSP Updated to NuttX 8.1+ 2019-11-16 11:43:42 +01: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
Travis Bottalico d657a4ee83 modalai-fc-v1- rotate default orientation 180° yaw 2019-11-02 11:37:30 +00: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 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 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
Igor Mišić f4ee9141cb DShot: updated driver to use NuttX DMA functions (#13233) 2019-10-25 09:49:03 +02:00
Travis Bottalico 1d44231cd4 modalai fc-v1: add dshot support 2019-10-24 02:06:28 -04:00
modaltb 3bbf1cc868 Add support for ModalAI FC1 2019-10-19 12:23:23 -04:00