Commit Graph

475 Commits

Author SHA1 Message Date
rmackay9 78316adf75 ArduCopter: replace Serial.print with Serial.print_P to save memory.
Includes replacing flight_mode_strings with print_flight_mode function.
SendDebug macro replaced with direct Serial.print_P calls.
2012-10-22 16:45:24 +09:00
Jason Short a0752dc7dc ACM Acceleration management
removed unused waypoint_radius var
removed slow_wp
updated speed management system to maintain a constant acceleration or deceleration of 1m/s
changed version to 2.8.1a
2012-10-21 14:32:39 -07:00
rmackay9 a37a9b5b67 ArduCopter: updated firmware version to 2.8 2012-10-20 09:50:53 +09:00
Pat Hickey d4bb8a10d7 Update ArduCopter and ArduPlane dependencies on AP_Menu 2012-10-18 20:53:39 -07:00
Robert Lefebvre 592f4040fd Changed RLT Yaw Mode for TradHeli. Also a few comment cleanups. 2012-10-18 16:39:05 -04:00
rmackay9 1c08e48b4b ArduCopter: updated firmware version to 2.7.4-Zeta 2012-10-18 23:30:28 +09:00
rmackay9 583f2e49a3 ArduCopter: integrated Leonard Hall's improved ACRO mode 2012-10-18 23:24:34 +09:00
rmackay9 d2912e4e01 ArduCopter: added spi_semaphore to stop conflicts between dataflash and optical flow sensor on APM1 2012-10-18 17:04:44 +09:00
rmackay9 9e3c2dd105 ArduCopter: updated firmware version to 2.7.4-Epsilon 2012-10-17 19:27:11 +09:00
rmackay9 8519fe55d3 ArduCopter: more out-of-date commented out code removed 2012-10-17 19:25:14 +09:00
rmackay9 956b347d68 ArduCopter: updated firmware version to 2.7.4-Delta 2012-10-17 10:20:41 +09:00
rmackay9 4016f3ba85 ArduCopter: update version information ahead of testing 2012-10-15 18:15:38 +09:00
LeonardTHall d7b7e1cefa New Yaw controller using rate feed forward and stabilize.
Signed-off-by: LeonardTHall <LeonardTHall@gmail.com>
2012-10-15 11:37:49 +09:00
rmackay9 997fe85880 ArduCopter: fixed acro mode
Changes included:
Removing earth frame roll_rate_trim, pitch_rate_trim and yaw_rate_trim.
Switch ACRO mode to use YAW_ACRO instead of YAW_HOLD.
Changed YAW_ACRO to use stabilize yaw when axis_enabled.
Reset ACRO roll, pitch and yaw targets to current attitude when first entering ACRO.
2012-10-14 17:47:46 +09:00
rmackay9 1e79d265a1 ArduCopter: remove unnecessary (probably slightly harmful) extra barometer read
The barometer reads including reading temperature was all moved to a timer but this extra read (originally to read the temperature) was probably forgotten.
2012-10-11 18:31:10 +09:00
rmackay9 cf3e49eea2 ArduCopter: changed sin_pitch and sin_roll to faster equivalents 2012-10-11 17:54:42 +09:00
Andrew Tridgell 601fe89baa ACM-HIL: fixed optflow declaration 2012-10-11 11:51:25 +11:00
Pat Hickey da374f9043 ArduCopter: Provide AP_Semaphore instance for SPI3 bus on APM2. 2012-10-09 11:39:39 -07:00
rmackay9 c0ad98be31 ArduCopter: failsafe added to shutdown motors if mainloop fails 2012-10-09 12:30:17 +09:00
rmackay9 61d0c8e35c ArduCopter: added AP_Semaphore to list of includes 2012-10-06 12:41:58 +09:00
rmackay9 e375a27058 ArduCopter: prioritise rate controllers, rate controller targets converted to body frame 2012-10-03 14:10:31 +09:00
rmackay9 95763e610b ArduCopter: allow DMP to run in parallel with DCM
Parallel DMP can be enabled by #define SECONDARY_DMP_ENABLED in APM_Config.h
New DMP dataflash log type added to allow easy comparison with DCM
2012-09-30 00:25:40 +09:00
rmackay9 41fbb19cf5 AP_InertialSensor_MPU6000: replaced _cs_pin parameter with #define and saved 1 byte of memory
Updated ArduCopter, ArduPlane and example sketches in AP_InertialSensor, AP_IMU and AP_AHRS libraries because they no longer need to pass in cs_pin to the constructor
2012-09-28 19:21:59 +09:00
rmackay9 ed881117e0 ArduCopter: updated version to 2.7.4-Beta 2012-09-25 23:39:15 +09:00
rmackay9 b2f12c4854 ArduCopter: optical flow initialisation changes now that optical flow library automatically works on APM1, APM2 and APM2.5 2012-09-24 18:39:33 +09:00
rmackay9 93ae29a3e9 ArduCopter: added throttle curve (although disabled by default) for all multicopters 2012-09-18 23:05:08 +09:00
Andrew Tridgell 5fd39bb928 ACM: updates for new GPS detection
a GPS can now be attached after startup
2012-09-17 14:45:47 +10:00
rmackay9 303ca11c4c HIL: changes to fix HIL for ArduCopter after recent timing changes.
Changes include using AP_PeriodicProcess and calling imu.init even in HIL mode
2012-09-15 18:42:56 +09:00
rmackay9 9e66b555cb ArduCopter: removed INSTANT_PWM from ArduCopter and AP_Motors library 2012-09-13 21:31:13 +09:00
Jason Short 834f961409 ACM : Fix enduf 2012-09-10 21:25:53 -07:00
Jason Short 4c8e257ea2 ACM : forced setup_show to dump params during log dump for better analysis. 2012-09-10 20:52:30 -07:00
Jason Short 34e07c826f ACM : Added centralized Iterm logging at a lower rate. Logs all iterms. 2012-09-10 20:26:48 -07:00
Andrew Tridgell 841d2700b6 ACM: use spare CPU cycles to read the magnetometer 2012-09-10 11:38:18 +09:00
rmackay9 fd110a2723 ArduCopter: modified mainloop timing to be in sync with the arrival of new data from the IMU.
This reduces the maximum delay between when new sensor data arrives and when it is actually used by about 5ms.
2012-09-10 11:37:53 +09:00
Andrew Tridgell f97104b435 ACM: use compass.accumulate() in ArduCopter
this gives us a much less noisy magnetometer
2012-09-08 10:06:04 +10:00
rmackay9 5073e56c06 ArduCopter: upgraded firmware version to 2.7.3 2012-09-02 12:58:16 +09:00
rmackay9 c9d34c1737 ArduCopter: fixes to allow AP_Mount to work on APM1 with original default channels and fix to reenable support for 3-axis gimbals on APM2.
Channels 5 to 11 changed to RC_Channel_aux.
Removed channel 9 because APM_RC doesn't support it in any case.
Updated EEPROM format version to 119 because of the change to RC_Channel_aux and because k_param_rc_11 moved to be after k_param_rc_10.
2012-09-02 12:51:23 +09:00
Craig Elder 274b2e2143 Arducopter: Release 2.7.2 2012-08-31 19:18:10 -07:00
Jason Short 082913efd4 ACM : revert back to the 2.6 climb rate calc
The current filter is outputting wild oscillations.
2012-08-28 21:22:07 -07:00
Craig Elder d8a2bfb9e8 Arducopter: Preparing for 2.7.2 Release 2012-08-28 18:30:41 -07:00
Jason Short 9d64bea2ef ACM: Altitude Adjust 2012-08-28 15:40:08 -07:00
Jason Short 98cc65862d ACM : Log Timing 2012-08-28 15:40:08 -07:00
uncrustify 4021a64747 uncrustify ArduCopter/ArduCopter.pde 2012-08-21 19:19:50 -07:00
Andrew Tridgell 6d11940ada AHRS: removed Quaternion build support from APM/ACM/rover 2012-08-22 10:42:21 +10:00
Andrew Tridgell e9928e78de ACM: fixed TradHeli build 2012-08-22 09:55:31 +10:00
Robert Lefebvre 575b99b4be TradHeli: Creating Flybar Acro mode. 2012-08-21 16:54:01 -04:00
rmackay9 75459b09be ArduCopter: changed reset_throttle_counter to uint8_t to get rid of overflow bug that was preventing target altitude from being locked in after pilot input down throttle. 2012-08-19 11:50:35 +09:00
Jason Short 988d0c98fc ACM : Alt hold adjustment - made angle boost work during alt hold changes.
increased length of delay when reverting to automatic hold to deal with latency of baro sensor
2012-08-18 09:30:46 -07:00
rmackay9 5b6f7f0012 ArduCopter: modified altitude hold so that 1 second slow down period is executed after pilot moves throttle back into deadzone 2012-08-18 21:45:49 +09:00
Jason Short 770956a3fd ACM : Made control_roll and pitch global for logging; made yaw towards waypoint use initial angle and not a recalculated angle to deal with wiggles as we approach WP 2012-08-16 15:39:50 -07:00
rmackay9 36f947acb9 ArduCopter: changed all "int" to "int16_t" and a few "long"s to "int32_t".
Also moved "simple_counter" variable from global scope to the "update_simple_mode" function which is the only place that it's actually used.
2012-08-16 20:04:46 +09:00
Jason Short a4bc5950cf ACM: Added a filtered version of Location for GPS lag.
I did this because when you are close to a WP the Yaw angle can go a bit wacky as the location jumps around. The filtered loc is only used in the wp_distance calculation now.
2012-08-14 14:11:51 -07:00
Jason Short 993c89c4f8 ACM: Revved the version 2012-08-14 14:11:51 -07:00
Jason Short b01a71c4b9 ACM: Toy mode updates - added second toy mode 2012-08-11 22:37:27 -07:00
Andrew Tridgell 81440a1b09 AHRS: fixed build
AP_Airspeed.h is now needed to build AHRS
2012-08-11 12:22:55 +10:00
Jason Short 3ad08b7ffc ACM : Added larger WP radius for fast waypoints so we don't loose speed angling in on the WP at the last second. 2012-08-10 10:02:32 -07:00
Jason Short 02649f3f11 ACM : Arducopter.pde
command_nav_index upped to in16t for negative number
renamed trim flag > CH7_flag
Added fast_corner var
removed unused alt vars
Alt hold I term update
2012-08-09 16:59:43 -07:00
Amilcar Lucas 0b0b9c29a2 Allow fully independent operation of two AP_Mount instances 2012-08-08 23:11:23 +02:00
Amilcar Lucas 9cc705939a Add a second mount instance 2012-08-08 23:07:25 +02:00
Andrew Tridgell fb26160d3b ACM: change to use get_bearing_cd() instead of get_bearing() 2012-08-08 12:12:30 +10:00
Andrew Tridgell c2a4d59132 AP_Param: update ArduCopter core for new AP_Param interface 2012-08-08 12:11:57 +10:00
Amilcar Lucas d9f1140278 ArduCopter: Use generic channel names for AP_Mount servos.
This simplifies mission planner, the same code can be used for plane and copter now.
2012-08-06 23:33:51 +02:00
Amilcar Lucas f14237126a Add me :) 2012-08-06 00:40:12 +02:00
Amilcar Lucas 107155fa1a AP_Mount: Allow using any RC channel to control any of the mount axes.
This has the added benefit of saving 60 bytes and simplifying Mission Planner gui.
Moved some code from RC_Channel_aux to AP_Mount class
The servos get written by the update_mount_position() function, this simplifies main()
PS: The beauty of using libraries: I did not have to touch a single line of ArduPlane's code!
2012-08-05 23:48:57 +02:00
Amilcar Lucas b8c7b8a786 RC_Channel: Allow each channel to know who they are, this simplifies the enabling and output function calls. 2012-08-05 23:08:31 +02:00
Amilcar Lucas 4ba847c449 The mount type must be updated periodically 2012-08-04 18:44:08 +02:00
rmackay9 c091c8e0e6 ArduCopter: bug fix to reset yaw target when zero and when in stabilize or acro mode. 2012-08-01 12:15:02 +09:00
Andreas M. Antonopoulos de85442c36 AC2.7.1: Updated version and tag 2012-07-31 13:11:17 -07:00
rmackay9 5cb4a88292 ArduCopter: reset target yaw when throttle is zero (except if failsafe has been triggered) 2012-07-28 23:05:05 +09:00
rmackay9 670a66667f ArduCopter: fixed HIL build by removing ability to change _kp and _kp_yaw gains (used for accel and gyro sensor mixing) 2012-07-28 16:22:35 +09:00
rmackay9 014f5aae99 ArduCopter: added DMP_ENABLE #define and CH6 tuning value for AHRS_KP 2012-07-28 14:21:07 +09:00
Michael Oborne f4705577c8 AC fix sitl attitude hil build 2012-07-24 21:18:36 +08:00
Andreas M. Antonopoulos 80cf794c86 AC: ArduCopter 2.7 release candidate - updated THISFIRMWARE constant. 2012-07-21 17:52:06 -07:00
Jason Short b17eb7f768 ACM: Fixed Baro rate patch to work with Sonar and added simple filter 2012-07-21 16:45:00 -07:00
Jason Short 9f6e1347b6 Ardcucopter: RTL distance check update, reset I terms fixed. 2012-07-20 13:27:35 -07:00
Jason Short 2b20c85279 Arducopter: cleanup, skip out of throttle control when flipping. 2012-07-19 22:35:21 -07:00
Jason Short 91062b56af Arducopter.pde: Increased the throttle Hold altitude control
simplified Yaw reset
2012-07-19 17:38:25 -07:00
Jason Short 1efc9eac58 Arducopter: Adjust landing speed
removed commented out calc_loiter_pitch_roll calls
Changed updateRTL to use 1m be default instead of wp_radius to avoid poor loiter entry speed.
2012-07-19 09:48:31 -07:00
Jason Short c9851344e7 Arducopter
removed old Var
2012-07-18 22:57:10 -07:00
Jason Short cb1cdcd4a7 Arducopter: New Alt control code
Uses a new method to manage altitude changes. Alt hold controller was split into a hold and a rate controller just like navigation. Changing alt is done by specifying a climb rate.
Interactive alt hold is now simplified and is an 80cm climb or descent.
2012-07-18 22:57:10 -07:00
Jason Short 5965632888 Arducopter: Flip mode
Flip mode graduates to pre-compiled option
2012-07-18 22:57:10 -07:00
rmackay9 b691c3f658 ArduCopter.pde: added call to set_manual_rc_channel to allow pilot's channel 6 to control pitch.
This initialisation code should be moved to init_ardupilot and/or into the AP_Mount library.
2012-07-18 23:49:09 +09:00
Andreas M. Antonopoulos a976a59c88 AP_Limits: Configuration defaults moved to config.h. Fixed AP_LIMITS==DISABLED handling. 2012-07-16 11:46:43 -07:00
rmackay9 c495a5f36e ArduCopter: added enable_out_ch and output_ch calls for rc_camera_roll, pitch and yaw servos so they actually move 2012-07-15 16:38:28 +09:00
Andreas M. Antonopoulos c73f7ef3ab AP_Limits library, provides modular "limits" such as altitude and geo-fencing. 2012-07-14 19:26:17 -07:00
Jason Short e3af0c7920 Arducopter: Yaw stop fix 2012-07-14 12:23:10 -07:00
Robert Lefebvre 59e133235f Implementing Yaw Fix. Tried to blend with Jason's changes. 2012-07-14 00:24:22 -04:00
Jason Short 4af392290b Circle_WP: Fix for Yaw toward center, fix for transit to Circle WP from a distance 2012-07-13 19:29:36 -07:00
Jason Short 7b746cf5e1 Arducopter: Wrong define used, caused Copter to Yaw to home when flying missions 2012-07-13 12:51:38 -07:00
Jason Short d8ff5dcfab Arducopter: Fix circle_WP 2012-07-12 09:22:20 -07:00
Jason Short 293f17902b Arducopter:Arducopter.pde
switched over to barometer.get_climb_rate() * 100
removed +home.alt calcs since home is always 0 altitude
2012-07-10 21:53:38 -07:00
Jason Short 3048d2f9b4 Arducopter: WP_radius
Switching to stored WP_radius in meters, just like Arduplane
2012-07-10 21:53:38 -07:00
Amilcar Lucas dfe0983e1e Merge the changes from APM_Camera branch into ArduCopter
Conflicts:

	ArduCopter/Camera.pde
	ArduCopter/Parameters.pde
