Commit Graph

789 Commits

Author SHA1 Message Date
David Sidrane df73662d66 nxp_fmuk66-v3:Add Full networking support 2020-06-22 18:43:03 -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 8aed6b2240 STM32H7 adds led_pwm driver 2020-06-11 12:02:49 -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
David Sidrane 29d4d7c9fe Update NuttX with stm32h7 sdmmc backport 2020-06-03 12:51:25 -04:00
David Sidrane 7aac0c5ac3 platforms/nuttx/NuttX/nuttx back ports for H7 2020-06-02 13:02:51 -04:00
David Sidrane 9beca65600 stm32_common:board_mcu_version expand to include STM32H7[4|5]
Todate I have not fould a way to differentiate a 74 from a 75.
   as all parts map to Device ID 0x450: STM32H742, STM32H743/753
   and STM32H750.

   One the CPU is fully differentiate in Nuttx, this can be a
   #ifdef.
2020-06-02 13:02:51 -04:00
David Sidrane 19cf2f47ac stm32h7:adc read & clear EOC on init 2020-06-02 13:02:51 -04:00
David Sidrane bd1f69fb76 stm32_common:board_hw_rev_ver Support 16 Bit ADC 2020-06-02 13:02:51 -04:00
David Sidrane 2c9a522f71 stm32_common:adc read & clear EOC on init 2020-06-02 13:02:51 -04:00
David Sidrane 37c1837ceb PX4:stm32_common/ToneAlarmInterfacePWM.cpp Extend for STM32H7 2020-06-02 13:02:51 -04:00
David Sidrane 46276e11b5 NuttX with stm32h7 backports 2020-05-27 10:56:32 -04:00
David Sidrane ef664f3c23 stm32_common:board_hw_rev_ver Fix printing of REV/VER = 10 2020-05-23 11:45:24 -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 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
PX4 BuildBot 70329ce396 Update submodule nuttx to latest Sat Apr 25 12:38:14 UTC 2020
- nuttx in PX4/Firmware (2c938af28051250f90baf7c411179b9b01dc5d0c): https://github.com/PX4/NuttX/commit/7fffab1610d2ea08a95383febd0579e0037b6b51
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/66b4f2c4f2128994f8e8a908d4888f6d37565cfd
    - Changes: https://github.com/PX4/NuttX/compare/7fffab1610d2ea08a95383febd0579e0037b6b51...66b4f2c4f2128994f8e8a908d4888f6d37565cfd

    66b4f2c4f2 2020-04-21 Peter van der Perk - [Backport] Added S32K1XX progmem driver to use the FlexNVM memory
1b3fc1c668 2020-04-10 Peter van der Perk - Added net_trylock so we can call can_input while being in a interrupt handler
2020-04-25 09:14:39 -04:00
Beat Küng 3177b8d763 fix nuttx submodule: point to px4_firmware_nuttx-8.2 branch 2020-04-20 10:07:45 +02:00
Daniel Agar a3ad710623 restore UAVCAN bootloader support
- essentially reverting #7878 minus the obsolete board support
2020-04-19 16:10:09 -04:00
Beat Küng 4817e299f1 nuttx: update submodule 2020-04-16 14:39:16 -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 b64a5783bb Update submodule NuttX-apps to latest Thu Apr 9 20:22:38 UTC 2020
- NuttX-apps in PX4/Firmware (cf2b0a47ce64ea50e9539689b1b704cd536b9558): https://github.com/PX4/NuttX-apps/commit/91b6ad6a0d00ac107088b18588cd54d40e3cb796
    - NuttX-apps current upstream: https://github.com/PX4/NuttX-apps/commit/95e105548a2037f42bf2f13b214ae083b921ff03
    - Changes: https://github.com/PX4/NuttX-apps/compare/91b6ad6a0d00ac107088b18588cd54d40e3cb796...95e105548a2037f42bf2f13b214ae083b921ff03

