Commit Graph

3399 Commits

Author SHA1 Message Date
Randy Mackay 05d9dc5cba Copter: RTL always land if in radio failsafe
Resolves issue in which vehicle would get stuck at RTL_ALT_FINAL if
failsafe occured.
Also clear out pilot acceleration from loiter controller if failsafe
occurs during the final descent.
2014-04-25 14:45:16 +09:00
Randy Mackay 40650aeb68 Copter: roll and pitch nudging in RTL descent 2014-04-25 14:17:03 +09:00
Michael Oborne 68f439acbe Fix auto doc group names 2014-04-25 07:53:03 +08:00
Randy Mackay 19f1e7fec4 Copter: disable Parachute by default
This saves 1k of flash and we are desperately low on the APM1/APM2.
Hopefully we can find savings somewhere and re-enable it by default.
2014-04-24 19:02:32 +09:00
Randy Mackay ea64438ef9 Copter: RTL ensures heading is back to initial heading
This fixes the issue in which a short RTL_LOIT_TIME could cause the
vehicle's heading to be caught between it's heading when it arrived at
home and the initial armed heading.  With this fix it now waits above
home until the timer has run out AND the heading is within 2degrees of
the initial armed heading.
2014-04-24 18:54:49 +09:00
Randy Mackay e23115516d Copter: disarm after completing RTL
Note that an RTL command executed in AUTO mode will also disarm when it
lands and pilot's throttle is put to zero and no further commands will
be executed.  This is normally not an issue because missions generally
end with an RTL (instead of having the RTL in the middle) and a work
around is available in that the LAND command could be used instead of
RTL.
2014-04-24 17:27:30 +09:00
Randy Mackay a5602c5f14 Copter: updated contributors list
Add JulianD and SandroT and replaced tabs with spaces
2014-04-24 11:28:41 +09:00
Ju1ien 78a3e0f5a2 Copter: Hybrid removed Wind_comp_estimate filter
Removed useless call of function
hybrid_get_wind_comp_lean_angles(hybrid.wind_comp_roll,
hybrid.wind_comp_pitch);
Removed 10Hz filter for hybrid_update_wind_comp_estimate()
2014-04-24 11:28:37 +09:00
Randy Mackay 287af8f66e Copter: disable optical flow by default
We have run out of flash on the APM2, it was a choice between Hybrid
flight mode and OF_Loiter
2014-04-23 15:27:08 +09:00
Randy Mackay 55e7e1eb3e Copter: allow HYBRID to be disabled to save flash
Hybrid flight mode costs 4.5k of flash which currently puts us over the
limit for APM1 and APM2 unless optical flow or other features are
disabled
2014-04-23 15:27:05 +09:00
Randy Mackay ba94fc9796 Copter: Hybrid move reset_I into structure
Saves 1 byte of RAM
2014-04-23 15:00:09 +09:00
Ju1ien ff532a06ec Copter: Hybrid fixes to wind_comp, brake pitch timer, thr peaks
There was an error in the velocity axis used to update
brake_timeout_pitch (vel_right instead of vel_fw)

The wind_comp was not enough filtered for the Pixhawk (400Hz), so I
added a specific time constant (TC_WIND_COMP) to have the expected
filter with 400Hz controllers.

About throttle peaks, after some tests and from logs, they happen when
hybrid switches to loiter.
There is always a difference between Alt and DesiredAlt (DAlt), but,
when loiter engages, it initializes DAlt = Alt and the copter tries
immediatelly to reach that new setpoint. So the solution would be to
init_loiter_target() just as it was in pre-onion code : only x/y and not
z. and to be able to pass parameters like that
wp_nav.init_loiter_target(inertial_nav.get_position(), Vector3f(0,0,0));

Well, from this new code structure, it seems not possible with current
functions so I've used set_loiter_target that init position passed as
parameter and velocity to 0 (as expected).
BTW, I think there was something wrong with set_loiter_target function,
the "Vector3f& position" parameter was not used at all...
I moved the reset flag from init_loiter_target to set_loiter_target.
2014-04-23 15:00:04 +09:00
Ju1ien 14cbb09804 Copter: hybrid add Brake or Loiter to Pilot override transition
Corrected a little mistake in get_wind_comp...()
Mixed transition not only from loiter but as well from brake to manual
override
2014-04-23 15:00:01 +09:00
Ju1ien 43b1dd748b Copter: hybrid init brake roll and pitch at loiter exit 2014-04-23 14:59:59 +09:00
Ju1ien d745060c80 Copter: fix Hybrid flight mode in Parameter description 2014-04-23 14:59:56 +09:00
Ju1ien f8e8d4024d Copter: Hybrid's max brake angle to 30deg 2014-04-23 14:59:53 +09:00
Ju1ien b3e8112d24 Copter: Hybrid fix wind_comp time constant
Corrected timer init values and wind_comp time constant to get the best
behaviour

Check if wider deadband required (current is 30).
We were using a comparison to a 70-100 cdeg deadband in our initial
code. The deadband was there to avoid unwanted switches in case of
inaccurate fingers/radio

Adjusted timers to 100/400Hz

