Commit Graph

285 Commits

Author SHA1 Message Date
Jason Short 1e0ab8768e ACM: Toy mode updates 2012-08-11 22:37:26 -07:00
Jason Short f641c5d077 ACM system.pde - toy mode update, cleanup of throttle cruise code 2012-08-09 16:59:44 -07:00
rmackay9 94cb325184 ArduCopter: added ahrs.ini() to system.pde to allow offsets to be pushed into MPU6000's DMP 2012-07-28 14:21:45 +09:00
Jason Short a7b1252b51 arducopter
alt hold state reset
2012-07-18 22:57:11 -07:00
Jason Short bb99bd4626 Arducopter: INS
removed zero accells call
2012-07-18 22:57:10 -07: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 1dbde3f803 Arducopter: Added note 2012-07-10 21:53:37 -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 9a30270879 System.pde - RTL
removed Approach mode, fixed RTL to loiter until desired altitude is reached
2012-07-01 13:40:12 -07:00
Andrew Tridgell 82ede937e7 AnalogSource: convert analogRead() calls to the new API
this should give us much better analog values, plus save a bunch of
CPU time
2012-07-01 15:01:05 +10:00
Jason Short 031830b5fe System.pde: Toy mode details for set_mode() 2012-06-29 21:20:28 -07:00
Jason Short cd93c40f09 Added Toy Mode control 2012-06-25 23:08:25 -07:00
Jason Short 8b212d8baa Adjustments to the Inertial_nav
lowered Rate_I and Rate_P to be less jumpy. raised throttle_p
added a clear to rate when entering loiter
moved the raw reporting
2012-06-20 08:47:47 -07:00
Andrew Tridgell 940d994efb GPS: Use appropiate GPS_ENGINE settings in APM, ACM and rover 2012-06-10 16:36:18 +10:00
Andrew Tridgell a684bddbda GPS: open the GPS serial port with a 256 byte buffer
the UBLOX needs more than 128 bytes for reliable parsing
2012-06-08 16:42:03 +10:00
Jason Short 71f80f3a77 Bug fix: When adjusting altitude, RTL then land will fail unless this var is reset to false. 2012-06-03 22:25:27 -07:00
Jason Short 0ce883b96a Removed unused variable 2012-05-29 12:43:23 -07:00
Jason Short 5754f97433 reversed circle_WP calculation so the next_WP refers to the destination around the circle and circle_WP refers to the center. The intent is to make it easier to see via ground station. 2012-05-27 09:21:20 -07:00
Robert Lefebvre c8fb9a6635 More CopterLEDS changes.
Merged CopterLEDS and Piezo functions to eliminate pin conflict on APM2.  Created new Parameter bit to turn piezo function on and off from MP. Moved GPS and Aux pin assignments to allow commonality between APM1 and 2.  Set LED_Mode parameter default to 9 in order to make CopterLEDS completely backwards compatible with old Motor LEDS and Piezo code.  Legacy users should see no difference.
2012-05-15 12:00:21 -04:00
Adam M Rivera 0c3d6614cd system.pde: Updated param name to loiter_timer. 2012-04-16 10:12:30 -05:00
Adam M Rivera a2b338c052 System: Added handler for the new APPROACH flight mode which will initiate an approach to a target alt as defined by the user. 2012-04-15 16:55:34 -05:00
rmackay9 c337df11c8 ArduCopter - LEDS - set new output pins to OUTPUT to support COPTER_LEDS.
Code by Robert Lefebvre
2012-04-12 22:55:40 +09:00
rmackay9 1d086c83f0 ArduCopter - system.pde - changed references to "motor_armed" to "motors.armed()" as part of the move to use AP_Motors library. 2012-04-04 23:03:21 +09:00
Andrew Tridgell b4107d35e8 MAVLink: raise the serial transmit buffer size to 256 bytes
the 128 byte serial transmit buffer was causing significant problems
with queueing of mavlink messages. With 256 bytes we can fit a lot
more messages out in each pass of the code, which makes telemetry more
efficient