95e10554 2020-03-30 Peter van der Perk - [Backport] Add CONFIG_NET_CAN support to netinit.c
e17eeb31 2020-03-28 Peter van der Perk - [Backport] netutils SocketCAN suport & candump, cansend tool
2020-04-09 17:18:33 -04:00
PX4 BuildBot 3d27c7313c Update submodule nuttx to latest Tue Apr 7 03:33:04 UTC 2020
- nuttx in PX4/Firmware (3cee71918ad35d155fcdd5f32770dad98619eb84): https://github.com/PX4/NuttX/commit/09f0aee3520ae69eb57aa9e7f41e9d17dc3a9045
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/ec417d7466666801e911e50d72766225ca7790a1
    - Changes: https://github.com/PX4/NuttX/compare/09f0aee3520ae69eb57aa9e7f41e9d17dc3a9045...ec417d7466666801e911e50d72766225ca7790a1

    ec417d7466 2020-04-06 Peter van der Perk - [Backport] FMUK66 SocketCAN driver & Configurable Bitrate support
a3132cf3b7 2020-03-30 Peter van der Perk - [Backport] SocketCAN support
2020-04-07 00:16:52 -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
Matthias Grob 6602e8d16b Support python3 only systems
Ubuntu 20.04 and latest Cygwin come with no Python 2 and no link
from python to python3. To not mess with the system we detect
python3 for seamless support.
2020-03-28 17:02:24 +00: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
Peter van der Perk a4e6f96365 rddrone-uavcan146: HRT & RTC timer support 2020-03-25 16:37:28 -04:00
Hyon Lim 0b3624ab5f To make UVify device compatible with upload script, we changed device name to be more generalized. 2020-03-25 16:16:45 -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 1612f4c2ed SPI: disable SPI locking where possible
It's not possible for buses that run both NuttX and PX4 drivers, e.g.
Pixracer.

