5159 Commits

Author SHA1 Message Date
Daniel Agar
223bc2df0b cm8jl65: move to UART WQ 2019-11-27 20:44:32 -05:00
Morten Fyhn Amundsen
214e9c8244 ll40ls: Fix rotation argument parse bug
Before (introduced in 7b16c3482d8), there was no colon after
the `R` argument in the options specification string (ab:R).

The R should be followed by a colon, because in indicates that
the R option requires an argument, which it does.

So I added a colon.
2019-11-27 11:21:39 -05:00
Daniel Agar
a8ea55d9b6
remove all <cmath> usage
* the NuttX c++ library is incomplete, let's avoid including it until we have a real standard library in place
2019-11-25 10:04:04 -05:00
Daniel Agar
a69e6b92c9 mpu6000: remove unnecessary CDev 2019-11-23 19:20:44 -05:00
Daniel Agar
76bdeca263 rgbled_pwm: remove unnecessary CDev 2019-11-23 19:20:44 -05:00
Daniel Agar
284c9afe32 px4iofirmware delete unused i2c and hx_stream 2019-11-23 18:58:43 -05:00
Daniel Agar
92559f7a85
Bosch bmp280 barometer cleanup 2019-11-23 15:31:22 -05:00
Beat Küng
63b2befeed refactor uorb: rename published to advertised
No semantic change (yet)
2019-11-23 10:10:05 -05:00
Daniel Agar
d648d52ac3
Update submodule GpsDrivers to latest Sat Nov 23 12:39:59 UTC 2019
- GpsDrivers in PX4/Firmware (0913ec7e6df0dfa84203b9a6fed72b1230157d9f): 085a85c48a
    - GpsDrivers current upstream: 781d4f1255
    - Changes: 085a85c48a...781d4f1255

    781d4f1 2019-11-22 Daniel Agar - remove all <cmath> usage
2019-11-23 09:04:20 -05:00
Daniel Agar
75da6e351b mixer: organize by type 2019-11-22 16:48:10 -05:00
Daniel Agar
f271efaf62 local_position_estimator: move to WQ and delete unused SubscriptionPollable 2019-11-22 16:02:54 -05:00
Daniel Agar
c8211dee28 drv_mixer.h - delete unused MIXERIOCGETOUTPUTCOUNT 2019-11-22 15:00:25 -05:00
Daniel Agar
79dc676c8f mixer: move MixerGroup out of Mixer hierarchy and delete mixer.h header 2019-11-22 15:00:25 -05:00
Daniel Agar
5aaf1b100b delete unused md25 driver 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
b213e30597 mpu9250: fully remove dead interval perf counter 2019-11-19 13:43:37 -05:00
Nik Langrind
c34b7019a4 Fix mistake in previoust commit, which could the "hil" argument to
be ignored if px4io were to be started with two or more optional arguments
2019-11-19 08:31:31 +01:00
Nik Langrind
ba5efa5642 px4io: When running HITL, don't publish actuator_outputs. Fixes #13471.
When running in HITL mode, pwm_out_sim publishes actuator_outputs.

px4io unconditionally publishes the uOrb actuator_outputs. When HITL
is configured, the px4io copy of the uOrb has all zeros.

The result is that there are two publications, one valid, and one
all-zeros. This causes the HIL_ACTUATOR_CONTROLS mavlink message
to be incorrect (all-zeros) and the SERVO_OUTPUTS_RAW mavlink
message to be inconsistent, as it takes the data from one or the
other uOrb randomly each cycle.

The fix is to let px4io know that HITL is in effect when it is
started, and modify px4io to suppress publication in this case.

This is a bigger more complicated fix than I would like, but I
think it is conceptually correct.

Signed-off-by: Nik Langrind <langrind@gmail.com>
2019-11-17 11:19:35 +01:00
Daniel Agar
99aae8b891 NuttX use toolchain math.h and avoid empty drivers/Kconfig 2019-11-16 11:43:42 +01:00
Mohammed Kabir
00d00fdca9 drivers: heater: fix module build and startup
- Startup was broken due to unnecessary cyclic check probably introduced during transition to work_queues
- Module never used other than on Teal One which had a hacky heater input GPIO, this enables usage on general boards

