Compare commits

...

269 Commits

Author SHA1 Message Date
Ramón Hernán Roche Quintana f160743df4 Join us on Slack README badge 2017-07-12 07:19:20 +02:00
ChristophTobler add78a4b04 stream distance sensor at 10Hz for SITL-EKF testing 2017-07-11 13:59:12 +02:00
Lorenz Meier dbc7d805f2 Navigator: Fix pause mode to not continue to next waypoint if already set 2017-07-11 13:23:12 +02:00
Henry Zhang 8f391a6eae MindPX: update NuttX config 2017-07-11 09:52:51 +02:00
Henry Zhang 145c05acc7 Add support for the mpu6k to the MindPXv2 2017-07-11 09:52:51 +02:00
José Roberto de Souza 9a05c5f137 mavlink: Send command long when component id is broadcast
Check for the broadcast systemd id to block forward of broadcast
commands.
2017-07-11 09:52:22 +02:00
David Sidrane fc30f2906f mpu9250:Use a cpu speed independant _reset_wait generations.
This change first pushes out the _reset_wait by 100 Ms.
   which is about 3 time longer then the code take to execute.

   Then it does the reset of the accel, gyro and mag and
   the ends the wait by setting _reset_wait to now+10 us.
2017-07-11 09:51:31 +02:00
David Sidrane 3f0d26c949 mpu6000:Support different clock freq per IC type 2017-07-11 09:51:31 +02:00
David Sidrane 3c42c8f7fa mpu9520:Use maximum clock rate
The MPU9250 and MPU6500 buth support 1 Mhz and 20 Mhz. Buy upping the clocc we will get the maximum clock rate the driver
   supports that is <= 20 Mhz. This will boost the FMUv4Pro SPI speed to 11.25 Mhz (it was half that)
2017-07-11 09:51:31 +02:00
David Sidrane 22d0ea15de px4fmu-v3:Add ICM20608 aliased to the PX4_SPIDEV_ACCEL_MAG to the v3 build
The Pixkhawk mini was not chip selecting the ICM20608 as it did
   not define PX4_SPIDEV_ICM_20608. This allow the fmu V2 rc code
   to init the ICM20608.
2017-07-11 09:49:22 +02:00
David Sidrane 195468bf06 px4fmuv4pro:Init GPIO_VDD_3V3_SENSORS_EN off at reset
Insure a 0.0 voltage initial condition on VDD_3V3_SENSORS
  By starting the GPIO_VDD_3V3_SENSORS_EN, low and deferring
  the GPIO init of the slave selects and drdy signals until
  board_app_initialize. We get ~ 180 ms of power off time
  with 0.00 voltage applied to the sensors.