As we discussed on the dev call, we now have enough free ram for this
to be worthwhile
2012-03-30 17:46:20 +11:00
Andrew Tridgell 547b4ed55b AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short fe7ca98701 ACM: system.pde - removed reset_nav_I() to consolidate the wind control reset. 2012-03-18 22:31:21 -07:00
Jason Short f9d0dc9daa ACM: disabled auto_calibration until more testing can be done 2012-03-10 12:44:49 -08:00
Jason Short 5ad7320505 ACM: changed alt hold initialization of altitude to be immediate 2012-03-10 12:44:18 -08:00
Andrew Tridgell 828ad7625b ACM: removed the ADC filtering code 2012-03-10 10:34:32 +11:00
Andrew Tridgell 8393c0299b ACM: removed the DCM tuning overrides
not needed now that DCM scales with deltat
2012-03-10 10:34:31 +11:00
Andrew Tridgell 7e4c8592ff ACM: make it possible to build ArduCopter with quaternions 2012-03-10 10:34:29 +11:00
Andrew Tridgell 367947fd33 HWSTATUS: if we don't know the voltage, report it as zero
this will tell us if board_voltage() is really working
2012-03-10 10:34:28 +11:00
Andrew Tridgell 64cc04ae09 ACM: adjust yaw drift correction constants
this should give the compass a bit more authority
2012-03-10 10:34:28 +11:00
Jason Short 730476fdfd ACM -
Implemented automatic ranging of Alt Hold gains. Works well in simulator and testing.
- alt hold estimation moved to 50 hz
- simple fixed observer calc for smooth and accurate climb rates useful for derivative calcs
- auto-reset of the I term by moving I value into throttle value. This recalcs the gain every 20seconds for battery drainage compensation in long flights.
- remove filtering for Nav_throttle
- added a way to lower the gain on nav_throttle for descents by / climb_rate error by 2 - seems to work OK and keeps copter from dropping like a rock when the Baro drifts quickly lower.
- removed old throttle hold set point code
- made throttle override for alt hold +- 200 vs 250
2012-03-06 22:22:14 -08:00
Andrew Tridgell cb874d6097 ACM: added board_voltage() 2012-03-02 15:48:28 +11:00
Jason Short eac77504a3 Added more Logging for PIDs. 2012-02-26 11:33:36 -08:00
Jason Short f27e9f9ca1 added a simple rest of nav_throttle just in case 2012-02-25 13:31:21 -08:00
Jason Short 42b5d47f7b commented out control mode debug print 2012-02-21 21:48:07 -08:00
Jason Short 336441b109 reset slow_WP option at mode switch 2012-02-19 13:13:42 -08:00
Jason Short 17c6c7b294 added extra gain logging 2012-02-16 22:09:22 -08:00
Andrew Tridgell 3b4cae3cc3 adapted main ACM code for AP_Param 2012-02-13 16:22:52 +11:00
Jason Short 8ae53bffd2 Made Yaw Hold universal for Acro 2012-02-10 22:32:55 -08:00
Andrew Tridgell 1a861b3de5 allow for lower serial baud rates
not many people will use less than 9600 baud, except for those wanting
to test extreme range radios, which is what I'm trying to do :-)
2012-02-04 19:07:18 +11:00
Michael Oborne 151479f769 fix issue 502
to identify quad over mavlink
2012-02-03 06:53:08 +08:00
Jason Short 7833cea9d4 2.2B6 - Please verify Heli still functions properly.
Added AC_PID lib
Updated landing code
bug fixes
2012-01-28 22:00:05 -08:00
Randy Mackay 122623f64b OpticalFlow - added OF_LOITER flightmode 2012-01-28 09:27:16 +09:00
Jason Short 6784989e83 relocated reset_I term functions to central location 2012-01-20 22:52:30 -08:00
Jason Short 3ebed0b278 This allows users to test the Auto_throttle hold or cruise value 2012-01-14 11:43:52 -08:00
Jason Short 7877a872d3 added update throttle cruise function 2012-01-13 16:48:05 -08:00
Jason Short a59c9ae22c added notes 2012-01-12 22:28:58 -08:00
Jason Short 4b54887c6c Switched to set_next_WP for mode switches 2012-01-10 23:43:44 -08:00
Jason Short cf92631d33 added #if to wind compensation code 2012-01-10 23:42:26 -08:00
Randy Mackay f68d23d91e ArduCopter - added ROLL_PITCH_STABLE_OF (i.e. Stabilised Roll/Pitch + adjustments based on optical flow)
Removed optical flow from regular loiter for now until it's tested.
2012-01-09 13:53:54 +09:00
Jason Short 9c8122e061 converted auto land to use the mission planner version
Removed gate that looked for already set control_mode. Wasn't compatible with failsafe
2012-01-07 22:27:26 -08:00
Jason Short 98f9a5f237 Forced Faildafe throttle mode to throttle Auto 2012-01-06 10:21:50 -08:00
Jason Short 40ad164c8d Clears Auto_land timer 2012-01-05 21:15:12 -08:00
Andrew Tridgell df81a9459a ACM: reset all I terms on gyro calibration 2012-01-05 10:15:14 +11:00
Jason Short 2e83e42764 Added precalc for wind compensation when entering Stabilze mode 2012-01-04 09:28:37 -08:00
Jason Short ecb3241489 calc_wind_compensation called when exiting AP modes
Rate I terms reset in Acro Mode switch
Limit of 1 m set to alt hold
Reset circle angle to 0 by default
Land got land_complete var set to false by default
2012-01-04 09:28:37 -08:00
Andrew Tridgell cdd5589498 I2c: default to 5ms timeout, and faster bus speed
we will slow down the speed when we get a failure
2012-01-04 16:36:47 +11:00
Randy Mackay bbe6dea980 OptFlow - initial support for APM2 (there are still problems) including adding ability to set Chip Select pin.
Other unrelated changes are:
a) fixed typo in 'esitmate_velocity' to 'estimate_velocity'.
b) moved init_compass from system.pde to sensors.pde which seemed consistent with other sensors.
2011-12-30 12:06:31 +09:00
Andrew Tridgell 03a16c6e45 ACM: use new I2C library 2011-12-28 20:41:53 +11:00
Andrew Tridgell 73e6d5ee11 ACM: update for DataFlash changes 2011-12-28 16:00:49 +11:00
Andrew Tridgell 0dadbf932a removed "Please run setup" loop from ArduCopter
Chris asked for this to be removed as it was really mucking up the
initial experience setting up ArduCopter via the planner
2011-12-24 18:12:51 +11:00
Jason Short e5a3899b7f added ability to enter Loiter with only optflow available 2011-12-23 14:46:32 -08:00
Andrew Tridgell ad9c0533d8 ACM: run mavlink loop while erasing logs 2011-12-18 10:19:41 +11:00
Jason Short 1251e8105d Added failsafe check 2011-12-14 22:08:41 -08:00
Andrew Tridgell 483bef35e5 IMU: update ACM and APM for flash_leds change in IMU init 2011-12-13 18:19:41 +11:00
Andrew Tridgell 07dba4eff7 desktop: fixed Wire.begin() build problem 2011-12-12 15:14:55 +11:00
Pat Hickey a48c65b5b5 ArduCopter: update AP_Baro constructors & initializers 2011-12-11 15:21:10 -08:00
Pat Hickey f3ad7f3af8 Wire and SPI Init: move to sketch system.pde from libraries
* Wire.begin removed from AP_Baro_BMP085::init()
* SPI.begin  removed from AP_Baro_MS5611::init()
* SPI.begin  removed from AP_InertialSensor_MPU6000::hardware_init()