drivers: heater: reduce verbosity and simplify commandline options

- We prefer the linux way of only reporting errors and staying quiet when everything is functioning as designed
- Most of the commandline options just read out the values of the system parameters, and one can just check the parameter values directly.

sensor_params: make thermal control parameters system parameters

heater_params: make thermal control parameters system parameters

drivers: heater: remove pin control hacks

- px4_arch_configgpio(GPIO_HEATER_OUTPUT) directly inits the heater pin to OFF, and as a PUSHPULL (TTL totem pole) OUTPUT

drivers: heater: set default device ID to 0
2019-11-16 11:43:42 +01:00
David Sidrane
e847698c9f PX4 System changes Supporting STM32H7
stm32:ToneAlarmInterfacePWM TIM15-TIM17 have a BDTR Register

common:board_crashdump Add H7 support

stm32/board_mcu_version:Support H7

PX4 ADC:Use 32 interface and resoution abstraction

Added PX4 stm32h7 ADC driver

stm32h7:adc fix ADC ready check

fmu: handle BOARD_HAS_PWM==5

cmake: improve error handling for NuttX olddefconfig failures

WorkQueueManager:Quiet loadmon stack warning

camera_trigger:GPIO support < 6 GPIO

Adjust stack sizes (under hw stack check)

PX4 System changes Supporting STM32H7 PX4IO Driver

aerotenna_ocpoc:ADC add px4_arch_adc_dn_fullcount

init.cmake:Track Upstream change needing Make.def at config time

PX4 System changes Supporting STM32H7

NuttX CMakeLists.txt Track upstream changes

Common board_crashdump add header and px4 config

NuttX simplify callinb make libapps

Use UINT32_MAX for error return

drivers:uavcannode NuttX chip is now hardware

drivers:uavcanesc NuttX chip is now hardware

px4io:Avoid Race on AP to PX4 IO upgrade
2019-11-16 11:43:42 +01:00
David Sidrane
36a75b79a4 uavcan:Changes to support Nuttx 7.31+
libuavcan:Update with Kinetis NuttX 8.1+ support

Traking master uavcan changes
2019-11-16 11:43:42 +01:00
Daniel Agar
11b1573961 mpu9250: cleanup main 2019-11-15 10:18:41 -05:00
Daniel Agar
452657face hmc5883: build on linux and qurt 2019-11-14 21:02:52 -05:00
Daniel Agar
99a7491cde
bmp280: build on linux and qurt 2019-11-13 15:16:24 -05:00
Daniel Agar
bcfa2eecd8
ms5611: build on linux (navio2) 2019-11-13 13:01:00 -05:00
Daniel Agar
c5520cbaca mpu9250: start building "NuttX" driver for Linux and QuRT 2019-11-13 09:21:02 -05:00
Matthias Grob
675af4f5f9 uavcan_kinetis: fix flexcan code style
* flexcan: fix code style
* flexcan: exclude from style check to avoid that a different version of astyle breaks indentation again
2019-11-12 20:50:54 -05:00
Daniel Agar
9183f44243 px4_fmu-v4: deprecate boscch pixracer variant and cleanup SPI devs 2019-11-12 11:18:57 -05:00
Julian Oes
00a7ac013c ak09916: fix mag spikes
This fixes spuriously occuring mag spikes in the external mag of Here2.

The reason for the spikes was that the fact that the I2C registers were
not read out correctly as suggested in the datasheet.

Before we were reading out ST1, data, and ST2 in one pass and ignoring
the data ready bit (DRDY) in ST1. This meant that we could run into race
conditions where the data was not ready when we started reading and
being updated as the registers are read.

Instead, we need to check the read the ST1 register first to check the
data ready bit and then read the data and ST2 if the data is ready. By
reading ST2 we then trigger the next measurement in the chip.
2019-11-12 10:04:35 -05:00
Julian Oes
035e81e084 ak09916: cleanup only
Note: the author name was removed because this file has almost no
resemblence with the code written by that author 4 years ago, has been
copied to new places, and was initially commited without author anyway.

