Commit Graph

113 Commits

Author SHA1 Message Date
rmackay9 f62c377062 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 5c3ca64c12 ArduCopter: add dataflash logging of camera events 2012-12-07 00:57:08 +09:00
rmackay9 eb3ad15843 ArduCopter: allow INERTIAL_NAV to be enabled separately for horizontal and vertical position 2012-12-06 10:31:41 +09:00
Andrew Tridgell 76e9adb8d4 ACM: make it possible to run CLI on radio port in ArduCopter 2012-11-21 21:41:34 +11:00
rmackay9 e0f85f63fb ArduCopter: performance monitoring - changed loop counters to uint16_t.
Removed an unused items from dataflash logging of Performance.
2012-11-19 11:55:47 +09:00
rmackay9 38fdacd93b ArduCopter: replaced digitalRead and digitalWrite with faster calls
improved performance logging to dataflash
2012-11-19 01:16:07 +09:00
Jason Short add51f110d ACM : Logging.pde formatting 2012-11-11 18:06:50 -08:00
Jason Short 6a2ba899cb ACM Logging Events 2012-11-09 22:15:16 -08:00
Jason Short 3539a6817f ACM Log, formatting 2012-11-09 22:15:16 -08:00
rmackay9 56f374fc7d AP_InertialNav: reanme AP_InertialNav and ThirdOrderCompFilter classes to resolve desktop build compiler errors 2012-11-07 22:24:00 +09:00
rmackay9 af40201b14 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 0868917ff4 ArduCopter: move to use new INS library instead of IMU library 2012-11-07 19:21:09 +09:00
Andrew Tridgell e90d2138f2 ACM: saved some more memory for strings 2012-10-22 18:57:08 +11:00
rmackay9 7fb58fce87 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
rmackay9 fc4f4d76c9 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 fec3f3260e ArduCopter: bug fix to display ITERM enabled/disabled properly from cli
Also changed header for this message type to ITERM instead of just IT to make it more clear what it is
2012-09-27 17:40:30 +09:00
rmackay9 d7a53e67ed ArduCopter: bug fix in Log_Read_Attitude. It was printing two uninitialised variables. 2012-09-17 13:44:29 +09:00
Jason Short b56dc44e61 ACM : Fix enduf 2012-09-10 21:25:53 -07:00
Jason Short 24f80c632c ACM : forced setup_show to dump params during log dump for better analysis. 2012-09-10 20:52:30 -07:00
Jason Short 65dc4ccc6d ACM : Added centralized Iterm logging at a lower rate. Logs all iterms. 2012-09-10 20:26:48 -07:00
Jason Short 0ab8b85a78 ACM Log.pde : whitespace clean up 2012-08-28 21:22:07 -07:00
Jason Short b757c7130d ACM : Logging updates 2012-08-28 15:40:08 -07:00
uncrustify dfc77d37ca uncrustify ArduCopter/Log.pde 2012-08-21 19:19:50 -07:00
rmackay9 b3439f9b95 ArduCopter: added cast to (int) in printf statments.
Also modified dump_log function's last_log_num to be int16_t to match return type from DataFlash's find_last_log method.
2012-08-18 18:58:15 +09:00
rmackay9 eafc13c8d5 ArduCopter: fix compiler error related to printing boarding type in dataflash logs. 2012-08-18 11:47:10 +09:00
Jason Short 47e2837a9e ACM Logging - added APM version #, stab_I term logging 2012-08-17 17:03:40 -07:00
Jason Short 0e7794336e ACM: added nav_yaw to att logging
Removed unnecessary casting
2012-08-16 12:43:55 -07:00
rmackay9 48b7d26c5d 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 fd76bf7df4 ACM Log : fixed formatting 2012-08-15 21:04:24 -07:00
Jason Short a53a0a51be Arducopter
Better logging for Raw Inertial values
2012-07-18 22:57:11 -07:00
Jason Short e1484180f8 Arducopter:Log.pde Logging the calculated Climbrate 2012-07-10 21:53:38 -07:00
Jason Short 2bc77c1020 Log.pde: formatting 2012-07-03 17:16:26 -07:00
Andrew Tridgell 7883c4a545 ACM: ArduCopter updates for new compass interface 2012-06-27 16:01:50 +10:00
Jason Short 900f169c44 Log.pde: removed nav_bearing reference and replaced with target_bearing ref 2012-06-25 23:06:28 -07:00
Jason Short 6dc1e02f76 Inertial Control
I added inertial navigation based on the simulator data. This is an option only available if you compile with Arduino and set
#define INERTIAL_NAV ENABLED
in the APM_Config.h file.

This has been tested for one real flight and did not crash my quad, but consider it very alpha. The quad may be unpredictable at first until the error correction fixes poorly calibrated accels. Be Careful.

Most of the real work is in the inertia file, but the error correction, new variable defines and calibration calls are sprinkled throughout.

The Log should record RAW messages with special debugging values.
2012-06-13 22:34:45 -07:00
rmackay9 8f8e91a620 ArduCopter: Another attempt at fixing the lat/lon printing bug in which small negative lattitudes or longitudes were appearing as positives.
Fixed in both ArduCopter Log.pde and the GPS Auto test sketch
2012-06-03 16:58:19 +09:00
rmackay9 df3fb5c041 ArduCopter: fixed print_latlon bug in which it would print negative lat/lon numbers incorrectly (i.e. -1234567890 would be printed as -124.xxx). 2012-06-02 12:51:12 +09:00
Andrew Tridgell 5b5d43f5d0 Log: don't print '+' while erasing logs
we no longer do page based erase, so printing a + every 128 pages
makes no sense
2012-05-22 20:10:29 -07:00
Andrew Tridgell 27e7d425af MAVLink: allow parameter fetch during mavlink_delay()
this allows the planner to fully connect to the APM with MAVLink while
doing a DataFlash erase
2012-05-22 16:13:35 +10:00
Jason Short cb863dd483 Log.pde : Updated Flash Logging to log Floats properly vs scaled integers. 2012-04-21 15:25:53 -07:00
Jason Short 2aca6c64ab Added a union for casting floats to ints and back when storing Floats to the DataFlash 2012-04-21 15:17:09 -07:00
rmackay9 acc24291f3 ArduCopter - Log.pde - changed MOT output to dataflash to take values from AP_Motors class's motor_out array instead of the global motor_out array. 2012-04-04 22:53:21 +09:00
rmackay9 441413f1c6 ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers. 2012-03-25 16:09:08 +09:00
Andrew Tridgell 690ad58a64 AHRS: adapt ArduCopter for new AHRS framework 2012-03-19 17:29:02 +11:00
Jason Short d52b93849e ACM: Fixed comment 2012-03-16 14:10:19 -07:00
rmackay9 7cf635889d ArduCopter - Log.pde - added wrap_360 to compass heading field of ATT message to resolve overflow problem that caused heading to appear as being off by 70 degrees 2012-03-12 12:09:04 +09:00
rmackay9 a72b20f42d ArduCopter - fix to dataflash logging of Mag heading 2012-03-11 01:27:29 +09:00
Jason Short ab945f36df Compass heading added to ATT log 2012-02-24 12:11:15 -08:00
Andrew Tridgell b231112957 DCM: renorm_sqrt_count is now called renorm_range_count 2012-02-23 08:16:08 +11:00
Andrew Tridgell f363d0542c fixed warning in Log build 2012-02-13 16:22:52 +11:00