2017-07-11 08:34:26 +02:00
Lorenz Meier 6a3e27fe18 PWM command: Be less verbose 2017-07-11 08:15:44 +02:00
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
366 changed files with 5616 additions and 3404 deletions
-1
View File
@@ -44,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
-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
+5 -12
View File
@@ -99,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")
@@ -157,8 +157,6 @@ include(common/sanitizers)
if (NOT CMAKE_BUILD_TYPE)
if (${OS} STREQUAL "nuttx")
set(PX4_BUILD_TYPE "MinSizeRel")
elseif (${OS} STREQUAL "qurt")
set(PX4_BUILD_TYPE "MinSizeRel")
elseif (${OS} STREQUAL "bebop")
set(PX4_BUILD_TYPE "MinSizeRel")
else()
@@ -195,10 +193,11 @@ 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_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")
@@ -371,7 +370,7 @@ link_directories(${link_dirs})
add_definitions(${definitions})
#=============================================================================
# message, parameter, and airframe generation
# message, and airframe generation
#
include(common/px4_metadata)
@@ -384,13 +383,7 @@ px4_generate_messages(TARGET msg_gen
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)
px4_generate_airframes_xml(BOARD ${BOARD})
#=============================================================================
# DriverFramework
+5 -10
View File
@@ -305,27 +305,22 @@ 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:
@$(MAKE) --no-print-directory posix_sitl_default test_coverage_genhtml PX4_CMAKE_BUILD_TYPE=Coverage
coveralls_upload:
@cpp-coveralls --include src/ \
--exclude src/lib/DriverFramework \
--exclude src/lib/ecl \
--exclude src/lib/Matrix \
--exclude=src/lib/DriverFramework \
--exclude=src/lib/ecl \
--exclude=src/lib/Matrix \
--exclude=src/modules/uavcan/libuavcan \
--exclude-pattern ".*/unittests/googletest/.*" \
--root . --build-root build_posix_sitl_default/ --follow-symlinks
codecov_upload:
+1 -1
View File
@@ -2,7 +2,7 @@
[![Releases](https://img.shields.io/github/release/PX4/Firmware.svg)](https://github.com/PX4/Firmware/releases) [![DOI](https://zenodo.org/badge/22634/PX4/Firmware.svg)](https://zenodo.org/badge/latestdoi/22634/PX4/Firmware) [![Build Status](https://travis-ci.org/PX4/Firmware.svg?branch=master)](https://travis-ci.org/PX4/Firmware) [![Coverity Scan](https://scan.coverity.com/projects/3966/badge.svg?flat=1)](https://scan.coverity.com/projects/3966?tab=overview)
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/PX4/Firmware?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Slack](https://px4-slack.herokuapp.com/badge.svg)](http://slack.px4.io) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/PX4/Firmware?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
This repository holds the [PX4 Pro](http://px4.io) flight control solution for drones, with the main applications located in the [src/modules](https://github.com/PX4/Firmware/tree/master/src/modules) directory. It also contains the PX4 Drone Middleware Platform, which provides drivers and middleware to run drones.
@@ -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
+1
View File
@@ -3,6 +3,7 @@
# @name ZMR250 Racer
#
# @type Quadrotor x
# @class Copter
#
# @board px4fmu-v1 exclude
# @board px4fmu-v2 exclude
+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
@@ -5,7 +5,8 @@
# @url https://traxxas.com/products/models/electric/stampede-vxl-tsm
#
# @type Rover
#
# @class Rover
#
# @output MAIN2 steering
# @output MAIN4 throttle
#
@@ -17,16 +18,16 @@ 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
+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
+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
+86 -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
@@ -287,6 +271,10 @@ then
then
fi
if mpu6000 -s -R 8 start
then
fi
if mpu9250 -s -R 8 start
then
fi
@@ -343,16 +331,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 +355,6 @@ then
if hmc5883 -C -T -X start
then
fi
fi
if ver hwcmp PX4FMU_V5
@@ -398,12 +384,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 +392,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
+2 -63
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"
-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
@@ -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
+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
+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
+2 -1
View File
@@ -3,12 +3,13 @@
# @name Generic Hexarotor x geometry
#
# @type Hexarotor x
# @class Copter
#
# @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 Anton Babushkin <anton@px4.io>
# @maintainer Lorenz Meier <lorenz@px4.io>
#
sh /etc/init.d/rc.mc_defaults
+14 -4
View File
@@ -34,11 +34,21 @@ adb shell mount -o remount,rw /
adb shell touch /home/root/parameters
adb shell mkdir -p /data/ftp/internal_000/fs/microsd
${RPI_TOOLCHAIN_DIR}/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-strip \
-R .comment -R .gnu.version \
../build_posix_bebop_default/src/firmware/posix/px4
# kill PX4 if it is already running from autostart
restart_px4=false
adb_return=$(adb shell killall -KILL px4)
if [[ $adb_return == "" ]]; then
echo "Killed running PX4 process"
restart_px4=true
fi
../Tools/adb_upload.sh $@
echo "Disconnecting from bebop"
# restart the process after uploading
if [ "$restart_px4" = true ]; then
echo "Restarting PX4 process"
adb shell /etc/init.d/rcS_mode_default 2>/dev/null 1>/dev/null &
fi
echo "Disconnecting from Bebop"
adb disconnect
+4 -2
View File
@@ -5,9 +5,10 @@ set -eu
ASTYLE_VER_REQUIRED_1="Artistic Style Version 2.05.1"
ASTYLE_VER_REQUIRED_2="Artistic Style Version 2.06"
ASTYLE_VER_REQUIRED_3="Artistic Style Version 3.0"
ASTYLE_VER_REQUIRED_4="Artistic Style Version 3.0.1"
astyle_ver() {
echo "PX4 requires ${ASTYLE_VER_REQUIRED}"
echo "PX4 requires at least ${ASTYLE_VER_REQUIRED_1}"
echo "You can get the correct version here: https://sourceforge.net/projects/astyle/files/astyle/astyle%202.06/"
}
@@ -23,7 +24,8 @@ else
if [ "$ASTYLE_VER" != "$ASTYLE_VER_REQUIRED_1" -a \
"$ASTYLE_VER" != "$ASTYLE_VER_REQUIRED_2" -a \
"$ASTYLE_VER" != "$ASTYLE_VER_REQUIRED_3" ];
"$ASTYLE_VER" != "$ASTYLE_VER_REQUIRED_3" -a \
"$ASTYLE_VER" != "$ASTYLE_VER_REQUIRED_4" ];
then
echo "Error: you're using ${ASTYLE_VER}"
echo "but should be using ${ASTYLE_VER_REQUIRED} instead"
+1 -1
View File
@@ -5,7 +5,7 @@ if [[ $@ =~ .*px4fmu.* ]]; then
PX4_DOCKER_REPO="px4io/px4-dev-nuttx:2017-06-01"
elif [[ $@ =~ .*rpi.* ]] || [[ $@ =~ .*bebop.* ]]; then
# posix_rpi_cross, posix_bebop_default
PX4_DOCKER_REPO="px4io/px4-dev-raspi:2017-04-22"
PX4_DOCKER_REPO="px4io/px4-dev-raspi:2017-05-31"
elif [[ $@ =~ .*eagle.* ]] || [[ $@ =~ .*excelsior.* ]]; then
# eagle, excelsior
PX4_DOCKER_REPO="lorenzmeier/px4-dev-snapdragon:2017-01-14"
+1 -1
View File
@@ -24,4 +24,4 @@ print("\n"+"analysing all .ulog files in "+ulog_directory)
for file in os.listdir(ulog_directory):
if file.endswith(".ulg"):
print("\n"+"loading "+file+" for analysis")
os.system("python process_logdata_ekf.py "+ulog_directory+"/"+file)
os.system("python process_logdata_ekf.py '{}'".format(os.path.join(ulog_directory, file)))
+1 -1
View File
@@ -101,7 +101,7 @@ echo "TMPDIR=\"$TMPDIR\""
# Make a list of all source and header files that we need to fix.
# List of directories that we don't want to touch.
EXCLUDE_FOLDERS=".git unittests Tools"
EXCLUDE_FOLDERS=".git Tools"
EXCLUDE_PATTERNS="examples matlab/scripts tests test unit_test *_test *_tests test_* apps/test_* UnitTests"
# A regular expression for the exclude patterns.
EXCLUDE_PATTERNS_RE="($(echo $EXCLUDE_PATTERNS | sed -e 's/\*/[^\/]*/g;s/ /|/g'))"
+71 -8
View File
@@ -16,7 +16,7 @@ Data can be gathered using the following sequence:
1) Power up the board and set the TC_A_ENABLE, TC_B_ENABLE and TC_G_ENABLE parameters to 1
2) Set all CAL_GYR and CAL_ACC parameters to defaults
3) Set the SYS_LOGGER parameter to 1 to use the new system logger
4) Set the SDLOG_MODE parameter to 3 to enable logging of sensor data for calibration and power off
4) Set the SDLOG_MODE parameter to 2, and SDLOG_PROFILE parameter to 2 to enable logging of sensor data for calibration and power off
5) Cold soak the board for 30 minutes
6) Move to a warm dry, still air, constant pressure environment.
7) Apply power for 45 minutes, keeping the board still.
@@ -88,17 +88,17 @@ for d in data:
# extract baro data
sensor_instance = 0
num_baros = 0
for d in data:
if d.name == 'sensor_baro':
if sensor_instance == 0:
sensor_baro_0 = d.data
print('found baro 0 data')
num_baros = 1
if sensor_instance == 1:
sensor_baro_1 = d.data
print('found baro 1 data')
if sensor_instance == 2:
sensor_baro_2 = d.data
print('found baro 2 data')
num_baros = 2
sensor_instance = sensor_instance +1
# open file to save plots to PDF
@@ -738,12 +738,65 @@ plt.figure(7,figsize=(20,13))
plt.plot(sensor_baro_0['temperature'],100*sensor_baro_0['pressure']-100*median_pressure,'b')
plt.plot(temp_resample,baro_0_x_resample,'r')
plt.title('Baro 0 Bias vs Temperature')
plt.ylabel('X bias (Pa)')
plt.ylabel('Z bias (Pa)')
plt.xlabel('temperature (degC)')
plt.grid()
pp.savefig()
# define data dictionary of baro 1 thermal correction parameters
baro_1_params = {
'TC_B1_ID':0,
'TC_B1_TMIN':0.0,
'TC_B1_TMAX':0.0,
'TC_B1_TREF':0.0,
'TC_B1_X0':0.0,
'TC_B1_X1':0.0,
'TC_B1_X2':0.0,
'TC_B1_X3':0.0,
'TC_B1_X4':0.0,
'TC_B1_X5':0.0,
'TC_B1_SCL':1.0,
}
if num_baros >= 2:
# curve fit the data for baro 0 corrections
baro_1_params['TC_B1_ID'] = int(np.median(sensor_baro_1['device_id']))
# find the min, max and reference temperature
baro_1_params['TC_B1_TMIN'] = np.amin(sensor_baro_1['temperature'])
baro_1_params['TC_B1_TMAX'] = np.amax(sensor_baro_1['temperature'])
baro_1_params['TC_B1_TREF'] = 0.5 * (baro_1_params['TC_B1_TMIN'] + baro_1_params['TC_B1_TMAX'])
temp_rel = sensor_baro_1['temperature'] - baro_1_params['TC_B1_TREF']
temp_rel_resample = np.linspace(baro_1_params['TC_B1_TMIN']-baro_1_params['TC_B1_TREF'], baro_1_params['TC_B1_TMAX']-baro_1_params['TC_B1_TREF'], 100)
temp_resample = temp_rel_resample + baro_1_params['TC_B1_TREF']
# fit data
median_pressure = np.median(sensor_baro_1['pressure']);
coef_baro_1_x = np.polyfit(temp_rel,100*(sensor_baro_1['pressure']-median_pressure),5) # convert from hPa to Pa
baro_1_params['TC_B1_X5'] = coef_baro_1_x[0]
baro_1_params['TC_B1_X4'] = coef_baro_1_x[1]
baro_1_params['TC_B1_X3'] = coef_baro_1_x[2]
baro_1_params['TC_B1_X2'] = coef_baro_1_x[3]
baro_1_params['TC_B1_X1'] = coef_baro_1_x[4]
baro_1_params['TC_B1_X0'] = coef_baro_1_x[5]
fit_coef_baro_1_x = np.poly1d(coef_baro_1_x)
baro_1_x_resample = fit_coef_baro_1_x(temp_rel_resample)
# baro 1 vs temperature
plt.figure(8,figsize=(20,13))
# draw plots
plt.plot(sensor_baro_1['temperature'],100*sensor_baro_1['pressure']-100*median_pressure,'b')
plt.plot(temp_resample,baro_1_x_resample,'r')
plt.title('Baro 1 Bias vs Temperature')
plt.ylabel('Z bias (Pa)')
plt.xlabel('temperature (degC)')
plt.grid()
pp.savefig()
#################################################################################
# close the pdf file
@@ -790,15 +843,25 @@ for key in key_list_accel:
file.write("1"+"\t"+"1"+"\t"+key+"\t"+str(accel_2_params[key])+"\t"+type+"\n")
# baro 0 corrections
key_list_accel = list(baro_0_params.keys())
key_list_accel.sort
for key in key_list_accel:
key_list_baro = list(baro_0_params.keys())
key_list_baro.sort
for key in key_list_baro:
if key == 'TC_B0_ID':
type = "6"
else:
type = "9"
file.write("1"+"\t"+"1"+"\t"+key+"\t"+str(baro_0_params[key])+"\t"+type+"\n")
# baro 1 corrections
key_list_baro = list(baro_1_params.keys())
key_list_baro.sort
for key in key_list_baro:
if key == 'TC_B1_ID':
type = "6"
else:
type = "9"
file.write("1"+"\t"+"1"+"\t"+key+"\t"+str(baro_1_params[key])+"\t"+type+"\n")
# gyro 0 corrections
key_list_gyro = list(gyro_0_params.keys())
key_list_gyro.sort()
Executable
+68
View File
@@ -0,0 +1,68 @@
#!/usr/bin/env python
############################################################################
#
# Copyright (c) 2017 PX4 Development Team. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 3. Neither the name PX4 nor the names of its contributors may be
# used to endorse or promote products derived from this software
# without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#
############################################################################
#
# Basic central executable for PX4 maintenance
#
# for python2.7 compatibility
from __future__ import print_function
import sys
import argparse
import binascii
import serial
import socket
import struct
import json
import zlib
import base64
import time
import array
import os
from sys import platform as _platform
# Detect python version
if sys.version_info[0] < 3:
runningPython3 = False
else:
runningPython3 = True
def main():
print("PX4 release v1.6")
if __name__ == '__main__':
main()
+13 -5
View File
@@ -12,17 +12,23 @@ class MarkdownTablesOutput():
result += """This page lists all supported airframes and types including
the motor assignment and numbering. The motors in **green** rotate clockwise,
the ones in **blue** conterclockwise.\n\n"""
the ones in **blue** counterclockwise.\n\n"""
type_set = set()
for group in groups:
if group.GetClass() not in type_set:
result += '## %s\n\n' % group.GetClass()
type_set.add(group.GetClass())
result += '## %s\n\n' % group.GetName()
result += '### %s\n\n' % group.GetName()
# Display an image of the frame
image_name = group.GetImageName()
result += '<div>\n'
if image_name != 'AirframeUnknown':
result += '<img src="../images/airframes/types/%s.svg" width="29%%" style="max-height: 180px;"/>\n' % (image_name)
result += '<img src="../../assets/airframes/types/%s.svg" width="29%%" style="max-height: 180px;"/>\n' % (image_name)
# check if all outputs are equal for the group: if so, show them
# only once
@@ -81,6 +87,8 @@ class MarkdownTablesOutput():
if maintainer != '':
maintainer_entry = '<p>Maintainer: %s</p>' % (maintainer)
url = param.GetFieldValue('url')
name_anchor='id="%s_%s_%s"' % (group.GetClass(),group.GetName(),name)
name_anchor=name_anchor.replace(' ','_').lower()
name_entry = name
if url != '':
name_entry = '<a href="%s">%s</a>' % (url, name)
@@ -107,8 +115,8 @@ class MarkdownTablesOutput():
else:
outputs_entry = ''
result += ('<tr>\n <td style="vertical-align: top;">%s</td>\n <td style="vertical-align: top;">%s%s%s</td>\n\n</tr>\n' %
(name_entry, maintainer_entry, airframe_id_entry,
result += ('<tr %s>\n <td style="vertical-align: top;">%s</td>\n <td style="vertical-align: top;">%s%s%s</td>\n\n</tr>\n' %
(name_anchor, name_entry, maintainer_entry, airframe_id_entry,
outputs_entry))

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