Commit Graph

1785 Commits

Author SHA1 Message Date
Beat Küng 7822e5b5c3 posix shell: lots of cleanup and fixes
- move posix-configs/SITL/init/{rcS,10016_iris,6011_typhoon_h480} to ROMFS/px4fmu_common/init.d-posix
  allows for easier unification, only one symlink is required.
  - rcS: add AUTOCNF support. Update scripts to match with behavior of PX4
    master (parameter values, some sitl driver got removed)
- add alias to allow 'set variable value' syntax in scripts to px4-alias.sh
- use px4_getopt
- use separate argument for the test_data directory
- append PATH from within the px4 binary: this simplifies the usage
  w/o the sitl_run.sh script.
- add 'source px4-alias.sh' to all existing sitl startup scripts
- move sitl mixers to ROMFS/px4fmu_common/mixers-sitl
  makes it easier to use existing mixers and sitl-specific ones.
- remove unused rcS_gazebo_delta_wing
2018-08-08 21:09:39 +02:00
Beat Küng 6a49d78c4b logger: remove last references to SYS_LOGGER 2018-08-08 21:09:39 +02:00
Julian Oes 0c5c741b1a add posix shell
squashed & rebased version, not including:
- listener changes
- src/firmware renaming

Commits:

tag_to_version.py: fix Python3 error

subprocess.communicate returns bytes instead of a str which is not the
same for Python3. Therefore, we need to decode the bytes.

cmake: remove folder src/firmware

The folder src/firmware was not intuitive. Why would the binaries for
SITL be inside a src and why even inside a src/firmware folder. Also,
the rootfs was put there which made it even more confusing.

The CMakeLists.txt files are moved into cmake/ and get now called from
the main CMakeLists.txt.

qshell: support for return value

Instead of just sending commands, qshell will now also wait until
the command has finished on QURT and sent back a return value. This will
allow all modules on the DSP side to be spawned from the Linux side
meaning that we only need one config/startup file instead of two.

adb_upload: create folders before pushing

Previously the script failed if the folder on the destination was not
already existing. This therefore makes pushing easier.

posix: spawn PX4 modules in bash

This adds the possibility to spawn PX4 modules out of bash. Basically,
the main executable can now be started as a server/daemon or as a
client.
The server replaces the existing functionality of the main exe with
the pxh shell, however, it also opens a pipe that clients can talk to.

Clients can run or spawn PX4 modules or commands by connecting to the
server over the pipe. They clients will get the stdout and return value
of their commands via a client specific pipe back.

This work will allow to start all modules using a bash script similar to
the way it is done in NuttX where the NuttShell scripts the startup
scripts and starts the modules.

SITL: use new client shell in SITL

This is a first step to use the new shell capabilities for SITL.
The new startup bash script rcS merges (and therefore replaces) the two
existing scripts rcS_gazebo_iris and rcS_jmavsim_iris.

More cleanup will be necessary for the rest of the SITL startup scripts.

Snapdragon: use new shell to start all modules

Instead of different mainapp.config and px4.config files, we can now use
a unified rcS bash script which starts all the modules based on
parameters, mainly the SYS_AUTOSTART param.

Snapdragon: fix the airframe description

pxh: argv needs to end with a nullptr

The comment was wrong that argv needs an additional 0 termination.
Instead it needs a nullptr at the end.

px4_posix_tasks: variable cleanup

The px4_task_spawn_cmd function got a cleanup while debugging, however,
no functional changes.

Snapdragon: move some drivers to 4100 config

These drivers are supported by the community, so they go into the 4100
config.

Snapdragon: update 210qc platform

px4_daemon: use doxygen comments

apps.h_in: fix string printf: use .c_str()

px4_daemon: \b -> \n in printf

px4_daemon: handle error in generate_uuid (close the file on error)

