Commit Graph

220 Commits

Author SHA1 Message Date
Randy Mackay a53d28e018 Copter: remove support for dmp ahrs 2013-09-27 10:42:49 +09:00
Andrew Tridgell a06f8a156d Copter: fixed PX4 build 2013-08-19 21:12:41 +10:00
Randy Mackay 2696e160e6 Copter: surface tracking improvement
Separate correction speeds for pilot input vs altitude-above-ground
errors to allow slower correction to sonar signals.
Change SONAR_GAIN parameter to be altitude error -> desired speed.  This
means it should be set 10x larger than before.
Replace hard-coded sonar cut-off percentage of 70% with
SONAR_RELIABLE_DISTANCE_PCT.
Reduce sonar cut-off percentage to 60%.
Add desired sonar altitude to dataflash log's CTUN message.
2013-08-19 09:52:59 +09:00
tobias 4e73cf810e Copter: added cast to remove compiler warning 2013-07-08 12:07:50 +10:00
Randy Mackay 4ad395e7be Copter: merge WPNAV into NTUN dataflash message 2013-05-19 22:53:35 +09:00
Randy Mackay 0a148cce19 Copter: log target alt in meters 2013-05-08 16:41:16 +09:00
Randy Mackay cca05ee8ae Copter: start dataflash logging when arming
Stop nearly empty logs from being produced.
Removed redundant armed bit from ap state.
2013-05-03 14:49:55 +09:00
Randy Mackay bab9fa25e5 Copter: add GCS failsafe 2013-04-29 21:30:22 +09:00
Randy Mackay 45aab0de92 Copter: add I2C error count to PM message 2013-04-26 22:39:22 +09:00
Andrew Tridgell 9cec664236 Copter: fixed format of PM message log 2013-04-21 23:46:35 +10:00
Andrew Tridgell 02c3083f60 Copter: print flight mode as string 2013-04-20 15:18:22 +10:00
Andrew Tridgell ce3ee97e73 Copter: removed duplicate print_latlon() declarations 2013-04-20 13:57:45 +10:00
Andrew Tridgell 93d075404c Copter: added board voltage to current message 2013-04-20 13:52:37 +10:00
Andrew Tridgell a0708460a4 Copter: convert to new logging system 2013-04-20 13:52:37 +10:00
Andrew Tridgell 67484a2ea1 Copter: make copter code compatible with the new logging system
not fully converted yet
2013-04-20 13:52:36 +10:00
Randy Mackay 9b351feade Copter: shorted INAV dataflash log message length
Velocities are now output in WPNav message
2013-04-17 22:39:30 +09:00
Randy Mackay f7524e5741 Copter: remove unnecessary cast to float in Log 2013-04-17 22:35:02 +09:00
Randy Mackay 7c8527e6a6 Copter: resolve compiler warning 2013-04-17 22:14:47 +09:00
Andrew Tridgell 61c2befd4d Copter: fixed logging for new API 2013-04-17 21:34:42 +10:00
Randy Mackay 8fe3e689f4 Copter: add WPNAV log message 2013-04-15 21:54:29 +09:00
Randy Mackay 1ee825ee9a Copter: move alt and wp checking to AC_WPNAV
RTL fix so that if it starts rtl-ing from above 80m it returns home
while descending instead of descending at initial position.
add get and set_target_alt_for_reporting
2013-04-14 10:39:23 +09:00
Randy Mackay 4de5f67a91 Copter: replace wp_nav.get_target_alt with get_destination_alt 2013-04-14 10:38:17 +09:00
Randy Mackay 5b93990e41 Copter: removed next_WP
Use the wp_nav.get_target_alt or controller_desired_alt in it's place
2013-04-14 10:38:07 +09:00
tobias 217b8d7a59 cleanup: use const for struct Location pointers and references
this allows the compiler to generate more efficient code
2013-04-09 12:10:32 +10:00
Randy Mackay 1dcd46bffc Copter: reduce compiler warnings 2013-04-05 22:25:58 +09:00
Randy Mackay 40f6416b3d Copter: update Log_Read_Compass comment 2013-04-02 11:02:14 +09:00
Randy Mackay f9539384a1 Copter: rename failsafe to failsafe_radio
Makes way for separation of failsafes for throttle, gps and gcs
2013-03-16 17:14:21 +09:00
Randy Mackay 998511f506 Copter: use unsigned long for dataflash log for gps time
Updated some formatting of comments in the same file
2013-03-04 23:13:06 +09:00
Randy Mackay 6b2b69535f Copter: Compass log stores/retrieves motor offsets 2013-03-02 00:03:20 +09:00
Andrew Tridgell 637ecd5279 Copter: updates for new dataflash API 2013-03-01 07:18:26 +11:00
Andrew Tridgell 9a3bd17cfb Copter: fixes for new DataFlash API 2013-03-01 07:18:25 +11:00
Randy Mackay c8f09ac219 Copter: fix compile error for PX4 re Compass logging 2013-02-25 13:26:58 +09:00
Randy Mackay cbde042ec5 Copter: remove non-inav loiter and wp controllers
lon_speed, lat_speed changed to float
do_takeoff, do_land now set roll-pitch, yaw and nav modes specifically
removed fast_corners functionality (may need to be reimplemented with
new inertial nav controllers)
2013-02-24 14:41:52 +09:00
Randy Mackay 609676e26c Copter: add logging of compass values
Removed rarely used ITERM because we didn't have enough bits in the log
mask
2013-02-24 14:41:48 +09:00
Randy Mackay 67c69a19ee Copter: remove baro-only alt hold
Saves 8 bytes of memory and more importantly simplifies the alt hold
calculations
2013-02-24 14:41:29 +09:00
Randy Mackay ce370bab0c Copter: rename CUR and CURR to CURRENT for logging
Based on user complaint that enable/disable was using CUR while message
was appearing as CURR
2013-01-26 17:20:41 +09:00
Randy Mackay fb1358a629 Copter: make all message output csv 2013-01-26 17:05:38 +09:00
Jonathan Challinger 6565d83e73 InertialNav: Fixed signs, remove body-frame rotation, apply correction at 100hz. 2013-01-22 18:37:45 +09:00
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 56f22f9226 Copter: use common log reading function 2013-01-15 14:03:51 +11:00
Andrew Tridgell 72c8a14e76 Copter: fix trad heli log build 2013-01-13 17:57:47 +11:00
Andrew Tridgell 78fd5bb23f Copter: get rid of remaining Log.pde warnings 2013-01-13 17:53:39 +11:00
Andrew Tridgell 3039c37f95 Copter: use macros from common header 2013-01-13 17:31:42 +11:00
Pat Hickey d7eeeab79e ArduCopter: fix new style Log.pde build for PX4.
randy - you should please review these changes to make sure you wanted
to have the int16_t type in all of these structs, or how you want to
convert all these other integer types to int16_t if you do need it that
way.
2013-01-12 13:11:25 -08:00
Randy Mackay 87627d883b ArduCopter: use new logging method for remaining packet types
Additional changes include renaming RAW dataflash type to IMU
2013-01-13 00:17:44 +09:00
Andrew Tridgell af478d52bc Copter: use the new logging methods for 2 packet types
the rest still need to be converted
2013-01-12 18:15:23 +11:00
Andrew Tridgell 91ad870f11 Copter: check bitmask in more logging functions 2013-01-09 23:06:40 +11:00
Andrew Tridgell 4236b10edc Copter: fixed board ID string 2013-01-02 10:18:05 +11:00
Andrew Tridgell 17a63dc76a Copter: fixes for AP_HAL merge 2013-01-02 09:55:55 +11:00
rmackay9 672fdfbf71 ArduCopter: added ERR dataflash message
Failsafe events changed to errors so they are more obvious.
Errors recorded to dataflash for failure to init compass and optical flow sensor.
Errors recorded for pwm failure.
Resolved a compile error when dataflash logging is disabled.
2013-01-02 09:55:37 +11:00
rmackay9 92e271e517 AP_InertialNav: increase baro delay to 0.5 sec (was 0.2sec) to allow slower baro updates on APM1 2013-01-02 09:55:37 +11:00
rmackay9 466097b383 ArduCopter: use inertial nav for current altitude and climb rate 2013-01-02 09:22:51 +11:00
rmackay9 b786cf40f7 ArduCopter: change GPS dataflash message to output unfiltered gps lat and lon 2013-01-02 09:19:39 +11:00
Pat Hickey 7af03127f6 ArduCopter: more work 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
Jason Short 19ae5c30eb ACM : Formatting 2012-12-13 20:12:39 -08:00
rmackay9 154e3c33f7 ArduCopter, AP_InertialNav: consolidated ThirdOrderComplementaryFilter into AP_InertialNav to save about 200bytes of RAM 2012-12-10 00:43:11 +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 3a90fc77f9 ArduCopter: add dataflash logging of camera events 2012-12-07 00:57:08 +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
Andrew Tridgell bcae83c4f6 ACM: make it possible to run CLI on radio port in ArduCopter 2012-11-21 21:41:34 +11:00
rmackay9 810da878e7 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 07a7a1acd8 ArduCopter: replaced digitalRead and digitalWrite with faster calls
improved performance logging to dataflash
2012-11-19 01:16:07 +09:00
Jason Short be63481a8c ACM : Logging.pde formatting 2012-11-11 18:06:50 -08:00
Jason Short 4b5e0a5046 ACM Logging Events 2012-11-09 22:15:16 -08:00
Jason Short 6dba79e3a7 ACM Log, formatting 2012-11-09 22:15:16 -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 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
Andrew Tridgell 9592be5af7 ACM: saved some more memory for strings 2012-10-22 18:57:08 +11: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
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 280488fa5e 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 6f32f52377 ArduCopter: bug fix in Log_Read_Attitude. It was printing two uninitialised variables. 2012-09-17 13:44:29 +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
Jason Short 51969dca22 ACM Log.pde : whitespace clean up 2012-08-28 21:22:07 -07:00
Jason Short fd4bc69d77 ACM : Logging updates 2012-08-28 15:40:08 -07:00
uncrustify c1ce689e38 uncrustify ArduCopter/Log.pde 2012-08-21 19:19:50 -07:00
rmackay9 99859ae42f 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 8c636ca263 ArduCopter: fix compiler error related to printing boarding type in dataflash logs. 2012-08-18 11:47:10 +09:00
Jason Short 0ac1373591 ACM Logging - added APM version #, stab_I term logging 2012-08-17 17:03:40 -07:00
Jason Short 0f9f72e8ab ACM: added nav_yaw to att logging
Removed unnecessary casting
2012-08-16 12:43:55 -07: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 99dcbd039d ACM Log : fixed formatting 2012-08-15 21:04:24 -07:00
Jason Short 66ac438b9e Arducopter
Better logging for Raw Inertial values
2012-07-18 22:57:11 -07:00
Jason Short 782ebf5176 Arducopter:Log.pde Logging the calculated Climbrate 2012-07-10 21:53:38 -07:00
Jason Short 1070eea70b Log.pde: formatting 2012-07-03 17:16:26 -07:00
Andrew Tridgell 33440567e6 ACM: ArduCopter updates for new compass interface 2012-06-27 16:01:50 +10:00
Jason Short 28829b0d60 Log.pde: removed nav_bearing reference and replaced with target_bearing ref 2012-06-25 23:06:28 -07:00
Jason Short c42f9ece43 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 dcdeae412e 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 2a216ce900 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 66544a5db2 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 422dc82f32 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 9c19138fb8 Log.pde : Updated Flash Logging to log Floats properly vs scaled integers. 2012-04-21 15:25:53 -07:00
Jason Short e22832a832 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 8402a3d837 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 1f4cfb9333 ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers. 2012-03-25 16:09:08 +09:00