Commit Graph

382 Commits

Author SHA1 Message Date
Randy Mackay bab9fa25e5 Copter: add GCS failsafe 2013-04-29 21:30:22 +09:00
Randy Mackay c232d7af4b Copter: correct fence parameter 2013-04-27 11:14:11 +09:00
Randy Mackay 58d1da2d80 Copter: integrate AC_Fence in place of limits
Lesser functionality than limits but saves more than 150 bytes and it
works
2013-04-27 11:14:07 +09:00
Andrew Tridgell 300a8d2bbc Copter: support all 12 channels on PX4
last 4 channels are on the FMU pins
2013-04-25 20:10:53 +10:00
Randy Mackay 745df9b13c Copter: add SONAR_GAIN to tune reaction to sonar
Some users report the response to sonar is too violent, this allows that
reaction to be reduced
2013-04-20 15:58:36 +09:00
Randy Mackay 37abfdc65a Copter: make CIRCLE_RATE a tunable parameter
Also bug fix to check of how many time it has rotated during a loiter
turns mission command
2013-04-20 12:03:55 +09:00
Randy Mackay 0fc9c8739e Copter: add WP_YAW_BEHAVE parameter
Allows user to control whether nose points towards next waypoint and/or
home when RTLing.
Replaces YAW_OVR_BEHAVE which had a very similar purpose.  Almost nobody
ever knew about or used this parameter.
2013-04-18 15:30:18 +09:00
Randy Mackay f5955d8915 Copter: auto climb and descent params removed
These params now reside in the AC_WPNav library
2013-04-18 14:52:21 +09:00
Randy Mackay 629d23b7e2 Copter: remove WP_SPEED and WP_RADIUS parameters
AC_WPNav library has equivalent params with very similar names
2013-04-14 13:27:37 +09:00
Randy Mackay b58c26bcd5 Copter: remove pid_nav_lat, pid_nav_lon 2013-04-14 12:12:51 +09:00
Randy Mackay 2db8365c90 Copter: add AC_WPNav to parameters list 2013-04-14 10:39:02 +09:00
Randy Mackay 1b6fcad90a Copter: remove tilt compensation parameter
Note: this idea of feed forward tilt compensation is being incorporated
into the inertial nav based loiter and wp controllers but does not
require a separate tunable parameter
2013-03-17 16:53:32 +09:00
Randy Mackay 61e29173e3 Copter: remove unused crosstrack variables and parameters
Cross track is still calculated internally to the wpnav controller so we
should move this to a library and still report it to the ground station
2013-03-17 16:46:31 +09:00
Randy Mackay 150046f2b8 Copter: GPS Failsafe implemented
Switches to LAND mode 5 seconds after losing GPS if you're in a flight
mode that requires a GPS
2013-03-16 17:27:46 +09:00
Randy Mackay 33bd984a91 Copter: remove unused input_voltage parameter 2013-03-03 23:23:54 +09:00
Randy Mackay 06a71af12f Copter: THR_MID used to scale manual throttle 2013-02-01 22:37:16 +09:00
Andrew Tridgell dcb181d2d8 Copter: use new AP_Scheduler library 2013-01-12 12:02:57 +11:00
rmackay9 68b62abd38 ArduCopter with the new Camera and Relay classes for APM1 and APM2.
All changes by Sandro Benigno
2013-01-02 09:55:37 +11:00
rmackay9 e850ab7ccd ArduCopter: add AUTO_VELZ_MIN, AUTO_VELZ_MAX and PILOT_VELZ_MAX to allow better control of climb/descent rate in auto and manual throttle modes 2013-01-02 09:24:31 +11:00
Andrew Tridgell 9e986801c9 Copter: fixed SITL for ArduCopter 2012-12-20 14:52:34 +11:00
Pat Hickey ada10f6eb2 ArduCopter: change comment references to AP_Var to AP_Param
* jsut to clean up the grep for "AP_Var"
2012-12-20 14:51:31 +11:00
rmackay9 2f748f8382 ArduCopter: renamed BATT_FAILSAFE to FS_BATT_ENABLE 2012-12-10 23:47:14 +09: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 2f1b2b70e6 ArduCopter: added ACRO_TRAINER parameter to allow enabling/disabling the acro training function which will bring the roll back to within +- 45 degrees 2012-12-10 22:27:46 +09:00
rmackay9 dadad8677e ArduCopter: added descriptions for most parameters that did not have them
Renamed loiter_radius to circle_radius to better reflect it's purpose.
Removed some unused parameters including WP_MODE, WP_MUST_INDEX, LOG_LASTFILE, AXIS_P
2012-12-10 21:45:57 +09:00
rmackay9 56ceb230cb ArduCopter: add YAW_OVR_BEHAVE to allow control of when autopilot takes back control of yaw after pilot overrides it during a mission 2012-12-09 18:04:31 +09:00
rmackay9 39d524212f ArduCopter: allow accel based throttle controller to be enabled/disabled with the new THR_ACC_ENABLE parameter.
When disabled the original velocity based throttle controller is used.
2012-12-06 10:31:57 +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
rmackay9 7b4ed2d227 ArduCopter: restored landing detector to landing throttle mode.
Added LAND_SPEED parameter to control the rate of descent for the last 10m of a landing.
Added CH6 tuning for accel based throttle controller.
2012-12-06 10:31:20 +09:00
rmackay9 3cbef57c64 ArduCopter: first merge of leonard's accel based altitude controller plus other changes from Randy
Changes include:
New low-level get_throttle_accel function takes target acceleration and compares vs earth-frame Z accelerometer values to produce output to motors.
Higher level throttle controllers modified to call new get_throttle_accel controller
Throttle_rate_stabilized controller added which maintains a desired climb/descent rate
Throttle_land controller added - descends using normal auto throttle controller to 10m then descends at 50cm/s
Multiple throttle modes added including landing mode
Land flight mode no longer needs GPS
Throttle cruise maintenance moved to update_throttle_cruise function
2012-12-06 10:30:49 +09:00
Robert Lefebvre 5723021be1 ACM: TradHeli
Creating Rate Feed-Forward Parameters
2012-12-04 13:47:38 -05:00
Andrew Tridgell cd07d965a7 Copter: ported RSSI_PIN option from ArduPlane
this is useful for OSD users
2012-11-22 20:59:33 +11:00
rmackay9 e92b560df5 ArduCopter: low baterry failsafe 2012-11-15 23:35:41 +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 d9b4407e64 AP_InertialSensor: changes after review with Tridge.
sanity checking added to accelerometer calibration routine.
user feedback is sent using gcs_send_text_fmt instead of Serial.printf.
moved ins parameters to new eeprom number to avoid conflicts with older parameters.
other small changes including renaming of functions and parameters.
2012-11-07 19:21:15 +09:00
rmackay9 a1b4ec6d0e ArduCopter: move to use new INS library instead of IMU library 2012-11-07 19:21:09 +09:00
rmackay9 5e8043fd9c ArduCopter: changed ACRO_ROLL_STABILIZE and ACRO_PITCH_STABILIZE to parameters
Changes on behalf of Leonard Hall
2012-10-23 21:30:50 +09:00
rmackay9 4395fad6e9 ArduCopter: incremented eeprom format version to force users to accept the new defaults.
Particularly important is the roll-pitch I term move from the stabilize to rate controllers.
2012-10-19 16:14:51 +09:00
rmackay9 4a41a3d210 ArduCopter: added BATT_VOLT_PIN and BATT_CURR_PIN parameters to allow support for new 3DR IV battery voltage and current monitor 2012-10-13 18:40:46 +09:00
rmackay9 ea4f256f8e ArduCopter: BATT_PIN parameter added to allow you to select which pin is used for voltage and current measurements
To save a parameter, the current sensor pin is assumed to always be 1 higher than the voltage pin.
2012-10-02 22:16:19 +09:00
Jason Short a73bc70553 ACM : Params - formatting cleanup 2012-09-10 20:22:11 -07:00
rmackay9 c9d34c1737 ArduCopter: fixes to allow AP_Mount to work on APM1 with original default channels and fix to reenable support for 3-axis gimbals on APM2.
Channels 5 to 11 changed to RC_Channel_aux.
Removed channel 9 because APM_RC doesn't support it in any case.
Updated EEPROM format version to 119 because of the change to RC_Channel_aux and because k_param_rc_11 moved to be after k_param_rc_10.
2012-09-02 12:51:23 +09:00
Andrew Tridgell e8d928cca4 ACM: added TELEM_DELAY to ArduCopter 2012-08-30 09:03:01 +10:00
uncrustify 6a893c11c7 uncrustify ArduCopter/Parameters.h 2012-08-21 18:57:21 -07:00
rmackay9 2a83f1eef2 ArduCopter: remove RTL_LAND parameter as it's been deprecated in favour of APPROACH_ALT.
Updated comments on ALT_HOLD_RTL and APPROACH_ALT to make it a little easier to understand.
2012-08-14 12:14:35 +09:00
Amilcar Lucas 9cc705939a Add a second mount instance 2012-08-08 23:07:25 +02:00
Andrew Tridgell c2a4d59132 AP_Param: update ArduCopter core for new AP_Param interface 2012-08-08 12:11:57 +10:00
Amilcar Lucas d9f1140278 ArduCopter: Use generic channel names for AP_Mount servos.
This simplifies mission planner, the same code can be used for plane and copter now.
2012-08-06 23:33:51 +02:00
Amilcar Lucas e93daca17e Fix heli compilation 2012-08-06 23:30:02 +02:00
Amilcar Lucas b8c7b8a786 RC_Channel: Allow each channel to know who they are, this simplifies the enabling and output function calls. 2012-08-05 23:08:31 +02:00
Jason Short ad45012739 Arducopter: Renamed Config define (RTL_HOLD_ALT) 2012-07-19 17:50:15 -07:00
Jason Short 5a73a2b9cd Arducopters parameter: Adjusted RTL_ALTITUDE units so they reflect comments in config.h 2012-07-19 09:50:57 -07:00
Jason Short c9d3ab5413 Oilpan ADC parameters added
including a function that configures each Accel Axis
Defaults matching old behavior
Added param group
2012-07-18 22:57:11 -07:00
rmackay9 29b6ec0b11 ArduCopter: reverted channel 5~8 to be regular RC_Channel objects, restored rc_camera_roll and rc_camera_pitch RC_Channels and created new rc_camera_yaw RC_Channel to control the camera mount servos.
Defined camera_mount (MNT_) in Parameters.h and Parameters.pde so that it appears in global parameters list.
Removed unused camera_*_gain and camaera_*_continuous parameters.
2012-07-15 16:36:05 +09:00
Andreas M. Antonopoulos c73f7ef3ab AP_Limits library, provides modular "limits" such as altitude and geo-fencing. 2012-07-14 19:26:17 -07:00
Andreas M. Antonopoulos d4a0cb5db1 Added Michael Pursifull's Maxsonar HRLV model support 2012-07-11 18:46:47 -07:00
Jason Short 0620d86bfd Arducopter:Params
WP_RADIUS_DEFAULT is now stored the same as Arduplane
2012-07-10 21:53:37 -07:00
Jason Short af5423b863 Toy Mode: High Yaw default 2012-07-10 21:53:37 -07:00
Amilcar Lucas dfe0983e1e Merge the changes from APM_Camera branch into ArduCopter
Conflicts:

	ArduCopter/Camera.pde
	ArduCopter/Parameters.pde
