Commit Graph

532 Commits

Author SHA1 Message Date
Pat Hickey
ade7099d75 ArduCopter: add AP_HAL_MAIN 2012-12-20 14:52:28 +11:00
Pat Hickey
5bd7046a95 ArduCopter: sketch cpp builds! 2012-12-20 14:52:28 +11:00
Pat Hickey
7af03127f6 ArduCopter: more work 2012-12-20 14:52:28 +11:00
Pat Hickey
70f4739522 ArduCopter: more fixes 2012-12-20 14:52:28 +11:00
Pat Hickey
f281d9265e ArduCopter: reworked sonar analog source creation 2012-12-20 14:52:28 +11:00
Pat Hickey
d9e0bbbbab ArduCopter: first pass at AP_HAL porting
* changed all the byte types to uint8_t
* fixed up much of the serial stuff
2012-12-20 14:52:27 +11:00
Pat Hickey
a4f1f6a5db AP_Progmem: fix dependencies for all sketches touched by AP_HAL_AVR 2012-12-20 14:51:28 +11:00
Pat Hickey
3f1d9d7f69 AP_Param: #include <AP_Param.h> fixups for libraries & sketches
* I mostly went through with grep and added an #include <AP_Param.h> below
  every #include <AP_Common.h>. Not all of these example sketches might
  strictly need AP_Param.
