On boot, if board_hardfault_init finds a hardfault stored in BBSRAM, it
checks if there is any data available on stdin to see if there is
somebody there to respond to a prompt. But on boards such as cubeorange
where there is not a serial console by default, the ioctl fails and
bytesWaiting is uninitialized. So it will non-deterministally hang the
boot process with no outside feedback if that value is not zero.
Signed-off-by: Alex Mikhalev <alexmikhalevalex@gmail.com>
There is a platform, NixOS Linux, on which '/bin/bash' is not available.
This commit changes the interpreter to '/usr/bin/env bash' in some
scripts essential to firmware building.
S32K1XX HRT: Allow any channel of any FTM timer to be used
NXP UCANS32K: Enable additional FlexTimers and use FTM5 for HRT
NXP UCANS32K - Change FTM clocksource to system oscillator
NXP UCANS32K - Only need one FlexTimer and channel for PWM output
NXP UCANS32K will have only one PWM header by default
S32K1XX support FlexTimers beyond FTM3
S32K1XX io_timer.c - replace references to Kinetis
S32K1XX io_timer.c correct register names
S32K1XX input_capture.c and pwm_servo.c replace references to Kinetis
- drivers/tone_alarm: move to ModuleBase and purge CDev (/dev/tone_alarm0)
- drivers/tone_alarm: only run on tune_control publication (or scheduled note) rather than continuously
- drivers/tone_alarm: use HRT to schedule tone stop (prevents potential disruption)
- msg/tune_control: add tune_id numbering
- systemcmds/tune_control: add "error" special case tune_id
- move all tune_control publication to new uORB::PublicationQueued<>
- start tone_alarm immediately after board defaults are loaded to fix potential startup issues
- for SITL (or other boards with no TONE output) print common messages (startup, error, etc)
- this relative path was incorrect for the px4io when using the Makefile generator and built for inclusion within another build (eg px4_fmu-v5_default)
- fix gazebo SITL debug
- now prompts you to select vehicle
- devcontainer.json container support https://code.visualstudio.com/docs/remote/containers
- this allows you to jump straight into working within a container (px4-dev-nuttx) on a fresh machine
- also helps with Codespaces https://github.com/features/codespaces
- plugin updates
- cpp extension pack, spell checking, CTest support
- cleanup intellisense
- the backup tag parser was a resource hog and didn't work very well
- fix problemMatcher support so that you can click on a build failure
- Nuttx only process all suspend & resume scheduling notes when top is running, otherwise only track IDLE
- convert cpuload and print load to c++
- delete unused fields from print_load struct
- update hrt_store_absolute_time (previous unused)
* X7Pro adds CAN driver
* UAVCAN timer selection moved to default.cmake
* Modify some details about @CUAVcaijie UAVCAN timer selection moved to default.cmake
* Put some timer parameters to micro_hal.h from board_config.h. Fix all h7 boards
Co-authored-by: honglang <honglang@cuav.net>
It appear that QGC is now resyncing between operation.
This was causing the bl_state to be reset to STATE_PROTO_GET_SYNC
and loosing the state of (STATE_PROTO_GET_SYNC|STATE_PROTO_GET_DEVICE)
Adds a compatible gpiosetevent interface. The helper call the
low level functions while providing a consistent API with
xxxx_ gpiosetevent(uint32_t pinset, bool risingedge,
bool fallingedge, bool event, xcpt_t func,
void *arg);
This wrapper was rjected upstream.
- nuttx in PX4/Firmware (2624730b02ea71fa2bbd28cc424d9bade5766356): 61742342ec
- nuttx current upstream: dc10293feb
- Changes: 61742342ec...dc10293feb
dc10293feb 2020-05-25 Claudio Micheli - [BACKPORT] stm32l4: extend CAN ioctrl with NART/ABOM. Add RTR to CAN header
5735f765e2 2020-05-25 Claudio Micheli - [BACKPORT] stm32: extend CAN ioctrl with NART/ABOM. Add RTR to CAN header
4dc9ae05f5 2020-05-25 Claudio Micheli - [BACKPORT] stm32f7: Add the option to include RTR in CAN header
bdd9e786e1 2020-04-21 Beat Küng - [BACKPORT] stm32f7: add CANIOC_SET_NART and CANIOC_SET_ABOM ioctl's to can driver
- 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)
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.
- 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
- nuttx in PX4/Firmware (2c938af28051250f90baf7c411179b9b01dc5d0c): 7fffab1610
- nuttx current upstream: 66b4f2c4f2
- Changes: 7fffab1610...66b4f2c4f2
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
- NuttX-apps in PX4/Firmware (cf2b0a47ce64ea50e9539689b1b704cd536b9558): 91b6ad6a0d
- NuttX-apps current upstream: 95e105548a
- Changes: 91b6ad6a0d...95e105548a
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
- nuttx in PX4/Firmware (3cee71918ad35d155fcdd5f32770dad98619eb84): 09f0aee352
- nuttx current upstream: ec417d7466
- Changes: 09f0aee352...ec417d7466
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
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.
- 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
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.
- nuttx in PX4/Firmware (b7a83e23c5e50896bb137266cf89ff928dfaae42): d509b1edd7
- nuttx current upstream: bf646dcf46
- Changes: d509b1edd7...bf646dcf46
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>
* 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>
- 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.
- nuttx in PX4/Firmware (4b356c91f2be41dfdadb38270fab01ddb337d3c7): 7b36108b54
- nuttx current upstream: fdf1837077
- Changes: 7b36108b54...fdf1837077
fdf1837077 2020-02-07 Peter van der Perk - [BACKPORT] S32K add support for Nxp drone boards (#224)
f479b26c98 2020-02-07 Peter van der Perk - [BACKPORT] imxrt added missing i2c prescale mask
26dd187034 2020-02-07 Peter van der Perk - [BACKPORT] Kinetis renamed TJA1100 to TJA110X registers
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)
- instrumenting PX4 Matrix and Param methods is too burdensome
- partially restore px4_fmu-v5_stackcheck and holybro_durandal-v1_stackcheck to match default configs
- nuttx in PX4/Firmware (327c7f3672ee5f066ec53dfe1554a02d1aa610da): 2e55ce8ec9
- nuttx current upstream: 9331fda0d7
- Changes: 2e55ce8ec9...9331fda0d7
9331fda0d7 2019-12-10 David Sidrane - [BACKPORT] IMXRT106x USDHC: Support regular GPIO for CD and inversion.
91c80c708b 2019-12-05 David Sidrane - [BACKPORT] imxrt106x:pinout add ALT 8 GPIO_GPT1_CAPTURE[1|2]
32f758f0e9 2019-12-03 David Sidrane - [BACKPORT] stm32f7:Add Serial Tx DMA
- nuttx in PX4/Firmware (22a005c9f4): 2d7920055f
- nuttx current upstream: 398a59aaa4
- Changes: 2d7920055f...398a59aaa4
398a59aaa4 2019-11-29 David Sidrane - [BACKPORT] stm32f7:ethernet: Add some delays so that ifup() does not hog the CPU.
Change PID to 0x4b:
Holybro obtained their own PID and VID but APM did not follow
the PX4 convention of makeing the board_id (0x8b) match the PID)
Incorporated the Upstream Bootloader state sequencing checking change.
Change the usb cout to send all chars in 1 write.