I_term does not init when in hybrid loiter
2014-04-23 14:59:43 +09:00
Randy Mackay 4778c73de2 Copter: Hybrid 10hz updates to wind comp lean angles 2014-04-23 14:59:40 +09:00
Randy Mackay f87ab21063 Copter: Hybrid estimates wind when speed under 10cm/s 2014-04-23 14:59:38 +09:00
Randy Mackay d36f137bf8 Copter: allow arming, disarming in Hybrid mode 2014-04-23 14:59:35 +09:00
Randy Mackay e2aaafe40b Copter: hybrid works for 100hz and 400hz 2014-04-23 14:59:33 +09:00
Randy Mackay 705ff3f44f Copter: add hybrid_mix_controls
Allow wind comp estimate to run when vehicle travelling up to 30cm/s
(was 10cm/s)
2014-04-23 14:59:30 +09:00
Randy Mackay e48c93d93c Copter: restructure hybrid into more states 2014-04-23 14:59:28 +09:00
Randy Mackay f467d7bc20 Copter: add Hybrid parameters 2014-04-23 14:59:25 +09:00
Randy Mackay 754bae5748 Copter: refactor and split out wind compensation 2014-04-23 14:59:23 +09:00
Randy Mackay d9c685323a Copter: add hybrid state struct, formatting changes 2014-04-23 14:59:20 +09:00
Randy Mackay b5ed23f592 Copter: integrate skeleton Hybrid mode 2014-04-23 14:59:17 +09:00
Ju1ien 832fc62016 Copter: control_hybrid initial version 2014-04-23 14:59:15 +09:00
Randy Mackay 5fc071f5f9 Copter: restore SITL to run at 100hz 2014-04-21 21:46:22 +09:00
Andrew Tridgell e07b70de4e Copter: set AHRS vehicle class 2014-04-21 18:13:13 +10:00
Randy Mackay 01538c5290 Copter: remove unused lon_error, lat_error 2014-04-21 15:06:32 +09:00
Randy Mackay 8ac14023b4 Copter: set main loop rate from CPU class
Previously this was determined by the board
2014-04-21 13:32:00 +09:00
Randy Mackay a1edf347bf Copter: STB_RLL_P and STB_PIT_P @Range 3 to 12 2014-04-21 10:41:01 +09:00
Randy Mackay b9845047f4 Copter: bug fix AP_Rally param directory 2014-04-19 22:37:01 +09:00
Randy Mackay 7af5d4a8ce Copter: remove RALLY_WP_SIZE definition 2014-04-19 15:00:30 +09:00
Andrew Chapman fa3732ac6d Copter: integrate AP_Rally 2014-04-19 15:00:23 +09:00
Randy Mackay 817c893f21 Copter: bug fix for conditional_distance command
Due to a race condition, the wp_distance was not being updated before
the conditional_distance
2014-04-17 22:23:28 +09:00
Randy Mackay f29ad3a2e0 Copter: bug fix for when WP_YAW_BEHAVIOR is 0 2014-04-17 16:53:06 +09:00
Randy Mackay c53a0fcfd9 Copter: conditional yaw fix
waypoint command was setting auto_yaw_mode when it was run after the
do-cmd
yaw_look_at_heading was being set to current heading which was
overwriting the caller's desired heading
2014-04-17 16:41:36 +09:00
Randy Mackay 7f00bd7f5d Copter: default WAYPOINT to current pos if lat, lon, alt are zero 2014-04-16 20:33:43 +09:00
Randy Mackay d2dad1b2c1 Copter: remove unused circle_desired_rotations
desired num rotations is already held in command so we save 1byte of RAM
2014-04-16 16:28:11 +09:00
Randy Mackay e6d2692eab Copter: Loiter_Turns moves to edge of circle if location provided 2014-04-16 16:28:08 +09:00
Randy Mackay f6676be400 Copter: integrate change in AC_Circle init
Removed init_loiter_target when vehicle landed.  We should add some
initialisation of the circle controller when landed.
2014-04-16 16:28:06 +09:00
jschall ff9838ea27 Copter: Document stream rate parameter functionality 2014-04-15 16:05:45 +09:00
Kevin Hester 4bfd6b8ddd Copter: fixup line endings to be newline 2014-04-15 15:54:13 +09:00
Randy Mackay cf86e304f0 Copter: add V-Tail to FRAME param's @Value 2014-04-15 12:18:31 +09:00
Randy Mackay 729026d80c Drift: get velocity using const reference 2014-04-14 11:34:17 +09:00
Emile Castelnuovo f5a68fdba1 Copter: clear RC in overrides on GCS failsafe. 2014-04-13 22:59:51 +09:00
TeamOSEOLA 7dda8afd60 Copter: Fixed GPS_ok() status checking
Fixed the GPS_ok() so that TRUE is returned in the cases of DGPS and Assisted GPS fixes, not just 3D fix.
2014-04-11 09:01:35 +10:00
Andrew Tridgell 1189978334 Copter: ensure we log both GPS at the time we receive a message 2014-04-10 10:30:10 +10:00
Randy Mackay e7d73aa856 Copter: enable GCS failsafe to RTL by default
This only triggers if the user has been using the GCS's RC override
2014-04-09 10:50:35 +09:00
Randy Mackay 037a0b4e5a Copter: dos2unix Parameters.h 2014-04-08 23:30:15 +09:00
Emile Castelnuovo a9bd4e9da1 VRBRAIN: added ignore board voltage check for VRBRAIN boards. 2014-04-08 16:19:20 +10:00
Emile Castelnuovo 9e31f032c2 Copter: added VRBRAIN board #includes and #defines 2014-04-08 16:19:20 +10:00
Randy Mackay 8a4d82f43a Copter: AC3.1.3 release notes 2014-04-07 14:28:12 +09:00
Randy Mackay 9bf9e0ede9 Copter: check parachute is enabled before manual_release 2014-04-07 13:37:15 +09:00
Randy Mackay 01e5ae6e5c Copter: integrate parachute alt_min units change 2014-04-07 13:37:12 +09:00
Randy Mackay 47c1cb8b99 Copter: log parachute events 2014-04-07 13:36:59 +09:00
Randy Mackay 2b4d2697b2 Copter: process MAV_CMD_DO_PARACHUTE commands 2014-04-07 13:36:56 +09:00
Randy Mackay 56768a8d61 Copter: add min alt check to parachute release 2014-04-07 13:36:50 +09:00
Randy Mackay 340f3a7f9d Copter: ch7/ch8 parachute release 2014-04-07 13:36:47 +09:00
Randy Mackay ac982656fd Copter: extend crash check to trigger parachute 2014-04-07 13:36:46 +09:00
Randy Mackay ff32b27272 Copter: integrate parachute lib 2014-04-07 13:36:44 +09:00
Andrew Tridgell ae350e42aa Copter: show next wp when not running a mission
this lets the GCS know what wp would be run if auto mode is selected
2014-04-07 11:41:05 +10:00
Andrew Tridgell 454d1f26c3 Copter: added support for SERIAL_CONTROL message 2014-04-05 07:34:34 +11:00
Andrew Tridgell 339689b578 Copter: fixed load average for different loop rates
Pair-Programmed-With: Paul Riseborough <p_riseborough@live.com.au>
2014-04-04 21:37:56 +11:00
Andrew Tridgell 27ad8c39d6 Copter: enable passthrough auxillary channels 2014-04-03 12:19:44 +11:00
Andrew Tridgell 7bf12cfd8a Copter: update for gps.setHIL() API 2014-04-02 07:55:28 +11:00
Andrew Tridgell 852cdbaa7c Copter: added GPS parameters 2014-04-01 06:38:25 +11:00
Andrew Tridgell 640b64f5e4 Copter: convert to new GPS API 2014-04-01 06:38:24 +11:00
Andrew Tridgell 198388b5e0 Copter: use AP_GPS_Auto for 2nd GPS 2014-04-01 06:38:23 +11:00
Kevin Hester 5fb3b031f1 Copter: disambiguate the various causes of "Bad GPS Pos"
I've seen a fair number of user questions where they are confused by
"Bad GPS Pos" on their GCS/not being allowed to arm.  This change splits
the remaining causes of this fault into separate messages.

