Commit Graph

189 Commits

Author SHA1 Message Date
David Sidrane 1b9ab2a3e2 px4_fmu-v5x:Manifest Update Adde Rev 1 HW and fix VER 1
VER is on BASE
   REV is on FMU
     ver|rev
     bas|fmu
    {0x0000, hw_mft_list_v0500, ...(hw_mft_list_v0500)},
    {0x0001, hw_mft_list_v0501, ...(hw_mft_list_v0501)}, <-- was wrong

    This falsly selected the NO I/O version
2020-12-02 19:56:14 -05:00
Daniel Agar 233949a377 NuttX upgrade to 10.0.0+ defconfig changes 2020-10-28 14:25:25 -04:00
David Sidrane 1e0f3a1e9c px4_fmu-v5x base_phy_DP83848C:Use 32kHz clock for RTC 2020-10-14 14:55:55 +02:00
David Sidrane 7f804b5508 px4_fmu-v5x:Use 32kHz clock for RTC 2020-10-14 14:55:55 +02:00
Beat Küng f927cacd9c v5x: enable eeprom storage on IMU board 2020-10-12 15:22:26 +02:00
Beat Küng 274ccaf57c system: include shutdown lock to BOARD_INDICATE_ARMED_STATE
BOARD_INDICATE_ARMED_STATE was only set during arming, so an external
component might have reset the board during param save, leading to param
loss.

This extends the API to trigger the arming state also while the shutdown
lock is taken.
2020-10-09 08:23:47 +02:00
SalimTerryLi 25eca31e3a
New board Scumaker AirPi HAT for Raspberry Pi B series 2020-10-01 11:22:47 -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
David Sidrane b83fdfda37 px4_fmu-v5x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane 733c1b747b px4_fmu-v5x: Updates for NuttX 9.1.0+ External schedule_note 2020-09-16 21:32:04 -04:00
David Sidrane acea295d5a px4_fmu-v5x Updates for NuttX 9.1.0-
px4_fmu-v5x: defconfig MMCSD enable multiblock
2020-09-16 21:32:04 -04:00
SalimTerryLi 28a6e82698
Introduce new generic ADC driver for ADS1115 chip (#14437) 2020-09-14 11:03:40 -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
David Sidrane 329ed6e273 px4_fmu-v5/v5x: Re-enable TXDMA 2020-08-11 12:27:28 -04:00
Beat Küng ca189fefb7 v5x: use board-specific camera capture pin PI0 2020-08-04 13:37:40 +02:00
Daniel Agar e3d31a881e boards: NuttX disable posix message queues 2020-07-17 17:00:21 -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
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
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
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
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
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 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
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 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
Beat Küng 68e1172bb5 px4/v5x: enable tx dma on telem2 2020-04-09 14:59:28 +02: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
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
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
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 3423809cd9 refactor ism330dlc: 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
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 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 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 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 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
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 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
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 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
Roman Dvořák c8a58c5c9d
drivers: add PCF8583 RPM sensor (#14018) 2020-02-02 12:10:20 -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 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 351c3f7c22 px4_fmu-v5x:Support Nuttx SDIO Fixes 2020-01-08 12:23:01 -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 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
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
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 26b9b0371f px4:fmu-v5x 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