* Both Wire.begin and SPI.begin added very early in init_ardupilot in
  ArduCopter/system.pde and ArduPlane/system.pde
2011-12-11 15:21:10 -08:00
Pat Hickey 39fe9075d9 ArduCopter Init: different call to barometer.init based on CONFIG_BARO
* BMP085 has two arguments, second varying on apm1/apm2
* ms5611 has no arguments
2011-12-11 15:21:10 -08:00
Pat Hickey 2e200834e1 ArduCopter: Revert "Switched to Gyro only startup"
This reverts commit f932f0a9f6a29e9c3193622109298c657ed5a908.

I fixed this bug in 734185599cd9d6a487c675460c09895172e012b0.

It is no longer valid to call IMU::init_gyro() before IMU::init().
2011-12-11 14:50:02 -08:00
Randy Mackay fe336fb749 ArduCopter - small fixes to fix HIL compile errors 2011-12-11 23:25:03 +09:00
Randy Mackay 67855b207d Arducopter, RangeFinder - added SONAR_TYPE parameter and properly support the XL (default), LV and long distance XL (aka XLL) sonar types 2011-12-11 16:40:59 +09:00
Jason Short 648ab5f4ae Switched to Gyro only startup 2011-12-10 15:13:20 -08:00
Jason Short 49806d93d9 Added Land FLight mode definition 2011-12-10 10:19:20 -08:00
Jason Short 0d8071a401 Added new gain and clamp value for DCM 2011-12-03 17:55:11 -08:00
Andrew Tridgell aaac6212ab MAVLink: use the configured system ID for ArduCopter 2011-12-03 07:54:36 +11:00
Jason Short b92b4e9092 cleanup 2011-11-28 21:40:22 -08:00
Doug Weibel b03de3095e Add DataFlash.Init before doing a forced log erase on eeprom reset.
Add progress indication during log erase
2011-11-28 19:42:27 -07:00
Jason Short df57380adc Erasing Logs causing major havoc. Users getting infinite loop. 2011-11-28 10:33:05 -08:00
Jason Short fb5302c50b No longer resetting ch7 wp index with mode change, requires reboot 2011-11-27 22:23:02 -08:00
Jason Short 19c3c27ed0 Erasing Logs at new FW version detection 2011-11-26 16:39:28 -08:00
Andrew Tridgell 38c85c44ae ArduCopter: rename purple to APM2 2011-11-25 20:00:19 -08:00
Andrew Tridgell 3a542b3ef3 USB-MUX: enable USB MUX switching for ArduCopter 2011-11-25 20:00:19 -08:00
Andrew Tridgell 338445e60c ArduCopter-HIL: fixed HIL build
Logging isn't always enabled
2011-11-25 20:00:18 -08:00
Pat Hickey 1d50bb80fd hil-sensors ArduCopter: fixes to make hil-sensors build work properly
* requires new stub libraries for InertialSensor and PeriodicProcess.
2011-11-25 20:00:18 -08:00
Andrew Tridgell 1e41b4b2b0 timer_scheduler doesn't exist in HIL_MODE_ATTITUDE 2011-11-25 20:00:18 -08:00
Andrew Tridgell 3072fdda85 adc.Init() needs timer_scheduler 2011-11-25 20:00:17 -08:00
Pat Hickey 3131ab16ef remove BROKEN_SLIDER code
use the new CLI_SLIDER_ENABLED option and the "hit ENTER 3 times"
method
2011-11-25 20:00:17 -08:00
Pat Hickey f1bad83d21 purple: fixed system init for purple sensor objects 2011-11-25 20:00:16 -08:00
Pat Hickey 4869ac3385 purple: use the new LED_ON/LED_OFF macros for LED level
this gets this right on both APM1 and purple for ArduCopter
2011-11-25 20:00:16 -08:00
Andrew Tridgell 89d2f0f849 mod barometer.Init() based on hardware 2011-11-25 20:00:15 -08:00
Jason Short 89e014c06a Added alternate alt hold,
New ESC Calibration Routine
2011-11-21 22:12:19 -08:00
Jason Short 95b797d359 removed the init_esc - reworking the method to avoid the use of the CLI. 2011-11-20 21:24:32 -08:00
Jason Short aef4db8263 Logging stabilization KP to hunt bug 2011-11-19 16:59:54 -08:00
Jason Short 8e1f311c36 s
shortened strings, logging defines updated
2011-11-19 14:01:47 -08:00
Jason Short 35524f6da7 Added optimizations for radian calls to remove a division.
added a protection for entering AP modes without Home being set by GPS lock.
2011-11-19 11:08:13 -08:00
Jason Short 7dd737ad90 Merge branch 'master' of https://code.google.com/p/ardupilot-mega
Conflicts:
	Tools/autotest/autotest.py