2012-07-11 00:39:13 +02:00
Jason Short 038116f521 Airspeed patch:
pre-calculated airspeed resistance pitches copter automatically to gain a certain speed allowing the speed controller to work off of a better set point - similar to Alt hold.
added param tilt_comp with a default of 54 which equals 19.5° of pitch to go 6m/s
upped Z and Y target speeds to int32_t for speed squared calculation
2012-07-09 13:13:32 -07:00
Adam M Rivera 6e93ab6af6 Parameters: Added flag for camera pitch/roll servos (continuous or regular) 2012-07-04 21:06:21 -05:00
Jason Short 3a3966736c Params
Added Tilt_Compensation to Params,
deprecated RTL_Land_Enabeled
RTL_Approach_alt is not int16_t, -1 means do noting. 0 means land, >1 means hover to that altitude after timeout.
2012-07-03 17:33:03 -07:00
Jason Short e35fb9ecd7 Parameters
removed unused parameters for retro loiter
2012-07-01 13:40:12 -07:00
Jason Short 49401bffae Params: Added toy_yate_rate 2012-06-29 21:20:27 -07:00
Andrew Tridgell 55092c25a6 SITL: enable the SIM_* parameters in ArduCopter and ArduPlane 2012-06-29 15:10:52 +10:00
Jason Short 839b8865aa Parameters.h: throttle_min and throttle_max now have defaults from Config.h 2012-06-20 15:02:00 -07:00
Jason Short 15aea320cb Added note to remove this unused param 2012-06-03 11:13:50 -07:00
Jason Short 9d92602188 changed WP radius to AP_Int16 2012-05-28 22:39:29 -07:00
Robert Lefebvre c8fb9a6635 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 60c347e23b Parameters: Added g.retro_loiter which is configurable by the user via the MP. 2012-04-23 00:17:52 -05:00
Adam M Rivera f9affb3295 Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach
Conflicts:
	ArduCopter/Parameters.h
