Compare commits

..

358 Commits

Author SHA1 Message Date
Sander Smeets 48be61160d Float value correction 2017-07-10 21:15:08 +02:00
Sander Smeets 70178266f0 VTOL pusher assist: return vehicle to level position 2017-07-10 21:15:08 +02:00
bresch 81c46b6f92 VTOL Standard - Disable pusher-for-pitch strategy in manual control 2017-07-10 21:13:28 +02:00
Anup Parikh 1cff86025e Fix issue #7525
Add missing `.py` extension to Tools/px4 to fix #7525
2017-07-10 18:48:27 +02:00
Lorenz Meier 57a2ea0cd1 Navigator: Do not change target position if user is only changing altitude
This is important for multicopters for drift-free altitude changes and important for fixed wing to keep the current loiter center.
2017-07-10 18:36:03 +02:00
Lorenz Meier c89bd5c8fd HMC5883: Fix range setup 2017-07-10 08:32:19 +02:00
Daniel Agar 164010ea4c standard plane consistent metadata 2017-07-09 16:36:44 -04:00
Lorenz Meier f2b8291587 Logger: Run at lower priority than core control pipeline
This should ensure that controllers run first and log data copying happens after.
;
2017-07-09 21:59:01 +02:00
Lorenz Meier df173d4d8a Sensors: Do not update calibration when armed. Run at lower priority than attitude control and estimator
This ensures that the massive (several hundred params if temperature compensation is enabled) param load is not done in flight. We also lower the priority to ensure that attitude controllers and estimators which might consume sensor data directly execute immediately, which should reduce their latency.
2017-07-09 21:58:48 +02:00
Lorenz Meier 3bdd0e95dd EKF2: Show time slip on console 2017-07-09 21:58:41 +02:00
Daniel Agar 8ff40d8048 consolidate standard plane configurations 2017-07-09 21:05:03 +02:00
Daniel Agar 585984fa0c fmuservo increase stack 2017-07-09 18:02:55 +02:00
Lorenz Meier 75faf5c7bd Preflight checks: Increase accel warn limit range 2017-07-09 16:38:56 +02:00
Lorenz Meier 80461fad6b Camera trigger: Support triggering one image immediately.
This allows to re-enable the distance trigger and immediately take a picture. This is helpful to ensure survey areas are covered on entry and exit.
2017-07-09 14:49:21 +02:00
Lorenz Meier 1a12326d7d Reserve value in ENUM for simple mode 2017-07-09 14:43:24 +02:00
Lorenz Meier 099a6dfd3e Mission feasibility checker: Improve output messages for humans
Text to speech will work better with these messages and some of them exceeded the 50 character limit.
2017-07-09 14:43:24 +02:00
Lorenz Meier eb5b153d10 MAVLink app: send status text only if connected to something that can actually handle it.
This increases the chance that the operator gets to see the messages that the vehicle emitted before telemetry was connected.
2017-07-09 14:43:24 +02:00
Lorenz Meier 5a8062e646 MAVLink app: Provide function for connected state
If we have not received an inbound heartbeat we are probably not connected and so user-facing output (which is even buffered) should go only out once we are connected.
2017-07-09 14:43:24 +02:00
Lorenz Meier 4ca7187e42 Commander: Do not allow to set mission mode if the mission is failing feasibility checks. Provide clear feedback if telemetry is online and home is set about an invalid mission state. 2017-07-09 14:43:24 +02:00
Michael Schaeuble d53598ed58 UAVCAN: Publish actuator outputs 2017-07-09 14:41:48 +02:00
Daniel Agar 61fd6f4c8a uorb failure print topic name 2017-07-09 14:40:11 +02:00
Daniel Agar f45b9048aa GPS driver increase stack (244 bytes left) 2017-07-09 13:09:22 +02:00
garfieldG a9750f7ccb Fixed formatting 2017-07-09 13:08:49 +02:00
garfieldG be41cf8ba1 Fixed parameters naming and type and added comments 2017-07-09 13:08:49 +02:00
garfieldG 44e148151b Fixed the version naming 2017-07-09 13:08:49 +02:00
Daniel Agar 7a9e31f440 delete unused MPC_XY_FF and MPC_Z_FF (#7563) 2017-07-08 20:57:10 -04:00
Daniel Agar 75a528e061 FW EKF2 and ublox defaults
- closes #7550
2017-07-09 00:24:00 +02:00
Daniel Agar e0aa2e2391 RTL reduce verbosity 2017-07-08 21:54:04 +02:00
Daniel Agar fbebec5d0f navigator log RTL messages and don't print global timeout 2017-07-08 21:54:04 +02:00
Daniel Agar f396224d41 mag calibration add notifications to rotate 2017-07-08 21:54:04 +02:00
Daniel Agar 1a6a871689 commander properly set boot timestamp 2017-07-08 21:54:04 +02:00
Daniel Agar b804616ad0 preflight check airspeed use differential_pressure 2017-07-08 21:54:04 +02:00
Daniel Agar e303c2ad89 eagle tree airspeed allow negative differential pressure 2017-07-08 21:54:04 +02:00
Rogelio 9d9da229cc Add GPS command to all eagle configs 2017-07-08 20:28:30 +02:00
Daniel Agar f11bb401f4 CMD_MISSION_START allow first_item=-1 to leave index unchanged 2017-07-08 19:49:52 +02:00
Lorenz Meier 49bbd0e58d Navigator: Be less verbose 2017-07-08 19:36:58 +02:00
Lorenz Meier d80be2e4ff MAVLink: better output handling 2017-07-08 19:36:58 +02:00
Lorenz Meier 24ffada340 MPU9250: Hold off from reboot a little longer. Fixes #7555 2017-07-08 16:38:18 +02:00
Lorenz Meier 9cd93dcf03 MPU9250: Fix boot on Pixhawk Mini
This requires further investigation. Hotfix.
2017-07-08 16:31:12 +02:00
David Sidrane f722614ec0 mpu9250:Stop per counter on failed read 2017-07-08 15:37:46 +02:00
David Sidrane fbf6532c25 mpu9250:reset the mag on the reset operation
This commit fixed a bug were the mag was orphened on a reset.
   That resulted in MAG timeouts on reset or test operations and
   left the mag in a broken state.
2017-07-08 15:37:46 +02:00
David Sidrane 8bd044e80e mpu9250:mag rework the setup to veify HW first
If the setup is unsucessful fo not register the devices or
   allocate resources.
2017-07-08 15:37:46 +02:00
David Sidrane aec109ac2c mpu9250:mag restructure to have proper retires for setup
We want to setup the mag interface with retries and report
  failurs.

  Move retry logic to contol point, instead of hiding re-reading
  the ID in ak8963_check_id.

  Allow it to fail once to overcome a read of 0 on firt read.
  after 2 failure report error to console and reset the
  mpu9250's I2C master (SPI to I2C bridge)

  The same retry logic is used on the ak8963_read_adjustments
  with a reset of the I2C master module after 5 fails. If it
  fails fter 10 retires. Disabel the mad and report the failure
  on the console, stating it is disabled.
2017-07-08 15:37:46 +02:00
David Sidrane 270dd5282a mpu9250:Add modify checked register api
Provide an API for the mag to use read-modify-write
2017-07-08 15:37:46 +02:00
David Sidrane ef67b75057 mpu9250:Added comment on BYPASSING the internal i2c master bridge 2017-07-08 15:37:46 +02:00
David Sidrane c3addd931c mpu9250:Issue error on console when a device fails to take initialization
On initialization, if after 3 retries to re-init the mpu9250 from
   the checked registers values, it fails. Ensure thath the fact the
   driver is exitting is logged to console.
2017-07-08 15:37:46 +02:00
David Sidrane 3272cc62d4 mpu9250: Do a reasonable post chip init validations, reporting errors
Check that the mpu9250's configured registers match the settings
   written to them. Attempt to fix any that do not up to 3 times.
   printing erros to the console on mismatches and returning
   faliure if after 3 attempts the any of the values are
   still wrong.
2017-07-08 15:37:46 +02:00
David Sidrane 7e293ab1d3 mpu9250:Fix errant comment 2017-07-08 15:37:46 +02:00
David Sidrane 5a53d92f22 mpu9250:Remove foklore delays
Remove delays on each register write in the
   reset function. Leaving only the delay
   following chip reset prior to configurations.
2017-07-08 15:37:46 +02:00
David Sidrane b4d23a3f2c mpu9250:Rmove magic number, add ACCEL_RANGE_G 2017-07-08 15:37:46 +02:00
Lorenz Meier 90fdc544fd MAVLink app: Code style fix 2017-07-08 15:34:36 +02:00
Lorenz Meier ddf32e14de MAVLink app: More print improvements 2017-07-08 15:23:46 +02:00
Lorenz Meier d15dd061f9 MAVLink app: More debug string formatting 2017-07-08 14:36:08 +02:00
Lorenz Meier e8aa5a3172 MAVLink app: Fix non-enabled debug string output 2017-07-08 14:23:46 +02:00
Lorenz Meier 6f368f34d1 MAVLink: Remove non-required safety check 2017-07-08 13:59:35 +02:00
Lorenz Meier 8d8174ea0c MAVLink command retransmission: Reduce RAM footprint and make debug output optional 2017-07-08 12:46:28 +02:00
Julian Oes a13f23f244 timestamped_list: use const ref 2017-07-08 11:52:23 +02:00
Julian Oes 7e1e98b258 timestamped_list: fix comment syntax 2017-07-08 11:52:23 +02:00
Julian Oes 1576094d9f mavlink_command_sender: use const ref 2017-07-08 11:52:23 +02:00
Julian Oes 893b7b5d46 mavlink_command_sender: instantiate in initialize 2017-07-08 11:52:23 +02:00
Julian Oes c66af00753 mavlink_command_sender: fix NuttX build 2017-07-08 11:52:23 +02:00
Julian Oes e6d31f951c mavlink_command_sender: fix logic after first test
- change/add a few printfs so they make more sense
- don't accidentally ignore command_acks
- don't forward commands to the same component id, and don't forward
  commands that are broadcast to all components (target component 0)
2017-07-08 11:52:23 +02:00
Julian Oes af0107ae0a mavlink: add class for command retransmission
This adds a class to allow for retransmission of outgoing commands.
The sent commands are kept in a timestamped list to check if they are
acked as required by the mavlink protocol.
If they are not acked within a timeout, they can be retransmitted.
2017-07-08 11:52:23 +02:00
Julian Oes 9854fc0d84 Set timestamp with vehicle commands
The vehicle_command uORB messages had the timestamp unset at 0.
2017-07-08 11:52:23 +02:00
Julian Oes d64b7706f5 check_code_style_all: accept astyle version 3.0.1 2017-07-08 11:52:23 +02:00
ChristophTobler a5e435808f mavlink log if camera unsuccessful 2017-07-08 11:52:23 +02:00
Lorenz Meier b42c1123a2 ROMFS: Add flaps and gear mixers to all standard planes
It makes sense to have this for all standard planes and our default PWM outputs for MAIN are always 6 wide, so this should scale to all known HW platforms.
2017-07-08 11:50:48 +02:00
David Sidrane 6eff7deb7e Extend the delay ensure post reset pulse delayed.
Given the original poster's comment that "It happens very consistently for us." I suspect the motor spin observed in https://github.com/PX4/Firmware/issues/7457 is not caused by the original issue of slow decay on the PWM pins at reset, but the post reset pulse of 3.1 Ms arriving in a window that the ESC considers it valid.

The results from testing, indicated that the if the PWM pins were clamped low for > 300 Ms, prior to reset the motors did not spin. This would delay the the post reset pulse of 3.1 Ms out by > 300 Ms. 

This change delays the reset and therefore the pulse by at least 400 Ms.
2017-07-08 10:51:43 +02:00
David Sidrane 65d8b5c9cd px4fmu-v4:Insure the discharge of the pins PWM pins on rest.
On resets invoked from system (not boot) insure we establish a low
  output state (discharge the pins) on PWM pins before they become
  inputs.
2017-07-08 10:51:43 +02:00
Jan Liphardt 38fa6dcad5 Clipping of the battery current due to Int*Float
Note that Type buf_adc[i].am_data = int32_t, but everything else are floats. Suggest (float)(buf_adc[i].am_data), precisely as was done a few lines later for the voltage.
2017-07-08 10:23:36 +02:00
Matthias Grob 60c760280e mc_pos_control: fix comment typo "hight" 2017-07-07 18:25:35 +02:00
Matthias Grob b511ccd9fe mc_pos_control: integrate complete order and limits of velocity setpoint calculation
- one warn_rate_limited was missing
- vel_sp_slewrate was in the wrong order for smooth slowdown/speedup on takeoff and landing
- slow_land_gradual_velocity_limit was replaced by calls to math::gradual
- smooth takeoff speed got controllable by user input
- comments were corrected
- an additional check for the sanity of velocity setpoints was added
2017-07-07 18:25:35 +02:00
Matthias Grob 1d7f760a96 mathlib, mc_pos_control: rename functions file and add gradual linear function 2017-07-07 18:25:35 +02:00
Dennis Mannhart 1c2d54397f mc_pos_control: move constraints to the end 2017-07-07 18:25:35 +02:00
Dennis Mannhart 2758a4a6fa mc_pos_control: add warn_rate limit function 2017-07-07 18:25:35 +02:00
Beat Küng c8b9f8afa8 F7 nuttx configs: increase CONFIG_STM32F7_BBSRAM_FILES to 5 2017-07-07 17:06:48 +02:00
Beat Küng 9141bf8386 replay: handle INFO_MULTIPLE & FLAG_BITS ULog messages 2017-07-07 17:06:48 +02:00
Beat Küng c775b07b43 logger: use INFO_MULTIPLE for top & perf output 2017-07-07 17:06:48 +02:00
Beat Küng 209f220288 hardfault_log: move hardfault_store_ulog_filename to logger module 2017-07-07 17:06:48 +02:00
Beat Küng eac657f4b3 hardfault_log: append crash log to last ULog file upon commit
This keeps the separate .txt around, since it's possible that the ULog file
gets corrupt during the crash.
2017-07-07 17:06:48 +02:00
Beat Küng b515873bee ULog: add INFO_MULTIPLE & FLAG_BITS messages
This requires support in the parsers, and thus the ULog file version is
increased.
As long as no data is appended, both, existing pyulog & FlightPlot, can
still read the new logs (they will output a warning).
The replay module will print an error, but still continue.
2017-07-07 17:06:48 +02:00
Beat Küng 1be089cf0c BBSRAM: add another partition and store the last ulog path 2017-07-07 17:06:48 +02:00
Beat Küng 18ea5ec1f8 logger: add git branch name to the log 2017-07-07 17:06:48 +02:00
Lorenz Meier 91144f502f EKF2 build fix 2017-07-07 08:29:10 +02:00
Hamish Willee 5af62c8e49 Fix up so image links work properly 2017-07-06 22:21:46 +02:00
Hamish Willee 02b1048752 Make default output file name airframes_reference.md, which is expected by our gitbooks 2017-07-06 22:21:46 +02:00
Hamish Willee 8edc70d150 Add anchors for every vehicle in airframes reference 2017-07-06 22:21:46 +02:00
Hamish Willee 7775953289 Fix up airframe URLS to point to the PX4 user guide airframe build info 2017-07-06 22:21:46 +02:00
Paul Riseborough 63cbce6bd3 ekf2: Increase RAM to remove stack space warnings 2017-07-06 22:20:48 +02:00
Paul Riseborough ee75f0eb0e ekf2: Use updated quaternion type def 2017-07-06 22:20:48 +02:00
Paul Riseborough b7a5fd3147 ecl: update to latest master with bug fixes 2017-07-06 22:20:48 +02:00
Lorenz Meier f7ba70a032 MPU6K driver: Ensure that default range is always 16g by default 2017-07-06 22:15:53 +02:00
Daniel Agar 1c7833e3b1 airspeed calibration simplify logic 2017-07-06 10:05:07 -04:00
Daniel Agar eb067291bf airspeed sensors apply offset separately 2017-07-06 10:05:07 -04:00
Daniel Agar c45d369004 ms5525 use int64 for calculation 2017-07-06 10:05:07 -04:00
Daniel Agar b66b734a74 rcS move additional sensors to rc.sensors 2017-07-06 10:05:07 -04:00
Daniel Agar 95eaac6876 bmp280 properly cleanup if failed 2017-07-06 10:05:07 -04:00
Daniel Agar 936f92fd0b airspeed verify using filtered differential pressure 2017-07-06 10:05:07 -04:00
Daniel Agar 72969f00d7 airspeed calibration error_count is uint64_t 2017-07-06 10:05:07 -04:00
Daniel Agar 32068dcd17 px4io increase stack 2017-07-06 10:05:07 -04:00
Daniel Agar 85d7c7d165 add sdp3x_airspeed to px4fmu configs 2017-07-06 10:05:07 -04:00
Daniel Agar 73d9358b1d meas_airspeed rename to ms4525_airspeed 2017-07-06 10:05:07 -04:00
Daniel Agar 7029be87c0 MS5525 differential pressure driver 2017-07-06 10:05:07 -04:00
James Goppert 66a890d428 Remove mode enum since not used and declare enum type. 2017-07-06 09:02:13 +02:00
James Goppert 9f20730d7e Remove unused sdlog mode handle. 2017-07-06 09:02:13 +02:00
James Goppert 57e0051c42 Fix enum. 2017-07-06 09:02:13 +02:00
James Goppert ac8ef5f338 Formatting. 2017-07-06 09:02:13 +02:00
James Goppert 16f46c15d3 Switch to class enum and cleanup log profiles. 2017-07-06 09:02:13 +02:00
James Goppert 034c0c702a Remove estimator replay log profile. 2017-07-06 09:02:13 +02:00
James Goppert 82d7332f1a Remove log profile set to thermal calibration for PX4FMU_V5. 2017-07-06 09:02:13 +02:00
Beat Küng 784cec1cae logger: check if topic already added & if so only update the interval 2017-07-06 09:02:13 +02:00
James Goppert 15ae3a9eb7 Add estimator replay topics to default. 2017-07-06 09:02:13 +02:00
James Goppert d10a491243 Add logging profiles to logger module. 2017-07-06 09:02:13 +02:00
Nicolae Rosia 2092770361 Integrator: fix comparison
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-07-06 08:48:44 +02:00
Lorenz Meier 9bb3ab4a71 Update SITL module 2017-07-06 07:42:17 +02:00
Lorenz Meier 72e452ba32 Add missing Iris config 2017-07-06 07:42:06 +02:00
imcnanie 629844adff Dodeca mixer using the AUX channels (#7532)
* Added Dodecarotor Mixer

* fixed formatting style

* Renamed dodeca mixers to top and bottom
2017-07-05 22:17:33 +02:00
Beat Küng 1e2ce51c6d LandDetector: fix vehicle flight time
The problem was signed vs unsigned mixing together with 64bit conversion:
int32_t flight_time = ...;
uint64_t _total_flight_time = ...;
_total_flight_time |= flight_time;
When flight_time is negative, the last line would first extend the sign
bit to the upper 32bits of the 64bit uint and then apply the bitwise OR.
The fix is to use an unsigned 32 bit value.
2017-07-04 14:13:18 +02:00
Lorenz Meier f54a6c2999 VTOL Controller: Always read ready topics
When poll returns a ready FD we have to read it, no matter which flight mode the system is in.
2017-07-02 21:52:18 +02:00
Lorenz Meier 1acf547e8b POSIX: Move C/C++ separation 2017-07-02 21:50:42 +02:00
Lorenz Meier ca7c71b759 Update SITL version 2017-07-02 21:50:02 +02:00
Lorenz Meier 5724bef14d VTOL att controller: Code style fix 2017-07-02 20:59:25 +02:00
Lorenz Meier 792b03628f CMake: more clear instructions for python dependencies 2017-07-02 17:15:12 +02:00
Lorenz Meier 5a4714fef2 Track Gazebo submodules more closely 2017-07-02 17:00:08 +02:00
Lorenz Meier 4cae86dc1a Update jMAVSim 2017-07-02 16:59:55 +02:00
Lorenz Meier 82bd13bfe0 Update SITL Gazebo interface version 2017-07-02 16:46:13 +02:00
Lorenz Meier 6ea9c1877b Add version command to PX4 tools directory 2017-07-02 14:43:13 +02:00
Hamish Willee 071cfc2d31 Ensure groups have unique names in TOC 2017-07-01 20:04:46 +02:00
Hamish Willee 6f3b6bf55b Update parser to get class information and create separate groups for each class 2017-07-01 20:04:46 +02:00
Hamish Willee 50140b3d90 Group by vehicle type and add headings 2017-07-01 20:04:46 +02:00
Hamish Willee d88e387013 Fix typo in exported text 2017-07-01 20:04:46 +02:00
Daniel Agar af5256c454 GPS ublox add dynamic model parameter 2017-06-30 08:02:25 +02:00
Daniel Agar c8189b9c23 navigator mission_block check range for loiter exit
- fixes #7510
2017-06-29 21:28:26 +02:00
Beat Küng 6fcd7d9529 estimator_status.msg: fix documentation of innovation_check_flags 2017-06-29 16:06:06 +02:00
Daniel Agar 40d40330b8 delete unused pio 2017-06-29 03:23:39 -10:00
David Sidrane fc25213811 auav-x21:Delete PX4_I2C_BUS_ONBOARD 2017-06-29 07:59:56 +05:30
Mohammed Kabir 0bda4a7edd rc.sensors : correctly start up sensors on AUAV-X2.1 2017-06-29 07:59:56 +05:30
Daniel Agar cd8c8ea5de FW default PWM_RATE 50 2017-06-28 09:13:19 +02:00
Jan Liphardt d5eab23f53 airspeed error message clarification (#7497)
In day to day practice, there are two reasons for fabsf(airspeed.differential_pressure_filtered_pa) > 15.0f

1/ The sensor has not been calibrated. In this case, the sensor needs to be calibrated.
2/ It's a windy day, and the operator has powered up the system without covering the pitot tube. In that case, you need to reboot with the pitot cover in place.

The original message ('Check calibration') is ok, but why not be more direct? The user does not have to "check the calibration" - the user has to (a) either calibrate the system in the first place, or (b) not forget the pitot tube cover when powering up the system.
2017-06-28 00:28:33 -04:00
Lorenz Meier a6ef6c6e33 SITL Launcher: gzserver must be running when gzclient connects 2017-06-27 11:59:29 +02:00
Lorenz Meier dea467bdbd POSIX: Make sure we do not run out of PX4 file descriptors 2017-06-27 11:59:29 +02:00
Beat Küng 0cfa99436f fix 13001_caipirinha_vtol: class should be VTOL 2017-06-27 11:19:55 +02:00
Lorenz Meier 04f9b0400e Add airframe class to hexa 2017-06-27 11:07:03 +02:00
Lorenz Meier f5ff283f17 Quad: Add vehicle class 2017-06-27 11:07:03 +02:00
Lorenz Meier 2ba65a0dcc Various experimental configs: Add class field 2017-06-27 11:07:03 +02:00
Lorenz Meier 51c7d01a19 Plane configs: Add class field 2017-06-27 11:07:03 +02:00
Lorenz Meier 01c074d9e5 Rover configs: add class field 2017-06-27 11:07:03 +02:00
Lorenz Meier 86acaf0159 Quad configs: add class field 2017-06-27 11:07:03 +02:00
Lorenz Meier 49d6853219 VTOL Configs: Add class field 2017-06-27 11:07:03 +02:00
Lorenz Meier ccc4f24ae8 Wing configs: Add class field 2017-06-27 11:07:03 +02:00
Lorenz Meier b78a138f16 Multicopter configs: Add class field 2017-06-27 11:07:03 +02:00
Lorenz Meier 53cda2de79 HIL configs: Add HIL field 2017-06-27 11:07:03 +02:00
Lorenz Meier 968fa39158 Copter configs: Add airframe class field 2017-06-27 11:07:03 +02:00
Lorenz Meier ad624c4a0a Airframes parser: Add new class field 2017-06-27 11:07:03 +02:00
Daniel Agar d641d776f7 mc_pos_control delete unused velocity feed forwards 2017-06-26 11:31:25 -04:00
Daniel Agar f947205cbe delete vehicle_global_velocity_setpoint 2017-06-26 11:31:25 -04:00
Julien Lecoeur fc860140f1 Fix internal compiler error with GCC 7
Here is the error message:
PX4/Firmware/src/systemcmds/tests/test_matrix.cpp:641:1: internal compiler error: in trunc_int_for_mode, at explow.c:55
 }
 ^
Please submit a full bug report,
with preprocessed source if appropriate.
2017-06-26 15:50:44 +02:00
Julien Lecoeur 7929287f73 Fix -Werror=format-truncation on GCC 7
Fix formatting

Check snprintf return for error AND overflow
2017-06-26 15:50:44 +02:00
Julien Lecoeur 407b403e68 Fix -Werror=maybe-uninitialized on GCC7 2017-06-26 15:50:44 +02:00
Julien Lecoeur 06c6a0cdec Fix -Werror=implicit-fallthrough errors on GCC7 2017-06-26 15:50:44 +02:00
Daniel Agar ca480ff868 ms4525 treat max temperature as an error 2017-06-24 22:40:51 +02:00
Daniel Agar f82e85f8ff cmake remove -fno-math-errno and -fmerge-all-constants (#7462) 2017-06-23 11:38:31 -04:00
Daniel Agar 58ca307c9d move -fno-math-errno to nuttx only 2017-06-23 07:56:24 +02:00
Daniel Agar 75a91f79ae compiler optimizations add -fmerge-all-constants 2017-06-21 20:07:36 -04:00
Daniel Agar aeb1fe5a55 compiler optimizations add -fno-math-errno 2017-06-21 20:07:36 -04:00
Lorenz Meier 13bf312263 Commander: Be less verbose 2017-06-21 21:43:28 +02:00
Paul Riseborough d68dd6ae1e ekf2: Fix parameter description typo 2017-06-21 09:28:42 +02:00
Paul Riseborough b3ceb37272 ekf2: Add parameter to set range dependant noise 2017-06-21 09:28:42 +02:00
ChristophTobler 929ecd0e94 change to uint32 to match updated type from ecl 2017-06-21 09:28:42 +02:00
Roman 0007096007 updated ecl
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-21 09:28:42 +02:00
Roman 33495e8143 ekf2: added parameters to specify horizontal speed and absolute altitude
thresholds for range aid mode

Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-21 09:28:42 +02:00
Roman b5a94481a8 ekf2_main: support range aid feature
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-21 09:28:42 +02:00
Roman 68c2eb9dec ekf2_params: added range aid parameter
Signed-off-by: Roman <bapstroman@gmail.com>
2017-06-21 09:28:42 +02:00
Khoi Tran 355205554a Use format to properly format file for process_logdata_parser.py 2017-06-20 08:24:30 +02:00
Daniel Agar 8b3fb1e999 param fix parameters.xml dependency 2017-06-19 20:24:09 +02:00
Daniel Agar e1a3c53930 cmake posix and qurt impl fix whitespace 2017-06-19 20:24:09 +02:00
Daniel Agar 61da642cc8 cmake fix airframes.xml dependency 2017-06-19 20:24:09 +02:00
Daniel Agar 6a443765a5 cmake only include mavlink where used 2017-06-19 20:24:09 +02:00
Martina 5984e3d330 mission: clean up mavlink log messages style 2017-06-19 19:34:18 +02:00
Beat Küng 410e822775 px4fmu-v4pro board_config: swap BRICK1 with BRICK2
problem: previously when connecting power to Power 1, commander refused
to arm (no power source error), and when connecting to Power 2, arming
works, but power consumption was not measured (& shown in QGC).
Swapping Brick1 with Brick2 makes sure both works when connecting to
power 1.

Ideally we will have support for both power sources (including fail-over)
2017-06-19 16:52:41 +02:00
ChristophTobler 91a94ce874 check for NAN -> use curr pos and check if first to avoid drifting 2017-06-19 13:26:11 +02:00
Lorenz Meier 7d23a52871 Commander: Remove debug output 2017-06-19 09:28:38 +02:00
Lorenz Meier 0a8b9061cf SDP3x driver: Minor cleanup in driver 2017-06-19 09:26:27 +02:00
Paul Riseborough 28017105f4 position_estimator_inav: publish vertical position derivative 2017-06-19 09:09:52 +02:00
Paul Riseborough a147179ad8 local_position_estimator: publish vertical position derivative 2017-06-19 09:09:52 +02:00
Paul Riseborough 7aec94d4d6 ekf_att_pos_estimator: publish vertical position derivative 2017-06-19 09:09:52 +02:00
Paul Riseborough 4b7ae78fda ekf2: publish vertical position derivative 2017-06-19 09:09:52 +02:00
Paul Riseborough 2e008dfbc4 msg: Add vertical derivative to vehicle position messages
This enables control loops that are sensitive to vertical velocity offsets to use a vertical velocity that is kinematically consistent with the vertical position.
2017-06-19 09:09:52 +02:00
Paul Riseborough 862201cc4c ecl: EKF update
Adds interface for vertical position derivative
2017-06-19 09:09:52 +02:00
Beat Küng 4afa931d80 voted_sensors_update: fix mag rotation
fixes a wrong index for _mag_device_id: previously, driver_index was used
(the CAL_MAG param index), but the correct index is the uorb topic
instance.
2017-06-17 06:36:54 +02:00
Mohammed Kabir 4d6c1b5749 Add second barometer to thermal compensation fitting script 2017-06-16 21:15:09 +05:30
Todd Stellanova fd47e0cbb3 Set system real time clock once from GNSS data.
Fixes #7421

Tested with Pixracer and Zubax GNSS2.0
2017-06-16 07:46:39 +05:30
ChristophTobler bc406a122e disable min loiter altitude 2017-06-15 09:18:35 +02:00
Sean Matthews 1c56cad3b1 Uses astyle 2.06 2017-06-15 08:56:49 +02:00
Sean Matthews 08891526fd Fixes #6484: Bug in Offboard mode incorrect use of type_mask 2017-06-15 08:56:49 +02:00
Lorenz Meier d5c923c7ef Navigator: Fix RTL backtransition for VTOL
A recent change removed the command forwarding required for VTOL transitions. This change brings this back.

Partially reverts https://github.com/PX4/Firmware/pull/7249
2017-06-15 08:27:23 +02:00
Matthias Grob e28f8bff67 commander: make commonly spoken strings more user friendly
these technical messages might not be suitable for the user of a product
2017-06-15 07:50:41 +02:00
Mohammed Kabir 5a96490c68 sensors : fix race condition triggered by slow-to-boot external sensors 2017-06-14 19:53:07 +02:00
Mohammed Kabir 51b23f0b57 sensors : add parameters for 4th mag into used parameters list 2017-06-14 19:53:07 +02:00
Beat Küng 90df55123b lps25h_spi.cpp: remove MAGIOCGEXTERNAL ioctl
Because it's a baro driver, not a mag.
2017-06-14 19:53:07 +02:00
Beat Küng ce7d8d2270 sensor_mag.msg: add is_external flag & set it in the mag drivers
With this we don't have to use the ioctl MAGIOCGEXTERNAL, which does not
work on POSIX (eg. RPi).
2017-06-14 19:53:07 +02:00
Beat Küng 19cdbcfd4f sdp3x_airspeed: fix shadowing warning for crc 2017-06-14 19:53:07 +02:00
Beat Küng ba3d66abba voted_sensors_update: fix invalid/stale mag data on posix
Problem: _mag_device_id is used to get the correct rotation matrix for each
mag. But on POSIX, _mag_device_id was always 0, leading to invalid rotation
matrices.
This resulted in stale mag error messages (rot matrix=0 ==> mag data=0).
_mag_device_id was 0 because there are no /dev/magX devices (eg. on RPi),
thus the mag driver could not be opened.

This patch does: get the device id from the uorb topic instead. We still
need the device handle on certain platforms to apply the calibration params
and to check if the mag is internal or external.

Problem left: on POSIX, the check for external mag does not work.
2017-06-14 19:53:07 +02:00
Beat Küng 76f593afb0 fix voted_sensors_update: remove DevMgr::releaseHandle(h);
the 'continue' continues with the inner loop, whereas the outer loop is
responsible for opening the handle. Thus the inner loop needs to keep it
open.
2017-06-14 19:53:07 +02:00
Beat Küng af6846b9a8 fix voted_sensors_update: use int32 for param_get() 2017-06-14 19:53:07 +02:00
Beat Küng ce27e75a76 sensors: better status output 2017-06-14 19:53:07 +02:00
Beat Küng 1392e25652 Tools/jMAVSim: update submodule
allows setting gps origin via ENV variable
2017-06-14 13:12:10 +02:00
Sean Matthews c41185a277 Fixes valid yaw check 2017-06-14 01:23:37 +05:30
Sean Matthews d9cec600ed Fixes #7313: Invalid setpoint yaw after takeoff 2017-06-14 01:23:37 +05:30
Julien Lecoeur 89a8c656f2 Unneeded includes 2017-06-13 11:50:00 +02:00
Julien Lecoeur 1a6d2c491b Remove explicit template instantiation of Subscription<T> 2017-06-13 11:50:00 +02:00
Julien Lecoeur 550aee4da3 Remove explicit template instantiation of Publication<T> 2017-06-13 11:50:00 +02:00
Julien Lecoeur 3ff1f4d16f Move uORB::Subscription template implementation to header 2017-06-13 11:50:00 +02:00
Nicolae Rosia 0dc4f1f96d Fix strip target and bebop upload
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Nicolae Rosia 5e57594fba update docker_run.sh
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Nicolae Rosia 3dd32492de Move find of STRIP_TOOL to toolchain
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Nicolae Rosia a50a87928f navio_adc: add override flag to init
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Nicolae Rosia a6acb2e68e ARM Toolchain: search compiler in PATH
Add CMake target for strip since these changes break adb_upload_to_bebop.

GCC users should add the cross compiler bin path to PATH (location of arm-linux-gnueabihf-g++).
Clang user should do the following:
* set CMAKE_CXX_COMPILER to clang++ by providing -DCMAKE_CXX_COMPILER=clang++ to cmake
* get GCC cross compiler - needed because Clang does not ship a CRT
* create a symlink for clang and clang++ in GCC cross compiler bin dir.
* add GCC bin dir to PATH

Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Nicolae Rosia 8f9ca9b45e Commit 8797a090dc06cd0c9f4cf132b67e4872af1ff8f1 relocated __DF_RPI
but missed to move it from *-clang.cmake Toolchain

Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-13 08:16:37 +02:00
Kabir Mohammed f266b91cc9 bebop uploader : kill and restart autostarted PX4 daemon 2017-06-13 08:16:37 +02:00
Kabir Mohammed cd902d32ef Relocate DF_RPI define 2017-06-13 08:16:37 +02:00
Kabir Mohammed 8b1ca2ea9b Rename RPi/Bebop toolchain locations to PX4_TOOLCHAIN_DIR 2017-06-13 08:16:37 +02:00
Kabir Mohammed f123ade6d3 Rename to generic arm toolchain 2017-06-13 08:16:37 +02:00
Daniel Agar bd60f87283 move param jinja templates into relevant module 2017-06-12 12:18:53 -04:00
Daniel Agar 46101b483b QuRT follow CMAKE_BUILD_TYPE 2017-06-12 12:18:53 -04:00
Daniel Agar a04d7989b1 eagle and excelsior fix UART_ESC_BAUD param 2017-06-12 12:18:53 -04:00
Daniel Agar 846435cd97 BlockParam<int> -> BlockParam<int32_t> for qurt 2017-06-12 12:18:53 -04:00
Daniel Agar 4937449890 move parameter unittest into systemcmds 2017-06-12 12:18:53 -04:00
Daniel Agar f26cd01d16 param gen reorganize and fix DISABLE_PARAMS_MODULE_SCOPING 2017-06-12 12:18:53 -04:00
ChristophTobler 9b5de23553 add ref_timestamp (time when origin was set) to lpe 2017-06-12 09:39:41 +05:30
Lorenz Meier a1a0dd37dc Commander: Only report GPS lost errors if armed 2017-06-11 11:19:25 +02:00
Lorenz Meier a25330762a Commander: Adjust airspeed checks on prearm condition
The previous approach would work with old low-end sensors, but with new high-end sensors we get a lot of false alarms on the bench. Relaxing the check to only apply pre-arm will ensure its now only run when the user intents to take off, at which point the airframe should be with pitot covers off in the field.
2017-06-11 11:19:25 +02:00
Lorenz Meier d104f984d4 Sensors: print airspeed validator status 2017-06-11 11:19:25 +02:00
Lorenz Meier 77ee8d5fb9 SDP3X: Lowpass the signal significantly less as it is far less noisy 2017-06-11 11:19:25 +02:00
Lorenz Meier 0cd954e382 Start SDP3X with priority over the legacy devices 2017-06-11 11:19:25 +02:00
Lorenz Meier fd9f6e9415 ROMFS: Rework airspeed start to include SDP3X 2017-06-11 11:19:25 +02:00
Lorenz Meier a5581c6f25 ROMFS: Fix whitespace in rc.sensors 2017-06-11 11:19:25 +02:00
Lorenz Meier b93e1de883 ROMFS: Do not abort on error 2017-06-11 11:19:25 +02:00
Lorenz Meier c6cece52d3 Sensirion SDP3X airspeed / differential pressure sensor driver 2017-06-11 11:19:25 +02:00
Daniel Agar 5ee79648b7 FixedwingPositionControl cleanup comment spacing 2017-06-08 22:04:30 -04:00
Daniel Agar 35864841ba FixedwingPositionControl remove engine failure thrust sp
- this is already done in fw_att_control
2017-06-08 22:04:30 -04:00
Daniel Agar 9511dfa577 FixedwingPositionControl combine TECS resets 2017-06-08 22:04:30 -04:00
Daniel Agar 0e8b0fe013 FixedwingPositionControl clang tidy fixes 2017-06-08 22:04:30 -04:00
Daniel Agar 47ec291340 FixedwingPositionControl add header guard 2017-06-08 22:04:30 -04:00
Daniel Agar 376fdd4206 FixedwingPositionControl unnecessary struct 2017-06-08 22:04:30 -04:00
Daniel Agar 3313ade291 FixedwingPositionControl update copyright and control_task 2017-06-08 22:04:30 -04:00
Daniel Agar 77eaa3ae61 fw_pos_control_l1 rename Landingslope to match case 2017-06-08 22:04:30 -04:00
Daniel Agar 23dd2e537b fw_pos_control_l1 rename to match class 2017-06-08 22:04:30 -04:00
Daniel Agar ea448e7fc2 fw_pos_control_l1 extract FixedwingPositionControl header 2017-06-08 22:04:30 -04:00
Daniel Agar 8d5c955af4 remove partial CMD_OVERRIDE_GOTO implementation (#7356)
- closes #7326
2017-06-08 22:03:50 -04:00
Daniel Agar 3b7e57a5b2 navigator/follow_target remove unused 2017-06-08 22:03:08 -04:00
Daniel Agar d6e9287f51 mc_att_control comment out unused rates_i_scaled 2017-06-08 22:03:08 -04:00
Daniel Agar 70a485826d attitude_estimator_q remove unused and small publish cleanup 2017-06-08 22:03:08 -04:00
Daniel Agar 9b08cf686f mathlib remove Matrix and Vector virtual destructors 2017-06-08 22:03:08 -04:00
Julien Lecoeur 38fff6546d Fix python 3 compatibility in px_uploader.py 2017-06-08 07:57:00 +02:00
Dennis Mannhart e0d81b4c5e mc_pos_control: if triplet not valid in z ignore it 2017-06-07 16:43:36 +02:00
Dennis Mannhart 2a943f4bd0 mc_pos_control: only set current_setpoint to true if triplet valid 2017-06-07 16:43:36 +02:00
Kabir Mohammed 5cbaaa633b FINALLY fix mag rotation issues. (#7366)
* sensors : second cut at fixing mag calibration - remove old problematic code

* sensors : use more intuitive naming for loop variables
2017-06-07 10:49:57 +02:00
Anton Matosov 890c415ff2 Set acro to allowed max values 2017-06-07 12:20:05 +05:30
Anton Matosov f692b87232 Replace tab with space between param name and value to prevent bricking 2017-06-07 12:20:05 +05:30
Daniel Agar 829e88587b SITL unit tests don't run perf (#7367) 2017-06-06 17:28:30 -04:00
Marco Zorzi aef522553e unmanned ground vehicle (UGV) controllers and Traxxas Stampede configuration (#7175) 2017-06-06 13:26:51 -04:00
davidaroyer 184b190513 DF_MPU9250_Wrapper: move mag rotation prior to calibration application 2017-06-06 21:32:06 +05:30
Nicolae Rosia 6ddc0b3fef linux_gpio: open fd once, and reuse it
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-06 09:59:49 +02:00
Nicolae Rosia 92ac6f0c89 navio_adc: open fd once and reuse it
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-06-06 09:59:49 +02:00
Lorenz Meier 5f4fb744ca Uploader: Signal GCS or other connected devices that a FiFirmware upload is pending and requires device access. 2017-06-05 22:44:21 +02:00
Lorenz Meier e60fbccbee MAVLink app: Add ability to output packets for training and inspection 2017-06-05 22:44:21 +02:00
Daniel Agar 3aa502ba25 travis-ci remove code coverage build and upload (#7357) 2017-06-05 09:17:16 -04:00
Daniel Agar 833cdc9236 EKF2 update GPS and airspeed delay defaults (#7353)
* update ecl to latest

* EKF2_GPS_DELAY change default 200ms -> 110ms

 - 110msec is more representative of what most users are flying

* EKF2_ASP_DELAY change default 200ms -> 100ms

The EKF is relatively insensitive to airspeed sensor delays and the effective delay is installation specific, so it has been set to a value that does not cause the data buffers to be longer than is required to accomodate GPS delays.
2017-06-05 10:31:46 +10:00
Lorenz Meier 6fbf09d8da Fix LPE exception handling in ROMFS 2017-06-04 16:59:25 +02:00
Nacho Carnicero e6670d7926 Drone yaw set to destination waypoint yaw in LOITER mode if MIS_YAWMODE=0 (#7269)
* Drone does not change orientation while in LOITER mode if MIS_YAWMODE=0

* Fix code style

* Some more code style fixes

* Format checks passed
2017-06-04 20:01:40 +08:00
Lorenz Meier c80fd2c317 FMUv4: ENable PCA9685 driver so it is compiled at least in one config by default 2017-06-04 12:52:41 +02:00
Lorenz Meier ad05a6a7ec PCA9685 driver: Fix define 2017-06-04 12:52:18 +02:00
Lorenz Meier c9a28fc0eb ROMFS: Reset the estimator param to EKF2 if LPE fails to start 2017-06-04 12:43:28 +02:00
Daniel Agar 69ba69f30c controllib split blocks into separate files 2017-06-04 18:22:42 +08:00
Daniel Agar 3d6792c019 Block and SuperBlock minor cleanup 2017-06-04 18:22:42 +08:00
Daniel Agar 1671c32238 BlockParamExt replace with BlockParam reference types 2017-06-04 18:22:42 +08:00
Daniel Agar b03818cd0e controllib move old blocks to segway 2017-06-04 18:22:42 +08:00
Daniel Agar db816982cd px4params don't search recursively for params
- move controllib_test under controllib
2017-06-04 18:22:42 +08:00
CAI Dongcai 0dfd8cd039 Update fw_att_control_main.cpp
Make the declarations of the  variables "roll_sp, pitch_sp, yaw_sp, throttle_sp," in the main loop more readable.
2017-06-04 18:17:29 +08:00
Lorenz Meier d9dd1b231d UAVCAN server: Use correct MAVLink header version 2017-06-04 10:16:33 +02:00
Lorenz Meier 8c3b90007c MAVLink app: Enable protocol version handshaking
This allows the ground control station or any other communication partner to query the supported versions. The key aspect is to send the response in MAVLink 2 framing to test the link with a MAVLink 2 framed message.
2017-06-04 16:14:00 +08:00
Lorenz Meier 990ae93cae Version: Add MAVLink git hash to available versions 2017-06-04 16:14:00 +08:00
Lorenz Meier ea223505ae Tools: Add MAVLink libary git hash to exported symbols 2017-06-04 16:14:00 +08:00
Lorenz Meier 752623f26d Update MAVLink 2.0 headers to latest 2017-06-04 16:14:00 +08:00
Daniel Agar b4e2360070 uORB generation use constexpr (#7348) 2017-06-03 18:02:42 -04:00
Fredmcc 96cffd4077 Fixed some formatting 2017-06-04 04:43:07 +08:00
Fredmcc 4ffbaed500 Fixed GPS Date on frsky SPort 2017-06-04 04:43:07 +08:00
Fredmcc 90a05a0f55 Fixed SPort heading scale and sourced from vehicle_local_pos 2017-06-04 04:43:07 +08:00
Fredmcc 5290e6cfe1 Fixed SPort scale for GPS coords and Altitude 2017-06-04 04:43:07 +08:00
Beat Küng 0c3a34fb7f mavlink log handler: remove code to delete the msgs_ mavlink txt log files 2017-06-04 04:35:21 +08:00
Beat Küng a5485c97e0 mavlink: remove _log_enabled flag
It's obsolete since we removed the mavlink log file
2017-06-04 04:35:21 +08:00
Lorenz Meier e2fa5c2857 MAVLink: Remove status text output
The MAVLink app was logging the status to a file on the SD card, however, this has been integrated into the ulog format since. Having these in multiple locations is unnecessarily confusing to the user and induces load to the system.
2017-06-04 04:35:21 +08:00
davidaroyer 8be3985524 rc: remove unnecessary board ifdef 2017-06-04 04:24:50 +08:00
davidaroyer 7b5753f426 drivers: use relative path for ocpoc pwm out mixer file 2017-06-04 04:24:50 +08:00
davidaroyer 2b73c977a1 drivers: remove unnecessary compile flags 2017-06-04 04:24:50 +08:00
davidaroyer 59057184ce posix-configs: update ocpoc config file 2017-06-04 04:24:50 +08:00
davidaroyer 078d13e45e toolchains: remove unnecessary definition 2017-06-04 04:24:50 +08:00
davidaroyer 99799d83b1 ocpoc support: update copyright dates 2017-06-04 04:24:50 +08:00
davidaroyer 8e0b8314c6 drivers: move board specific device path to board_config.h 2017-06-04 04:24:50 +08:00
davidaroyer 68983f7ee2 fix code style 2017-06-04 04:24:50 +08:00
davidaroyer 0de70af78d mixers: add default mixer for Aerotenna OcPoC-Zynq hardware 2017-06-04 04:24:50 +08:00
davidaroyer 0b6fd4f8a2 rc: add support for Aerotenna OcPoC-Zynq hardware 2017-06-04 04:24:50 +08:00
davidaroyer 0510cd5992 drivers: add support for Aerotenna OcPoC-Zynq hardware 2017-06-04 04:24:50 +08:00
davidaroyer dbbe3c0863 commander: add support for Aerotenna OcPoC-Zynq hardware 2017-06-04 04:24:50 +08:00
davidaroyer a236bd1015 sensors: add support for Aerotenna OcPoC-Zynq hardware 2017-06-04 04:24:50 +08:00
davidaroyer 0e6db671da posix-configs: add support for Aerotenna OcPoC-Zynq hardware 2017-06-04 04:24:50 +08:00
davidaroyer c5ac73e87e cmake: add support for Aerotenna OcPoC-Zynq hardware 2017-06-04 04:24:50 +08:00
Julien Lecoeur 70ccfe80a7 Fuse flow only if it is activated in param LPE_FUSION 2017-06-04 04:20:46 +08:00
Simone Guscetti a64e9bfa03 tap_esc: add board_config.h for completeness 2017-06-04 04:20:05 +08:00
Simone Guscetti d59e9e2958 tap_esc: minor refractoring
- the definition of ESC_HAS_CURRENT_SENSOR is now in drv_tap_esc
- add tap_esc_common move crc table there
- header guards are applied to the header files
2017-06-04 04:20:05 +08:00
Daniel Agar 625dc67f84 commander offboard loss rc act unreachable
- coverity fix 145492
2017-06-04 02:37:09 +08:00
Daniel Agar beaa758605 lcov ignore src/examples (#7341) 2017-06-02 23:22:50 -04:00
Daniel Agar 24b26e53b9 cmake organize code coverage handling and base 2017-06-02 19:35:18 -04:00
Daniel Agar 17c1114b3e clang-tidy readability-named-parameter 2017-06-02 19:35:18 -04:00
Daniel Agar 0d0cbd8243 clang-tidy ignore cert-flp30-c only in tests 2017-06-02 19:35:18 -04:00
Daniel Agar 94f5df8611 param and pwm ignore -Warray-bounds for clang 2017-06-02 19:35:18 -04:00
Daniel Agar 17a3b195fa cppcheck start with errors only 2017-06-02 19:35:18 -04:00
Daniel Agar de9c39447c cppcheck ignore examples 2017-06-02 19:35:18 -04:00
Daniel Agar c56df948ee mathlib expo template style 2017-06-02 19:35:18 -04:00
Daniel Agar 78205b25c9 gyrosim remove unused work handle 2017-06-02 19:35:18 -04:00
Daniel Agar e4f55e4526 travis-ci upload cppcheck, scan-build, and coverage to s3 2017-06-02 19:35:18 -04:00
Daniel Agar 1ebe215c60 check_submodules.sh only sync selected submodule 2017-06-02 19:35:18 -04:00
Daniel Agar 5d626bd940 clang-tidy remove redundant init 2017-06-02 19:35:18 -04:00
Daniel Agar 8a681397bf travis-ci lazy init submodules 2017-06-02 19:35:18 -04:00
Daniel Agar 768faa1ae3 clang-tidy param avoid malloc(0) 2017-06-02 19:35:18 -04:00
Daniel Agar 2e0ed3b47b travis-ci add cppcheck 2017-06-02 19:35:18 -04:00
Daniel Agar 560bfd2b00 clang-tidy only list excluded checks 2017-06-02 19:35:18 -04:00
Daniel Agar f1079e3382 mission block remove unread value 2017-06-02 19:35:18 -04:00
Daniel Agar 4e21b2378f travis-ci coverity optimization 2017-06-02 19:35:18 -04:00
Daniel Agar ef7295affb travis-ci split quick_check into tests and check_format 2017-06-02 19:35:18 -04:00
Daniel Agar 5434ae670b OSX build travis-ci -> circleci 2017-06-02 19:35:18 -04:00
Daniel Agar d731558286 Makefile prepare to split qgc_firmware 2017-06-02 19:35:18 -04:00
Daniel Agar 621651fefa travis-ci quick_check replaces check_format and tests 2017-06-02 19:35:18 -04:00
Daniel Agar 0ac237f3df travis-ci coverity abort early 2017-06-02 19:35:18 -04:00
Daniel Agar 6a249c742b travis-ci add tests coverage to coveralls 2017-06-02 19:35:18 -04:00
Daniel Agar a3078c63ab travis-ci stop deploying to s3 2017-06-02 19:35:18 -04:00
Daniel Agar 64ed96d81a clang-tidy readability-simplify-boolean-expr 2017-06-02 19:35:18 -04:00
Daniel Agar 3c06641897 clang-tidy config list all checks 2017-06-02 19:35:18 -04:00
Daniel Agar fffd3d4c4c clang-tidy ignore google-global-names-in-headers and misc-redundant-expression 2017-06-02 19:35:18 -04:00
Daniel Agar 180ec59255 clang-tidy ignore mathlib assignment signatures for now 2017-06-02 19:35:18 -04:00
Daniel Agar 6e1113ae4d clang-tidy mathlib remove redundant void 2017-06-02 19:35:18 -04:00
Daniel Agar e112161a04 clang-tidy fix mathlib headers and format 2017-06-02 19:35:18 -04:00
Daniel Agar ac4a706da0 build system fixes and improvements
- deploy px4 metadata using target
 - clang scan-build upload output to s3
 - clang-tidy properly check headers
 - add cppcheck helper
 - force gcc color
2017-06-02 19:35:18 -04:00
Julian Oes 723a6bf6ac mavlink: new MAV_CMD_IMAGE_START_CAPTURE spec
The spec of the mavlink command MAV_CMD_IMAGE_START_CAPTURE has changed.
2017-06-03 02:53:58 +08:00
Mohammed Kabir 0cb3eb99dc sensors : correctly handle internal magnetometer rotations 2017-06-03 02:16:58 +08:00
Lorenz Meier 0b43546c6a BMI055: Ensure the accel driver sets the device ID in the report 2017-06-02 18:44:21 +02:00
Lorenz Meier aecfe38f65 BMI055: Allow the independent use of just the gyro driver 2017-06-02 18:41:54 +02:00
Lorenz Meier d12421b9eb BMI055: Ensure gyro device ID gets copied to report 2017-06-02 18:41:32 +02:00
Lorenz Meier 49b1bd597e FMUv4 config: Ensure enough stack space in user main function
There was enough margin with 200 bytes, but this change widens that to the default of 300.
;
2017-06-02 18:31:50 +02:00
Lorenz Meier 5e1490b8a1 BMI055: Ensure that accel and gyro start consistently.
This was required on a BOSCH board which otherwise could end up mis-detecting the 055 and not running properly
2017-06-02 18:30:51 +02:00
Lorenz Meier 9736c08e49 uORB listener: Expand command to allow selecting the instance to print
listener sensor_gyro 1 2

will now print one report of the third gyro (index 2). The syntax needs further polishing, but this is a valid intermediate step.
2017-06-02 18:30:01 +02:00
Lorenz Meier b1670e7e6c BMI160 driver: Minor code style fix 2017-06-02 18:28:48 +02:00
Daniel Agar 7b861572a5 travis-ci fix s3 metadata upload (#7321) 2017-05-30 21:17:58 -04:00
ChristophTobler 680cebcb08 fix qgc flow takeoff -> use min takeoff alt if no home position 2017-05-30 10:22:09 +02:00
bresch cdd7c57ded Multicopter mixer: When saturating, compute the new yaw value based on
the reduced thrust value
2017-05-30 12:01:42 +07:00
Nicolae Rosia a0ee07e357 commander: enable partial preflight checks on RPI
Signed-off-by: Nicolae Rosia <nicolae.rosia@gmail.com>
2017-05-29 21:38:21 +02:00
Simone Guscetti 6201fb5641 commander: arming with critical battery is not allowed 2017-05-29 18:40:57 +08:00
489 changed files with 13724 additions and 6583 deletions
+69 -542
View File
@@ -1,212 +1,74 @@
---
Checks: 'clang-diagnostic-*,clang-analyzer-*,-*,
cert-dcl03-c,
#cert-dcl50-cpp,
cert-dcl54-cpp,
cert-dcl59-cpp,
cert-env33-c,
cert-err09-cpp,
## TODO: fix code and enable # cert-err34-c,
cert-err52-cpp,
#cert-err58-cpp,
cert-err60-cpp,
cert-err61-cpp,
cert-fio38-c,
## TODO: fix code and enable # cert-flp30-c,
#cert-msc30-c,
#cert-msc50-cpp,
cert-oop11-cpp,
clang-analyzer-apiModeling.google.GTest,
clang-analyzer-core.builtin.BuiltinFunctions,
clang-analyzer-core.builtin.NoReturnFunctions,
## TODO: fix code and enable # clang-analyzer-core.CallAndMessage,
clang-analyzer-core.DivideZero,
clang-analyzer-core.DynamicTypePropagation,
clang-analyzer-core.NonNullParamChecker,
## TODO: fix code and enable # clang-analyzer-core.NullDereference,
clang-analyzer-core.StackAddressEscape,
#clang-analyzer-core.UndefinedBinaryOperatorResult,
clang-analyzer-core.uninitialized.ArraySubscript,
## TODO: fix code and enable # clang-analyzer-core.uninitialized.Assign,
clang-analyzer-core.uninitialized.Branch,
clang-analyzer-core.uninitialized.CapturedBlockVariable,
clang-analyzer-core.uninitialized.UndefReturn,
## TODO: fix code and enable # clang-analyzer-core.VLASize,
clang-analyzer-cplusplus.NewDelete,
## TODO: fix code and enable # clang-analyzer-cplusplus.NewDeleteLeaks,
clang-analyzer-cplusplus.SelfAssignment,
#clang-analyzer-deadcode.DeadStores,
clang-analyzer-llvm.Conventions,
clang-analyzer-nullability.NullableDereferenced,
clang-analyzer-nullability.NullablePassedToNonnull,
clang-analyzer-nullability.NullableReturnedFromNonnull,
clang-analyzer-nullability.NullPassedToNonnull,
clang-analyzer-nullability.NullReturnedFromNonnull,
## evaluate # clang-analyzer-optin.cplusplus.VirtualCall,
## TODO: fix code and enable # clang-analyzer-optin.performance.Padding,
## TODO: fix code and enable # clang-analyzer-security.FloatLoopCounter,
clang-analyzer-security.insecureAPI.getpw,
clang-analyzer-security.insecureAPI.gets,
clang-analyzer-security.insecureAPI.mkstemp,
clang-analyzer-security.insecureAPI.mktemp,
clang-analyzer-security.insecureAPI.rand,
## evaluate # clang-analyzer-security.insecureAPI.strcpy,
clang-analyzer-security.insecureAPI.UncheckedReturn,
clang-analyzer-security.insecureAPI.vfork,
## TODO: fix code and enable # clang-analyzer-unix.API,
## TODO: fix code and enable # clang-analyzer-unix.Malloc,
## TODO: fix code and enable # clang-analyzer-unix.MallocSizeof,
clang-analyzer-unix.MismatchedDeallocator,
clang-analyzer-unix.StdCLibraryFunctions,
clang-analyzer-unix.Vfork,
## evaluate # clang-analyzer-unix.cstring.BadSizeArg,
## evaluate # clang-analyzer-unix.cstring.NullArg,
cppcoreguidelines-c-copy-assignment-signature,
#cppcoreguidelines-interfaces-global-init,
#cppcoreguidelines-no-malloc,
#cppcoreguidelines-pro-bounds-array-to-pointer-decay,
#cppcoreguidelines-pro-bounds-constant-array-index,
#cppcoreguidelines-pro-bounds-pointer-arithmetic,
## TODO: fix code and enable # cppcoreguidelines-pro-type-const-cast,
#cppcoreguidelines-pro-type-cstyle-cast,
## TODO: fix code and enable # cppcoreguidelines-pro-type-member-init,
#cppcoreguidelines-pro-type-reinterpret-cast,
cppcoreguidelines-pro-type-static-cast-downcast,
#cppcoreguidelines-pro-type-union-access,
#cppcoreguidelines-pro-type-vararg,
cppcoreguidelines-slicing,
## TODO: fix code and enable # cppcoreguidelines-special-member-functions,
google-build-explicit-make-pair,
google-build-namespaces,
# evaluate # google-build-using-namespace,
google-default-arguments,
## TODO: fix code and enable # google-explicit-constructor,
google-global-names-in-headers,
google-readability-braces-around-statements,
#google-readability-casting,
google-readability-function-size,
#google-readability-namespace-comments,
google-readability-redundant-smartptr-get,
#google-readability-todo,
#google-runtime-int,
google-runtime-member-string-references,
google-runtime-memset,
google-runtime-operator,
## evaluate # google-runtime-references,
llvm-header-guard,
## evaluate # llvm-include-order,
#llvm-namespace-comment,
misc-argument-comment,
misc-assert-side-effect,
misc-bool-pointer-implicit-conversion,
misc-dangling-handle,
misc-definitions-in-headers,
misc-fold-init-type,
misc-forward-declaration-namespace,
misc-inaccurate-erase,
#misc-incorrect-roundings,
misc-inefficient-algorithm,
#misc-macro-parentheses,
misc-macro-repeated-side-effects,
misc-misplaced-const,
#misc-misplaced-widening-cast,
misc-move-const-arg,
misc-move-constructor-init,
misc-move-forwarding-reference,
misc-multiple-statement-macro,
misc-new-delete-overloads,
misc-noexcept-move-constructor,
misc-non-copyable-objects,
misc-redundant-expression,
misc-sizeof-container,
misc-sizeof-expression,
misc-static-assert,
misc-string-compare,
misc-string-constructor,
misc-string-integer-assignment,
misc-string-literal-with-embedded-nul,
misc-suspicious-enum-usage,
misc-suspicious-missing-comma,
misc-suspicious-semicolon,
misc-suspicious-string-compare,
misc-swapped-arguments,
misc-throw-by-value-catch-by-reference,
misc-unconventional-assign-operator,
misc-undelegated-constructor,
misc-uniqueptr-reset-release,
misc-unused-alias-decls,
#misc-unused-parameters,
misc-unused-raii,
misc-unused-using-decls,
misc-use-after-move,
misc-virtual-near-miss,
modernize-avoid-bind,
## TODO: fix code and enable # modernize-deprecated-headers,
#modernize-loop-convert,
modernize-make-shared,
modernize-make-unique,
modernize-pass-by-value,
modernize-raw-string-literal,
modernize-redundant-void-arg,
modernize-replace-auto-ptr,
modernize-shrink-to-fit,
#modernize-use-auto,
#modernize-use-bool-literals,
## TODO: fix code and enable # modernize-use-default-member-init,
## TODO: fix code and enable # modernize-use-emplace,
## TODO: fix code and enable # modernize-use-equals-default,
## TODO: fix code and enable # modernize-use-equals-delete,
modernize-use-nullptr,
## evaluate # modernize-use-override,
modernize-use-transparent-functors,
## evaluate # modernize-use-using,
performance-faster-string-find,
performance-for-range-copy,
performance-implicit-cast-in-loop,
## TODO: fix code and enable # performance-inefficient-string-concatenation,
performance-type-promotion-in-math-fn,
performance-unnecessary-copy-initialization,
performance-unnecessary-value-param,
#readability-avoid-const-params-in-decls,
readability-braces-around-statements,
readability-container-size-empty,
readability-delete-null-pointer,
readability-deleted-default,
#readability-else-after-return,
readability-function-size,
readability-identifier-naming,
## evaluate # readability-implicit-bool-cast,
#readability-inconsistent-declaration-parameter-name,
readability-misplaced-array-index,
#readability-named-parameter,
#readability-non-const-parameter,
readability-redundant-control-flow,
#readability-redundant-declaration,
readability-redundant-function-ptr-dereference,
## TODO: fix code and enable # readability-redundant-member-init,
readability-redundant-smartptr-get,
readability-redundant-string-cstr,
readability-redundant-string-init,
## TODO: fix code and enable # readability-simplify-boolean-expr,
readability-static-definition-in-anonymous-namespace,
readability-uniqueptr-delete-release,
Checks: '*
,-cert-dcl50-cpp
,-cert-err34-c
,-cert-err58-cpp
,-cert-msc30-c
,-cert-msc50-cpp
,-clang-analyzer-core.CallAndMessage
,-clang-analyzer-core.NullDereference
,-clang-analyzer-core.UndefinedBinaryOperatorResult
,-clang-analyzer-core.uninitialized.Assign
,-clang-analyzer-core.VLASize
,-clang-analyzer-cplusplus.NewDeleteLeaks
,-clang-analyzer-deadcode.DeadStores
,-clang-analyzer-optin.cplusplus.VirtualCall
,-clang-analyzer-optin.performance.Padding
,-clang-analyzer-security.insecureAPI.strcpy
,-clang-analyzer-unix.cstring.BadSizeArg
,-clang-analyzer-unix.Malloc
,-clang-analyzer-unix.MallocSizeof
,-cppcoreguidelines-c-copy-assignment-signature
,-cppcoreguidelines-interfaces-global-init
,-cppcoreguidelines-no-malloc
,-cppcoreguidelines-pro-bounds-array-to-pointer-decay
,-cppcoreguidelines-pro-bounds-constant-array-index
,-cppcoreguidelines-pro-bounds-pointer-arithmetic
,-cppcoreguidelines-pro-type-const-cast
,-cppcoreguidelines-pro-type-cstyle-cast
,-cppcoreguidelines-pro-type-member-init
,-cppcoreguidelines-pro-type-reinterpret-cast
,-cppcoreguidelines-pro-type-union-access
,-cppcoreguidelines-pro-type-vararg
,-cppcoreguidelines-special-member-functions
,-google-build-using-namespace
,-google-explicit-constructor
,-google-global-names-in-headers
,-google-readability-casting
,-google-readability-namespace-comments
,-google-readability-todo
,-google-runtime-int
,-google-runtime-references
,-llvm-header-guard
,-llvm-include-order
,-llvm-namespace-comment
,-misc-incorrect-roundings
,-misc-macro-parentheses
,-misc-misplaced-widening-cast
,-misc-redundant-expression
,-misc-unconventional-assign-operator
,-misc-unused-parameters
,-modernize-deprecated-headers
,-modernize-loop-convert
,-modernize-use-auto
,-modernize-use-bool-literals
,-modernize-use-default-member-init
,-modernize-use-emplace
,-modernize-use-equals-default
,-modernize-use-equals-delete
,-modernize-use-override
,-modernize-use-using
,-performance-inefficient-string-concatenation
,-readability-avoid-const-params-in-decls
,-readability-else-after-return
,-readability-implicit-bool-cast
,-readability-inconsistent-declaration-parameter-name
,-readability-non-const-parameter
,-readability-redundant-declaration
,-readability-redundant-member-init
,-readability-simplify-boolean-expr
'
WarningsAsErrors: '*'
HeaderFilterRegex: '*.h, *.hpp, *.hh, *.hxx'
AnalyzeTemporaryDtors: false
CheckOptions:
- key: cert-dcl59-cpp.HeaderFileExtensions
value: h,hh,hpp,hxx
- key: cert-err09-cpp.CheckThrowTemporaries
value: '1'
- key: cert-err61-cpp.CheckThrowTemporaries
value: '1'
- key: cert-oop11-cpp.IncludeStyle
value: llvm
- key: google-build-namespaces.HeaderFileExtensions
value: h,hh,hpp,hxx
- key: google-global-names-in-headers.HeaderFileExtensions
value: h
CheckOptions:
- key: google-readability-braces-around-statements.ShortStatementLines
value: '1'
- key: google-readability-function-size.BranchThreshold
@@ -215,344 +77,9 @@ CheckOptions:
value: '4000'
- key: google-readability-function-size.StatementThreshold
value: '4000'
- key: google-readability-namespace-comments.ShortNamespaceLines
value: '10'
- key: google-readability-namespace-comments.SpacesBeforeComments
value: '2'
- key: llvm-header-guard.HeaderFileExtensions
value: ',h,hh,hpp,hxx'
- key: misc-argument-comment.StrictMode
value: '0'
- key: misc-assert-side-effect.AssertMacros
value: assert
- key: misc-assert-side-effect.CheckFunctionCalls
value: '0'
- key: misc-dangling-handle.HandleClasses
value: 'std::basic_string_view;std::experimental::basic_string_view'
- key: misc-definitions-in-headers.HeaderFileExtensions
value: ',h,hh,hpp,hxx'
- key: misc-definitions-in-headers.UseHeaderFileExtension
value: '1'
- key: misc-move-constructor-init.IncludeStyle
value: llvm
- key: misc-sizeof-expression.WarnOnSizeOfCompareToConstant
value: '1'
- key: misc-sizeof-expression.WarnOnSizeOfConstant
value: '1'
- key: misc-sizeof-expression.WarnOnSizeOfThis
value: '1'
- key: misc-string-constructor.LargeLengthThreshold
value: '80'
- key: misc-string-constructor.WarnOnLargeLength
value: '1'
- key: misc-suspicious-enum-usage.StrictMode
value: '0'
- key: misc-suspicious-missing-comma.MaxConcatenatedTokens
value: '5'
- key: misc-suspicious-missing-comma.RatioThreshold
value: '0.200000'
- key: misc-suspicious-missing-comma.SizeThreshold
value: '5'
- key: misc-suspicious-string-compare.StringCompareLikeFunctions
value: ''
- key: misc-suspicious-string-compare.WarnOnImplicitComparison
value: '1'
- key: misc-suspicious-string-compare.WarnOnLogicalNotComparison
value: '0'
- key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
value: '1'
- key: modernize-loop-convert.MaxCopySize
value: '16'
- key: modernize-loop-convert.MinConfidence
value: safe
- key: modernize-loop-convert.NamingStyle
value: CamelCase
- key: modernize-pass-by-value.IncludeStyle
value: llvm
- key: modernize-pass-by-value.ValuesOnly
value: '0'
- key: modernize-replace-auto-ptr.IncludeStyle
value: llvm
- key: modernize-use-nullptr.NullMacros
value: 'NULL'
- key: modernize-use-transparent-functors.SafeMode
value: '0'
- key: performance-faster-string-find.StringLikeClasses
value: 'std::basic_string'
- key: performance-for-range-copy.WarnOnAllAutoCopies
value: '0'
- key: readability-braces-around-statements.ShortStatementLines
value: '1'
- key: readability-function-size.BranchThreshold
value: '600'
- key: readability-function-size.LineThreshold
value: '4000'
- key: readability-function-size.StatementThreshold
value: '4000'
- key: readability-identifier-naming.AbstractClassCase
value: aNy_CasE
- key: readability-identifier-naming.AbstractClassPrefix
value: ''
- key: readability-identifier-naming.AbstractClassSuffix
value: ''
- key: readability-identifier-naming.ClassCase
value: aNy_CasE
- key: readability-identifier-naming.ClassConstantCase
value: aNy_CasE
- key: readability-identifier-naming.ClassConstantPrefix
value: ''
- key: readability-identifier-naming.ClassConstantSuffix
value: ''
- key: readability-identifier-naming.ClassMemberCase
value: aNy_CasE
- key: readability-identifier-naming.ClassMemberPrefix
value: ''
- key: readability-identifier-naming.ClassMemberSuffix
value: ''
- key: readability-identifier-naming.ClassMethodCase
value: aNy_CasE
- key: readability-identifier-naming.ClassMethodPrefix
value: ''
- key: readability-identifier-naming.ClassMethodSuffix
value: ''
- key: readability-identifier-naming.ClassPrefix
value: ''
- key: readability-identifier-naming.ClassSuffix
value: ''
- key: readability-identifier-naming.ConstantCase
value: aNy_CasE
- key: readability-identifier-naming.ConstantMemberCase
value: aNy_CasE
- key: readability-identifier-naming.ConstantMemberPrefix
value: ''
- key: readability-identifier-naming.ConstantMemberSuffix
value: ''
- key: readability-identifier-naming.ConstantParameterCase
value: aNy_CasE
- key: readability-identifier-naming.ConstantParameterPrefix
value: ''
- key: readability-identifier-naming.ConstantParameterSuffix
value: ''
- key: readability-identifier-naming.ConstantPrefix
value: ''
- key: readability-identifier-naming.ConstantSuffix
value: ''
- key: readability-identifier-naming.ConstexprFunctionCase
value: aNy_CasE
- key: readability-identifier-naming.ConstexprFunctionPrefix
value: ''
- key: readability-identifier-naming.ConstexprFunctionSuffix
value: ''
- key: readability-identifier-naming.ConstexprMethodCase
value: aNy_CasE
- key: readability-identifier-naming.ConstexprMethodPrefix
value: ''
- key: readability-identifier-naming.ConstexprMethodSuffix
value: ''
- key: readability-identifier-naming.ConstexprVariableCase
value: aNy_CasE
- key: readability-identifier-naming.ConstexprVariablePrefix
value: ''
- key: readability-identifier-naming.ConstexprVariableSuffix
value: ''
- key: readability-identifier-naming.EnumCase
value: aNy_CasE
- key: readability-identifier-naming.EnumConstantCase
value: aNy_CasE
- key: readability-identifier-naming.EnumConstantPrefix
value: ''
- key: readability-identifier-naming.EnumConstantSuffix
value: ''
- key: readability-identifier-naming.EnumPrefix
value: ''
- key: readability-identifier-naming.EnumSuffix
value: ''
- key: readability-identifier-naming.FunctionCase
value: aNy_CasE
- key: readability-identifier-naming.FunctionPrefix
value: ''
- key: readability-identifier-naming.FunctionSuffix
value: ''
- key: readability-identifier-naming.GlobalConstantCase
value: aNy_CasE
- key: readability-identifier-naming.GlobalConstantPrefix
value: ''
- key: readability-identifier-naming.GlobalConstantSuffix
value: ''
- key: readability-identifier-naming.GlobalFunctionCase
value: aNy_CasE
- key: readability-identifier-naming.GlobalFunctionPrefix
value: ''
- key: readability-identifier-naming.GlobalFunctionSuffix
value: ''
- key: readability-identifier-naming.GlobalVariableCase
value: aNy_CasE
- key: readability-identifier-naming.GlobalVariablePrefix
value: ''
- key: readability-identifier-naming.GlobalVariableSuffix
value: ''
- key: readability-identifier-naming.IgnoreFailedSplit
value: '0'
- key: readability-identifier-naming.InlineNamespaceCase
value: aNy_CasE
- key: readability-identifier-naming.InlineNamespacePrefix
value: ''
- key: readability-identifier-naming.InlineNamespaceSuffix
value: ''
- key: readability-identifier-naming.LocalConstantCase
value: aNy_CasE
- key: readability-identifier-naming.LocalConstantPrefix
value: ''
- key: readability-identifier-naming.LocalConstantSuffix
value: ''
- key: readability-identifier-naming.LocalVariableCase
value: aNy_CasE
- key: readability-identifier-naming.LocalVariablePrefix
value: ''
- key: readability-identifier-naming.LocalVariableSuffix
value: ''
- key: readability-identifier-naming.MacroDefinitionCase
value: aNy_CasE
- key: readability-identifier-naming.MacroDefinitionPrefix
value: ''
- key: readability-identifier-naming.MacroDefinitionSuffix
value: ''
- key: readability-identifier-naming.MemberCase
value: aNy_CasE
- key: readability-identifier-naming.MemberPrefix
value: ''
- key: readability-identifier-naming.MemberSuffix
value: ''
- key: readability-identifier-naming.MethodCase
value: aNy_CasE
- key: readability-identifier-naming.MethodPrefix
value: ''
- key: readability-identifier-naming.MethodSuffix
value: ''
- key: readability-identifier-naming.NamespaceCase
value: aNy_CasE
- key: readability-identifier-naming.NamespacePrefix
value: ''
- key: readability-identifier-naming.NamespaceSuffix
value: ''
- key: readability-identifier-naming.ParameterCase
value: aNy_CasE
- key: readability-identifier-naming.ParameterPackCase
value: aNy_CasE
- key: readability-identifier-naming.ParameterPackPrefix
value: ''
- key: readability-identifier-naming.ParameterPackSuffix
value: ''
- key: readability-identifier-naming.ParameterPrefix
value: ''
- key: readability-identifier-naming.ParameterSuffix
value: ''
- key: readability-identifier-naming.PrivateMemberCase
value: aNy_CasE
- key: readability-identifier-naming.PrivateMemberPrefix
value: ''
- key: readability-identifier-naming.PrivateMemberSuffix
value: ''
- key: readability-identifier-naming.PrivateMethodCase
value: aNy_CasE
- key: readability-identifier-naming.PrivateMethodPrefix
value: ''
- key: readability-identifier-naming.PrivateMethodSuffix
value: ''
- key: readability-identifier-naming.ProtectedMemberCase
value: aNy_CasE
- key: readability-identifier-naming.ProtectedMemberPrefix
value: ''
- key: readability-identifier-naming.ProtectedMemberSuffix
value: ''
- key: readability-identifier-naming.ProtectedMethodCase
value: aNy_CasE
- key: readability-identifier-naming.ProtectedMethodPrefix
value: ''
- key: readability-identifier-naming.ProtectedMethodSuffix
value: ''
- key: readability-identifier-naming.PublicMemberCase
value: aNy_CasE
- key: readability-identifier-naming.PublicMemberPrefix
value: ''
- key: readability-identifier-naming.PublicMemberSuffix
value: ''
- key: readability-identifier-naming.PublicMethodCase
value: aNy_CasE
- key: readability-identifier-naming.PublicMethodPrefix
value: ''
- key: readability-identifier-naming.PublicMethodSuffix
value: ''
- key: readability-identifier-naming.StaticConstantCase
value: aNy_CasE
- key: readability-identifier-naming.StaticConstantPrefix
value: ''
- key: readability-identifier-naming.StaticConstantSuffix
value: ''
- key: readability-identifier-naming.StaticVariableCase
value: aNy_CasE
- key: readability-identifier-naming.StaticVariablePrefix
value: ''
- key: readability-identifier-naming.StaticVariableSuffix
value: ''
- key: readability-identifier-naming.StructCase
value: aNy_CasE
- key: readability-identifier-naming.StructPrefix
value: ''
- key: readability-identifier-naming.StructSuffix
value: ''
- key: readability-identifier-naming.TemplateParameterCase
value: aNy_CasE
- key: readability-identifier-naming.TemplateParameterPrefix
value: ''
- key: readability-identifier-naming.TemplateParameterSuffix
value: ''
- key: readability-identifier-naming.TemplateTemplateParameterCase
value: aNy_CasE
- key: readability-identifier-naming.TemplateTemplateParameterPrefix
value: ''
- key: readability-identifier-naming.TemplateTemplateParameterSuffix
value: ''
- key: readability-identifier-naming.TypeAliasCase
value: aNy_CasE
- key: readability-identifier-naming.TypeAliasPrefix
value: ''
- key: readability-identifier-naming.TypeAliasSuffix
value: ''
- key: readability-identifier-naming.TypeTemplateParameterCase
value: aNy_CasE
- key: readability-identifier-naming.TypeTemplateParameterPrefix
value: ''
- key: readability-identifier-naming.TypeTemplateParameterSuffix
value: ''
- key: readability-identifier-naming.TypedefCase
value: aNy_CasE
- key: readability-identifier-naming.TypedefPrefix
value: ''
- key: readability-identifier-naming.TypedefSuffix
value: ''
- key: readability-identifier-naming.UnionCase
value: aNy_CasE
- key: readability-identifier-naming.UnionPrefix
value: ''
- key: readability-identifier-naming.UnionSuffix
value: ''
- key: readability-identifier-naming.ValueTemplateParameterCase
value: aNy_CasE
- key: readability-identifier-naming.ValueTemplateParameterPrefix
value: ''
- key: readability-identifier-naming.ValueTemplateParameterSuffix
value: ''
- key: readability-identifier-naming.VariableCase
value: aNy_CasE
- key: readability-identifier-naming.VariablePrefix
value: ''
- key: readability-identifier-naming.VariableSuffix
value: ''
- key: readability-identifier-naming.VirtualMethodCase
value: aNy_CasE
- key: readability-identifier-naming.VirtualMethodPrefix
value: ''
- key: readability-identifier-naming.VirtualMethodSuffix
value: ''
...
+5 -14
View File
@@ -31,15 +31,6 @@ cscope.in.out
cscope.po.out
Firmware.sublime-workspace
user.sublime*
Images/*.bin
Images/*.px4
mavlink/include/mavlink/v0.9/
/nuttx-configs/px4io-v2/src/.depend
/nuttx-configs/px4io-v2/src/Make.dep
/nuttx-configs/px4io-v2/src/libboard.a
/nuttx-configs/px4io-v1/src/.depend
/nuttx-configs/px4io-v1/src/Make.dep
/nuttx-configs/px4io-v1/src/libboard.a
/Documentation/doxy.log
/Documentation/html/
/Documentation/doxygen*objdb*tmp
@@ -53,7 +44,6 @@ src/modules/uORB/topics/*
src/platforms/nuttx/px4_messages/*
src/platforms/ros/px4_messages/*
Firmware.zip
unittests/build
*.generated.h
.vagrant
*.pretty
@@ -82,12 +72,13 @@ vectorcontrol/
.idea
cmake-build-*/
# gcov code coverage
coverage-html/
coverage.info
posix-configs/SITL/init/test/*_generated
parameters.md
airframes.md
airframes.xml
cppcheck-result.xml
cppcheck
scan-build
-4
View File
@@ -22,10 +22,6 @@
[submodule "Tools/sitl_gazebo"]
path = Tools/sitl_gazebo
url = https://github.com/PX4/sitl_gazebo.git
[submodule "unittests/googletest"]
path = unittests/googletest
url = https://github.com/google/googletest.git
ignore = untracked
[submodule "src/lib/matrix"]
path = src/lib/matrix
url = https://github.com/PX4/Matrix.git
+38 -34
View File
@@ -5,15 +5,11 @@ language: cpp
git:
depth: 2000
submodules: false
matrix:
fast_finish: true
include:
- os: linux
sudo: required
services:
- docker
env: BUILD_TARGET=qgc_firmware
- os: linux
sudo: required
services:
@@ -23,70 +19,78 @@ matrix:
sudo: required
services:
- docker
env: BUILD_TARGET=tests_linux
env: BUILD_TARGET=tests
- os: linux
sudo: required
services:
- docker
env: BUILD_TARGET=clang-tidy
- os: linux
sudo: required
services:
- docker
env: BUILD_TARGET=scan-build
- os: linux
sudo: required
services:
- docker
env: BUILD_TARGET=cppcheck
- os: linux
sudo: required
services:
- docker
env: BUILD_TARGET=px4_metadata
- os: linux
dist: trusty
sudo: required
env: BUILD_TARGET=coverity_scan
cache:
ccache: true
before_install:
- if [[ "${TRAVIS_OS_NAME}" = "linux" && "${TRAVIS_BRANCH}" == "coverity" ]]; then sudo apt-get install genromfs && pip install empy jinja2; fi
# install dependencies for the coverity build (target and branch), otherwise exit early
- if [[ "${TRAVIS_BRANCH}" = "coverity" ]]; then
if [[ "${BUILD_TARGET}" = "coverity_scan" ]]; then sudo apt-get install genromfs && pip install empy jinja2; else exit 0; fi;
fi
env:
global:
# COVERITY KEY
# COVERITY KEY
- secure: "NyaJoCGjU0Xc90Y6bxVYWLgjrJX5HlZsm/SPxruZ6I7xkGo19fJIFzGegOHQFR32D4AiKjllfjTUNy+ncckWplind0QwxtF4/kxXrz9XBfiby6X8jLYXIekrB6Ay0mBLGbniDdh+lpWtcyop6Dmkt5bdJCJuKY2nv9ENnhhs07M="
# AWS KEY: $PX4_AWS_KEY
# AWS KEY: $PX4_AWS_KEY
- secure: "XknnZHWBbpHbN4f3fuAVwUztdLIu8ej4keC3aQSDofo3uw8AFEzojfsQsN9u77ShWSIV4iYJWh9C9ALkCx7TocJ+xYjiboo10YhM9lH/8u+EXjYWG6GHS8ua0wkir+cViSxoLNaMtmcb/rPTicJecAGANxLsIHyBAgTL3fkbLSA="
# AWS SECRET: $PX4_AWS_SECRET
# AWS SECRET: $PX4_AWS_SECRET
- secure: "h6oajlW68dWIr+wZhO58Dv6e68dZHrBLVA6lPXZmheFQBW6Xam1HuLGA0LOW6cL9TnrAsOZ8g4goB58eMQnMEijFZKi3mhRwZhd/Xjq/ZGJOWBUrLoQHZUw2dQk5ja5vmUlKEoQnFZjDuMjx8KfX5ZMNy8A3yssWZtJYHD8c+bk="
script:
- if [[ "${TRAVIS_BRANCH}" == "coverity" ]]; then
- if [[ "${BUILD_TARGET}" = "coverity_scan" ]]; then
echo "no script for coverity build";
elif [[ "${BUILD_TARGET}" = "qgc_firmware" ]]; then
./Tools/docker_run.sh 'make qgc_firmware';
elif [[ "${TRAVIS_BRANCH}" = "coverity" ]]; then
echo "exit early for coverity build" && exit 0;
elif [[ "${BUILD_TARGET}" = "check_format" ]]; then
./Tools/docker_run.sh 'make check_format';
elif [[ "${BUILD_TARGET}" = "tests_linux" ]]; then
elif [[ "${BUILD_TARGET}" = "tests" ]]; then
./Tools/docker_run.sh 'make tests';
elif [[ "${BUILD_TARGET}" = "px4_metadata" ]]; then
./Tools/docker_run.sh 'make px4_metadata';
elif [[ "${BUILD_TARGET}" = "clang-tidy" ]]; then
./Tools/docker_run.sh 'make clang-tidy-parallel';
./Tools/docker_run.sh 'make clang-tidy-quiet';
fi
after_success:
# s3 deploy individual firmware files (.px4), Firmware.zip, airframe.xml, and param.xml
- if [[ "${BUILD_TARGET}" = "qgc_firmware" && "${TRAVIS_PULL_REQUEST}" == "false" && "${TRAVIS_BRANCH}" != "coverity" ]]; then
./Tools/docker_run.sh 'make s3put_firmware AWS_S3_BUCKET="px4-travis/archives/Firmware/${TRAVIS_BRANCH}/${TRAVIS_BUILD_ID}"'
&& ./Tools/docker_run.sh 'make s3put_qgc_firmware AWS_S3_BUCKET="px4-travis/Firmware/${TRAVIS_BRANCH}"';
# s3 upload airframe and parameter metadata
- if [[ "${BUILD_TARGET}" = "px4_metadata" && "${TRAVIS_PULL_REQUEST}" = "false" ]]; then
./Tools/docker_run.sh 'make s3put_metadata AWS_S3_BUCKET="px4-travis/Firmware/${TRAVIS_BRANCH}"';
fi
- if [[ "${BUILD_TARGET}" = "px4_metadata" && "${TRAVIS_PULL_REQUEST}" == "false" && "${TRAVIS_BRANCH}" != "coverity" ]]; then
./Tools/docker_run.sh 'make s3put_parameters_markdown AWS_S3_BUCKET="px4-travis/Firmware/${TRAVIS_BRANCH}"';
# s3 upload clang scan-build output for master branch
- if [[ "${BUILD_TARGET}" = "scan-build" && "${TRAVIS_PULL_REQUEST}" = "false" ]]; then
./Tools/docker_run.sh 'make s3put_scan-build AWS_S3_BUCKET="px4-travis/Firmware/${TRAVIS_BRANCH}/scan-build"';
fi
# s3 upload cppcheck output for master branch
- if [[ "${BUILD_TARGET}" = "cppcheck" && "${TRAVIS_PULL_REQUEST}" = "false" ]]; then
./Tools/docker_run.sh 'make s3put_cppcheck AWS_S3_BUCKET="px4-travis/Firmware/${TRAVIS_BRANCH}/cppcheck"';
fi
deploy:
# on tags deploy Firmware.zip to Github releases
- provider: releases
api_key:
secure: cdHWLRBxA5UlYpOS0Sp891QK7PFmMgQ5ZWs1aPt+sw0rIrowyWMHCwXNBEdUqaExHYNYgXCUDI0EzNgfB7ZcR63Qv1MQeoyamV4jsxlyAqDqmxNtWO82S6RhHGeMLk26VgFKzynVcEk1IYlQP2nqzMQLdu+jTrngERuAIrCdRuc=
file: "Firmware.zip"
skip_cleanup: true
on:
tags: true
all_branches: true
repo: PX4/Firmware
condition: $BUILD_TARGET = qgc_firmware
addons:
coverity_scan:
+99 -137
View File
@@ -55,24 +55,6 @@
#
# * For else, endif, endfunction, etc, never put the name of the statement
#
# Instead of the very confusing:
# if (${var} STREQUAL "1") <-- condition now becomes if name
# # do somthing
# elseif (${var} STREQUAL "2") <-- another condition
# # do somthing
# else (${var} STREQUAL "1") <-- tag is referring to name of if
# # do somthing
# endif (${var} STREQUAL "1") <-- tag is referring to name of if
#
# Do this:
# if (${var} STREQUAL "1") <-- condition now becomes if name
# # do somthing
# elseif (${var} STREQUAL "2") <-- another condition
# # do somthing
# else () <-- leave blank
# # do somthing
# endif () <-- leave blank
#
# Functions/Macros
# ---------------------------------------------------------------------------
#
@@ -101,7 +83,7 @@
#
# * Setting a global variable in a CMakeLists.txt file is ok, because
# each CMakeLists.txt file has scope in the current directory and all
# subdirecties, so it is not truly global.
# subdirectories, so it is not truly global.
#
# * All toolchain files should be included in the cmake
# directory and named Toolchain-"name".cmake.
@@ -117,7 +99,7 @@
#
#=============================================================================
if("${CMAKE_VERSION}" VERSION_LESS 3.1.0)
if (${CMAKE_VERSION} VERSION_LESS 3.1.0)
message("Not a valid CMake version")
message("On Ubuntu >= 16.04, install or upgrade via:")
message(" sudo apt-get install cmake")
@@ -139,14 +121,18 @@ execute_process(
)
#=============================================================================
# parameters
# configuration
#
# must come before project to set toolchain
set(CMAKE_BUILD_TYPE "" CACHE STRING "build type")
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY
STRINGS ";Debug;Release;RelWithDebInfo;MinSizeRel")
set(CONFIG "posix_sitl_default" CACHE STRING "desired configuration")
string(REPLACE "_" ";" config_args ${CONFIG})
list(GET config_args 0 OS)
list(GET config_args 1 BOARD)
list(GET config_args 2 LABEL)
set(target_name "${OS}-${BOARD}-${LABEL}")
file(GLOB_RECURSE configs RELATIVE cmake/configs "cmake/configs/*.cmake")
set_property(CACHE CONFIG PROPERTY STRINGS ${configs})
@@ -154,33 +140,75 @@ set(THREADS "4" CACHE STRING "number of threads to use for external build proces
set(DEBUG_PORT "/dev/ttyACM0" CACHE STRING "debugging port")
set(EXTERNAL_MODULES_LOCATION "" CACHE STRING "External modules source location")
if(NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
if (NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
get_filename_component(EXTERNAL_MODULES_LOCATION "${EXTERNAL_MODULES_LOCATION}" ABSOLUTE)
endif()
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/cmake")
message(STATUS "CMAKE_MODULE_PATH: ${CMAKE_MODULE_PATH}")
set(config_module "configs/${CONFIG}")
include(${config_module})
include(common/coverage)
include(common/sanitizers)
# CMake build type
# Debug Release RelWithDebInfo MinSizeRel Coverage
if (NOT CMAKE_BUILD_TYPE)
if (${OS} STREQUAL "nuttx")
set(PX4_BUILD_TYPE "MinSizeRel")
elseif (${OS} STREQUAL "bebop")
set(PX4_BUILD_TYPE "MinSizeRel")
else()
set(PX4_BUILD_TYPE "RelWithDebInfo")
endif()
set(CMAKE_BUILD_TYPE ${PX4_BUILD_TYPE} CACHE STRING "Build type" FORCE)
endif()
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebInfo;MinSizeRel;Coverage")
message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}")
#=============================================================================
# configuration
# git
#
# must come before project to set toolchain
include(common/px4_git)
string(REPLACE "_" ";" config_args ${CONFIG})
list(GET config_args 0 OS)
list(GET config_args 1 BOARD)
list(GET config_args 2 LABEL)
set(target_name "${OS}-${BOARD}-${LABEL}")
# version info from git
execute_process(
COMMAND Tools/tag_to_version.py --root ${PX4_SOURCE_DIR}
OUTPUT_VARIABLE version
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
)
execute_process(
COMMAND git describe --always --tags
OUTPUT_VARIABLE git_tag
OUTPUT_STRIP_TRAILING_WHITESPACE
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
)
execute_process(
COMMAND Tools/tag_to_version.py --root ${PX4_SOURCE_DIR}
OUTPUT_VARIABLE git_version
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
)
px4_add_git_submodule(TARGET git_cmake_hexagon PATH "cmake/cmake_hexagon")
px4_add_git_submodule(TARGET git_driverframework PATH "src/lib/DriverFramework")
px4_add_git_submodule(TARGET git_ecl PATH "src/lib/ecl")
px4_add_git_submodule(TARGET git_gazebo PATH "Tools/sitl_gazebo")
px4_add_git_submodule(TARGET git_gazebo_flow PATH "Tools/sitl_gazebo/external/OpticalFlow")
px4_add_git_submodule(TARGET git_gazebo_klt PATH "Tools/sitl_gazebo/external/OpticalFlow/external/klt_feature_tracker")
px4_add_git_submodule(TARGET git_gencpp PATH "Tools/gencpp")
px4_add_git_submodule(TARGET git_genmsg PATH "Tools/genmsg")
px4_add_git_submodule(TARGET git_gps_devices PATH "src/drivers/gps/devices")
px4_add_git_submodule(TARGET git_jmavsim PATH "Tools/jMAVSim")
px4_add_git_submodule(TARGET git_matrix PATH "src/lib/matrix")
px4_add_git_submodule(TARGET git_mavlink PATH "mavlink/include/mavlink/v1.0")
px4_add_git_submodule(TARGET git_mavlink2 PATH "mavlink/include/mavlink/v2.0")
px4_add_git_submodule(TARGET git_nuttx PATH "NuttX")
px4_add_git_submodule(TARGET git_uavcan PATH "src/modules/uavcan/libuavcan")
px4_create_git_hash_header()
#=============================================================================
message(STATUS "PX4 VERSION: ${git_tag}")
message(STATUS "CONFIG: ${target_name}")
@@ -200,7 +228,7 @@ include(GNUInstallDirs)
include(ExternalProject)
# Setup install paths
if(NOT CMAKE_INSTALL_PREFIX)
if (NOT CMAKE_INSTALL_PREFIX)
if (${OS} STREQUAL "posix")
set(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Install path prefix" FORCE)
endif()
@@ -209,38 +237,25 @@ if (CMAKE_INSTALL_PREFIX)
message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
endif()
list(APPEND CMAKE_MODULE_PATH "${PX4_SOURCE_DIR}/cmake")
message(STATUS "CMAKE_MODULE_PATH: ${CMAKE_MODULE_PATH}")
set(config_module "configs/${CONFIG}")
include(${config_module})
# cmake modules
include(ExternalProject)
#=============================================================================
# require px4 module interface
set(px4_required_interface
px4_os_prebuild_targets
px4_os_add_flags
)
foreach(cmd ${px4_required_interface})
if(NOT COMMAND ${cmd})
if (NOT COMMAND ${cmd})
message(FATAL_ERROR "${config_module} must implement ${cmd}")
endif()
endforeach()
set(px4_required_config
config_module_list
)
set(px4_required_config config_module_list)
foreach(conf ${px4_required_config})
if(NOT DEFINED ${conf})
if (NOT DEFINED ${conf})
message(FATAL_ERROR "cmake/${config_module} must define ${conf}")
endif()
endforeach()
# List the DriverFramework drivers
if(DEFINED config_df_driver_list)
message("DF Drivers: ${config_df_driver_list}")
endif()
# force static lib build
set(BUILD_SHARED_LIBS OFF)
@@ -249,7 +264,7 @@ set(BUILD_SHARED_LIBS OFF)
#
option(CCACHE "Use ccache if available" OFF)
find_program(CCACHE_PROGRAM ccache)
if(CCACHE AND CCACHE_PROGRAM)
if (CCACHE AND CCACHE_PROGRAM)
message(STATUS "Enabled ccache: ${CCACHE_PROGRAM}")
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
endif()
@@ -302,9 +317,7 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(required_variables
CMAKE_C_COMPILER_ID
)
set(required_variables CMAKE_C_COMPILER_ID CMAKE_CXX_COMPILER_ID)
foreach(var ${required_variables})
if (NOT ${var})
message(FATAL_ERROR "Toolchain/config must define ${var}")
@@ -327,43 +340,6 @@ execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
STRING(REGEX MATCH "[^\n]*" cxx_compiler_version_short ${cxx_compiler_version})
message(STATUS "C++ compiler: ${cxx_compiler_version_short}")
#=============================================================================
# git
#
px4_add_git_submodule(TARGET git_cmake_hexagon PATH "cmake/cmake_hexagon")
px4_add_git_submodule(TARGET git_driverframework PATH "src/lib/DriverFramework")
px4_add_git_submodule(TARGET git_ecl PATH "src/lib/ecl")
px4_add_git_submodule(TARGET git_gazebo PATH "Tools/sitl_gazebo")
px4_add_git_submodule(TARGET git_gencpp PATH "Tools/gencpp")
px4_add_git_submodule(TARGET git_genmsg PATH "Tools/genmsg")
px4_add_git_submodule(TARGET git_gtest PATH "unittests/gtest")
px4_add_git_submodule(TARGET git_jmavsim PATH "Tools/jMAVSim")
px4_add_git_submodule(TARGET git_matrix PATH "src/lib/matrix")
px4_add_git_submodule(TARGET git_mavlink PATH "mavlink/include/mavlink/v1.0")
px4_add_git_submodule(TARGET git_mavlink2 PATH "mavlink/include/mavlink/v2.0")
px4_add_git_submodule(TARGET git_nuttx PATH "NuttX")
px4_add_git_submodule(TARGET git_uavcan PATH "src/modules/uavcan/libuavcan")
add_custom_target(submodule_clean
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
COMMAND git submodule deinit -f .
COMMAND rm -rf .git/modules/*
)
#=============================================================================
# misc targets
#
add_custom_target(check_format
COMMAND Tools/check_code_style.sh
WORKING_DIRECTORY ${PX4_SOURCE_DIR}
)
add_custom_target(config
COMMAND cmake-gui .
WORKING_DIRECTORY ${PX4_BINARY_DIR}
)
#=============================================================================
# external libraries
#
@@ -394,9 +370,11 @@ link_directories(${link_dirs})
add_definitions(${definitions})
#=============================================================================
# source code generation
# message, and airframe generation
#
include(common/px4_metadata)
add_subdirectory(msg)
px4_generate_messages(TARGET msg_gen
MSG_FILES ${msg_files}
@@ -404,21 +382,25 @@ px4_generate_messages(TARGET msg_gen
INCLUDES ${msg_include_paths}
DEPENDS git_genmsg git_gencpp prebuild_targets
)
px4_generate_parameters_xml(OUT parameters.xml
BOARD ${BOARD}
MODULES ${config_module_list}
OVERRIDES ${PARAM_DEFAULT_OVERRIDES})
px4_generate_airframes_xml(OUT airframes.xml BOARD ${BOARD})
add_custom_target(xml_gen
DEPENDS parameters.xml airframes.xml)
if(NOT "${config_nuttx_config}" STREQUAL "bootloader")
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/airframes.xml
${CMAKE_CURRENT_BINARY_DIR}/parameters.xml
DESTINATION .)
px4_generate_airframes_xml(BOARD ${BOARD})
#=============================================================================
# DriverFramework
#
# List the DriverFramework drivers
if (DEFINED config_df_driver_list)
message("DF Drivers: ${config_df_driver_list}")
endif()
set(df_driver_libs)
foreach(driver ${config_df_driver_list})
add_subdirectory(src/lib/DriverFramework/drivers/${driver})
list(APPEND df_driver_libs df_${driver})
message("Adding DF driver: ${driver}")
endforeach()
#=============================================================================
# external projects
#
@@ -433,20 +415,10 @@ include_directories(${ep_base}/Install/include)
execute_process(COMMAND cmake -E make_directory ${ep_base}/Install/lib)
execute_process(COMMAND cmake -E make_directory ${ep_base}/Install/include)
#=============================================================================
# DriverFramework Drivers
#
set(df_driver_libs)
foreach(driver ${config_df_driver_list})
add_subdirectory(src/lib/DriverFramework/drivers/${driver})
list(APPEND df_driver_libs df_${driver})
message("Adding DF driver: ${driver}")
endforeach()
#=============================================================================
# external modules
#
if(NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
if (NOT EXTERNAL_MODULES_LOCATION STREQUAL "")
message(STATUS "External modules: ${EXTERNAL_MODULES_LOCATION}")
add_subdirectory("${EXTERNAL_MODULES_LOCATION}/src" external_modules_src)
@@ -467,7 +439,7 @@ endif()
set(module_libraries)
foreach(module ${config_module_list})
string(REGEX MATCH "^[./]" external_module ${module})
if(external_module)
if (external_module)
STRING(REGEX REPLACE "//" "/" EXT_MODULE ${module})
STRING(REGEX REPLACE "/" "__" EXT_MODULE_PREFIX ${EXT_MODULE})
add_subdirectory(${module} ${PX4_BINARY_DIR}/${EXT_MODULE_PREFIX})
@@ -476,7 +448,6 @@ foreach(module ${config_module_list})
endif()
px4_mangle_name(${module} mangled_name)
list(APPEND module_libraries ${mangled_name})
#message(STATUS "adding module: ${module}")
endforeach()
# Keep track of external shared libs required for modules
@@ -484,10 +455,6 @@ set(module_external_libraries "${module_external_libraries}" CACHE INTERNAL "mod
add_subdirectory(src/firmware/${OS})
#add_dependencies(df_driver_framework nuttx_export_${CONFIG})
if (NOT "${OS}" STREQUAL "nuttx")
endif()
if (config_io_board)
add_subdirectory(src/modules/px4iofirmware)
endif()
@@ -495,7 +462,7 @@ endif()
#=============================================================================
# generate custom target to print for all executable and module cmake targets
#
if(all_posix_cmake_targets)
if (all_posix_cmake_targets)
list(SORT all_posix_cmake_targets)
px4_join(OUT posix_cmake_target_list LIST ${all_posix_cmake_targets} GLUE "\\n")
add_custom_target(list_cmake_targets
@@ -505,18 +472,13 @@ if(all_posix_cmake_targets)
)
endif()
#=============================================================================
# generate git version
#
px4_create_git_hash_header()
#=============================================================================
# packaging
#
# Important to having packaging at end of cmake file.
#
set(CPACK_PACKAGE_NAME ${PROJECT_NAME}-${CONFIG})
set(CPACK_PACKAGE_VERSION ${version})
set(CPACK_PACKAGE_VERSION ${git_version})
set(CPACK_PACKAGE_CONTACT ${package-contact})
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
@@ -525,7 +487,7 @@ set(short-description "The px4 autopilot.")
set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${short-description})
set(CPACK_GENERATOR "ZIP")
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CONFIG}-${git_tag}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${version}")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${git_version}")
set(CPACK_SOURCE_GENERATOR "ZIP;TBZ2")
set(CPACK_PACKAGING_INSTALL_PREFIX "")
set(CPACK_SET_DESTDIR "OFF")
+77 -59
View File
@@ -124,6 +124,9 @@ ifdef EXTERNAL_MODULES_LOCATION
CMAKE_ARGS := -DEXTERNAL_MODULES_LOCATION:STRING=$(EXTERNAL_MODULES_LOCATION)
endif
ifdef PX4_CMAKE_BUILD_TYPE
CMAKE_ARGS += -DCMAKE_BUILD_TYPE=${PX4_CMAKE_BUILD_TYPE}
endif
# Functions
# --------------------------------------------------------------------
@@ -131,7 +134,7 @@ endif
define cmake-build
+@$(eval BUILD_DIR = $(SRC_DIR)/build_$@$(BUILD_DIR_SUFFIX))
+@if [ $(PX4_CMAKE_GENERATOR) = "Ninja" ] && [ -e $(BUILD_DIR)/Makefile ]; then rm -rf $(BUILD_DIR); fi
+@if [ ! -e $(BUILD_DIR)/CMakeCache.txt ]; then mkdir -p $(BUILD_DIR) && cd $(BUILD_DIR) && cmake $(2) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=$(1) $(CMAKE_ARGS) || (rm -rf $(BUILD_DIR)); fi
+@if [ ! -e $(BUILD_DIR)/CMakeCache.txt ]; then mkdir -p $(BUILD_DIR) && cd $(BUILD_DIR) && cmake $(2) -G"$(PX4_CMAKE_GENERATOR)" -DCONFIG=$(1) $(CMAKE_ARGS) || (rm -rf $(BUILD_DIR)); fi
+@(cd $(BUILD_DIR) && $(PX4_MAKE) $(PX4_MAKE_ARGS) $(ARGS))
endef
@@ -178,35 +181,39 @@ excelsior_legacy_default: posix_excelsior_legacy qurt_excelsior_legacy
# Other targets
# --------------------------------------------------------------------
.PHONY: qgc_firmware alt_firmware checks_bootloaders uavcan_firmware sizes check quick_check
.PHONY: qgc_firmware px4fmu_firmware misc_qgc_extra_firmware alt_firmware checks_bootloaders sizes check quick_check
# QGroundControl flashable NuttX firmware
qgc_firmware: \
qgc_firmware: px4fmu_firmware misc_qgc_extra_firmware sizes
# px4fmu NuttX firmware
px4fmu_firmware: \
check_px4fmu-v1_default \
check_px4fmu-v2_default \
check_px4fmu-v3_default \
check_px4fmu-v4_default \
check_px4fmu-v4pro_default \
check_px4fmu-v5_default \
sizes
misc_qgc_extra_firmware: \
check_aerocore2_default \
check_aerofc-v1_default \
check_auav-x21_default \
check_crazyflie_default \
check_mindpx-v2_default \
check_px4fmu-v1_default \
check_px4fmu-v2_default \
check_px4fmu-v2_lpe \
check_px4fmu-v3_default \
check_px4fmu-v4_default \
check_px4fmu-v4pro_default \
check_px4fmu-v5_default \
check_tap-v1_default \
check_sizes
sizes
# Other NuttX firmware
alt_firmware: \
check_px4-stm32f4discovery_default \
check_px4cannode-v1_default \
check_px4esc-v1_default \
check_px4fmu-v4pro_default \
check_px4fmu-v5_default \
check_px4nucleoF767ZI-v1_default \
check_s2740vc-v1_default \
check_sizes
sizes
checks_bootloaders: \
check_esc35-v1_bootloader \
@@ -215,20 +222,13 @@ checks_bootloaders: \
check_px4flow-v2_bootloader \
check_s2740vc-v1_bootloader \
# not fitting in flash check_zubaxgnss-v1_bootloader \
check_sizes
uavcan_firmware:
$(call colorecho,"Downloading and building Vector control (FOC) firmware for the S2740VC and PX4ESC 1.6")
@rm -rf vectorcontrol
@git clone --quiet --depth 1 https://github.com/thiemar/vectorcontrol.git && cd vectorcontrol
@BOARD=s2740vc_1_0 make --silent --no-print-directory
@BOARD=px4esc_1_6 make --silent --no-print-directory && $(SRC_DIR)/Tools/uavcan_copy.sh)
sizes
sizes:
@-find build_* -name firmware_nuttx -type f | xargs size 2> /dev/null || :
# All default targets that don't require a special build environment
check: check_posix_sitl_default qgc_firmware alt_firmware checks_bootloaders tests check_format
check: check_posix_sitl_default px4fmu_firmware misc_qgc_extra_firmware alt_firmware checks_bootloaders tests check_format
# quick_check builds a single nuttx and posix target, runs testing, and checks the style
quick_check: check_posix_sitl_default check_px4fmu-v3_default tests check_format
@@ -258,7 +258,7 @@ px4_metadata: parameters_metadata airframe_metadata
# AWS_ACCESS_KEY_ID
# AWS_SECRET_ACCESS_KEY
# AWS_S3_BUCKET
.PHONY: s3put_firmware s3put_qgc_firmware
.PHONY: s3put_firmware s3put_qgc_firmware s3put_px4fmu_firmware s3put_misc_qgc_extra_firmware s3put_metadata s3put_scan-build s3put_cppcheck s3put_coverage
Firmware.zip:
@rm -rf Firmware.zip
@@ -267,7 +267,12 @@ Firmware.zip:
s3put_firmware: Firmware.zip
$(SRC_DIR)/Tools/s3put.sh Firmware.zip
s3put_qgc_firmware: qgc_firmware
s3put_qgc_firmware: s3put_px4fmu_firmware s3put_misc_qgc_extra_firmware
s3put_px4fmu_firmware: px4fmu_firmware
@find $(SRC_DIR)/build_* -name "*.px4" -exec $(SRC_DIR)/Tools/s3put.sh "{}" \;
s3put_misc_qgc_extra_firmware: misc_qgc_extra_firmware
@find $(SRC_DIR)/build_* -name "*.px4" -exec $(SRC_DIR)/Tools/s3put.sh "{}" \;
s3put_metadata: px4_metadata
@@ -276,6 +281,15 @@ s3put_metadata: px4_metadata
@$(SRC_DIR)/Tools/s3put.sh build_posix_sitl_default/parameters.xml
@$(SRC_DIR)/Tools/s3put.sh parameters.md
s3put_scan-build: scan-build
@cd $(SRC_DIR) && ./Tools/s3put.sh `find build_scan-build -mindepth 1 -maxdepth 1 -type d`/
s3put_cppcheck: cppcheck
@cd $(SRC_DIR) && ./Tools/s3put.sh cppcheck/
s3put_coverage: tests_coverage
@cd $(SRC_DIR) && ./Tools/s3put.sh build_posix_sitl_default/coverage-html/
# Astyle
# --------------------------------------------------------------------
.PHONY: check_format format
@@ -291,55 +305,59 @@ format:
# Testing
# --------------------------------------------------------------------
.PHONY: unittest run_tests_posix tests tests_coverage
unittest: posix_sitl_default
$(call cmake-build,unittest,$(SRC_DIR)/unittests)
@(cd build_unittest && ctest -j2 --output-on-failure)
.PHONY: run_tests_posix tests tests_coverage
run_tests_posix:
$(MAKE) --no-print-directory posix_sitl_default test_results
tests: unittest run_tests_posix
tests: run_tests_posix
tests_coverage:
@lcov --zerocounters --directory $(SRC_DIR) --quiet
@lcov --capture --initial --directory $(SRC_DIR) --quiet --output-file coverage.info
@$(MAKE) --no-print-directory unittest PX4_CODE_COVERAGE=1 CCACHE_DISABLE=1
@$(MAKE) --no-print-directory posix_sitl_default test_results PX4_CODE_COVERAGE=1 CCACHE_DISABLE=1
@lcov --no-checksum --directory $(SRC_DIR) --capture --quiet --output-file coverage.info
@lcov --remove coverage.info '/usr/*' 'unittests/googletest/*' --quiet --output-file coverage.info
@genhtml --legend --show-details --function-coverage --quiet --output-directory coverage-html coverage.info
@$(MAKE) --no-print-directory posix_sitl_default test_results_junit
@$(MAKE) --no-print-directory posix_sitl_default test_coverage_genhtml PX4_CMAKE_BUILD_TYPE=Coverage
# Clang analyzers
coveralls_upload:
@cpp-coveralls --include src/ \
--exclude=src/lib/DriverFramework \
--exclude=src/lib/ecl \
--exclude=src/lib/Matrix \
--exclude=src/modules/uavcan/libuavcan \
--root . --build-root build_posix_sitl_default/ --follow-symlinks
codecov_upload:
@/bin/bash -c "bash <(curl -s https://codecov.io/bash)"
# static analyzers (scan-build, clang-tidy, cppcheck)
# --------------------------------------------------------------------
.PHONY: scan-build clang-check clang-tidy
.PHONY: posix_sitl_default-clang scan-build clang-tidy clang-tidy-fix clang-tidy-quiet cppcheck
posix_sitl_default-clang:
@mkdir -p $(SRC_DIR)/build_posix_sitl_default-clang
@cd $(SRC_DIR)/build_posix_sitl_default-clang && cmake .. -GNinja -DCONFIG=posix_sitl_default -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
@cd $(SRC_DIR)/build_posix_sitl_default-clang && ninja
scan-build:
@export CCACHE_DISABLE=1
@mkdir -p $(SRC_DIR)/build_posix_sitl_default_scan-build
@cd $(SRC_DIR)/build_posix_sitl_default_scan-build && scan-build cmake .. -GNinja -DCONFIG=posix_sitl_default
@scan-build cmake --build $(SRC_DIR)/build_posix_sitl_default_scan-build
@export CCC_CC=clang
@export CCC_CXX=clang++
@mkdir -p $(SRC_DIR)/build_posix_sitl_default-scan-build
@cd $(SRC_DIR)/build_posix_sitl_default-scan-build && scan-build cmake .. -GNinja -DCONFIG=posix_sitl_default
@scan-build -o $(SRC_DIR)/build_scan-build cmake --build $(SRC_DIR)/build_posix_sitl_default-scan-build
clang-check:
@CC=clang CXX=clang++ $(MAKE) --no-print-directory posix_sitl_default
@$(SRC_DIR)/Tools/clang-tool.sh -b build_posix_sitl_default -t clang-check
clang-tidy: posix_sitl_default-clang
@cd build_posix_sitl_default-clang && run-clang-tidy-4.0.py -header-filter=".*\.hpp" -j$(j) -p .
clang-tidy:
rm -rf $(SRC_DIR)/build_posix_sitl_default
@CC=clang CXX=clang++ $(MAKE) --no-print-directory posix_sitl_default
@$(SRC_DIR)/Tools/clang-tool.sh -b build_posix_sitl_default -t clang-tidy
# to automatically fix a single check at a time, eg modernize-redundant-void-arg
# % run-clang-tidy-4.0.py -fix -j4 -checks=-\*,modernize-redundant-void-arg -p .
clang-tidy-fix: posix_sitl_default-clang
@cd build_posix_sitl_default-clang && run-clang-tidy-4.0.py -header-filter=".*\.hpp" -j$(j) -fix -p .
clang-tidy-parallel:
rm -rf $(SRC_DIR)/build_posix_sitl_default
@CC=clang CXX=clang++ $(MAKE) --no-print-directory posix_sitl_default
@$(SRC_DIR)/Tools/run-clang-tidy.py -j$(j) -p $(SRC_DIR)/build_posix_sitl_default
# modified version of run-clang-tidy.py to return error codes and only output relevant results
clang-tidy-quiet: posix_sitl_default-clang
@cd build_posix_sitl_default-clang && $(SRC_DIR)/Tools/run-clang-tidy.py -header-filter=".*\.hpp" -j$(j) -p .
clang-tidy-fix:
rm -rf $(SRC_DIR)/build_posix_sitl_default
@CC=clang CXX=clang++ $(MAKE) --no-print-directory posix_sitl_default
@run-clang-tidy.py -fix -j$(j) -p $(SRC_DIR)/build_posix_sitl_default
# TODO: Fix cppcheck errors then try --enable=warning,performance,portability,style,unusedFunction or --enable=all
cppcheck: posix_sitl_default
@cppcheck -i$(SRC_DIR)/src/examples --std=c++11 --std=c99 --std=posix --project=build_posix_sitl_default/compile_commands.json --xml-version=2 2> cppcheck-result.xml
@cppcheck-htmlreport --source-encoding=ascii --file=cppcheck-result.xml --report-dir=cppcheck --source-dir=$(SRC_DIR)/src/
# Cleanup
# --------------------------------------------------------------------
@@ -3,11 +3,14 @@
# @name HILStar (XPlane)
#
# @type Simulation
# @class Plane
#
# @output MAIN1 aileron
# @output MAIN2 elevator
# @output MAIN3 rudder
# @output MAIN4 throttle
# @output MAIN5 flaps
# @output MAIN6 gear
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
@@ -3,6 +3,7 @@
# @name Team Blacksheep Discovery
#
# @type Quadrotor Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -16,7 +17,7 @@
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Anton Babushkin <anton@px4.io>, Simon Wilks <simon@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
+2 -1
View File
@@ -3,6 +3,7 @@
# @name 3DR Iris Quadrotor
#
# @type Quadrotor Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -14,7 +15,7 @@
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
@@ -3,6 +3,7 @@
# @name Steadidrone QU4D
#
# @type Quadrotor Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -16,7 +17,7 @@
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Thomas Gubler <thomas@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
@@ -3,6 +3,7 @@
# @name Team Blacksheep Discovery Endurance
#
# @type Quadrotor Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -16,7 +17,7 @@
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Simon Wilks <simon@px4.io>
# @maintainer Simon Wilks <simon@uaventure.com>
#
sh /etc/init.d/rc.mc_defaults
@@ -39,7 +40,6 @@ then
param set MC_YAWRATE_I 0.1
param set MC_YAWRATE_D 0.0
param set MPC_XY_FF 0.2
param set MPC_XY_VEL_MAX 2
param set PWM_MIN 1080
fi
@@ -3,8 +3,9 @@
# @name HIL Quadcopter X
#
# @type Simulation
# @class Copter
#
# @maintainer Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
@@ -3,6 +3,7 @@
# @name 3DR DIY Quad
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
@@ -3,6 +3,7 @@
# @name H4 680mm with Z1 Tiny2 Gimbal
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Leon Mueller <thedevleon>
#
@@ -3,8 +3,9 @@
# @name HIL Quadcopter +
#
# @type Simulation
# @class Copter
#
# @maintainer Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
+2 -1
View File
@@ -3,13 +3,14 @@
# @name Generic Hexa coaxial geometry
#
# @type Hexarotor Coaxial
# @class Copter
#
# @output MAIN1 front right top, CW; angle:60; direction:CW
# @output MAIN2 front right bottom, CCW; angle:60; direction:CCW
# @output MAIN3 back top, CW; angle:180; direction:CW
# @output MAIN4 back bottom, CCW; angle:180; direction:CCW
# @output MAIN5 front left top, CW; angle:-60; direction:CW
# @output MAIN6 front left bottom, CCW;angle:-60; direction:CCW
# @output MAIN6 front left bottom, CCW;angle:-60; direction:CCW
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
@@ -3,6 +3,7 @@
# @name Generic 10" Octo coaxial geometry
#
# @type Octorotor Coaxial
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -3,6 +3,7 @@
# @name Steadidrone MAVRIK
#
# @type Octo Coax Wide
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -3,6 +3,7 @@
# @name Caipiroshka Duo Tailsitter
#
# @type VTOL Duo Tailsitter
# @class VTOL
#
# @output MAIN1 motor right
# @output MAIN2 motor left
@@ -2,7 +2,10 @@
#
# @name BirdsEyeView Aerobotics FireFly6
# @type VTOL Tiltrotor
# @class VTOL
#
# @maintainer Roman Bapst <roman@uaventure.com>
#
# @output MAIN1 Front right motor bottom
# @output MAIN2 Front right motor top
# @output MAIN3 Back motor bottom
@@ -3,6 +3,7 @@
# @name Quadrotor X Tailsitter
#
# @type VTOL Quad Tailsitter
# @class VTOL
#
# @maintainer Roman Bapst <roman@px4.io>
#
@@ -3,6 +3,7 @@
# @name Quadrotor + Tailsitter
#
# @type VTOL Quad Tailsitter
# @class VTOL
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -1,8 +1,12 @@
#!nsh
#
# @name Fun Cub Quad VTOL
#
# @type Standard VTOL
# @class VTOL
#
# @maintainer Simon Wilks <simon@uaventure.com>
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
@@ -1,8 +1,12 @@
#!nsh
#
# @name Generic quad delta VTOL
#
# @type Standard VTOL
# @class VTOL
#
# @maintainer Simon Wilks <simon@uaventure.com>
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
@@ -3,6 +3,7 @@
# @name Generic AAVVT v-tail plane airframe with Quad VTOL.
#
# @type Standard VTOL
# @class VTOL
#
# @maintainer Sander Smeets <sander@droneslab.com>
#
@@ -3,6 +3,7 @@
# @name QuadRanger
#
# @type Standard VTOL
# @class VTOL
#
# @maintainer Sander Smeets <sander@droneslab.com>
#
@@ -3,6 +3,7 @@
# @name Sparkle Tech Ranger VTOL
#
# @type Standard VTOL
# @class VTOL
#
# @maintainer Andreas Antener <andreas@uaventure.com>
#
@@ -61,11 +62,9 @@ then
param set MPC_TILTMAX_AIR 35.0
param set MPC_TILTMAX_LND 20.0
param set MPC_TKO_SPEED 1.0
param set MPC_XY_FF 0.1
param set MPC_XY_P 0.3
param set MPC_XY_VEL_MAX 3.0
param set MPC_XY_VEL_P 0.05
param set MPC_Z_FF 0.3
param set MPC_Z_P 0.5
param set MPC_Z_VEL_P 0.1
+1
View File
@@ -3,6 +3,7 @@
# @name CruiseAder Claire
#
# @type VTOL Tiltrotor
# @class VTOL
#
# @maintainer Samay Siga <samay_s@icloud.com>
#
@@ -1,8 +1,12 @@
#!nsh
#
# @name E-flite Convergence
#
# @type VTOL Tiltrotor
# @class VTOL
#
# @maintainer Andreas Antener <andreas@uaventure.com>
#
# @output MAIN1 Motor right
# @output MAIN2 Motor left
# @output MAIN3 Motor back
@@ -1,8 +1,12 @@
#!nsh
#
# @name DeltaQuad
#
# @type Standard VTOL
# @class VTOL
#
# @maintainer Sander Smeets <sander@droneslab.com>
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
@@ -3,6 +3,7 @@
# @name Generic Tricopter Y+ Geometry
#
# @type Tricopter Y+
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
+2 -3
View File
@@ -3,6 +3,7 @@
# @name Generic Tricopter Y- Geometry
#
# @type Tricopter Y-
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -16,6 +17,4 @@ sh /etc/init.d/rc.mc_defaults
set MIXER tri_y_yaw-
set PWM_OUT 1234
set PWM_OUT 1234
+2 -1
View File
@@ -3,7 +3,8 @@
# @name Esky (Big) Lama v4
#
# @type Coaxial Helicopter
#
# @class Copter
#
# @output MAIN1 Left swashplate servomotor, pitch axis
# @output MAIN2 Right swashplate servomotor, roll axis
# @output MAIN3 Upper rotor (CCW)
@@ -3,8 +3,10 @@
# @name Blade 130X
#
# @type Helicopter
# @class Copter
#
# @maintainer Bart Slinger <bartslinger@gmail.com>
#
# @output MAIN1 main motor
# @output MAIN2 front swashplate servo
# @output MAIN3 right swashplate servo
@@ -3,6 +3,7 @@
# @name Passthrough mode for Snapdragon
#
# @type custom
# @class Tool
#
# @board px4fmu-v1 exclude
# @board px4fmu-v2 exclude
@@ -1,17 +0,0 @@
#!nsh
#
# @name Multiplex Easystar
#
# @type Standard Plane
#
# @output MAIN1 aileron
# @output MAIN2 elevator
# @output MAIN3 rudder
# @output MAIN4 throttle
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.fw_defaults
set MIXER easystar
@@ -1,14 +1,16 @@
#!nsh
#
# @name Standard AETR Plane
# @name Standard Plane
#
# @type Standard Plane
# @class Plane
#
# @output MAIN1 aileron
# @output MAIN2 elevator
# @output MAIN3 throttle
# @output MAIN4 rudder
# @output MAIN5 flaps
# @output MAIN6 gear
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
@@ -19,10 +21,10 @@
sh /etc/init.d/rc.fw_defaults
set MIXER AETR
set MIXER AETRFG
# use PWM parameters for throttle channel
set PWM_OUT 3
set PWM_DISARMED p:PWM_DISARMED
set PWM_MIN p:PWM_MIN
set PWM_MAX p:PWM_MAX
set PWM_RATE 50
set PWM_AUX_RATE 50
# rate must be set by group (see pwm info)
# throttle is in the same group as servos
-25
View File
@@ -1,25 +0,0 @@
#!nsh
#
# @name Standard AERT Plane
#
# @type Standard Plane
#
# @output MAIN1 aileron
# @output MAIN2 elevator
# @output MAIN3 rudder
# @output MAIN4 throttle
# @output MAIN5 flaps
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.fw_defaults
set MIXER AERT
# use PWM parameters for throttle channel
set PWM_OUT 4
@@ -1,22 +0,0 @@
#!nsh
#
# @name Skywalker (3DR Aero)
#
# @type Standard Plane
#
# @output MAIN1 aileron
# @output MAIN2 elevator
# @output MAIN4 rudder
# @output MAIN3 throttle
# @output MAIN5 flaps
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.fw_defaults
set MIXER skywalker
@@ -1,20 +0,0 @@
#!nsh
#
# @name Skyhunter 1800
#
# @type Standard Plane
#
# @output MAIN1 aileron
# @output MAIN2 elevator
# @output MAIN4 throttle
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.fw_defaults
set MIXER AET
+1
View File
@@ -3,6 +3,7 @@
# @name Bormatec Maja
#
# @type Standard Plane
# @class Plane
#
# @output MAIN1 aileron
# @output MAIN2 aileron
@@ -3,6 +3,7 @@
# @name Applied Aeronautics Albatross
#
# @type Plane A-Tail
# @class Plane
#
# @output MAIN1 aileron right
# @output MAIN2 aileron left
@@ -0,0 +1,51 @@
#!nsh
#
# @name Generic Dodecarotor cox geometry
#
# @type Dodecarotor cox
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
# @output MAIN3 motor 3
# @output MAIN4 motor 4
# @output MAIN5 motor 5
# @output MAIN6 motor 6
#
# @output AUX1 motor 7
# @output AUX2 motor 8
# @output AUX3 motor 9
# @output AUX4 motor 10
# @output AUX5 motor 11
# @output AUX6 motor 12
#
# @maintainer Ian McNanie <ianmcnanie@gmail.com>
# @maintainer William Peale <develop707@gmail.com>
#
set VEHICLE_TYPE mc
if [ $AUTOCNF == yes ]
then
param set NAV_ACC_RAD 2.0
param set RTL_RETURN_ALT 30.0
param set RTL_DESCEND_ALT 10.0
param set PWM_MIN 1075
param set PWM_MAX 1950
param set PWM_RATE 400
param set RTL_LAND_DELAY 0
fi
set PWM_AUX_RATE 400
# Note: May Have to set these parameters manually. They don't appear to save.
set PWM_AUX_DISARMED 900
param set PWM_AUX_MIN 1075
param set PWM_AUX_MAX 1950
set MIXER dodeca_top_cox
set MIXER_AUX dodeca_bottom_cox
# Need to set all 8 channels
set PWM_OUT 12345678
set PWM_AUX_OUT 123456
+2 -1
View File
@@ -5,6 +5,7 @@
# @url https://pixhawk.org/platforms/planes/bormatec_camflyer_q
#
# @type Flying Wing
# @class Plane
#
# @output MAIN1 left aileron
# @output MAIN2 right aileron
@@ -14,7 +15,7 @@
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Simon Wilks <simon@px4.io>
# @maintainer Simon Wilks <simon@uaventure.com>
#
sh /etc/init.d/rc.fw_defaults
+2 -1
View File
@@ -5,6 +5,7 @@
# @url https://pixhawk.org/platforms/planes/z-84_wing_wing
#
# @type Flying Wing
# @class Plane
#
# @output MAIN1 left aileron
# @output MAIN2 right aileron
@@ -14,7 +15,7 @@
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Simon Wilks <simon@px4.io>
# @maintainer Simon Wilks <simon@uaventure.com>
#
sh /etc/init.d/rc.fw_defaults
+2 -1
View File
@@ -5,6 +5,7 @@
# @url https://pixhawk.org/platforms/planes/skywalker_x5
#
# @type Flying Wing
# @class Plane
#
# @output MAIN1 left aileron
# @output MAIN2 right aileron
@@ -14,7 +15,7 @@
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Thomas Gubler <thomas@px4.io>, Julian Oes <julian@px4.io>
# @maintainer Julian Oes <julian@px4.io>
#
sh /etc/init.d/rc.fw_defaults
+2 -1
View File
@@ -2,9 +2,10 @@
#
# @name Wing Wing (aka Z-84) Flying Wing
#
# @url https://pixhawk.org/platforms/planes/z-84_wing_wing
# @url https://docs.px4.io/en/framebuild_plane/wing_wing_z84.html
#
# @type Flying Wing
# @class Plane
#
# @output MAIN1 left aileron
# @output MAIN2 right aileron
+2 -1
View File
@@ -3,8 +3,9 @@
# @name FX-79 Buffalo Flying Wing
#
# @type Flying Wing
# @class Plane
#
# @maintainer Simon Wilks <simon@px4.io>
# @maintainer Simon Wilks <simon@uaventure.com>
#
sh /etc/init.d/rc.fw_defaults
+2 -1
View File
@@ -4,8 +4,9 @@
# @name Viper
#
# @type Flying Wing
# @class Plane
#
# @maintainer Simon Wilks <simon@px4.io>
# @maintainer Simon Wilks <simon@uaventure.com>
#
sh /etc/init.d/rc.fw_defaults
+2 -1
View File
@@ -5,6 +5,7 @@
# @url http://www.sparkletech.hk/
#
# @type Flying Wing
# @class Plane
#
# @output MAIN1 left aileron
# @output MAIN2 right aileron
@@ -14,7 +15,7 @@
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Simon Wilks <simon@px4.io>
# @maintainer Simon Wilks <simon@uaventure.com>
#
sh /etc/init.d/rc.fw_defaults
@@ -3,6 +3,7 @@
# @name TBS Caipirinha
#
# @type Flying Wing
# @class Plane
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
+1
View File
@@ -3,6 +3,7 @@
# @name Generic Quadrotor X config
#
# @type Quadrotor x
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
+1 -1
View File
@@ -3,7 +3,7 @@
# @name Generic Quadrotor X config with mount (e.g. gimbal)
#
# @type Quadrotor x
#
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
+1
View File
@@ -3,6 +3,7 @@
# @name Lumenier QAV-R (raceblade) 5" arms
#
# @type Quadrotor x
# @class Copter
#
# @board px4fmu-v1 exclude
# @board px4fmu-v2 exclude
+1
View File
@@ -3,6 +3,7 @@
# @name AR.Drone Frame
#
# @type Quadrotor x
# @class Copter
#
# @board px4fmu-v2 exclude
# @board px4fmu-v3 exclude
+2 -1
View File
@@ -3,8 +3,9 @@
# @name Lumenier QAV250
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Mark Whitehorn <kd0aij@gmail.com>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/4001_quad_x
+1
View File
@@ -3,6 +3,7 @@
# @name DJI Flame Wheel F330
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
+1
View File
@@ -3,6 +3,7 @@
# @name DJI Flame Wheel F450
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Lorenz Meier <lorenz@px4.io>
#
+2 -1
View File
@@ -3,8 +3,9 @@
# @name F450-sized quadrotor with CAN
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Pavel Kirienko <pavel@px4.io>
# @maintainer Pavel Kirienko <pavel.kirienko@gmail.com>
#
sh /etc/init.d/4001_quad_x
+1
View File
@@ -3,6 +3,7 @@
# @name Parrot Bebop Frame
#
# @type Quadrotor x
# @class Copter
#
# @board px4fmu-v1 exclude
# @board px4fmu-v2 exclude
@@ -3,6 +3,7 @@
# @name Hobbyking Micro PCB
#
# @type Quadrotor x
# @class Copter
#
# @board px4fmu-v2 exclude
# @board px4fmu-v3 exclude
+1
View File
@@ -3,6 +3,7 @@
# @name 3DR Solo
#
# @type Quadrotor x
# @class Copter
#
# @board px4fmu-v1 exclude
# @board px4fmu-v2 exclude
+1
View File
@@ -3,6 +3,7 @@
# @name Reaper 500 Quad
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Blankered
#
+2 -1
View File
@@ -3,8 +3,9 @@
# @name Generic 250 Racer
#
# @type Quadrotor x
# @class Copter
#
# @maintainer Mark Whitehorn <kd0aij@gmail.com>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/4001_quad_x
+3 -1
View File
@@ -1,11 +1,13 @@
#!nsh
#
# @name Spedix S250AQ
# @url https://docs.px4.io/en/framebuild_multicopter/spedix_s250_pixracer.html
#
# @board px4fmu-v1 exclude
# @board px4fmu-v2 exclude
#
# @type Quadrotor asymmetric
# @class Copter
#
# @output MAIN1 motor1 (front right: CCW)
# @output MAIN2 motor2 (back left: CCW)
@@ -15,7 +17,7 @@
# @output MAIN5 feed-through of RC AUX1 channel
# @output MAIN6 feed-through of RC AUX2 channel
#
# @maintainer Mark Whitehorn <kd0aij@gmail.com>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
@@ -3,6 +3,7 @@
# @name DJI Matrice 100
#
# @type Quadrotor x
# @class Copter
#
# @maintainer James Goppert <james.goppert@gmail.com>
#
+2
View File
@@ -10,6 +10,8 @@
# @board px4fmu-v5 exclude
#
# @type Quadrotor x
# @class Copter
#
sh /etc/init.d/rc.mc_defaults
+5 -4
View File
@@ -3,6 +3,7 @@
# @name ZMR250 Racer
#
# @type Quadrotor x
# @class Copter
#
# @board px4fmu-v1 exclude
# @board px4fmu-v2 exclude
@@ -20,7 +21,7 @@ then
param set MC_ROLL_P 2.0
param set MC_ROLLRATE_P 0.05
param set MC_ROLLRATE_I 0.2
param set MC_ROLLRATE_D 0.0015
param set MC_ROLLRATE_D 0.0015
param set MC_ROLL_TC 0.18
param set MC_PITCH_P 2.0
@@ -35,9 +36,9 @@ then
param set MC_YAWRATE_D 0.0
param set MC_YAW_FF 0.5
param set MC_ACRO_R_MAX 1080.0
param set MC_ACRO_P_MAX 1080.0
param set MC_ACRO_Y_MAX 1080.0
param set MC_ACRO_R_MAX 1000.0
param set MC_ACRO_P_MAX 1000.0
param set MC_ACRO_Y_MAX 1000.0
param set MC_TPA_BREAK_P 0.5
param set MC_TPA_BREAK_D 0.7
+1
View File
@@ -3,6 +3,7 @@
# @name NanoMind 110 Quad
#
# @type Quadrotor x
# @class Copter
#
# @board px4fmu-v1 exclude
# @board px4fmu-v2 exclude
@@ -11,6 +11,7 @@
# @board aerofc-v1 exclude
#
# @type Quadrotor x
# @class Copter
#
sh /etc/init.d/4001_quad_x
@@ -3,6 +3,7 @@
# @name Axial Racing AX10
#
# @type Rover
# @class Rover
#
# @output MAIN1 pass-through of control group 0, channel 0
# @output MAIN2 pass-through of control group 0, channel 1
@@ -0,0 +1,62 @@
#!nsh
#
# @name Traxxas stampede vxl 2wd
#
# @url https://traxxas.com/products/models/electric/stampede-vxl-tsm
#
# @type Rover
# @class Rover
#
# @output MAIN2 steering
# @output MAIN4 throttle
#
# @maintainer Marco Zorzi
#
sh /etc/init.d/rc.gnd_defaults
if [ $AUTOCNF == yes ]
then
param set BAT_N_CELLS 7
param set FW_AIRSPD_MIN 0
param set FW_AIRSPD_TRIM 1
param set FW_AIRSPD_MAX 3
param set NAV_ACC_RAD 0.5
param set MIS_LTRMIN_ALT 0.01
param set MIS_TAKEOFF_ALT 0.01
param set EKF2_GBIAS_INIT 0.01
param set EKF2_ANGERR_INIT 0.01
param set EKF2_MAG_TYPE 1
param set GND_WR_P 2
param set GND_WR_I 0.9674
param set GND_WR_IMAX 0.1
param set GND_WR_D 1.2
param set GND_SP_CTRL_MODE 1
param set GND_L1_DIST 10
param set GND_THR_IDLE 0
param set GND_THR_CRUISE 0
param set GND_THR_MAX 0.5
param set GND_THR_MIN 0
param set GND_SPEED_P 0.25
param set GND_SPEED_I 0.001
param set GND_SPEED_D 3
param set GND_SPEED_IMAX 0.125
param set GND_SPEED_THR_SC 1
fi
# Configure this as ugv
set MAV_TYPE 10
# Set mixer
set MIXER stampede
# Provide ESC a constant 1500 us pulse
set PWM_DISARMED 1500
set PWM_MAIN_REV2 1
set PWM_MAX 2000
set PWM_MIN 1000
+2 -1
View File
@@ -3,6 +3,7 @@
# @name Generic 10" Quad + geometry
#
# @type Quadrotor +
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -16,7 +17,7 @@
# @output AUX3 feed-through of RC AUX3 channel
# @output AUX4 feed-through of RC FLAPS channel
#
# @maintainer Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
+2 -1
View File
@@ -3,6 +3,7 @@
# @name Generic Hexarotor x geometry
#
# @type Hexarotor x
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -15,7 +16,7 @@
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
+2 -1
View File
@@ -3,6 +3,7 @@
# @name Generic Hexarotor + geometry
#
# @type Hexarotor +
# @class Copter
#
# @output MAIN1 motor1
# @output MAIN2 motor2
@@ -15,7 +16,7 @@
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
+2 -1
View File
@@ -3,6 +3,7 @@
# @name Generic Octocopter X geometry
#
# @type Octorotor x
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -17,7 +18,7 @@
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
+2 -1
View File
@@ -3,6 +3,7 @@
# @name Generic Octocopter + geometry
#
# @type Octorotor +
# @class Copter
#
# @output MAIN1 motor 1
# @output MAIN2 motor 2
@@ -17,7 +18,7 @@
# @output AUX2 feed-through of RC AUX2 channel
# @output AUX3 feed-through of RC AUX3 channel
#
# @maintainer Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
@@ -1,6 +1,6 @@
#!nsh
set VEHICLE_TYPE rover
set VEHICLE_TYPE ugv
# This section can be enabled once tuning parameters for this particular
# rover model are known. It allows to configure default gains via the GUI
+8
View File
@@ -3,6 +3,14 @@
# Standard apps for fixed wing
#
# LPE
if param compare SYS_MC_EST_GROUP 1
then
echo "ERROR [init] Estimator LPE not supported on fixed wing. Using EKF2"
param set SYS_MC_EST_GROUP 2
param save
fi
#
# Start the attitude and position estimator
#
+14 -3
View File
@@ -4,9 +4,15 @@ set VEHICLE_TYPE fw
if [ $AUTOCNF == yes ]
then
#
# Default parameters for FW
#
#
# Default parameters for FW
#
param set EKF2_ARSP_THR 8.0
param set EKF2_FUSE_BETA 0
param set EKF2_MAG_ACCLIM 0
param set EKF2_MAG_YAWLIM 0
param set RTL_RETURN_ALT 100
param set RTL_DESCEND_ALT 100
param set RTL_LAND_DELAY -1
@@ -17,6 +23,11 @@ then
param set MIS_LTRMIN_ALT 25
param set MIS_TAKEOFF_ALT 25
param set PWM_RATE 50
# FW takeoff acceleration can easily exceed ublox GPS 2G default
param set GPS_UBX_DYNMODEL 8
fi
# This is the gimbal pass mixer
+24
View File
@@ -0,0 +1,24 @@
#!nsh
#
# Standard apps for unmanned ground vehicles (UGV)
#
#
# Start the attitude and position estimator
#
ekf2 start
#attitude_estimator_q start
#local_position_estimator start
#
# Start attitude controllers
#
gnd_att_control start
gnd_pos_control start
#
# Start Land Detector
#
land_detector start ugv
@@ -0,0 +1,32 @@
#!nsh
set VEHICLE_TYPE ugv
if [ $AUTOCNF == yes ]
then
#
# Default parameters for UGVs
#
param set NAV_DLL_ACT 0
param set NAV_ACC_RAD 2.0
# temporary
param set NAV_FW_ALT_RAD 1000
param set MIS_LTRMIN_ALT 0.01
param set MIS_TAKEOFF_ALT 0.01
fi
# Enable servo output on pins 3 and 4 (steering and thrust)
# but also include 1+2 as they form together one output group
# and need to be set together.
set PWM_OUT 1234
# PWM Hz - 50 Hz is the normal rate in RC cars, higher rates
# may damage analog servos.
set PWM_RATE 50
# This is the gimbal pass mixer
set MIXER_AUX pass
set PWM_AUX_RATE 50
set PWM_AUX_OUT 1234
+5 -3
View File
@@ -11,8 +11,8 @@
# INAV (deprecated)
if param compare SYS_MC_EST_GROUP 0
then
echo "ERROR [init] Estimator INAV deprecated. Using LPE"
param set SYS_MC_EST_GROUP 1
echo "ERROR [init] Estimator INAV deprecated. Using EKF2"
param set SYS_MC_EST_GROUP 2
param save
fi
@@ -25,7 +25,9 @@ then
then
local_position_estimator start
else
ekf2 start
echo "ERROR [init] Estimator LPE not available. Using EKF2"
param set SYS_MC_EST_GROUP 2
param save
fi
fi
+82 -33
View File
@@ -8,7 +8,6 @@ then
if ms5611 start
then
fi
else
if ver hwcmp AEROFC_V1
then
@@ -63,18 +62,8 @@ fi
if ver hwcmp AUAV_X21
then
# I2C bus
if hmc5883 -C -T start
then
fi
# I2C bus
if lis3mdl start
then
fi
# Internal SPI bus ICM-20602-G is rotated 90 deg yaw
if mpu6000 -R 2 -T 20602 start
# External I2C bus
if hmc5883 -C -T -X start
then
fi
@@ -152,11 +141,6 @@ then
if hmc5883 -C -T -S -R 8 start
then
fi
if meas_airspeed start -b 2
then
fi
else
# FMUv2
if mpu6000 start
@@ -343,16 +327,15 @@ fi
if ver hwcmp PX4FMU_V4PRO
then
# Internal SPI bus ICM-20608-G
if mpu6000 -R 2 -T 20608 start
then
fi
# Internal SPI bus ICM-20602
if mpu6000 -R 2 -T 20602 start
then
fi
fi
# Internal SPI bus mpu9250
if mpu9250 -R 2 start
@@ -368,7 +351,6 @@ then
if hmc5883 -C -T -X start
then
fi
fi
if ver hwcmp PX4FMU_V5
@@ -398,12 +380,6 @@ then
if hmc5883 -C -T -X start
then
fi
# Possible external airspeed sensor
if meas_airspeed start -b 2
then
fi
fi
if ver hwcmp AEROCORE2
@@ -412,18 +388,91 @@ then
lsm303d start
fi
if meas_airspeed start
#
# Optional drivers
#
if sdp3x_airspeed start
then
else
if ets_airspeed start
fi
if ms5525_airspeed start
then
fi
if ms5525_airspeed start -b 2
then
fi
if ms4525_airspeed start
then
fi
if ms4525_airspeed start -b 2
then
fi
if ets_airspeed start
then
fi
if ets_airspeed start -b 1
then
fi
# Sensors on the PWM interface bank
if param compare SENS_EN_LL40LS 1
then
if pwm_input start
then
else
if ets_airspeed start -b 1
if ll40ls start pwm
then
fi
fi
fi
# Lidar-Lite on I2C
if param compare SENS_EN_LL40LS 2
then
if ll40ls start i2c
then
fi
fi
# lightware serial lidar sensor
if param compare SENS_EN_SF0X 0
then
else
if sf0x start
then
fi
fi
# lightware i2c lidar sensor
if param compare SENS_EN_SF1XX 0
then
else
if sf1xx start
then
fi
fi
# mb12xx sonar sensor
if param compare SENS_EN_MB12XX 1
then
if mb12xx start
then
fi
fi
# teraranger one tof sensor
if param compare SENS_EN_TRONE 1
then
if trone start
then
fi
fi
# Wait 20 ms for sensors (because we need to wait for the HRT and work queue callbacks to fire)
usleep 20000
if sensors start
+6 -4
View File
@@ -12,8 +12,8 @@
# INAV (deprecated)
if param compare SYS_MC_EST_GROUP 0
then
echo "ERROR [init] Estimator INAV deprecated. Using LPE"
param set SYS_MC_EST_GROUP 1
echo "ERROR [init] Estimator INAV deprecated. Using EKF2"
param set SYS_MC_EST_GROUP 2
param save
fi
@@ -21,12 +21,14 @@ fi
if param compare SYS_MC_EST_GROUP 1
then
# Try to start LPE. If it fails, start EKF2 as a default
# Unfortunately we do not build it on px4fmu-v2 duo to a limited flash.
# Unfortunately we do not build it on px4fmu-v2 due to a limited flash.
if attitude_estimator_q start
then
local_position_estimator start
else
ekf2 start
echo "ERROR [init] Estimator LPE not available. Using EKF2"
param set SYS_MC_EST_GROUP 2
param save
fi
fi
+19 -71
View File
@@ -1,6 +1,6 @@
#!nsh
# Un comment and use set +e to ignore and set -e to enable 'exit on error control'
#set +e
set +e
# Un comment the line below to help debug scripts by printing a trace of the script commands
#set -x
# PX4FMU startup script.
@@ -750,63 +750,6 @@ then
fi
fi
#
# Optional drivers
#
# Sensors on the PWM interface bank
if param compare SENS_EN_LL40LS 1
then
if pwm_input start
then
if ll40ls start pwm
then
fi
fi
fi
# Lidar-Lite on I2C
if param compare SENS_EN_LL40LS 2
then
if ll40ls start i2c
then
fi
fi
# lightware serial lidar sensor
if param compare SENS_EN_SF0X 0
then
else
if sf0x start
then
fi
fi
# lightware i2c lidar sensor
if param compare SENS_EN_SF1XX 0
then
else
if sf1xx start
then
fi
fi
# mb12xx sonar sensor
if param compare SENS_EN_MB12XX 1
then
if mb12xx start
then
fi
fi
# teraranger one tof sensor
if param compare SENS_EN_TRONE 1
then
if trone start
then
fi
fi
if ver hwcmp PX4FMU_V4
then
frsky_telemetry start -d /dev/ttyS6
@@ -871,7 +814,7 @@ then
if ver hwcmp PX4FMU_V5
then
set LOGGER_BUF 64
param set SDLOG_MODE 3
param set SDLOG_MODE 2
fi
if param compare SDLOG_MODE 1
then
@@ -881,10 +824,6 @@ then
then
set LOGGER_ARGS "-f"
fi
if param compare SDLOG_MODE 3
then
set LOGGER_ARGS "-f"
fi
if ver hwcmp AEROFC_V1
then
set LOGGER_ARGS "-m mavlink"
@@ -1042,20 +981,29 @@ then
fi
#
# Rover setup
# UGV setup
#
if [ $VEHICLE_TYPE == rover ]
if [ $VEHICLE_TYPE == ugv ]
then
# 10 is MAV_TYPE_GROUND_ROVER
set MAV_TYPE 10
if [ $MIXER == none ]
then
# Set default mixer for UGV if not defined
set MIXER stampede
fi
if [ $MAV_TYPE == none ]
then
# Use MAV_TYPE = 10 (UGV) if not defined
set MAV_TYPE 10
fi
param set MAV_TYPE ${MAV_TYPE}
# Load mixer and configure outputs
sh /etc/init.d/rc.interface
# Start standard rover apps
sh /etc/init.d/rc.axialracing_ax10_apps
param set MAV_TYPE 10
# Start standard UGV apps
sh /etc/init.d/rc.gnd_apps
fi
#
-60
View File
@@ -1,60 +0,0 @@
Aileron/elevator/throttle mixer for PX4FMU
==================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, elevator and throttle controls using PX4FMU. The configuration assumes
the aileron servo(s) are connected to PX4FMU servo output 0, the elevator to
output 1 and the throttle to output 3.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch) and 3 (thrust).
Aileron mixer
-------------
Two scalers total (output, roll).
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
As there is only one output, if using two servos adjustments to compensate for
differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
Alternatively, output 2 could be used as a second aileron servo output with
separate mixing.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Output 2
--------
This mixer is empty.
Z:
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
-64
View File
@@ -1,64 +0,0 @@
Aileron/Elevator/Throttle/Rudder mixer for PX4FMU
==================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, rudder, elevator and throttle controls using PX4FMU. The configuration
assumes the aileron servo(s) are connected to PX4FMU servo output 0, the
elevator to output 1, the throttle to output 2 and the rudder to output 3.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch) and 3 (thrust).
Aileron mixer
-------------
Two scalers total (output, roll).
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
As there is only one output, if using two servos adjustments to compensate for
differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Rudder mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the rudder servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
@@ -1,15 +1,15 @@
Aileron/rudder/elevator/throttle mixer for PX4FMU
Aileron/Elevator/Throttle/Rudder/Gear/Flaps mixer
==================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, rudder, elevator and throttle controls using PX4FMU. The configuration
assumes the aileron servo(s) are connected to PX4FMU servo output 0, the
elevator to output 1, the rudder to output 2 and the throttle to output 3.
aileron, rudder, elevator, throttle, gear, flaps controls. The configuration
assumes the aileron servo(s) are connected to output 0, the elevator to
output 1, the throttle to output 2 and the rudder to output 3.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch) and 3 (thrust).
(roll), 1 (pitch), 2 (thrust), 3 (yaw), 4 (flaps), 7 (landing gear)
Aileron mixer
CH1: Aileron mixer
-------------
Two scalers total (output, roll).
@@ -23,10 +23,10 @@ differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Elevator mixer
CH2: Elevator mixer
------------
Two scalers total (output, roll).
@@ -36,10 +36,21 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Rudder mixer
CH3: Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
CH4: Rudder mixer
------------
Two scalers total (output, yaw).
@@ -49,16 +60,22 @@ factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
CH5: Flaps mixer
------------
Flaps are controlled automatically in position control and auto
but can also be controlled manually
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
O: 5000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
CH6: Landing gear mixer
------------
By default pass-through of gear switch
M: 1
O: 10000 10000 0 -10000 10000
S: 3 5 10000 10000 0 -10000 10000
-38
View File
@@ -1,38 +0,0 @@
Passthrough mixer for PX4IO
============================
This file defines passthrough mixers suitable for testing.
Channel group 0, channels 0-7 are passed directly through to the outputs.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 4 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 5 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 6 10000 10000 0 -10000 10000
M: 1
O: 10000 10000 0 -10000 10000
S: 0 7 10000 10000 0 -10000 10000
-53
View File
@@ -1,53 +0,0 @@
Rudder/elevator/throttle mixer for PX4FMU
=========================================
This file defines mixers suitable for controlling a fixed wing aircraft with
rudder, elevator and throttle controls using PX4FMU. The configuration assumes
the rudder servo is connected to PX4FMU servo output 0, the elevator to output 1
and the throttle to output 3.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch) and 3 (thrust).
Rudder mixer
------------
Two scalers total (output, roll).
This mixer assumes that the rudder servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Output 2
--------
This mixer is empty.
Z:
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
@@ -0,0 +1,3 @@
# Dodeca Cox
R: 6a 10000 10000 10000 0
@@ -0,0 +1,3 @@
# Dodeca Cox
R: 6m 10000 10000 10000 0
@@ -1,31 +0,0 @@
EASYSTAR / EASYSTAR II MIXER
============================
Aileron mixer
-------------
One output - would be easy to add support for 2 servos
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
Elevator mixer
------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 -10000 -10000 0 -10000 10000
Rudder mixer
------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 -10000 -10000 0 -10000 10000
Motor speed mixer
-----------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
@@ -0,0 +1 @@
R: 4x 10000 10000 10000 1300
@@ -1,64 +0,0 @@
Mixer for Skywalker Airframe
==================================================
This file defines mixers suitable for controlling a fixed wing aircraft with
aileron, rudder, elevator and throttle controls using PX4FMU. The configuration
assumes the aileron servo(s) are connected to PX4FMU servo output 0, the
elevator to output 1, the rudder to output 2 and the throttle to output 3.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0
(roll), 1 (pitch) and 3 (thrust).
Aileron mixer
-------------
Two scalers total (output, roll).
This mixer assumes that the aileron servos are set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
As there is only one output, if using two servos adjustments to compensate for
differences between the servos must be made mechanically. To obtain the correct
motion using a Y cable, the servos can be positioned reversed from one another.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 -10000 -10000 0 -10000 10000
Elevator mixer
------------
Two scalers total (output, roll).
This mixer assumes that the elevator servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
Rudder mixer
------------
Two scalers total (output, yaw).
This mixer assumes that the rudder servo is set up correctly mechanically;
depending on the actual configuration it may be necessary to reverse the scaling
factors (to reverse the servo movement) and adjust the offset, scaling and
endpoints to suit.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Motor speed mixer
-----------------
Two scalers total (output, thrust).
This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1)
range. Inputs below zero are treated as zero.
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
@@ -0,0 +1,37 @@
Traxxas Stampede Rc Car mixer for PX4FMU
===========================
Designed for Traxxas Stampede
This file defines mixers suitable for controlling a Traxxas Stampede rover using
PX4FMU. The configuration assumes the steering is connected to PX4FMU
servo outputs 1 and the motor speed control to output 3. Output 0 and 2 is
assumed to be unused.
Inputs to the mixer come from channel group 0 (vehicle attitude), channels 2 (yaw), and 3 (thrust).
See the README for more information on the scaler format.
Output 0
---------------------------------------
Z:
Steering mixer using roll on output 1
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
Output 2
---------------------------------------
This mixer is empty.
Z:
Output 3
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 10000 10000 0 -10000 10000
+25 -14
View File
@@ -73,11 +73,6 @@ then
if hmc5883 -C -T -S -R 8 start
then
fi
if meas_airspeed start -b 2
then
fi
else
# FMUv2
if mpu6000 start
@@ -179,16 +174,32 @@ then
fi
fi
if meas_airspeed start
if sdp3x_airspeed start
then
fi
if ms5525_airspeed start
then
fi
if ms5525_airspeed start -b 2
then
fi
if ms4525_airspeed start
then
fi
if ms4525_airspeed start -b 2
then
fi
if ets_airspeed start
then
fi
if ets_airspeed start -b 1
then
else
if ets_airspeed start
then
else
if ets_airspeed start -b 1
then
fi
fi
fi
if sf1xx start
+31 -22
View File
@@ -1,37 +1,46 @@
Mixer for SITL rover
=========================================================
# mixer for the rudder
Output 0
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
# mixer for the rudder
Output 1
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 0 10000 10000 0 -10000 10000
O: 10000 10000 0 -10000 10000
S: 0 2 10000 10000 0 -10000 10000
# mixer for the elevator
M: 1
O: 10000 10000 0 -10000 10000
S: 0 1 10000 10000 0 -10000 10000
Output 2
---------------------------------------
Z:
# mixer for throttle
Output 3
---------------------------------------
Z:
Output 4
---------------------------------------
Z:
Output 5
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
S: 0 3 10000 10000 0 -10000 10000
# mixer for throttle
Output 6
---------------------------------------
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
S: 0 3 10000 10000 0 -10000 10000
# mixer for throttle
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Output 7
---------------------------------------
Z:
# mixer for throttle
M: 1
O: 10000 10000 0 -10000 10000
S: 0 3 0 20000 -10000 -10000 10000
Output 8
---------------------------------------
Z:
+1
View File
@@ -3,6 +3,7 @@
# @name Generic Quadrotor X config
#
# @type Quadrotor x
# @class Copter
#
# @output AUX1 feed-through of RC AUX1 channel
# @output AUX2 feed-through of RC AUX2 channel

Some files were not shown because too many files have changed in this diff Show More