Hopefully this increases the odds of the user self diagnosing...
2014-03-31 21:59:12 +09:00
Randy Mackay 9e7021cc20 Copter: Notify arming failure when using MAVLink 2014-03-31 20:34:31 +09:00
Jonathan Challinger 608b8b0a2c Copter: integrate Notify arming failure when using yaw sticks 2014-03-31 20:34:29 +09:00
Randy Mackay 4b6f03cc11 Copter: remove do_land's use of RTL_ALT_MAX 2014-03-31 20:34:21 +09:00
Jonathan Challinger 2601ac9959 Copter: Remove 80m altitude limit on RTL 2014-03-31 20:34:19 +09:00
Jonathan Challinger 045c6d8c3f Copter: Only play GPS tone when armed 2014-03-31 20:34:16 +09:00
Randy Mackay d9fd577fb0 Copter: add Drift throttle assist constraints 2014-03-31 15:40:00 +09:00
Jason Short 50dcbe6549 Copter: Drift throttle assist range increased
Throttle assist is applied from 213 ~ 787
Deadband and constraint added
2014-03-31 13:09:57 +09:00
Jason Short bccf1de563 Copter: add drift throttle assist 2014-03-31 13:09:54 +09:00
Randy Mackay 7d5d0d12a2 Copter: spline bug fixes
Next waypoint's location must be passed in even if it's a straight
segment.
mission.get_next_nav_cmd's start_index should be the current command +1
2014-03-29 17:57:45 +09:00
Randy Mackay ac364c93dd Copter: bug fix for simple_mode when run at 400hz
Mark radio frame as consumed so that simple mode does not apply the yaw
correction more than once when run at very high rates (like 400hz on
Pixhawk)
2014-03-28 17:03:31 +09:00
Randy Mackay 176a450ad2 Copter: remove spline handling from regular wp_nav 2014-03-28 09:23:41 +09:00
Randy Mackay d541fefab4 Copter: add do_spline_wp and verify_spline_wp functions 2014-03-28 09:23:33 +09:00
Randy Mackay 8f946a3a8c Copter: remove original_wp_bearing
To-Do: extend wpnav yaw control to only repoint nose towards waypoint if
it is more than 5m or 10m away
2014-03-28 09:23:21 +09:00
Randy Mackay 392162747a Copter; integrate WPNAV's get_yaw 2014-03-28 09:23:17 +09:00
Randy Mackay 3753550a72 Copter: integrate get_spline_yaw 2014-03-28 09:23:11 +09:00
Randy Mackay c0f12911ec Copter: minor format change 2014-03-28 09:23:02 +09:00
Randy Mackay 0822adfb34 Copter: integrate spline navigation 2014-03-28 09:22:59 +09:00
Andrew Tridgell 78ba1a33aa Copter: support 18 input channels in MAVLink 2014-03-25 14:47:43 +11:00
Andrew Tridgell c0767eebff Copter: support 14 RC channels on PX4 2014-03-25 14:47:05 +11:00
Andrew Tridgell e1b9135946 Copter: updates for new RCInput API 2014-03-25 14:47:04 +11:00
Andrew Tridgell 3362e42478 Copter: consider health of primary compass in SYS_STATUS, pre-arm and compassmot
this should prevent users from taking off with only secondary compass
2014-03-24 19:52:08 +11:00
Andrew Tridgell 11e5b95878 Copter: updates for GPS changes 2014-03-24 12:04:46 +11:00
Randy Mackay 71f61c9bef Copter: fix typo to show ATUN FMT in dataflash logs 2014-03-21 15:44:06 +09:00
Andrew Tridgell 4a01315fc5 Copter: enable logging of RADIO_STATUS 2014-03-20 09:56:37 +11:00
Andrew Tridgell a345a9d993 Copter: removed check on target component in arm
Thanks to DonLakeFlyer for finding this, see
https://github.com/diydrones/ardupilot/pull/909
2014-03-20 09:06:28 +11:00
Randy Mackay 88527cd01c Copter: integrate Mission cmd field changes 2014-03-19 12:14:25 +09:00
Andrew Tridgell e4b3323455 Copter: use common deferred message handling 2014-03-19 12:14:20 +09:00
Andrew Tridgell 69252868a8 Copter: use common MISSION_ITEM handling 2014-03-19 12:14:12 +09:00
Andrew Tridgell f4ed2beacd Copter: use new common MAVLink message handlers 2014-03-19 12:13:40 +09:00
Randy Mackay 6ef2b55602 Copter: use common GCS_MAVLink handle_mission methods 2014-03-19 12:13:22 +09:00
Andrew Tridgell 85725de9cb Copter: use new handle_mission_request()
Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-03-19 12:13:15 +09:00
Randy Mackay a3573f9ebd Copter: minor typo in do_change_speed processing
It is unlikely that the "f" at the end of the 100 is required to
maintain the full precision of the target speed but added just in case
2014-03-19 12:12:55 +09:00
Randy Mackay 08b78db43c Copter: use mission command specific structures 2014-03-19 12:12:54 +09:00
Randy Mackay 2f8daf2fa9 Copter: integrate dataflash Log_Write_MavCmd 2014-03-19 12:12:46 +09:00
Randy Mackay edab06a3ff Copter: truncate mission before uploading new mission
replacing clear with truncate allows new missions to be uploaded while
the current mission is running
2014-03-19 12:12:36 +09:00
Randy Mackay f3813593b7 Copter: use Dataflash lib's Log_Write_Cmd 2014-03-19 12:12:11 +09:00
Randy Mackay 7b6906ae3f Copter: integrate variable max num commands 2014-03-19 12:12:01 +09:00
Randy Mackay b587d0d597 Copter: pass eeprom start to Mission constructor 2014-03-19 12:11:56 +09:00
Randy Mackay b718b9070a Copter: call mission.init during startup 2014-03-19 12:11:47 +09:00
Randy Mackay cc7b1c4e9c Copter: init_home checks cmd read success before logging 2014-03-19 12:11:39 +09:00
Randy Mackay fa96e9355b Copter: init cmd before saving with Ch7/Ch8 2014-03-19 12:11:21 +09:00
Randy Mackay 0fc36fd244 Copter: CMD dataflash logs use uint16 for total and num 2014-03-19 12:11:15 +09:00
Randy Mackay 6bb05750e7 Copter: remove alt_in_cm from mavlink to cmd conversion 2014-03-19 12:11:04 +09:00
Randy Mackay 04166c1686 Copter: replace memset in GCS_Mavlink 2014-03-19 12:10:52 +09:00
Randy Mackay c3162f67e8 Copter: integrate move of p1 from Location to mission cmd 2014-03-19 12:10:48 +09:00
Randy Mackay aade894014 Copter: integrate replace_cmd 2014-03-19 12:10:43 +09:00
Randy Mackay 54c99d84ea Copter: integrate AP_Mission set_current_cmd 2014-03-19 12:10:39 +09:00
Randy Mackay 36af34bf8b Copter: send current wp as 65535 to GCS when mission complete 2014-03-19 12:10:34 +09:00
Randy Mackay 92738533fe Copter: auto starts only when num cmds > 1
num_commands will be 1 when there is no mission because home counts as
the first command
2014-03-19 12:10:30 +09:00
Randy Mackay f77b2af661 Copter: use common location options masks 2014-03-19 12:10:26 +09:00
Randy Mackay 070cbc9250 Copter: use Mission mav to cmd conversion methods 2014-03-19 12:10:24 +09:00
Randy Mackay 67a4b47f6b Copter: pass ahrs into mission constructor 2014-03-19 12:10:15 +09:00
Randy Mackay 37fe229ded Copter: remove unused definitions 2014-03-19 12:10:12 +09:00
Randy Mackay 359f1a27ec Copter: process cmds from mission lib 2014-03-19 12:10:11 +09:00
Randy Mackay 6e0e672fb2 Copter: log using mission commands 2014-03-19 12:10:09 +09:00
Randy Mackay 43c7310540 Copter: ch7 save wp feature to use ap_mission 2014-03-19 12:10:08 +09:00
Randy Mackay ffc418dfe3 Copter: add mavlink packet to cmd conversion to GCS_Mavlink.pde 2014-03-19 12:10:06 +09:00
Randy Mackay 9f03e21f81 Copter: remove low-level handling of mission cmds
Now handled by AP_Mission
2014-03-19 12:10:04 +09:00
Randy Mackay 5d568502a0 Copter: instantiate AP_Mission object 2014-03-19 12:10:03 +09:00
Randy Mackay 1bad6a4b15 Copter: add AP_Mission object parameter
Remove global command_total and command_index parameters
2014-03-19 12:10:01 +09:00
Randy Mackay 0d23c3b910 Copter: initialise vertical speed for Loiter mode 2014-03-17 10:17:57 +09:00
Holger Steinhaus 39df609235 Copter: fixed vertical speed init for ALT_HOLD mode 2014-03-17 10:12:35 +09:00
Andrew Tridgell 43d009e3a5 Copter: set 2nd GPS as secondary 2014-03-08 21:48:18 +11:00
Randy Mackay 9287e28307 Copter: bug fix display of PerfMon log's num long loops 2014-03-08 15:17:03 +09:00
Randy Mackay 54e131cf1f Copter: re-enable CLI for Pixhawk 2014-03-08 15:17:02 +09:00
Randy Mackay 6efc26d3a6 Copter: restore mount's mode to default after ROI completes 2014-03-05 16:02:14 +09:00
Randy Mackay 7992a1a7d3 Copter: disable the CLI by default
This is unfortunate but master's flash size is over the APM2 limit
2014-03-05 12:03:56 +09:00
Randy Mackay 4f963e7795 Copter: move report_compass out of the CLI
This function is also used by compassmot.  Having it strictly part of
the CLI causes a compile error when the CLI is disabled
2014-03-05 12:01:45 +09:00
Randy Mackay 00f9843e40 Copter: remove CLI tests for gps, logging, radio
Required to shrink the firmware down so that it can fit on the APM2
boards
2014-03-05 11:44:09 +09:00
Randy Mackay fc85228d09 Copter: remove CLI set
Frees about 1k of flash
2014-03-04 22:23:57 +09:00
Randy Mackay 3a934357e9 Copter: remove unused reset_land_detector 2014-03-04 22:23:55 +09:00
Randy Mackay c56f521897 Copter: ch6 tuning of RC_FEEL_RP 2014-03-04 22:23:53 +09:00
Randy Mackay e89600afe3 Copter: integrate smoothing gain into flight modes 2014-03-04 22:23:52 +09:00
Randy Mackay 3910ab807f Copter: replace input filtering with smoothing gain 2014-03-04 22:23:50 +09:00
Randy Mackay 429e8d5e50 Copter: integrate AttControl feel param 2014-03-04 22:23:49 +09:00
lthall a9db399f60 Copter: integrate AttControl input shaping 2014-03-04 21:52:20 +09:00
Andrew Tridgell 86fa82f767 Copter: only send GPS2_RAW when we have a 2nd GPS 2014-03-03 07:05:47 +11:00
Andrew Tridgell 3de574e5dc Copter: disable GPS2 in HIL 2014-02-27 08:16:20 +11:00
Andrew Tridgell 37394b30ee Copter: added support for 2nd GPS 2014-02-26 09:40:29 +11:00
Andrew Tridgell 2fcbdc4056 Copter: pass fix type to gps->setHIL() 2014-02-25 21:11:10 +11:00
Andrew Tridgell ffcc77a21f Copter: fix for HIL API change 2014-02-23 08:18:20 +11:00
Randy Mackay d992483bf5 Copter: add EKF params to full param list 2014-02-21 13:51:22 +09:00
Randy Mackay 797212c7ab Copter: remove remnant of cli compassmot 2014-02-19 16:04:10 +11:00
Randy Mackay 2457dbf0cd Copter: more checks before starting compassmot
additional checks that copter is landed and that compassmot calibration
isn't already being performed.
Returns ACK to ground station as process begins
2014-02-19 16:04:03 +11:00
Andrew Tridgell 76b60a1a52 Copter: added compassmot over MAVLink
use the MAVLink interact code to allow for compassmot over MAVLink