Also, my opinion is that the version control system should take care of
attribution, and not outdated comments.
2019-11-12 10:04:35 -05:00
Daniel Agar
1c4e854f93 cmake don't build param "c" files and remove param defines
- these aren't actual source code
2019-11-11 10:25:42 -05:00
Daniel Agar
1fc85da4b0
Update submodule GPSDrivers to latest Fri Nov 8 12:40:32 UTC 2019
- GPSDrivers in PX4/Firmware (085bdd14b41ac3977d612a1cae27f111de7fe4fb): 011959b4da
    - GPSDrivers current upstream: 085a85c48a
    - Changes: 011959b4da...085a85c48a

    085a85c 2019-10-15 Andreas Antener - sbf: invalidating gps position when invalid data is received We have encountered a case where do-not-use values were being reported in velocity fields without a corresponding error code or fix-type 0. This adds a check for known invalid data and sets the appropriate flags.
2019-11-08 09:43:53 -05:00
Beat Küng
073298bc8e
batt_smbus: fix incorrect CLI description 2019-11-08 13:52:23 +01:00
Beat Küng
a5af1c8afc batt_smbus: add missing PRINT_MODULE_USAGE_DEFAULT_COMMANDS() 2019-11-07 10:56:27 +01:00
Beat Küng
f94236dcc9 batt_smbus: fix getopt arguments (-A does not have an argument) 2019-11-07 10:56:27 +01:00
Beat Küng
ce1ae3fcb7 batt_smbus: exit/continue correctly when no device is on the bus 2019-11-07 10:56:27 +01:00
Beat Küng
72e62a62cb batt_smbus: make bus_options const and rename to smbus_bus_options
as it is a global name.
2019-11-07 10:56:27 +01:00
Beat Küng
adad11f247 batt_smbus: remove unused defines 2019-11-07 10:56:27 +01:00
Beat Küng
b487920cf4 fix batt_smbus: add bound checks when accessing argv 2019-11-07 10:56:27 +01:00
Beat Küng
60f55a4fa1 fix batt_smbus: check if module running for custom_command 2019-11-07 10:56:27 +01:00
Beat Küng
f63b55b219 fix batt_smbus: do not block the work queue while suspended 2019-11-07 10:56:27 +01:00
Beat Küng
3f3304fefc batt_smbus: variable init cleanup + remove unused declarations 2019-11-07 10:56:27 +01:00
Beat Küng
32359168d6 smbus: fix invalid memory access in read_word()
read_word() expected 3 bytes (uint16_t + PEC byte), but was passed an
address to an uint16_t value.

write_word() is changed to be type-safe as well.
2019-11-07 10:56:27 +01:00
Beat Küng
6622f04feb uavcan drivers: update code style
Pure refactoring, just running 'make format'.
2019-11-07 10:40:03 +01:00
Beat Küng
6049a95073 uavcan drivers: remove unused code for other OSs/bare metal 2019-11-07 10:40:03 +01:00
Beat Küng
5dff065ec5 uavcan: move to work queue and use MixingOutput
Main UAVCAN protocol handling and ESC updates run on the same thread/wq as
before. There are 2 WorkItems for separate scheduling of the 2, so that
ESC updates run in sync with actuator_control updates. UAVCAN is scheduled
at a fixed rate of 3ms (previously the poll timeout) and on each UAVCAN
bus event.
This leads to roughly the same behavior as before. CPU & RAM usage are
pretty much the same (tested on Pixhawk 4).

Testing done: Motors still work (with feedback), param changes and a
UAVCAN optical flow sensor.
2019-11-07 10:40:03 +01:00
Beat Küng
b7a480b45b refactor uavcan: add stm32 and kinetis drivers directly 2019-11-07 10:40:03 +01:00
Beat Küng
6854b14dd6 esc_report: remove unused fields to reduce message size
esc_setpoint in UAVCAN was just wrong, this is what it really is:
uint7 power_rating_pct      # Instant demand factor in percent
(percent of maximum power); range 0% to 127%.
2019-11-07 10:40:03 +01:00
Beat Küng
0db0981b1b uavcan: remove actuator_direct (no publisher) 2019-11-07 10:40:03 +01:00