posix main: some clarifications in comment (it's the symlinks not the script aliases)

cmake: remove new install command again

This one was probably wrong and untested. Installing needs revisiting.

POSIX: remove argument USES_TERMINAL

POSIX: copy init and mixer files for SITL

Instead of using non-working install commands, the mixer and startup
files are now copied as part of the build in cmake.

adb_upload.sh: remove leftover commented printf

POSIX main: just the pointer instead of memmove

POSIX main: remove chroot

chroot is removed because it hasn't been used anywhere and seems
untested.

px4_daemon: remove client pipe when cleaning up

px4_daemon: fail if the client pipe already exists

The client pipe is supposed to be specific (by UUID), so the path
shouldn't exist already.

history: limit the number of history entries

This is a protection to avoid filling the memory if we are entering a
lot of commands (e.g. auto-generated).

px4_daemon: add a threadsafe map and use it

px4_daemon: whitespace

px4_daemon: fix client parsing

Sometimes the client ends up reading more than one packet in one read.
The parsing is not made for this and would require a (ring)buffer for
it.

The solution of this commit just reads as much as needed from the pipe
which avoids having to do buffering and parsing.

posix: changes sitl_run.sh and main.cpp cleanup

This changes the paths in sitl_run.sh quite a bit to allow the px4
binary to run in the rootfs directory which should make it convenient
and very close to the NuttX variant.

Also main.cpp got a big cleanup after the big rebase with some
conflicts. Quite some functionality was removed but it has yet to be
seen if it needs to be re-added.

px4_log: cleanup log levels, now they make sense

Before DEBUG and INFO log levels where inverted which didn't make much
sense in my eyes.

dataman: fix path for bash shell

logger: fix paths for bash shell

mavlink: fix paths for bash shell

param: fix path for bash shell

inav: fix paths for bash shell

sdlog2: fix paths for bash shell

ROMFS: add forgotten mixer to list

SITL init: more models, more options

- Support for different models using the unified startup
script rcS.
- Support to choose the estimator by setting the environment variable
  PX4_ESTIMATOR.
- Support to choose the logger by setting the environment variable
  PX4_LOGGER.

rcS: fix string comparison

listener: use template file

Instead of having all of the C++ code inside the Python file it is
nicer to have a separate template file with the C++ headers, etc.

px4_log: add PX4_INFO_RAW for raw printfs

This allows to do custom formatting but is still transported over
sockets to clients.

topic_listener: use PX4_INFO_RAW instead of printf

commander: use PX4_INFO_RAW for status

listener: rewrite to classes and factory

posix: fix some argument warnings

generate_listener.py: by accident changed shebang

listener: big refactor of the generator

Hopefully this makes it easier to read and change in the future.

rcS: manually take over rebase changes

listener: remove leftover try

listener: properly clean up topic instance

rcS: take over some vehicle specific changes

posix-configs: vehicle specifics to separate files

posix-configs: remove leftover lines

uORBDevices: new PX4_INFO_RAW instead of printf

px4_log: just use printf on NuttX

listener: use less binary space, strip on NuttX

generate_listener.py: remove commented code

cmake: fix syntax error from merge

px4_daemon: fixes after rebase of apps.h/cpp fix

px4_daemon: namespace missing

posix: only create stub for fsync on QURT

unitests: reduce dependencies of param test

This makes the unit test compile and link again after the bash changes.

QURT: some compile fixes after a rebase

SITL: arg change for sitl_run.sh to use rcS_test

This allows to use a custom startup file for testing.

SITL: add the folder test_data

SITL: implement shutdown command as systemcmd

The shutdown command needs to be a proper systemcmd, otherwise the alias
and symlink generation doesn't work and we end up calling shutdown of
the host computer which is to be avoided.

px4fmu_test: same IO_pass mixer as px4fmu_default

px4fmu_test: use normal quad x mixer

There is no good reason to use a specific test mixer, except more cmake
code around it. Therefore just use the same mixer as default, and at
some point px4fmu_test and px4fmu_default can get merged

POSIX: cleanup, dir and symlink fixes

This cleans up the logic behind the symlinking and creating directories.

POSIX: correct arg order in usage info

tests: fix paths for SITL tests

POSIX: printf fix

sitl_run.sh: try to make this run on Mac as well

cmake: try to make jenkins happier

Path cleanup, the bin is no longer in src/firmware

POSIX: fix symlink logic

SITL: prefix all exported env variables

cmake: fix path for ROS tests

integrationtests: fix log path

launch: try to make tets with ROS working again

px4_defines: fix after wrong merge deconflicting

px4_defines: get paths for POSIX correct

cmake: fix cmake arguments

This was fine with cmake 3.6 but did not work with cmake 3.2.2

cmake: use cp instead of cmake -E copy

cmake -E copy does not support copying multiple files with versions <
3.5. Therefore, just use cp for now.

ROMFS: fix build error after rebase

cmake: fix paths in configs

launch: use `spawn_model` again

cmake: various fixes after big rebase

param: path fixes after rebase

posix platform: fixes after rebase

test_mixer: fix screwed up rebase
2018-08-08 21:09:39 +02:00
Beat Küng a6f93c30d9 Revert "Move px4io firmware update logic block to rc.io."
This reverts commit 0928112a80.
2018-08-03 10:46:12 -04:00
Beat Küng 5437d55518 rc.sensors: try to start ist8310 on PX4FMU_V2
The Pixhack v3 comes with an external IST8310 in the GPS.
2018-08-02 16:09:36 +02:00
Beat Küng 8ef4f12b61 rc.sensors: fix BOARD_FMUV3, it was unset too early
It's used further down again.
2018-08-02 16:09:36 +02:00
mcsauder 0928112a80 Move px4io firmware update logic block to rc.io. 2018-08-02 12:19:23 +02:00
Daniel Agar ad41744670 wind_estimator add param to enable and start 2018-08-02 08:07:01 +02:00
mcsauder 1fe526b8eb Updated and added full stops to comments and did some comment/whitespace formatting in the startup scripts. 2018-07-31 09:06:03 +02:00
Daniel Agar 658237f36a px4fmu move RC input to new rc_input driver 2018-07-30 10:32:56 -04:00
Daniel Agar 4e05f26659 ms4525 driver extend to support ms4515 2018-07-30 10:24:40 +02:00
mcsauder ac8f44268b Added remaining two channels of PWM_AUX_DIS disarm parameter set commands, remove trailing whitespace from pwm_params_aux.c and pwm_params_main.c, gps/params.c and added block comment headers to separate sections instead of whitespace. 2018-07-30 09:36:44 +02:00
Daniel Agar 28610a2b62 AV-X lps22hb only start on SPI 2018-07-30 00:36:05 -04:00
mcsauder 8da1e67050 Move OUTPUT_MODE logic from rcS to rc.interface. 2018-07-26 08:17:52 +02:00
Daniel Agar 5ec010372c rcS preserve accel, gyro, and temp cal parameters 2018-07-25 07:48:19 +02:00
mcsauder ee3e34cd06 Move UART mapping comments back to top level rcS script. Deprecate PWM_ACHDIS and replace with PWM_AUX_OUT and set PWM_AUX_DIS value directly in vtol airframe config files. Replace tone_alarm instances with tune_control and default tune enums, and relocate an OUTPUT_MODE == fmu logic block in rcS. 2018-07-24 18:44:55 +02:00
Daniel Agar 4818e3abe0 ROMFS cmake combine copy, rc.autostart, prune steps 2018-07-24 10:50:24 -04:00
Daniel Agar 1481015675 ROMFS cmake update dependency handling 2018-07-24 09:12:44 +02:00
Beat Küng 3f615695b6 ROMFS: fix some cmake issues
- every incremental rebuild extended ${config_romfs_files_list}, the
  chached variable was never reset
- cmake -E copy_directory did not remove deleted files

remaining issue: removing a file from the ROMFS & px4_add_romfs_files()
does not trigger the px_romfs_pruner.py COMMANDs to be re-executed.
2018-07-23 18:23:46 +02:00
Beat Küng 3f03288a95 omnibus: add support for Hobbywing XRotor F4 G2
It has an ICM-20602 IMU
2018-07-23 11:04:17 +02:00
mcsauder ec16a4d063 Migrate LOGGER_BUF argument to rc.logging, group OUTPUT_MODE instances closer together by relocating UAVCAN logic block in rcS, and alphabetize hardware specific logic in rc.sensors. 2018-07-20 19:01:33 +02:00
Matthias Grob cc0bc05156 mc_att_control: remove useless parameter MC_YAW_FF
It scales the yawspeed setpoint arbitrarily by default with 0.5.
This makes no sense because when you give a setpoint of 1rad/s then
you expect the setpoint to get executed. If you want manual yawspeed
response to be less agressive on the stick use the scaling parameter
for the stick MPC_MAN_Y_MAX.
2018-07-20 09:26:18 +02:00
mcsauder 4f937a2ff6 Migrate px4io logic into rc.io. 2018-07-19 13:56:03 +02:00
mcsauder bccda56ed3 Re-order hardware specific logic in rc.interface. 2018-07-19 10:35:18 +02:00
mcsauder 6f63553824 Move MNT_MODE_IN / MOUNT_MODE_OUT logic block to rc.interface and move dataman, send_event, and load_mon startup just below uorb and tone_alarm startup in the rcS script. 2018-07-19 10:35:18 +02:00
mcsauder 1fa2a6d26e Continued work to group/condense/consolidate logic in rcS. 2018-07-19 10:35:18 +02:00
mcsauder 1d7dbdddca Add pwm failsafe -c argument to rc.interface, reference issue #9775. 2018-07-18 08:05:31 +02:00
mcsauder 71ceb0cfd6 Copy/paste logic in rc.interface to group MIXER and MIXER_AUX logic, alphabetize hardware list in rc.interface, alphabetize set/unset lists in rcS, and add -p argument to pwm failsafe calls per issue #9775. 2018-07-18 08:05:31 +02:00
mcsauder f9a6c13d55 Group instances of UAVCAN logic into a single block and copy/paste/regroup OUTPUT_MODE logic to form on block of code handling OUTPUT_MODE. 2018-07-17 09:33:50 +02:00
mcsauder e2eb84042e Group hardware specific logic in rcS, deprecate the MODE parameter from rcS, and update comments. 2018-07-16 16:43:01 +02:00
mcsauder ab788ceba7 Update sd card logic statment and comment. 2018-07-13 11:02:26 +02:00
mcsauder f2970071a7 Acronym correction. 2018-07-13 11:02:26 +02:00
mcsauder 2512f6e30e Format and comment fw, mc, vtol, and ugv vehicle apps and default startup scripts. 2018-07-13 11:02:26 +02:00
Daniel Agar 8537863848 delete sdlog2 2018-07-13 09:02:59 +02:00
Mark Sauder 72de9a901d Move additional logic block to rc.vehicle_setup, add rc.vehicle_setup to init.d/CMakeLists.txt, and relocate sd card logic block higher up in rcS. (#9896) 2018-07-12 16:45:19 -04:00
Mark Sauder bb86c5f200 Breakout rc.vehicle_setup from rcS. (#9892) 2018-07-12 14:50:47 -04:00
mcsauder e12acc4b28 Migrate hardware specific mavlink stream cases to rc.mavlink. 2018-07-12 08:10:59 +02:00
mcsauder 8b71bb4562 Breakout rc.mavlink from rcS script. 2018-07-11 09:38:58 +02:00
mcsauder 9386ab6afe Breakout rc.thermal_cal from rcS and group set/unset parameters at the beginning and end of the rcS script. Revert commit 2a3d66cf45 to reduce px4fmu-v2_default flash size. Standardize tabs/whitespaces across all files in the init.d directory. 2018-07-10 08:59:38 -04:00
Beat Küng 58c8c50174 frsky_telemetry: add scanning timeout parameter, and set it to 15s
This frees unused RAM in case frsky telemetry is not connected.
2018-07-08 23:24:17 +02:00
Daniel Agar 00c34d8a2b AV-X board support 2018-07-08 10:18:13 -04:00
DanielePettenuzzo e15d390f65 rc.sensors: fix 2018-07-03 17:33:18 +02:00
DanielePettenuzzo 0cc5a41bb8 rc.sensors: start all i2c distance sensor with -a flag 2018-07-03 17:33:18 +02:00
Roman e1117d175b ROMFS: updated deltaquad autoconfig params
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-03 08:53:30 +02:00
Hamish Willee 7402d8223b Fix up references to pixhawk.org 2018-07-02 13:11:15 +02:00
Roman 863cd52714 ROMFS: fixed some naming inconsistencies for the HITL VTOL model
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman 220068acb6 ROMFS: use more appropriate autostart ID for standard vtol hitl
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman d70e90f174 ROMFS: remove unnecessary params from hitl vtol config
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman b37ff23708 ROMFS: indicate that the hitl vtol config is for the gazebo standard vtol model
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman 1dea998be5 ROMFS: clean up quad x tailsitter mixer files
- use mixer for the simulation to the sitl mixer dir
- do not use virtual elevator in the mixer for the real vehicle

Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman 484a939779 added MAV_TYPE to standard vtol hitl config
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Roman 9546daadea ROMFS: added autostart and mixer file for standard vtol in hitl
Signed-off-by: Roman <bapstroman@gmail.com>
2018-07-02 13:09:35 +02:00
Mark Sauder d3c169b1e0 Fix whitespaces in PreflightCheck.cpp, tilt_quad.aux.mix, and tilt_quad.main.mix 2018-06-28 20:20:32 -04:00
DanielePettenuzzo 82b3e57abb rc.sensors: look for airspeed sensors on all busses 2018-06-21 07:37:53 +02:00
Philipp Oettershagen 7a82c777b2 LandDetector FW: Fix param min/max values and descriptions as well as some variable names which were wrong/outdated (#9708) 2018-06-20 16:13:33 -04:00
Ricardo Marques bf0a1f05fb Tilt-Quadrotor Mixer and Airframe files (#9496) 2018-06-20 10:35:05 -04:00
Beat Küng a76c82f5f2 airframes: update 4050 generic 250 racer defaults
- P and D gains are too high for a racer
- default I gain is too low (0.25 is still quite low)
- use the thrust curve param instead of TPA
- improve responsiveness in Manual & increase max tilt angle to 60 degrees
- enable one-shot
- enable high-rate logging profile
- disable RC filter
2018-06-09 17:00:35 +02:00
Beat Küng f8dd833a14 onmibus-f4sd: add ADC support 2018-05-31 19:13:00 +02:00
Beat Küng 77cea8844f ROMFS: fix SYS_USE_IO==0
When SYS_USE_IO was disabled, px4io would not start and thus there was no
RC. SYS_USE_IO=0 is interesting on Quads to avoid the IO and reduce output
latency.

Tested on Pixhawk 1 and Pixhawk 4
2018-05-28 19:03:33 +02:00
Beat Küng c9d179676e simple mixer: make output scalers O: optional and use default values instead
Reduces FLASH usage by about 4KB

Command to replace:
for i in *.mix; do sed -r -i '/O: +10000 +10000 +0 +-10000 +10000/d' $i; done
2018-05-25 07:57:08 +02:00
DanielePettenuzzo 28f616b1c1 crazyflie: updated default params in config file 2018-05-23 18:32:36 +02:00
Daniel Agar f208241074 SYS_COMPANION add RTPS client option 2018-05-22 20:37:37 -04:00
barzanisar 36131179d3 adding airframe config for s500 (#9342) 2018-05-22 18:39:28 -04:00
DanielePettenuzzo 22868dd5a4 crazyflie: add downsampling to pwm3901 optflow driver 2018-05-22 12:21:45 +02:00
DanielePettenuzzo f49fd2acc7 crazyflie: increase imu reading rate 2018-05-22 12:21:45 +02:00
DanielePettenuzzo b822966e8e crazyflie: support for sd card board via SPI 2018-05-22 12:21:45 +02:00
DanielePettenuzzo 56acce4491 rcS: start vl53lxx and pmw3901 drivers 2018-05-22 12:21:45 +02:00
Beat Küng 527070bb35 rcS: update default params for Omnibus F4 SD 2018-05-20 11:54:17 +02:00
nathan f754d092f8 Initial omnibusf4sd target support
Flight tested: ekf2 w/ mag and compass by @nathantsoi: https://logs.px4.io/plot_app?log=79b81031-cf1e-41f0-890b-d6cd7d559766

NOTE: external I2C devices need a pullup. I have tested with a 3.3v 2.2k pullup.

Working:
 - mpu6000, bench tested and verified via nsh
 - fmu
 - all 6 ch output bench tested w/ pwm and oneshot via nsh
 - ppm input bench tested
 - dsm input bench tested
 - bmp280, bench tested and verified via nsh
 - hmc5883, bench tested and verified via nsh, but requires an external i2c pullup
 - gps on uart6
 - startuplog, nsh, mavlink on uart4, but params are not sent for some reason. RSSI pin is TX, MOTOR 5 is RX (normal mode, 57600 baud)
 - rgbled over i2c, bench tested and workingp
 - sbus via the shared sbus/ppm pin (which includes an inverter to the mcu SBUS in pin), remove the solder bridge or jumper to the ppm pin before use

Not yet implemented:
  - ADC
  - OSD: passthrough video is untested, use at your own risk until a basic driver is implemented.
2018-05-20 11:54:17 +02:00
Beat Küng 873e036e85 px_romfs_pruner: reduce multiple consecutive spaces into a single space for mixers (#9457)
Reduces FLASH usage by about 3kb.

Plus add a missing cmake dependency.
2018-05-14 14:05:29 -04:00
Daniel Agar f131409bce FW defaults set commander eph, epv, evh thresholds 2018-04-24 00:02:48 -04:00
Beat Küng 64aab8a685 rcS: do not reset COM_FLTMODE* on airframe change
An airframe change keeps all RC params except the flight modes. This fixes
that.
2018-04-17 14:17:20 +02:00
Daniel Agar 95f17d5669 px4fmu_test update mixers 2018-04-09 02:23:26 -04:00
Daniel Agar 3b64325ff8 update px4fmu_test and add px4fmu-v2_test to Jenkins 2018-04-07 22:32:53 -04:00
DanielePettenuzzo 1b7fd5eae7 rcS: initialize TELEM4 on ttyS3 on FMUv5 2018-04-04 12:08:34 +02:00
Phillip Kocmoud c3b64f6d2a Corrected rotation for internal SPI LIS3MDL Sensor on R15 Pixracer 2018-03-28 13:47:22 -04:00
ksschwabe 500a1c808d ROMFS list files explicitly instead of using GLOB_RECURSE (#9107)
* Lists ROMFS files explicity instead of using GLOB_RECURSE

Previously, when ROMFS files that were not airframes were touched, the ROMFS
would not be rebuilt. The ROMFS files are now specified explicityl in a
CMakeLists.txt file that is located in the root ROMFS directory.

Now when one of the ROMFS files is touched the whole ROMFS is rebuilt.

When new files are added to the ROMFS, they need to be explicity added to
the CMakeLists in the ROMFS root directory.

* ROMFS: adds individual CMakeLists files in each subdirectory

Also moves the temporary ROMFS build directory to ${PX4_BINARY_DIR}/ROMFS/genromfs
so that the cmake_install.cmake files and the CMakeFiles directories (generated whenever
are not add_subdirectory() is called) are not generated in the temporary ROMFS directory
from which the ROMFS binary is created.

* cmake ROMFS generate add px4_add_romfs_files function

* ROMFS CMakeLists: adds explanatory comment to px4_add_romfs_files function

* ROMFS CMakeLists: updates copyright headers
2018-03-26 11:19:00 -04:00
Martin Trgina 01f5f8862a Support of HITL simulation for Intel Aero FC (#9132)
* Adding pwm_out_sim
* pwm_out_sim driver will be by default part of Aero FC PX4 Nuttx drivers
* tap_esc is off when SYS_HITL 1
2018-03-22 16:47:58 -04:00
Daniel Agar fd0f31ef50 FW Phantom FPV Flying Wing fix FW_R_RMAX 0 2018-03-21 18:34:52 -04:00
Roman e504dc86b7 fw & vtol startup scripts: don't start wind estimator for now
- need to make some flash space for fmuv2 to avoid user confusion about
why it wind estimator only runs on some platforms

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman df3a3daa0f start wind estimator for relevant platforms
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-21 18:46:58 +01:00
Roman cb30d66cef convergence config: increase multirotor idle speed
- increase the minimum pwm value for multirotor mode since we experienced
the rear motor stalling in certain situations when throttle was low

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-20 21:00:34 -04:00
Kabir Mohammed 7776789b7d rc.sensors : fix startup for lidars on Pixhawk boards (#9058) 2018-03-15 13:26:35 -04:00
Matthias Grob 6317d36ec9 mc_att_control: remove time constant parameter
Because the parameter does not make sense from a control theory
perspective. Either you have a gain with the unit 1/s or an inverse
gain or time constant with the unit s. But the time constant parameter
was neither bound to any exact unit nor did it apply instead of a gain.
Rather it adjusted multiple gains from rate and attitude control
according to an arbitrary scale. This can only by accident lead to
good tuning.
2018-03-15 17:16:14 +01:00
Beat Küng 06df2fcb65 rc.interface: disable AUX mixer on NXPHLITE_V3 2018-03-12 11:56:59 +01:00
Daniel Agar 5335778f6e nxphlite start correct sensors and disable debug 2018-03-11 18:19:12 -05:00
Mohammed Kabir f95f4c5f09 UAVCAN : Correct startup sequence and improve parameter description 2018-03-10 23:09:19 -05:00
Roman 4859cc04dc ROMFS: updated VT_TRANS_THR parameter name change
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-07 14:01:51 +01:00
Daniel Agar 6f47894929 rc.sensors ms5611 driver auto detect ms5607/ms5611 2018-03-06 13:47:37 +01:00
Roman bf097d7fa4 convergence config: increase idle speed in mc mode
- this makes sure that all motors are idling in mc mode. having this too
low can lead to a motor stopping in flight which is critical for
attitude control
- experienced loss of attitude control in RTL during descent prior to this
change

Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-05 15:48:13 -05:00
Daniel Agar 5ef27c5425
mavlink add minimal mode (#8947) 2018-03-04 17:50:28 -05:00
Daniel Agar 38f5f60a1e pwm_out_sim cleanup
- move to ModuleBase
 - strip down to PWM 8 and 16 modes only
 - remove all dead code
 - implement missing pwm ioctls (current value, rates, etc)
 - default rate 50Hz -> 400Hz
2018-03-04 14:12:15 -05:00
Roman ff86d15c13 caipirinha vtol: do not lock elevons in hover mode
Signed-off-by: Roman <bapstroman@gmail.com>
2018-03-01 22:07:36 +01:00
Roman 86c472d8ff ROMFS sitl: added a mixer for the gazebo quad tiltrotor model
Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-22 15:10:22 -05:00
Daniel Agar 4aeb70fcfe rcS move logger startup to rc.logging and end of init
- fixes #8903
2018-02-17 18:09:50 +01:00
Beat Küng 37a082255a rc.interface: enable aux mixer for FMU-v5 2018-02-16 07:58:40 +01:00
Roman 8ec1fb9999 ROMFS: added mixer for tailsitter simulation
- simulated tailsitter needs a virtual elevator since we cannot simulate
elevons yet (liftDrag plugin does not model longitudinal moment Cm)

Signed-off-by: Roman <bapstroman@gmail.com>
2018-02-13 20:47:40 -05:00
acfloria 6be5a0aacc Add AERT mixer 2018-02-13 20:45:19 -05:00
Phillip Kocmoud 4d0964385b Update rc.sensors : mRo X2.1 to enable the LIS3MDL
This change allows the LIS3MDL based GPS magnetometers to autostart on the mRo x2.1.
2018-02-12 21:33:39 -05:00
Daniel Agar f7a17ad5e5
cmake improve ROMFS dependencies for px4io inclusion (#8860)
- fixes #8858
2018-02-09 12:57:34 -05:00
Daniel Agar c7dfd2d17f ROMFS fix LeddarOne nsh init 2018-02-08 19:58:42 -05:00
Beat Küng 4772a25b77 rcS: add clarifying comment for Pixhawk 3 Pro UART port 2018-02-08 14:48:49 +01:00
Haukanes 35acdfa717 Start frsky_telemetry for PX4FMU_V4PRO 2018-02-08 14:46:55 +01:00
José Roberto de Souza 10df6729f3 ROMFS: aerofc: Do not start MAVLink in telemetry if LeddarOne is in use 2018-02-08 11:26:26 +01:00
José Roberto de Souza d0baf95df3 drivers: Add LeddarOne lidar driver
More information: https://leddartech.com/modules/leddarone/
2018-02-08 11:26:26 +01:00
ChristophTobler acaf7cd267 rcS: automate tfmini start
disable mavlink on aero telemetry if tfmini enabled and start on mavlink companion device for others (needs SYS_COMPANION to be 0)
2018-01-31 11:36:06 +01:00
Simone Guscetti 402ad9f48f rcS: partially change rcS to start the modified tone driver
- Start tone_alrm driver after uorb
- Replace tone_alarm $TUNE_ERR with tune_control play -m ${TUNE_ERR}
- TUNE_ERR is a string
2018-01-29 09:45:59 -05:00
ChristophTobler f294445cd0 rc.sensors: start tfmini with appropriate device path for FMUv3 2018-01-27 14:13:28 +01:00
ChristophTobler a63fce86d4 rcs: mention wifi mapping on v4 2018-01-27 00:41:44 +01:00
ChristophTobler 5cfe0e9a0f rcS: update comment on mavlink for FMUv4
Comment was a contradiction
2018-01-27 00:41:44 +01:00
Julien Lecoeur 0e65753568 Iris: set mixer to quad_wide
The geometry was previously quad_deadcat in which front motors are closer to CG and thus more loaded in hover.
quad_wide is the same geometry as quad_deadcat except the CG is centered so all motors are loaded equally.
Flight logs on IRIS with deadcat mixer showed that
- all motors are equally loaded during hover (actuator_outputs 0 to 3 have similar values)
- a negative pitch offset is building up soon after takeoff (visible in actuator_controls)
2018-01-16 16:09:15 +01:00
Beat Küng 5fe203a510 rcS: cleanup defaults for SYS_FMU_TASK & FMUv5 params
- SYS_FMU_TASK is now enabled for PX4FMU_V4 PX4FMU_V4PRO PX4FMU_V5, but
  it's only set on autoconf
- v5 companion is now TELEM2 (same as all other boards)
2018-01-10 07:59:32 +01:00
Beat Küng 48a6a98071 rcS: merge 'ver hwcmp' for different boards, add V5 to px4flow 2018-01-10 07:59:32 +01:00
Beat Küng 92a667fca5 rc.sensors: document sensors for NXPhlite 2018-01-10 07:59:32 +01:00
Beat Küng a56d2ab981 rc.interface: merge 'ver hwcmp' for different boards 2018-01-10 07:59:32 +01:00
Daniel Agar 992db1f415 delete snapdragon_rc_pwm and passthrough config 2018-01-08 03:07:10 -05:00
Lorenz Meier 50bd148f53 Aero: Update maintainer 2018-01-06 12:19:31 +01:00
Lorenz Meier ea545f2813 ROMFS: Exclude FMUv2 in Stampede 2018-01-06 11:35:53 +01:00
Lorenz Meier 6213b2266b ROMFS: Exclude FMUv2 in Axial Racing 2018-01-06 11:35:53 +01:00
Lorenz Meier f79c3bb5ea ROMFS: Exclude FMUv2 in ground vehicle 2018-01-06 11:35:53 +01:00
Lorenz Meier 25141ce184 ROMFS: Exclude FMUv2 in obscure airframe 2018-01-06 11:35:53 +01:00
Lorenz Meier 1930cc2fbe ROMFS: Exclude FMUv2 in VTOL 2018-01-06 11:35:53 +01:00
Lorenz Meier 90e7ce1b96 ROMFS: Remove reference to non-existent board 2018-01-06 11:35:53 +01:00
Lorenz Meier 1cfb441527 ROMFS: Reduce verbosity level 2018-01-06 11:35:53 +01:00
Lorenz Meier 59f56f4a5b Add support for Pixhack detection
This allows to boot a Pixhack 3.0 which is the same as Pixhawk 2.0 / 2.1
2018-01-06 11:35:53 +01:00
Lorenz Meier 31ab496f31 ROMFS: Free additional space 2018-01-05 23:03:02 +01:00
Lorenz Meier dd5524da3d Make boot slightly less verbose 2018-01-05 22:45:12 +01:00
Lorenz Meier 49bed47924 Add TFMini to autostart 2018-01-01 17:38:41 +01:00
Lorenz Meier fa8222e188 Logger: Free some RAM to leave space for mag calibration 2017-12-30 11:24:03 +01:00
Daniel Agar 28d1ec8afe
VTOL defaults set MIS_TAKEOFF_ALT 20 and remove tuning (#8481) 2017-12-17 00:58:23 -05:00
Sander Smeets 423241e7e2 Add forwarding on telem2 normal telemetry option (#8434) 2017-12-09 19:45:47 -05:00
Beat Küng c4ee5c318f px4fmu-v5: make sure the internal ist8310 is detected as internal mag 2017-12-07 17:17:17 +00:00
Avinash Reddy Palleti b1a16840c7 Fix typo error in micrortps_client module
Fixed the typo error in micrortps_client which was causing issue to update
baudrate and other options.
2017-12-01 12:56:45 +01:00
Daniel Agar d6a609c552 FW enable EKF2 synthetic sideslip fusion by default 2017-11-25 21:01:00 -05:00
Avinash Reddy Palleti 456227f39e Add RTPS cmake config for AeroFC
Adding a seperate cmake config to support RTPS messaging on AeroFC. This will
include compiling protocol_splitter and micrortps_client, and starting both
of them at boot time.
2017-11-21 16:51:46 +01:00
sanderux a07a2ebd73 Better scaling for reverse mixer 2017-11-18 13:51:46 +01:00
Beat Küng aa92ef3ca6 airframe 4040_reaper: fix type to quad h 2017-10-19 07:45:40 +02:00
Khoi Tran 1594c80bf4 Add icm20602 to auav-x21 sensors startup 2017-10-15 15:33:25 +02:00
acfloria 5f165e8b3e Add the flaperons again to the AAERTWF mixer 2017-10-12 12:03:22 +02:00
Beat Küng 553c8b38d2 rcS: start mavlink in normal mode on Pixracer for the WiFi module
The config mode uses high rates for many streams, leading to high CPU usage
(9-10% for the mavlink sender). The normal mode contains almost the same
set of messages but at lower rates.
This reduces the CPU load on a Pixracer by 3-4%.
2017-10-11 11:55:59 +02:00
Julian Oes 7229ec2a37 Move throttle check from land detector to posctrl
This commit is an attempt to fix a race condition happening on takeoff
between the land detector and the multicopter position controller.

Previously, an auto-takeoff leads to the following events:

1. A takeoff setpoint is given.
2. The thrust setpoint spikes because we don't enter smooth takeoff yet.
3. The land detector detects a takeoff because of the high thrust.
4. The position controller sees the landed state transition and
   initiates the smooth takeoff. Thrust goes back down.
5. Depending on control gains the takeoff is successful or fails
   if the smoothing takes too long which causes thrust to be too low, so
   the land detector detects land again.

The two obvious problems with this are:
- The intermittent spike.
- The failed takeoff because of the smoothing leads to a delay..

With this change, the logic for a takeoff detection is moved from the
land detector to the position controller.

The events are now:

1. A takeoff setpoint is given.
2. The position controller detects the takeoff setpoint and initiates
   the smooth takeoff.
3. As thrust ramps up, the land detector detects the take off.

In the same way, we now detect the intent to takeoff in manual,
altitude, control, position control in the position controller instead
of in the land detector.
2017-10-09 19:05:15 +02:00
Daniel Agar 38f45d1a9d airspeed sensor startup improvements (#7903) 2017-10-05 14:29:44 -07:00
David Sidrane 10f418a272 nxphlite-v3:rcS move mavlink to UART4 connector P10 2017-10-04 04:49:35 -10:00
David Sidrane 986607b37d PX4_SAME70XPLAINED_V1:Remove unnesasary conditional for FMU mode 2017-09-29 10:13:51 -04:00
Daniel Agar 474f216a0a UAVCAN bootloaders split into separate repository (#7878) 2017-09-29 10:13:51 -04:00
David Sidrane 8fe1abf8ff nxphlite-v3:Add fxas21002c to rc.sensors 2017-09-29 10:13:51 -04:00
Daniel Agar 01b3e6fd25 NuttX upgrade cmake wrapper (#7873)
* NuttX cmake

* px4_macros:Pass the stringified predicate as second arg to static assert

   CC_ASSERT mapes to the c++ static_assert or provides the same
   funtionality for c via the other macros. The c++ static assert
   takes 2 argumants the prdicate and a message. This fixes the
   lacking second argument.

* Updated nuttx and apps submodule to upstream nuttx 7.21+==master

   This is the latest uptake of upstream nuttx and apps.

* ROMFS generate with xxd instead of objcopy

* delete nuttx-patches

* NuttX update submodules to latest px4_nuttx-master

* fix nuttx apps and board dependency

* docker_run update to latest container 2017-08-29

* cmake ROMFS portable sed usage

* NuttX update submodules to latest px4_nuttx-master
2017-09-29 10:13:51 -04:00
David Sidrane 8e4e4fae36 rc.sensors:Align with master 2017-09-29 10:13:51 -04:00
David Sidrane be9c107309 NXPHLITE_V3:Start fxos8700cq 2017-09-29 10:13:51 -04:00
David Sidrane 1682101cff mpl3115a2:Rework per data sheet
The driver appeared to not be finished and was a clone
   of another driver that did not work.
2017-09-29 10:13:51 -04:00