Pair-Programmed-With: Randy Mackay <rmackay9@yahoo.com>
2014-02-19 16:04:00 +11:00
Andrew Tridgell a45d77f893 Copter: set the ahrs.set_armed() flag 2014-02-19 10:53:44 +11:00
Andrew Tridgell 0cbe64bc5e Copter: use Log_Write_Baro()
this gives the raw pressure and temperature, which is useful for
analysis, plus allows for more accurate log replay
2014-02-19 09:22:45 +11:00
Randy Mackay fdae812814 Copter: DO_SET_ROI persists across waypoints
Users should add a DO_SET_ROI command with zero lat, lon and alt to
restore the yaw control to the default control (which is normally
look-at-next-wp)
2014-02-18 21:36:02 +09:00
Randy Mackay bf68edd01c Copter: bug fix to 50hz logging rate
Caught by Emile Castelnuovo
2014-02-17 22:25:02 +09:00
Randy Mackay d9b7559379 Copter: remove duplicate #define from APM_Config.h 2014-02-17 16:44:47 +09:00
Randy Mackay 4e1c51aa65 Copter: bug to disarm at end of mission 2014-02-17 16:43:49 +09:00
Andrew Tridgell ce66314f40 Copter: fixed HIL build on PX4 2014-02-17 12:34:34 +11:00
proficnc bbf5c11c8a Update Parameters.pde
Moved Disabled to the bottom of the drop-down box for selecting logging types.
This is to reduce the potential for someone to accidentally select Disabled when they intend on selecting Default.
2014-02-17 10:02:45 +11:00
Randy Mackay 00913ffe1b Copter: throttle rate to simple P controller
Saves at least 15bytes of RAM
2014-02-16 13:35:40 +11:00
Randy Mackay 9444ba7ea8 TradHeli: init roll/pitch input filter 2014-02-16 13:35:33 +11:00
Randy Mackay b259510095 Copter: init roll/pitch input filters 2014-02-16 13:35:30 +11:00
Andrew Tridgell 9c66dd0d2c Copter: change to Compass::learn_offsets 2014-02-16 13:22:13 +11:00
Randy Mackay aab9b30bf6 Copter: replace APM_PI with AC_P
Saves about 90bytes of RAM
2014-02-15 06:09:08 +11:00
Randy Mackay 3f10a84a2a Copter: remove accel calibration from cli
Also remove compass, flight mode, optical flow, radio and ch6 tuning
knob setup from cli to free up 3.5k of flash
2014-02-15 06:09:08 +11:00
Randy Mackay 3ccd1ad170 Copter: integrate AttControl method name changes 2014-02-15 06:09:08 +11:00
Randy Mackay 6880a6db80 TradHeli: integrate AttControl method name changes 2014-02-15 06:09:08 +11:00
lthall 7ed5080dc9 Copter: simplify get_angle_targets_for_reporting 2014-02-15 06:09:08 +11:00
lthall 41dcfae7c0 AC Acro and Sport: Angle limit code update 2014-02-15 06:09:08 +11:00
Andrew Tridgell ebf6d47830 Copter: disable direct tuning, we need accessors for this 2014-02-15 05:48:24 +11:00
Andrew Tridgell 2fbdf7f718 Copter: fixed build for AHRS API changes 2014-02-15 05:48:22 +11:00
Andrew Tridgell a8dc1be4de Copter: fixed non-EKF copter build 2014-02-15 05:48:21 +11:00
Randy Mackay 20989fd5e9 Copter: allow ch6 tuning of EKF 2014-02-15 05:48:20 +11:00
Andrew Tridgell 86afd13f12 Copter: use GPS AIRBORNE_4G 2014-02-15 05:48:17 +11:00
Andrew Tridgell a112694a50 Copter: added AUX switch option for enable/disable EKF 2014-02-15 05:48:17 +11:00
Andrew Tridgell 5606e2f4a7 Copter: enabled EKF and SIMSTATE flash logging 2014-02-15 05:48:16 +11:00
Andrew Tridgell 6a9189a6a5 Copter: enable AHRS2 mavlink message 2014-02-15 05:48:16 +11:00
Andrew Tridgell 99b3517a47 Copter: use AP_InertialNav_NavEKF when available 2014-02-15 05:48:15 +11:00
Andrew Tridgell 686d1b9124 Copter: changes set_home_position() to setup_home_position() for Inav 2014-02-15 05:48:15 +11:00
Andrew Tridgell c6e25483b4 Copter: use a common home with AHRS 2014-02-15 05:48:15 +11:00
Andrew Tridgell 9cc00d20eb Copter: fixed for removed DCM blowup counts 2014-02-15 05:29:48 +11:00
Andrew Tridgell 79a29d12f2 Copter: fixed build for new AHRS API 2014-02-15 05:29:47 +11:00
Andrew Tridgell af5a3dff93 Copter: enable use of AHRS_NavEKF 2014-02-15 05:29:47 +11:00
Andrew Tridgell 24f2ac20de Copter: removed HIL_MODE_ATTITUDE
this really can't work any more, as AHRS can't support it
2014-02-15 05:29:46 +11:00
Andrew Tridgell 644bf71f56 Copter: fixed build for InertialNav change 2014-02-15 05:29:46 +11:00
Randy Mackay 006cf58b2d Copter: fix merge error for g.angle_max 2014-02-15 05:27:51 +11:00
Randy Mackay 5e8fede19e Copter: comment fix to Attitude.pde 2014-02-15 05:27:50 +11:00
Randy Mackay aa79e22ce0 Drift: bug fix for throttle 2014-02-15 05:27:50 +11:00
Randy Mackay 10a0303706 Copter: smooth throttle transition between flight modes 2014-02-15 05:27:50 +11:00
Randy Mackay 0df1dc267b Copter: integrate WPNav constructor change 2014-02-15 05:27:50 +11:00
Randy Mackay 1b8055aed9 Copter: remove unused t7 const
Saves 4 bytes
2014-02-15 05:27:49 +11:00
Randy Mackay 2b3995ccb5 Copter: integrate refs for RC_Channels in motor defs 2014-02-15 05:27:49 +11:00
Randy Mackay 9f78f65413 TradHeli: integrate leonard's control_acro fixes 2014-02-15 05:27:49 +11:00
Randy Mackay bf6bb59cb4 Copter: Leonard's control_acro fixes
get_pilot_desired_angle_rates returns bf rate targets as floats
2014-02-15 05:27:49 +11:00
Randy Mackay 6380a39d3a Copter: remote update_trig from main code 2014-02-15 05:27:48 +11:00
Randy Mackay 75b20bde7c Copter: control_acro, drift use trig from ahrs 2014-02-15 05:27:48 +11:00
Randy Mackay aa4c3eaffe Copter: resolve RTL state compiler warnings 2014-02-15 05:27:48 +11:00
Randy Mackay 12a4ce70fd Copter: remove control_roll, pitch, yaw variables 2014-02-15 05:27:47 +11:00
Randy Mackay 2c1ec9d0c0 Copter: remove control_roll, pitch, yaw from control files 2014-02-15 05:27:47 +11:00
Randy Mackay e8c4e8a472 Copter: integrate get_angle_target_for_reporting
Used for logging and sending to GCS
2014-02-15 05:27:47 +11:00
Randy Mackay d579325e2a Copter: add get_angle_targets_for_reporting
This returns the current earth frame roll, pitch and yaw targets which
can depend upon the flight mode
2014-02-15 05:27:47 +11:00
Randy Mackay 1acd33e290 Copter: do_yaw takes yaw target from AttControl 2014-02-15 05:27:47 +11:00
Randy Mackay ea1158a9d5 Copter: remove unused config 2014-02-15 05:27:47 +11:00
Randy Mackay 9ef3fd850f Copter: remove use of SUPER_SIMPLE definition 2014-02-15 05:27:47 +11:00
Randy Mackay b37b0c5061 TradHeli: remove use of throttle_mode 2014-02-15 05:27:47 +11:00
Randy Mackay b0673d693b Copter: move set_mode, to flight_mode.pde 2014-02-15 05:27:47 +11:00
Randy Mackay b8bb477731 Copter: add flight_mode.pde 2014-02-15 05:27:47 +11:00
Randy Mackay 38d5148b99 Copter: remove reset_I_all
Each controller should reset the I terms as needed
2014-02-15 05:27:47 +11:00
Randy Mackay 72a3f14561 Copter: move reset_optflow_I to control_ofloiter 2014-02-15 05:27:46 +11:00
Randy Mackay 7afa0a767c Copter: correct circle rate tuning to use circle_nav 2014-02-15 05:27:46 +11:00
Randy Mackay 3e399fd830 Copter: remove unused parameters 2014-02-15 05:27:46 +11:00
Randy Mackay 81c7df7678 Copter: comment fix 2014-02-15 05:27:46 +11:00
Randy Mackay 0e0d02cd6d Copter: remove unused init from sport mode 2014-02-15 05:27:46 +11:00
Randy Mackay 3d926a6943 Copter: GCS_Mavlink gets gyro direct from imu 2014-02-15 05:27:46 +11:00
Randy Mackay f46ff2b44e Copter: remove unused defines 2014-02-15 05:27:46 +11:00
Randy Mackay fe26af86de Copter: crash check works with flip flight mode 2014-02-15 05:27:46 +11:00
Randy Mackay 22280e1c57 Copter: integrate surface_tracking to control_althold 2014-02-15 05:27:46 +11:00
Randy Mackay 3824f528ea Copter: get angle_boost direct from pos_control 2014-02-15 05:27:46 +11:00
Randy Mackay 90c5fe4be4 Copter: surface_tracking takes current_alt_target param 2014-02-15 05:27:46 +11:00
Randy Mackay 989a03a643 Copter: remove unused flags and variables 2014-02-15 05:27:45 +11:00
Randy Mackay 174318a2a9 Copter: remove set_nav_mode 2014-02-15 05:27:45 +11:00
Randy Mackay aedb4136de Copter: update_thr_cruise removed from control_stabilize 2014-02-15 05:27:45 +11:00
Randy Mackay 223c6fd4de Copter: remove deadwood, update_thr_cruise always runs 2014-02-15 05:27:45 +11:00
Randy Mackay 2870d043f8 Copter: remove unused drift.pde
moved to control_drift.pde
2014-02-15 05:27:45 +11:00
Randy Mackay 1cd678f684 Copter: compiler warning for control_autotune 2014-02-15 05:27:45 +11:00
Randy Mackay d3a126d078 Copter: integrate slew_yaw into control_auto 2014-02-15 05:27:45 +11:00
Randy Mackay 364946cb7f Copter: AttControl param prefix shortened to ATC 2014-02-15 05:27:45 +11:00
Randy Mackay 814157324d Copter: APM_Config AUTOTUNE_ENABLED 2014-02-15 05:27:45 +11:00
Randy Mackay 89a50ed445 Copter: comment fix for control_stabilize 2014-02-15 05:27:45 +11:00
Randy Mackay 0107b2a95d Copter: remove unused auto_tune.pde 2014-02-15 05:27:44 +11:00
Randy Mackay aec67cd3df Copter: integrate control_autotune 2014-02-15 05:27:44 +11:00
Randy Mackay 823485f763 Copter: add control_autotune.pde 2014-02-15 05:27:44 +11:00
Randy Mackay b87852ee2e Copter: remove unused flip.pde 2014-02-15 05:27:44 +11:00
Randy Mackay d90d3d8dca Copter: integrate control_flip 2014-02-15 05:27:44 +11:00
Randy Mackay 47deb795bd Copter: add control_flip 2014-02-15 05:27:44 +11:00
Randy Mackay 1648ecc6e5 Copter: bug fix for heli_control_acro throttle 2014-02-15 05:27:44 +11:00
Randy Mackay c73c9f03a5 Copter: bug fix for control_acro throttle 2014-02-15 05:27:44 +11:00
Randy Mackay 164bd10ef0 TradHeli: init targets when entering acro 2014-02-15 05:27:44 +11:00
Randy Mackay fdf41219ca Copter: init targets when entering acro 2014-02-15 05:27:44 +11:00
Randy Mackay 9f33873b2e Copter: typo in control_acro.pde 2014-02-15 05:27:44 +11:00
Randy Mackay ec989c720c Copter: integrate heli_control_acro 2014-02-15 05:27:43 +11:00
Randy Mackay 5aaa01ab30 TradHeli: heli_control_acro 2014-02-15 05:27:43 +11:00
Randy Mackay 922dff0514 Copter: integrate heli_control_stabilize 2014-02-15 05:27:43 +11:00
Randy Mackay 41ab2547d7 Copter: control_stabilize remove takeoff_complete 2014-02-15 05:27:43 +11:00
Randy Mackay bca309eb1e Copter: replace takeoff_complete with landed_complete 2014-02-15 05:27:43 +11:00
Randy Mackay 2940688301 TradHeli: heli_control_stabilize 2014-02-15 05:27:43 +11:00
Randy Mackay 91124bcf8b TradHeli: remove get_heli_rate_yaw from main code 2014-02-15 05:27:43 +11:00
Randy Mackay 3b0de0d23d Copter: integrate trad heli AttControl 2014-02-15 05:27:43 +11:00
Randy Mackay ef666c73ab Copter: remove Position mode 2014-02-15 05:27:42 +11:00
Randy Mackay c632211c8c Copter: get_of_roll, get_of_pitch moved to control_ofloiter 2014-02-15 05:27:42 +11:00
Randy Mackay 837061fd65 Copter: control_ofloiter added 2014-02-15 05:27:42 +11:00
Robert Lefebvre c561d6bb9e Small comment change. 2014-02-15 05:27:42 +11:00
Randy Mackay 54be8402a2 Copter: integrate control_guided 2014-02-15 05:27:42 +11:00
Randy Mackay 798add0b5c Copter: remove guided from control_auto.pde 2014-02-15 05:27:42 +11:00
Randy Mackay 0e41b01ad0 Copter: control_guided added 2014-02-15 05:27:41 +11:00
Randy Mackay 245bcd7c2c Copter: removed althold, drift, sport from control_stabilize 2014-02-15 05:27:41 +11:00
Randy Mackay d85c57999d Copter: althold moved to control_althold.pde 2014-02-15 05:27:41 +11:00
Randy Mackay 2e6327be06 Copter: sport moved to control_sport.pde 2014-02-15 05:27:41 +11:00
Randy Mackay 70c8b622e2 Copter: drift moved to control_drift 2014-02-15 05:27:41 +11:00
Randy Mackay 212ced63f6 Copter: bug fix for do_loiter_time alt target 2014-02-15 05:27:41 +11:00
Randy Mackay 37bde3406d Copter: remove comments 2014-02-15 05:27:41 +11:00
Randy Mackay 70d1e53b74 Copter: commands_logic to use auto_rtl 2014-02-15 05:27:41 +11:00
Randy Mackay 1457a9d31a Copter: auto_mode to global scope 2014-02-15 05:27:41 +11:00
Randy Mackay 7970d7112f Copter: add rtl to control_auto 2014-02-15 05:27:41 +11:00
Randy Mackay 1f07c2efe0 Copter: remove old circle 2014-02-15 05:27:41 +11:00
Randy Mackay bae867712d Copter: integrate circle mission command 2014-02-15 05:27:41 +11:00
Randy Mackay ff2b8ff6f2 Copter: add circle to control_auto 2014-02-15 05:27:40 +11:00
Randy Mackay cbf6e6a945 Copter: mostly working circle flight mode 2014-02-15 05:27:40 +11:00
lthall 8268e27d49 Copter: ACRO further clean up 2014-02-15 05:27:40 +11:00
Randy Mackay af890e0f8d Copter: add AC_Circle include 2014-02-15 05:27:40 +11:00
Randy Mackay 83a767f3db Copter: control_circle.pde added 2014-02-15 05:27:40 +11:00
Randy Mackay 3b9ae02966 Copter: add Circle parameter 2014-02-15 05:27:40 +11:00
lthall e979263c56 Copter: ACRO clean up and mistake fixes 2014-02-15 05:27:40 +11:00
lthall ed7dd58c01 this is a test 2014-02-15 05:27:40 +11:00
Randy Mackay 8b9eb7ab2b Copter: WPNav constructor change 2014-02-15 05:27:39 +11:00
Randy Mackay b1449d59ee Copter: resolve conflict between control_auto, control_rtl states 2014-02-15 05:27:39 +11:00
Randy Mackay 055ce4e53e Copter: integrate control_rtl 2014-02-15 05:27:39 +11:00
Randy Mackay 689e92eb33 Copter: control_rtl 2014-02-15 05:27:39 +11:00
Randy Mackay bd88ed8a53 Copter: LAND at stopping point instead of curr pos 2014-02-15 05:27:39 +11:00
Randy Mackay cdc935b66d Copter: implement auto_land with Loiter controller 2014-02-15 05:27:39 +11:00
Randy Mackay 93d43f8ca5 Copter: remove unused var from acro 2014-02-15 05:27:39 +11:00
Randy Mackay 32b8f80510 Copter: Acro flight mode from Leonard 2014-02-15 05:27:38 +11:00
Randy Mackay cdc0f8e414 Copter: use new control_auto takeoff and land 2014-02-15 05:27:38 +11:00
Randy Mackay 0dabc0c577 Copter: control_auto - takeoff, land 2014-02-15 05:27:38 +11:00
Randy Mackay eec62cb16a Copter: control_loiter initialises alt target 2014-02-15 05:27:38 +11:00
Randy Mackay 6ba91369ff Copter: split control_land into gps and non-gps 2014-02-15 05:27:38 +11:00
Randy Mackay 011de6683e Copter: land_detector moved to control_land 2014-02-15 05:27:38 +11:00
Randy Mackay 96c61fcf28 Copter: removed get_throttle_land
Now in the control_land.pde
2014-02-15 05:27:38 +11:00
Randy Mackay 3b003ea3e6 Copter: remove setting of nav mode 2014-02-15 05:27:38 +11:00
Randy Mackay 924e2a66ce Copter: split control_auto into separate file 2014-02-15 05:27:38 +11:00
Randy Mackay e27f4c1c13 Copter: split control_stabilize into land, rtl, loiter 2014-02-15 05:27:38 +11:00
Randy Mackay d92e894af6 Copter: get_throttle_surface_tracking returns climb rate 2014-02-15 05:27:37 +11:00
Randy Mackay c92de71212 Copter: control_stabilize, - integrate changes to get_throttle_surface_tracking 2014-02-15 05:27:37 +11:00
Randy Mackay f3bcbb2ce4 Copter: remove setting roll, pitch yaw modes in set_mode 2014-02-15 05:27:37 +11:00
Randy Mackay d70862e44b Copter: remove case that does nothing 2014-02-15 05:27:37 +11:00
Randy Mackay 65f7bf92f4 Copter: replace yaw_mode with auto_yaw_mode 2014-02-15 05:27:37 +11:00
Randy Mackay 1b714defcc Copter: move auto to control_auto.pde and fix yaw 2014-02-15 05:27:37 +11:00
Randy Mackay 8e40cbdd7f Copter: disable ch7/8 feature to point at armed yaw 2014-02-15 05:27:37 +11:00
Randy Mackay 4540fb3fef Copter: remove set roll-pitch, yaw, thr modes for ACRO, LOITER 2014-02-15 05:27:36 +11:00
Randy Mackay dc6f622d48 Copter: move NTUN logging to 10hz loop 2014-02-15 05:27:36 +11:00
Randy Mackay 8e08a1f8ab Copter: remove debug 2014-02-15 05:27:36 +11:00
Randy Mackay f5c305e960 Copter: control_stabilize rename wp_nav calls 2014-02-15 05:27:36 +11:00
Randy Mackay b29a963fd6 Copter: remove unused Attitude.pde functions 2014-02-15 05:27:36 +11:00
Randy Mackay 0a2adbac1b Copter: renaming functions after moving xy control 2014-02-15 05:27:36 +11:00
Randy Mackay 9843e93308 Copter: control_stabilize - much renaming as xy pos controller moves 2014-02-15 05:27:36 +11:00
Randy Mackay 5fd9410ff5 Copter: much renaming as xy pos controller moves 2014-02-15 05:27:36 +11:00
Randy Mackay f0c538f8fb Copter: control_stabilize comment update 2014-02-15 05:27:36 +11:00
Randy Mackay d380e6b4d3 Copter: integrate add ref to AC_Pos_Control from WP_Nav 2014-02-15 05:27:35 +11:00
Randy Mackay aaa62eeb28 Copter: integrated simpler init loiter from WP_Nav 2014-02-15 05:27:35 +11:00
Randy Mackay 49367c5a30 Copter: GCS.h include fix 2014-02-15 05:27:35 +11:00
Randy Mackay eddb593ee2 Copter: althold uses high level angle controller 2014-02-15 05:27:35 +11:00
Randy Mackay bdf95bd835 Copter: stabilize uses high level angle controller 2014-02-15 05:27:35 +11:00
Randy Mackay a52e220724 Copter: add loiter controller to onion
Also add ignore_checks to flight mode initialisation
2014-02-15 05:27:35 +11:00
Randy Mackay 7e37b16ccb Copter: move update_flight_mode to fast loop 2014-02-15 05:27:35 +11:00
Randy Mackay 784f7385b5 Copter: add attitude and pos control params 2014-02-15 05:27:35 +11:00
Randy Mackay b34664ea07 Copter: remove unused altitude error 2014-02-15 05:27:34 +11:00
Randy Mackay e69eeea246 Copter: log alt target from PosControl 2014-02-15 05:27:34 +11:00
Randy Mackay 44e731ea40 Copter: control_stabilize reports alt target 2014-02-15 05:27:34 +11:00
Randy Mackay abb42bcb41 Copter: remove unused run_rate_controllers 2014-02-15 05:27:34 +11:00
Randy Mackay e1bf4af1b8 Copter: bug fix to set angle_boost in stab mode 2014-02-15 05:27:34 +11:00
Randy Mackay 77c38f4de4 Copter: integrate init take-off 2014-02-15 05:27:34 +11:00
Randy Mackay 2c03a3a3c6 Copter: set pos_control.set_dt 2014-02-15 05:27:34 +11:00
Randy Mackay faf1e99f1a Copter: surface tracking to use pos_control 2014-02-15 05:27:33 +11:00
Randy Mackay 5649b7f4d9 Copter: integrate AC_PosControl constructor changes 2014-02-15 05:27:33 +11:00
Randy Mackay 4840ce238a Copter: skeleton AltHold flight mode 2014-02-15 05:27:33 +11:00
Randy Mackay 7784fc7645 Copter: update pos_control's hover throttle 2014-02-15 05:27:33 +11:00
Randy Mackay 33552b63d8 Copter: early integration of AC_PosControl 2014-02-15 05:27:33 +11:00
Randy Mackay 3146299a0f Copter: move control_stabilize yaw input higher 2014-02-15 05:27:33 +11:00
Randy Mackay 7f56b28767 Copter: move thr control to control_stabilize 2014-02-15 05:27:33 +11:00
Randy Mackay 2253cf9769 Copter: run main loop at 400hz for pixhawk 2014-02-15 05:27:33 +11:00
Randy Mackay 3a78263921 Copter: skeleton init call for all flight modes 2014-02-15 05:27:33 +11:00
Randy Mackay 0431b7e1d4 Copter: bug fix for stabilize_run's yaw control 2014-02-15 05:27:33 +11:00
Randy Mackay 1fdfa751e6 Copter: integrate replacement of timers with set_dt 2014-02-15 05:27:33 +11:00
Randy Mackay c8e277703d Copter: add acro_run skeleton 2014-02-15 05:27:33 +11:00
Randy Mackay c2ca5c46b8 Copter: correct auto_run 2014-02-15 05:27:32 +11:00
Randy Mackay 1cf065e1df Copter: remove debug for control_stabilize 2014-02-15 05:27:32 +11:00
Randy Mackay cbe56bba25 Copter: integrate AC_AttitudeControl 2014-02-15 05:27:32 +11:00
Randy Mackay 7b9a48107e Copter: move angle_max parameter to AP_Vehicle 2014-02-15 05:27:32 +11:00
Andrew Tridgell 2bf7a46c9b Copter: log power status on Pixhawk 2014-02-15 05:00:09 +11:00
Andrew Tridgell 0a3476bbf1 Copter: change to new board_voltage() API 2014-02-14 21:50:59 +11:00
Randy Mackay bd0cb83263 Copter: release notes for AC3.1.2 2014-02-13 21:21:56 +09:00
Randy Mackay 78b31f4b16 Copter: readme file renamed and directs to wiki 2014-02-12 21:03:45 +09:00
Randy Mackay a5e98c11ad Copter: Release notes for AC3.1.2-rc2 2014-02-12 20:20:10 +09:00
Randy Mackay 2219f21744 Copter: add RC_FEEL_RP parameter
Values from 0 ~ 100 control amount of filtering on roll and pitch input.
100 = no filter so crisp feel, 0 = a lot of filtering so very sluggish
response
2014-02-12 16:28:41 +09:00