2012-04-16 10:23:01 -05:00
Adam M Rivera a366bb2f81 Parameters: Changed rtl_approach_alt to float to support more granular altitudes 2012-04-16 10:06:29 -05:00
Andrew Tridgell 95cb35c7bb AHRS: enable AHRS_ group in ArduCopter 2012-04-16 20:55:14 +10:00
Adam M Rivera 7ba8c291bd Parameters: Added new APPROACH_ALT params (g.rtl_approach_alt) which stored the users desired target altitude after RTL is complete. 2012-04-15 16:51:41 -05:00
rmackay9 0a3bc9a66a ArduCopter - LEDS - two new parameters to support COPTER_LEDS.
Code by Robert Lefebvre.
2012-04-12 22:55:28 +09:00
rmackay9 f8210b164c ArduCopter - Parameters.h - changed initialisation order to remove compiler warning (have not changed enum values so shouldn't require eeprom format id update) 2012-04-09 17:37:06 +09:00
rmackay9 ee308ea06c ArduCopter - increased firmware version to 118. Removed nearly all heli parameters as these are all created by the AP_MotorHeli class now.
Note: we cannot move the heli_servos to the AP_MotorHeli class yet because of a small issue in the parameters class.
2012-04-04 22:55:07 +09:00
Robert Lefebvre a480b32400 Added support for TradHeli H1 swashplate type. Added new param heli_h1_swash_enabled.
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-03-03 08:14:14 -05:00
Andrew Tridgell e213f6780e ACM: added RC_SPEED MAVLink parameter
this will set the speed for APM_RC.SetFastOutputChannels()
2012-03-02 17:57:08 +11:00
Andrew Tridgell f781bd735b ACM: fixed Parameters.h to avoid duplicate keys
unfortunately everyone needs to reload
2012-03-02 15:48:28 +11:00
Jason Short b76c4ecb22 added stab_d gain scheduling 2012-02-28 20:16:40 -08:00
Jason Short 04b70ffdc2 added Axis_Lock params 2012-02-18 21:13:06 -08:00
Randy Mackay 232359186e TradHeli - fixed small parameter bug affecting helis. The servo parameters were declared as GSCALAR instead of GGROUP in Parameters.pde.
also renamed heli parameters from _coll_ to the more descriptive _collective_
2012-02-18 20:57:51 +09:00
Andrew Tridgell 718a5b70e3 AP_Param: fixed saving of sensor calibration
this fixes the saving of the accel and gyro calibration to EEPROM,
which was initially broken by the AP_Param conversion
2012-02-18 10:51:57 +11:00
Jason Short 3d63bb6cd4 Added acro_p to the params 2012-02-15 11:29:25 -08:00
Jason Short 91edeeeef2 added RTL_land_enabled
added auto_pilot slew rate
2012-02-15 09:10:14 -08:00
Jason Short aa0662008b Added new params for CH6 Tuning
moved enums to give more room for additional PIDs for Loiter
added new Acro_P gain
added auto_land_enabled option
added pi_loiter_lon and pi_loiter_lat for separate tuning of loiter
2012-02-15 09:10:14 -08:00
Andrew Tridgell bf1eb670e3 update main parameter code for AP_Param in ACM 2012-02-13 16:22:52 +11:00
Jason Short 31614c39dd Cosmetic 2012-01-30 21:13:03 -08:00
Randy Mackay 974c825f4a Optflow - minor fix to D term defaulting 2012-01-29 21:06:41 +09:00
Jason Short 7833cea9d4 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 2c906b7b27 OpticalFlow - replaced PI controller with PID controller.
Modified optical flow hold to use aggregated position instead of speed.
2012-01-25 21:55:14 +09:00
Jason Short aace39e65c Converted distance gains to CM
added loiter_d for rate control, equal to old Nav_P gain
2012-01-21 22:13:57 -08:00
Jason Short 5180592913 Added Auto_land_timeout to params 2012-01-20 22:52:30 -08:00
Jason Short 19053bb725 Updated Firmware version 2012-01-20 22:52:30 -08:00
Michael Oborne 1bebb9452b AC sync battery code with arduplane 2012-01-21 06:29:09 +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
Randy Mackay f68d23d91e 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 26267f75b2 Reverted to Crosstrack like in Arduplane, requires Degrees * 100 2011-12-30 23:48:04 -08:00
Jason Short f41835d546 Added Stabilize_D parameter 2011-12-29 23:02:02 -08:00
Randy Mackay 07041c2149 TradHeli - modified the default collective min/max values to restrict movement to about half the full range. 2011-12-26 16:59:01 +09:00
Jason Short 72605f846c renamed super simple 2011-12-15 20:51:41 -08:00
Jason Short 88b3708dcf added altitude to circle mission 2011-12-15 20:51:40 -08:00
Doug Weibel 8b78c4a4c5 Changes to logging file system to avoid problems with 0 and 1 page logs 2011-12-13 20:09:07 -07:00
Jason Short e4559bbf5c Added param option for Simple mode reset 2011-12-12 17:47:45 -08: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 1621f3a638 allow CH7 to be set via params 2011-11-26 16:39:28 -08:00
Jason Short 556db68d2d Made loiter rad smaller in storage 2011-11-20 00:22:53 -08:00
Jason Short d1c161ecd0 Upped version
added new logging params
added crosstrack gain
re-ordered param inits
2011-11-19 14:00:23 -08:00
Jason Short fed5c0b204 Mission Scripting updates 2011-11-16 00:22:23 -08:00
Randy Mackay 70aadd4afc TradHeli - added two parameters to improve heli control.
heli_phase_angle allows pilot roll/pitch command to be translated into mixed roll and pitch.
heli_coll_yaw_effect mixes some collective into the yaw so tail can counter act collective movements more easily.
2011-11-13 22:20:57 +09:00
Jason Short 04491d66db Fixed scaling issue with Circle mode 2011-11-13 00:24:25 -08:00
Jason Short 7dd737ad90 Merge branch 'master' of https://code.google.com/p/ardupilot-mega
Conflicts:
	Tools/autotest/autotest.py
2011-11-12 21:53:08 -08:00
Michael Oborne b3747ab10f fix loiter radius 2011-11-13 08:24:56 +08:00
Jason Short be3edc19f8 Fixed type error in params 2011-11-12 15:15:33 -08:00
unknown a7038cbaf9 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 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 04b5776601 50 rev
Work in progress, revved the EEPROM
2011-10-27 12:42:28 -07:00
Jason Short a076b45506 Added Acro Params
Allows user's to fly separate PI loops settings for Acro
2011-10-27 11:52:00 -07:00
Jason Short 2f751793bc typoo in params for camera roll gain. fixed. 2011-10-15 18:34:23 -07:00
Jason Short 6a5aefd0ec Added gains to adjust travel of camera. 2011-10-15 16:34:57 -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
Jason Short f437e4b2d1 Revved the firmware to force resetting the EERPOM 2011-09-25 12:24:02 -07:00
rmackay9 b5ea05698e TradHeli - added servo averaging to allow support of analog servos
- moved heli parameters to 80 because they were causing flight modes to overlap with waypoints
2011-09-25 16:51:25 +09:00
Jason Short 25b0a3c43b Added a default, but low throttle cruise value
Added a clear integrator for Rate I to prevent tip ups at launch.
2011-09-22 23:10:55 -07:00
Jason Short 9c5cba56eb Added low voltage code flashing code. 2011-09-16 18:56:51 -07:00
Jason Short 129c13e065 Fixed CIRCLE mode trig error
made loiter_radius * 100 in Params
updated gains
2011-09-16 16:54:45 -07:00
Jason Short 1ce2308d11 Removed Simple Mode
Added Simple option to mode switch positions
removed unused OptFlow code
added reset lat and lon error
removed unused init_auto
Fixed log formatting
Added simple mode bitmask
removed pitchmax
added CLI setup for enabling Simple mode to any switch position
2011-09-14 13:58:18 -07:00
Jason Short 482844b87a Added Input Voltage value to params 2011-09-10 18:44:56 -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