2012-07-11 00:39:13 +02:00
Jason Short f019d41729 arducopter.pde
Timer was set =0 at initialization.
2012-07-09 13:13:32 -07:00
Jason Short 8ccda519fa Arducopter.pde:
Added note about -1 to disable feature
Set RTL_Atl by default after reaching home in case we're at the wrong alt.
increased speed of Yaw rotation for WPs
2012-07-03 17:21:46 -07:00
Jason Short e0b3309500 Yaw mode:
Improved hybrid Yaw mode:
- uses rate controller rather than as fast as possible
- waits 1.5 seconds before entering hold
- bounce free
2012-07-01 13:40:12 -07:00
Jason Short c5617eeeac Arducopter.pde_RTL:
added a new RTL function that goes into Loiter, first, checks if we have reached RTL_Altitude, then enters WP mode to come home.
Removes Approach mode. Uses Auto_Approach value to decide if we should land or descend to a certain altitude
2012-07-01 13:40:11 -07:00
Jason Short 2e8eee9306 Added code for self centering throttle - disabled by default. 2012-07-01 13:40:11 -07:00
Jason Short 4d6ccccef5 Circle_WP distance check fix 2012-06-29 21:20:28 -07:00
Jason Short 668135ea8b Arducopter.pde: Added Toy mode refinements 2012-06-29 21:20:27 -07:00