Reduces CPU load:
- v5x: 2.5%
- v3 (pixhawk cube): 4.4%
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
PX4 BuildBot 20a8a0231b Update submodule nuttx to latest Sun Mar 15 12:39:29 UTC 2020
- nuttx in PX4/Firmware (048c47d7e2cc686fdd4037cb33bb86ca0ac62c17): https://github.com/PX4/NuttX/commit/db7fb6b6c07120fe97c5c7c1b2fdb46f32b190bc
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/befe53e7f1ed557b7239c9ed564acae7cc72a900
    - Changes: https://github.com/PX4/NuttX/compare/db7fb6b6c07120fe97c5c7c1b2fdb46f32b190bc...befe53e7f1ed557b7239c9ed564acae7cc72a900

    befe53e7f1 2020-03-12 Jari van Ewijk - [BACKPORT] NXP RDDRONE-UAVCAN boards (S32K1XX) - Clean up clock config (#557)
09a23ebf7f 2020-03-12 Jari van Ewijk - [BACKPORT] NXP S32K1XX EVB boards - clock config cleanup (#556)
6c95d5fc33 2020-03-12 Jari van Ewijk - [BACKPORT] NXP S32K1XX peripheral clock fixes (#555)
2020-03-15 13:42:45 -04:00
PX4 BuildBot 249ad0ced1 Update submodule nuttx to latest Wed Mar 11 12:38:18 UTC 2020
- nuttx in PX4/Firmware (ac11b36e74e27ef7054d6386f0fce62108b5f614): https://github.com/PX4/NuttX/commit/bf646dcf46ac4a18c29b1cab4aa5e7a54280782e
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/db7fb6b6c07120fe97c5c7c1b2fdb46f32b190bc
    - Changes: https://github.com/PX4/NuttX/compare/bf646dcf46ac4a18c29b1cab4aa5e7a54280782e...db7fb6b6c07120fe97c5c7c1b2fdb46f32b190bc

    db7fb6b6c0 2020-03-05 Jari van Ewijk - [BACKPORT] S32K1xx boards - Remove unused files (should have been renamed)
2020-03-11 09:45:00 -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
Beat Küng 06712450a7 i2c+spi: add module base class and bus iterators 2020-03-10 10:11:43 -04:00
Beat Küng af15c7d945 i2c+spi: extend hw_description for I2C + SPI 2020-03-10 10:11:43 -04:00
Daniel Agar fca7700746 Update submodule nuttx to latest Wed Mar 4 01:36:16 UTC 2020
- nuttx in PX4/Firmware (b7a83e23c5e50896bb137266cf89ff928dfaae42): https://github.com/PX4/NuttX/commit/d509b1edd736cb7db509a9c86e7ffcde10c4fd45
    - nuttx current upstream: https://github.com/PX4/NuttX/commit/bf646dcf46ac4a18c29b1cab4aa5e7a54280782e
    - Changes: https://github.com/PX4/NuttX/compare/d509b1edd736cb7db509a9c86e7ffcde10c4fd45...bf646dcf46ac4a18c29b1cab4aa5e7a54280782e

    bf646dcf46 2020-03-03 Daniel Agar - [BACKPORT] stm32h7: spi_exchange (no dma) available with CONFIG_STM32H7_SPI_DMATHRESHOLD
    f2a7ef0ade 2020-03-03 Daniel Agar - [BACKPORT] stm32f7: spi_exchange (no dma) available with CONFIG_STM32F7_SPI_DMATHRESHOLD
    7ffc59ba3d 2020-03-03 Daniel Agar - [BACKPORT] stm32: spi_exchange (no dma) available with CONFIG_STM32_SPI_DMATHRESHOLD
    d1c8fdb5fb 2020-03-02 Daniel Agar - [BACKPORT] arm/stm32h7 add STM32H7_SPI_DMATHRESHOLD
    fa8d636118 2020-03-02 Daniel Agar - [BACKPORT] stm32f76xx77xx_dma.h fix DMAMAP_SPI2_RX_2/DMAMAP_SPI2_TX_2
    762d80b217 2020-03-02 Daniel Agar - [BACKPORT] arm/stm32f7 add STM32F7_SPI_DMATHRESHOLD
    4f4bbbbf1c 2020-03-02 Daniel Agar - [BACKPORT] arm/stm32 add STM32_SPI_DMATHRESHOLD

Co-authored-by: PX4 Build Bot <bot@px4.io>
2020-03-03 20:56:48 -05:00
David Sidrane 431f7c16c8 NuttX with PX4 Contrib backported imxrt:Call out to board to set up FlexRAM 2020-03-02 10:20:33 -08:00
David Sidrane cad3a811d2 nxp_fmurt1062-v1:Run from OCRAM 2020-03-02 10:20:33 -08:00
David Sidrane e12bce3a20 px4_add_board:Add Optional LINKER_PREFIX 2020-03-02 10:20:33 -08: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
Beat Küng 6b1ee7bbe2 io_timer_init.h: avoid using timer_channel, as imxrt does not have it 2020-02-13 03:49:16 -08:00
Beat Küng ef36d70cb4 px4_arch imxrt: add hw description constexpr util methods 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 6cdf368776 stm32 io_timer: add support for 16 PWM outputs 2020-02-13 03:49:16 -08:00
Beat Küng 3217b539c6 px4_arch: add hw description constexpr util methods
These will be used in the board configurations.
2020-02-13 03:49:16 -08:00
Beat Küng 418262a131 px4_micro_hal: add PX4_MAKE_GPIO_INPUT and PX4_MAKE_GPIO_OUTPUT
Instead of using macros defined in the board config.
2020-02-13 03:49:16 -08:00
Beat Küng 685be9b3d1 io pins: avoid using GPIO_GPIOx_OUTPUT, use timer_io_channels instead
The whole system now uses timer_io_channels, which will allow the redundant
GPIO_GPIOx_OUTPUT definitions to be removed.
2020-02-13 03:49:16 -08:00