Commit Graph

167 Commits

Author SHA1 Message Date
Robert Lefebvre a9349a6e87 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 b611b6a1e8 system.pde: Updated param name to loiter_timer. 2012-04-16 10:12:30 -05:00
Adam M Rivera 70d67b0791 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 a429c78d20 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 2fc3b740c4 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 36e741b078 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 690ad58a64 AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short e42c64f94e ACM: system.pde - removed reset_nav_I() to consolidate the wind control reset. 2012-03-18 22:31:21 -07:00
Jason Short a9e7194e3d ACM: disabled auto_calibration until more testing can be done 2012-03-10 12:44:49 -08:00
Jason Short 3c1f4b1ad7 ACM: changed alt hold initialization of altitude to be immediate 2012-03-10 12:44:18 -08:00
Andrew Tridgell a874f920d5 ACM: removed the ADC filtering code 2012-03-10 10:34:32 +11:00
Andrew Tridgell e870e7bd82 ACM: removed the DCM tuning overrides
not needed now that DCM scales with deltat
2012-03-10 10:34:31 +11:00
Andrew Tridgell 1591d41b33 ACM: make it possible to build ArduCopter with quaternions 2012-03-10 10:34:29 +11:00
Andrew Tridgell a54d6f744e 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 9393b21a8d 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 43b3e1ccd1 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 fcb1b9ba95 ACM: added board_voltage() 2012-03-02 15:48:28 +11:00
Jason Short 00d5ad9343 Added more Logging for PIDs. 2012-02-26 11:33:36 -08:00
Jason Short e4e8189448 added a simple rest of nav_throttle just in case 2012-02-25 13:31:21 -08:00
Jason Short ac81ddef04 commented out control mode debug print 2012-02-21 21:48:07 -08:00
Jason Short 434b059586 reset slow_WP option at mode switch 2012-02-19 13:13:42 -08:00
Jason Short 75919436ac added extra gain logging 2012-02-16 22:09:22 -08:00
Andrew Tridgell 1af6f08b1c adapted main ACM code for AP_Param 2012-02-13 16:22:52 +11:00
Jason Short 1851dd541b Made Yaw Hold universal for Acro 2012-02-10 22:32:55 -08:00
Andrew Tridgell c95a295fd6 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 484b688700 fix issue 502
to identify quad over mavlink
2012-02-03 06:53:08 +08:00
Jason Short 0213f4dd88 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 2db4d2bfe6 OpticalFlow - added OF_LOITER flightmode 2012-01-28 09:27:16 +09:00
Jason Short 0475dbf8ae relocated reset_I term functions to central location 2012-01-20 22:52:30 -08:00
Jason Short 7e411f5fb6 This allows users to test the Auto_throttle hold or cruise value 2012-01-14 11:43:52 -08:00
Jason Short 24b760d48f added update throttle cruise function 2012-01-13 16:48:05 -08:00
Jason Short 400d080d12 added notes 2012-01-12 22:28:58 -08:00
Jason Short 7933492fec Switched to set_next_WP for mode switches 2012-01-10 23:43:44 -08:00
Jason Short f240888b49 added #if to wind compensation code 2012-01-10 23:42:26 -08:00
Randy Mackay 7b9701fdd5 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 cf5e0b3a1b 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 056a08d838 Forced Faildafe throttle mode to throttle Auto 2012-01-06 10:21:50 -08:00
Jason Short 9d9bef37a8 Clears Auto_land timer 2012-01-05 21:15:12 -08:00
Andrew Tridgell 600a5680f8 ACM: reset all I terms on gyro calibration 2012-01-05 10:15:14 +11:00
Jason Short 123ce533bb Added precalc for wind compensation when entering Stabilze mode 2012-01-04 09:28:37 -08:00
Jason Short a1c3ce88a0 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 645eac6f38 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 ff66a3417c 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 c27277c7f1 ACM: use new I2C library 2011-12-28 20:41:53 +11:00
Andrew Tridgell ef1d8eaeac ACM: update for DataFlash changes 2011-12-28 16:00:49 +11:00
Andrew Tridgell da87622a5f 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 a40a026220 added ability to enter Loiter with only optflow available 2011-12-23 14:46:32 -08:00
Andrew Tridgell 1807585b98 ACM: run mavlink loop while erasing logs 2011-12-18 10:19:41 +11:00
Jason Short 66c974a949 Added failsafe check 2011-12-14 22:08:41 -08:00
Andrew Tridgell c007fb49b8 IMU: update ACM and APM for flash_leds change in IMU init 2011-12-13 18:19:41 +11:00
Andrew Tridgell dd4498d113 desktop: fixed Wire.begin() build problem 2011-12-12 15:14:55 +11:00
Pat Hickey 067724b4f1 ArduCopter: update AP_Baro constructors & initializers 2011-12-11 15:21:10 -08:00
Pat Hickey 6710cf5c5a 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 bd00b629e7 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 273492bc66 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 26705111e1 ArduCopter - small fixes to fix HIL compile errors 2011-12-11 23:25:03 +09:00
Randy Mackay 62a7b19600 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 146d52d650 Switched to Gyro only startup 2011-12-10 15:13:20 -08:00
Jason Short b659d35f18 Added Land FLight mode definition 2011-12-10 10:19:20 -08:00
Jason Short 11363a26cb Added new gain and clamp value for DCM 2011-12-03 17:55:11 -08:00
Andrew Tridgell 63126ece83 MAVLink: use the configured system ID for ArduCopter 2011-12-03 07:54:36 +11:00
Jason Short 8a1fcfd0f4 cleanup 2011-11-28 21:40:22 -08:00
Doug Weibel aa6c336479 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 d4a9808a61 Erasing Logs causing major havoc. Users getting infinite loop. 2011-11-28 10:33:05 -08:00
Jason Short afee053bac No longer resetting ch7 wp index with mode change, requires reboot 2011-11-27 22:23:02 -08:00
Jason Short a2857f9746 Erasing Logs at new FW version detection 2011-11-26 16:39:28 -08:00
Andrew Tridgell 1d66b075b0 ArduCopter: rename purple to APM2 2011-11-25 20:00:19 -08:00
Andrew Tridgell e297f0cb23 USB-MUX: enable USB MUX switching for ArduCopter 2011-11-25 20:00:19 -08:00
Andrew Tridgell c797794e3f ArduCopter-HIL: fixed HIL build
Logging isn't always enabled
2011-11-25 20:00:18 -08:00
Pat Hickey 8300e21a8c 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 01cfd64327 timer_scheduler doesn't exist in HIL_MODE_ATTITUDE 2011-11-25 20:00:18 -08:00
Andrew Tridgell 8e9851c217 adc.Init() needs timer_scheduler 2011-11-25 20:00:17 -08:00
Pat Hickey d2f4fea58a 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 0f25ae0fd7 purple: fixed system init for purple sensor objects 2011-11-25 20:00:16 -08:00
Pat Hickey bc5a59e5fe 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 32073eaa51 mod barometer.Init() based on hardware 2011-11-25 20:00:15 -08:00
Jason Short 7f80649566 Added alternate alt hold,
New ESC Calibration Routine
2011-11-21 22:12:19 -08:00
Jason Short 180a851d2c removed the init_esc - reworking the method to avoid the use of the CLI. 2011-11-20 21:24:32 -08:00
Jason Short 5761b6b071 Logging stabilization KP to hunt bug 2011-11-19 16:59:54 -08:00
Jason Short 4c95bf27e6 s
shortened strings, logging defines updated
2011-11-19 14:01:47 -08:00
Jason Short 332684f649 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 3b825fb8c1 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 e6acbacdb6 nav updates 2011-11-12 21:46:57 -08:00
unknown 4fcf11cf6e 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 bc506514c9 fix for SIM GPS 2011-11-08 14:10:09 -08:00
unknown b30387bc5b 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 80c7e135d5 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 65acc1ae5b resetting alt hold I 2011-11-01 09:27:49 -07:00
unknown 8dc5683dff 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 be3843ccb9 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-28 21:29:18 -07:00
Jason Short a88424b152 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 4a92048ef0 fixed "Free RAM" display on bootup 2011-10-28 21:34:10 +11:00
Jason Short 003e6e06a1 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 171f43def0 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 c0c771042f 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 3b526e23a4 added extra user hook 2011-10-17 23:51:47 -07:00
Jason Short 23c0bb9814 Updates to guided mode from Michael O.
removed or commented unused static vars
2011-10-15 13:09:04 -07:00
Jason Short a37d95634a lowered DCM RP gains
made Instant_PWM optional
upped PWM output to 400hz
2011-10-11 22:20:23 -07:00
Andrew Tridgell 661b6c4508 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 f4184d0b02 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