2011-11-12 21:53:08 -08:00
Jason Short bee53453d6 nav updates 2011-11-12 21:46:57 -08:00
unknown a7038cbaf9 TradHeli - new parameter HSV_MAN to allow better set-up from APMissionPlanner. Also changed swash movement to use radio_out which fixes some setup bugs 2011-11-12 23:23:07 +09:00
Jason Short b29f4456c4 fix for SIM GPS 2011-11-08 14:10:09 -08:00
unknown 156b496bab TradHeli - small change to make throttle_cruise in terms of radio input instead of servo output 2011-11-06 17:40:17 +08:00
Jason Short c8304114a3 renamed some command variables to align with Arduplane
reworked the arming code and moved the DCM gains out.
updated climb_rate to include sonar data.
2011-11-04 21:41:51 -07:00
Jason Short fd9b16e787 resetting alt hold I 2011-11-01 09:27:49 -07:00
unknown ea66c74ff0 TradHeli - added throttle scaling and heli specific angle_boost function that takes into account that heli's main blades can have -ve pitch. 2011-10-29 17:27:43 +09:00
Jason Short 7266c5372a Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-28 21:29:18 -07:00
Jason Short 07daf34ccc Added a slew rate to the alt change rate.
Added better reporting of throttle control
upped constraints for alt hold
Additional logging for CTUN lay hold
2011-10-28 21:29:10 -07:00
Andrew Tridgell 1118d26f03 fixed "Free RAM" display on bootup 2011-10-28 21:34:10 +11:00
Jason Short 27d9712e80 Merge branch 'master' of https://code.google.com/p/ardupilot-mega
Conflicts:
	libraries/APM_PI/APM_PI.cpp