2012-12-20 14:51:19 +11:00
Jason Short
19ae5c30eb ACM : Formatting 2012-12-13 20:12:39 -08:00
rmackay9
047f848cc7 ArduCopter: remove ThirdOrderCompFilter from list of includes 2012-12-10 09:14:44 +09:00
rmackay9
0f7bb79d89 ArduCopter: add comments to tuning parameters.
Use RC_CHANNEL types as defined by RC_Channel library.
Remove unused definitions.
2012-12-09 16:44:42 +09:00
rmackay9
8c2423f618 ArduCopter: code clean-up. Changed update_nav_wp to use a switch statement and relocated to navigation.pde 2012-12-09 15:24:19 +09:00
rmackay9
b4e5176e2a ArduCopter, AP_InertialSensor: restore mpu6k sample rate to 200hz but keep default filtering at 42hz. 2012-12-09 14:27:33 +09:00
Robert Lefebvre
0eb57bf93d ACM: TradHeli
Fix to make update_throttle_cruise work with stab_throttle scaling.
2012-12-08 15:12:39 -05:00
rmackay9
9dd978576b ArduCopter: auto yaw changes to allow pilot override of yaw during missions
Added set_yaw_mode to better control of yaw controller changes and variable initialisation.
Replaced AUTO_YAW mode with separate yaw controllers YAW_LOOK_AT_NEXT_WP, YAW_LOOK_AT_LOCATION, YAW_LOOK_AT_HEADING.
Pilot manual override of yaw causes yaw to change to YAW_HOLD (i.e. manual yaw) until next waypoint is reached.
Added get_yaw_slew function to control how quickly autopilot turns copter
Changed YAW_LOOK_AHEAD to use GPS heading and moved to new get_look_ahead_yaw function in Attitude.pde
Renamed variables: target_bearing->wp_bearing, original_target_bearing->original_wp_bearing.
Removed auto_yaw_tracking and auto_yaw variables and update_auto_yaw function as they are no longer needed.
Simplified MAV_CMD_CONDITION_YAW handling (do_yaw).  We lose ability to control direction of turn and ability to do long panorama shots but it now works between waypoints and save 20bytes.
2012-12-08 14:23:32 +09:00
rmackay9
99b32a39c4 ArduCopter: InertialNav time constant CH6 tuning changed to only update enabled axis 2012-12-07 13:01:40 +09:00
rmackay9
39d524212f ArduCopter: allow accel based throttle controller to be enabled/disabled with the new THR_ACC_ENABLE parameter.
When disabled the original velocity based throttle controller is used.
2012-12-06 10:31:57 +09:00
rmackay9
a5bb54e36e ArduCopter: RTL clean-up and slightly improved landing sensor
Consolidated RTL state to be captured by rtl_state variable.
Combined update_RTL_Nav and verify_RTL functions which performed the same function but one was for missions, the other for the RTL flight mode.
Renamed some RTL parameters and global variables to have RTL at the front.
Landing detector now checks accel-throttle's I term and/or a very low throttle value
2012-12-06 10:31:52 +09:00
rmackay9
072ffec493 ArduCopter: allow INERTIAL_NAV to be enabled separately for horizontal and vertical position 2012-12-06 10:31:41 +09:00
rmackay9
d7f76ebd87 ArduCopter: add tuning of throttle rate controller's I term (THROTTLE_KI) 2012-12-06 10:31:25 +09:00
rmackay9
7b4ed2d227 ArduCopter: restored landing detector to landing throttle mode.
Added LAND_SPEED parameter to control the rate of descent for the last 10m of a landing.
Added CH6 tuning for accel based throttle controller.
2012-12-06 10:31:20 +09:00
rmackay9
a94826f182 ArduCopter: add set_throttle_mode to better control initialisation of variables 2012-12-06 10:31:04 +09:00
rmackay9
1036b35128 ArduCopter: added back in angle boost and recombined for heli and multicopter 2012-12-06 10:30:55 +09:00
rmackay9
3cbef57c64 ArduCopter: first merge of leonard's accel based altitude controller plus other changes from Randy
Changes include:
New low-level get_throttle_accel function takes target acceleration and compares vs earth-frame Z accelerometer values to produce output to motors.
Higher level throttle controllers modified to call new get_throttle_accel controller
Throttle_rate_stabilized controller added which maintains a desired climb/descent rate
Throttle_land controller added - descends using normal auto throttle controller to 10m then descends at 50cm/s
Multiple throttle modes added including landing mode
Land flight mode no longer needs GPS
Throttle cruise maintenance moved to update_throttle_cruise function
2012-12-06 10:30:49 +09:00
Robert Lefebvre
1d589c0b7d ACM: TradHeli
Fixes for Attitude rate controllers.
2012-12-04 14:42:04 -05:00
Robert Lefebvre
315a7e8000 ACM: Yaw Look Ahead Changes 2012-12-04 13:26:41 -05:00
Robert Lefebvre
9130045298 ACM: Code Cleanup 2012-11-30 17:05:12 -05:00
rmackay9
8141f0b600 ArduCopter: bug fix - increase mpu6k sample rate to 100hz 2012-11-30 23:49:18 +09:00
Andrew Tridgell
6fbf5ec8f2 Copter: update ArduCopter for new ins interface 2012-11-30 07:15:18 +11:00
Robert Lefebvre
07d7d90882 ACM: TradHeli
Bringing in Low Pass Filter for Rate Controllers
2012-11-26 21:51:23 -05:00
Robert Lefebvre
6b8c39dd10 ACM: Creating Yaw_Look_Ahead yaw mode.
This function is not fully tested yet.
2012-11-26 21:37:13 -05:00
Robert Lefebvre
3f0e8dd358 ACM: TradHeli
Bringing in Low Pas Filter
Commented out because it does not build.
Needs updates to Low Pass Filter Lib
2012-11-26 21:21:12 -05:00
Robert Lefebvre
e8d619acad ACM: Begin creation of TradHeli rate control.
May affect Multi-Rotors.
2012-11-26 21:02:41 -05:00
Robert Lefebvre
6b1fee767a ACM: TradHeli
Creating Stab_Collective Function to allow for different collective ranges between Stabilize and other modes.
This makes for a smoother collective action in Stabilize mode with manual throttle, while still allowing full collective travel in Acro and other modes.
2012-11-26 19:37:20 -05:00
Robert Lefebvre
95eeda7cf7 ACM: TradHeli
Removing Angle Boost function.
Does not make sense for helis due to aerodynamics.  Can cause more problems than it solves.
2012-11-26 18:58:21 -05:00
Robert Lefebvre
8056b78c55 ACM: TradHeli
Remove Rate I-term reset when throttle stick is on the bottom.  This could be very bad for helis since it's plausible to use full downstick while flying.
There is obviously a risk here of building up a false I-term on the ground but this isn't a good solution for that anyway.
Also removed what appears to be some deadwood.
2012-11-26 18:49:24 -05:00
Andrew Tridgell
5818aaad42 Copter: fixed build error
thanks to Marco for pointing this out
2012-11-24 20:39:35 +11:00
Andrew Tridgell
cd07d965a7 Copter: ported RSSI_PIN option from ArduPlane
this is useful for OSD users
2012-11-22 20:59:33 +11:00
rmackay9
3372355e07 ArduCopter: remove commented out remnants of roll_scale_d and pitch_scale_d 2012-11-22 12:50:39 +09:00
Andrew Tridgell
bcae83c4f6 ACM: make it possible to run CLI on radio port in ArduCopter 2012-11-21 21:41:34 +11:00
rmackay9
07a7a1acd8 ArduCopter: replaced digitalRead and digitalWrite with faster calls
improved performance logging to dataflash
2012-11-19 01:16:07 +09:00
Robert Lefebvre
9c6e914bf8 Added Leonard to Contributor List. 2012-11-16 15:43:03 -05:00
rmackay9
258442770d ArduCopter: flight mode changes ignored while in throttle failsafe
reaction time to flight mode changes (when not in failsafe) reduced from 0.6 seconds to 0.1 seconds
2012-11-13 12:50:51 +09:00
rmackay9
dcd98eee78 ArduCopter: remove some variables no longer required with introduction of AP_state 2012-11-12 12:41:25 +09:00
rmackay9
ac5dcc8d49 ArduCopter: remove last remanants of rate_d to resolve compiler warning of unused variables 2012-11-12 12:35:58 +09:00
Jason Short
c1b759d5d8 ACM: Added a speed filter for throttle cruise, increased alt change rate for alt hold, increased the max climb_rate reporting 2012-11-11 18:17:33 -08:00
Jason Short
9e0b0b9fcd ACM : loging ApState at faster rate 2012-11-11 18:00:10 -08:00
rmackay9
bcb9519fd7 ArduCopter: renamed system bitmap to ap_system to resolve desktop compile issues 2012-11-11 22:42:10 +09:00
rmackay9
95f6357d35 ArduCopter: fix APM2 build 2012-11-10 22:06:23 +09:00
Jason Short
e4cec91e59 ACM : Arducopter Added ap state bitfield, system bitfield 2012-11-09 22:15:15 -08:00
Jason Short
cdabc3878b ACM: Arducopter - remove the stabilize D scheduling 2012-11-09 22:15:15 -08:00
Jason Short
d2a0913b2d ACM : formatting 2012-11-09 22:15:15 -08:00
rmackay9
b13264c884 AP_InertialNav: reanme AP_InertialNav and ThirdOrderCompFilter classes to resolve desktop build compiler errors 2012-11-07 22:24:00 +09:00
rmackay9
ad431d2f25 ArduCopter: fixed HIL build caused by optical flow semaphore changes 2012-11-07 21:13:34 +09:00
rmackay9
1f801714e8 ArduCopter: incorporate new version of inertial navigation
Moved several navigation functions from ArduCopter.pde to navigation.pde
2012-11-07 19:21:31 +09:00
rmackay9
a1b4ec6d0e ArduCopter: move to use new INS library instead of IMU library 2012-11-07 19:21:09 +09:00
Jason Short
e138b0a1d7 ACM: Added simple mode bearing logging for bug hunting 2012-10-28 12:12:38 -07:00
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