Commit Graph

134 Commits

Author SHA1 Message Date
James Bielman 5631f865b2 Update floating point calculations to use floats instead of doubles.
- Allows use of hardware floating point on the Cortex-M4.
- Added "f" suffix to floating point literals.
- Call floating point versions of stdlib math functions.
2013-01-16 13:52:01 +11:00
Andrew Tridgell 36e38eeef7 Copter: ensure ahrs.init() is called 2013-01-13 17:32:48 +11:00
Andrew Tridgell ead38f917f Copter: use GRAVITY_MSS 2013-01-02 14:45:08 +11:00
Andrew Tridgell 06357c40f2 Copter: use new functions 2012-12-20 14:53:22 +11:00
Pat Hickey 5bd7046a95 ArduCopter: sketch cpp builds! 2012-12-20 14:52:28 +11:00
rmackay9 d31efebd44 ArduCopter: rename throttle failsafe parameters.
Switch to LAND flight mode if throttle failsafe triggers and we do not have a GPS.
THR_FAILSAFE renamed to FS_THR_ENABLE.
THR_FS_VALUE renamed to FS_THR_VALUE.
THR_FS_ACTION removed (action is now controlled by setting FS_THR parameter).
2012-12-10 23:38:43 +09: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 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
Andrew Tridgell 6fbf5ec8f2 Copter: update ArduCopter for new ins interface 2012-11-30 07:15:18 +11:00
Andrew Tridgell bcae83c4f6 ACM: make it possible to run CLI on radio port in ArduCopter 2012-11-21 21:41:34 +11:00
Andrew Tridgell a3c3c59b82 ACM: fixed some memory cast warnings 2012-11-19 08:42:36 +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
Jason Short d2a5928c06 Ap state updates 2012-11-09 22:15:15 -08: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
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 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
uncrustify 841b4ce9c8 uncrustify ArduCopter/test.pde 2012-08-21 19:19:50 -07:00
rmackay9 8a6085a3ba ArduCopter: removed unused maggy variable from test.pde to reduce compiler warnings. 2012-08-18 16:03:26 +09: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 4d5d16720b ACM Test: Added a return statement 2012-08-15 21:37:23 -07:00
Jason Short 31f31eec75 ACM : Test for bearing calc 2012-08-15 21:04:24 -07:00
Jason Short da6d981479 Arducopter: Testing toy mode - commented out by default 2012-07-19 17:50:42 -07:00
Jason Short 0d8e8e0a04 Arducopter: INS
removed IMU test, updated INS test to include normalized gravity accel vector.
2012-07-18 22:57:10 -07:00
Jason Short f35b5ba13f Arducopter:test.pde made a note for WP radius that shows m in the printout. 2012-07-10 21:53:38 -07:00
Andrew Tridgell 33440567e6 ACM: ArduCopter updates for new compass interface 2012-06-27 16:01:50 +10:00
Jason Short e8510faf5d changed define to param for throttle_min 2012-06-20 15:00:05 -07:00
rmackay9 af86ae8cbf ArduCopter: fixed compile error by declaring extern print_latlon 2012-04-30 21:44:27 +09:00
Andrew Tridgell 435a64b97e ACM: fixed HIL build 2012-04-30 22:42:17 +10:00
rmackay9 a1f5661161 ArduCopter: restored gps test in CLI
Added check so not enabled when using 1280.  Also fixed comments in other tests to explain the check for the 1280.
2012-04-30 17:29:50 +09:00
rmackay9 ad9a8acbab ArduCopter - test.pde - changed references "motor_armed" to "motors.armed()" as part of move to AP_Motors library.
Change to ESC initialisation calls to use motors.throttle_pass_through method of AP_Motors class.
2012-04-04 23:05:26 +09:00
Andrew Tridgell e956e21e7d ACM: enable the new compass offset nulling in ACM 2012-03-27 15:37:24 +11:00
Andrew Tridgell 547b4ed55b AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Andrew Tridgell 1016d3c95d ACM: removed quaternion special cases in CLI code 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
Jason Short ca34d7b7c2 Added test for stab_d gain scheduling. 2012-02-28 20:16:40 -08:00
Jason Short fa32b084bd Added SW test for Manual Boost 2012-02-19 12:39:40 -08:00
Jason Short 71d57a5371 Enabled PWM test 2012-02-09 22:22:01 -08:00
Jason Short 5ab37a346c reduce test.pde size for 1280 users 2012-01-28 22:16:24 -08:00
Doug Weibel ed9f7cb1b6 Update battery monitoring code for ArduCopter
Fixes compatibility for APM2.  Also a significant update to the battery monitoring code:  We previously had monitoring modes for individual cell voltages for 3 and 4 cell lipos.  These have been removed as they were never really supported (the cell voltages were computed but were not reported or recorded anywhere).  Also, some clean-up/prep work was done for supporting monitoring 2 separate battery packs.  The CLI battery and current monitoring tests were consolidated into 1 test.
changed
2012-01-15 17:10:02 -07:00
Jason Short 4eacc6f3eb re-enabled relay test 2012-01-13 08:55:02 -08:00
Pat Hickey 7535c1c3fe ArduCopter test.pde: translate from CH_ to MOT_ notation 2012-01-09 21:57:02 -08:00
Jason Short 8a921e869c Fixed a 1280 only test 2011-12-29 23:02:02 -08: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 955dfe0226 ACM: check compass health before using it 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 111d156a99 ACM: fixed HIL build again 2011-12-26 19:17:11 +11:00
Jason Short cc4f5e7c74 disabled some tests with warnings 2011-12-23 18:54:38 -08:00
Jason Short 85b564c5eb removed some unneeded HIL #defines 2011-12-23 14:42:49 -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 011110e1dd airspeed: use floating point values and better averaging in zero_airspeed()
this makes the calibration of airspeed a bit more accurate, and
prevents truncation of airspeed values
2011-12-12 15:14:55 +11:00
Pat Hickey 6dbd6b4181 ArduCopter: Get barometer data in terms of AP_Baro interface
* Major change: Log.pde Log_Write_Control_Tuning has changed significantly
* MS5611 has no concept of RawPres and _offset_press
* Log the get_pressure() instead. (If we don't trust the barometer, what's the point?)
2011-12-11 15:21:10 -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 6dfdd754ea Stability patch updates,
Cleanup
2011-12-06 21:03:56 -08:00
Jason Short 9bc6fce3b8 Function call defs commented with // so the preprocessor doesn't get confused 2011-12-03 17:55:44 -08:00
Jason Short 778393c4a7 Enabled the compass test 2011-12-03 15:39:02 -08:00
Andrew Tridgell 2a5a15abce test: fixed test code for HIL build 2011-11-25 20:00:17 -08:00
Andrew Tridgell 2d8cfc0c3f test: neaten up the output of the dcm test 2011-11-25 20:00:17 -08:00
Pat Hickey 475afd6ac2 purple: enable dcm test, and fixed imu test to test the IMU API 2011-11-25 20:00:17 -08:00
Pat Hickey c2972ff1f9 purple: fixed CLI code for non-ADC hardware and no sonar
purple hardware does not use the ADC driver
2011-11-25 20:00:17 -08:00
Pat Hickey 63393b206a purple: added ins test
this tests the InertialSensor library API
2011-11-25 20:00:17 -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
Jason Short 10a24f22fa renamed set_cmd function 2011-11-20 00:22:52 -08:00
Jason Short eef04a5a54 removed some tests 2011-11-19 14:02:00 -08:00
Jason Short 833fe17c6a disabled raw GPS temp 2011-11-16 00:22:23 -08:00
Jason Short bb4e612241 Shortened test name 2011-11-12 15:14:32 -08:00
Jason Short 2c9ebf11b8 removed unused functions, log fix 2011-11-09 23:28:50 -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 0a538baeb2 updated baro test 2011-11-01 09:29:55 -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 eb1117b136 Merge branch 'master' of https://code.google.com/p/ardupilot-mega 2011-10-02 11:36:31 -07:00
Jason Short b0bd9d1c44 Added second PI loop for alt hold.
Upped gains for default JDrones Frame
added gains for second PI loop for alt
removed some tests for 1280 space constraints
2011-10-02 11:36:23 -07:00
Amilcar Lucas ee4251baef Fix compilation 2011-10-02 14:52:02 +02:00
Jason Short f89da12387 Minimized the accel_filtered vector to be faster and more accurate.
Made the Filter include the Accels and moved from 8 to 4 terms in the filter
2011-09-30 18:40:29 -07:00
Jason Short 35c30e91bf Test for new nav function 2011-09-24 16:48:04 -07:00
Jason Short b2b28cc90c Converted Millis to Micros
added navigation check to return a failed navigation
2011-09-19 22:24:57 -07:00
Jason Short bf94ba551e changed PI Library to take Float for DeltaTime
Changed timing to be more accurate in main loop. Still need to switch to micros(). Left that for Tridge. This gets rid of six floating point calcs *250. Nice!
2011-09-19 14:02:42 -07:00
Andrew Tridgell 0425f4be54 updates for new DCM code
G_Dt is no longer needed by the DCM
2011-09-17 14:58:02 +10: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 e6b7c57d26 Circle Mode now working
250Hz loop implemented
2011-09-11 11:22:01 -07:00
Jason Short 02bfd43390 Fixes Alt hold mistake
Moves tuning into runtime definable param
Added more IMax to throttle

Signed-off-by: Jason Short <jasonshort@gmail.com>
2011-09-10 15:16:51 -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