2011-10-27 12:41:00 -07:00
Jason Short d4e5281a4c Deafaut dead_zone call
Sets the correct default values for the RC_Channel group for Quads.
2011-10-27 11:35:02 -07:00
Andrew Tridgell 5a44298d57 CLI: enable "hit enter 3 times" support for CLI
if you hit enter 3 times before you send any mavlink packets, we will
enter CLI mode
2011-10-27 21:54:07 +11:00
Jason Short a693bea7d9 added extra user hook 2011-10-17 23:51:47 -07:00
Jason Short 142707711e Updates to guided mode from Michael O.
removed or commented unused static vars
2011-10-15 13:09:04 -07:00
Jason Short 43b3015963 lowered DCM RP gains
made Instant_PWM optional
upped PWM output to 400hz
2011-10-11 22:20:23 -07:00
Andrew Tridgell d89ae696ef merged the GCS updates from ArduPlane to ArduCopter
this removes all the non-MAVLink GCS options, and simplifies the HIL
and GCS code a lot. It also adds async sending of low priority GCS
text messages.
2011-10-11 20:53:43 +11:00
Andrew Tridgell 5a71030d76 don't check the slider switch if CLI is disabled
this prevents a build error in desktop mode
2011-10-09 22:39:23 +11:00
Andrew Tridgell c61fe55d76 don't initialise DataFlash if logging is disabled 2011-10-09 22:38:49 +11:00
Andrew Tridgell 01e5ae2ab9 use memcheck_available_memory() instead of freeRAM()
this provides a more accurate view of memory
2011-10-09 22:38:14 +11:00
Michael Oborne fab2121c6d fix ac2 hil build 2011-10-04 18:55:10 +08:00
Jason Short 12cd4539a3 2.0.46 preliminary release 2011-09-29 23:30:32 -07:00
Jason Short de61e87128 Added ADC gyro Filtering for quads - this fixes a noise issue introduced into the controller
added Position mode
removed
Added back in the accelerometer experiment
Added filter_result boolean to enable filter on the fly
2011-09-29 23:27:23 -07:00
Jason Short 239164fa19 Fixed Flip code to compile. Flip still not flight tested! 2011-09-25 12:21:54 -07:00
Jason Short c91ad14e18 Fixed Timer overflow for throttle PI loop.
Moved look at home to update_nav where it belongs
2011-09-21 22:31:12 -07:00
Jason Short 73fd0084be Added Piezo Support, code from Oliver. 2011-09-18 17:12:28 -07:00
Amilcar Lucas 227ce0a92d Merge some small misc improvements from APM_Camera branch 2011-09-17 20:25:31 +02:00
Jason Short d29cfbcee3 Integration of optical flow
bug fixes for new Simple mode
increased Baro filter by 2 fields
2011-09-15 23:33:00 -07:00
Jason Short 1ce2308d11 Removed Simple Mode
Added Simple option to mode switch positions
removed unused OptFlow code
added reset lat and lon error
removed unused init_auto
Fixed log formatting
Added simple mode bitmask
removed pitchmax
added CLI setup for enabling Simple mode to any switch position
2011-09-14 13:58:18 -07:00
Jason Short ecd14f4425 Cleaned up guided mode
Reduced ADC filter to 3 from 6 to increase speed of filter.
2011-09-12 12:57:36 -07:00
Jason Short 885ec18182 Removed last of Xtrack 2011-09-11 20:40:05 -07:00
Jason Short e6b7c57d26 Circle Mode now working
250Hz loop implemented
2011-09-11 11:22:01 -07:00
Jason Short 97d69906dd Incremented to 2.0.41 2011-09-10 15:28:55 -07:00
Chris Anderson 59b5bafdd1 Renamed code to ArduCopter 2011-09-08 19:14:12 -07:00
Andrew Tridgell 1456a2a912 renamed top level directories
ArduCopterMega -> ArduCopter
added archives directory for old code
2011-09-09 11:27:41 +10:00