Adam M Rivera
edf15c1b9b
Merge branch 'master' of https://code.google.com/p/ardupilot-mega into auto-approach
2012-04-20 11:45:38 -05:00
rmackay9
c323efc2d4
ArduCopter - regressed version back to 2.5.4
2012-04-20 21:58:32 +09:00
James Goppert
1bc4d54ce9
Worked on ArduCopter cmake options.
2012-04-19 16:05:08 -04:00
Adam M Rivera
d09916422a
Merge branch 'retro-loiter' of https://code.google.com/r/a432511-wip into auto-approach
...
Conflicts:
Tools/ArdupilotMegaPlanner/Common.cs
2012-04-19 11:08:34 -05:00
Adam M Rivera
4430f75344
navigation.pde: Put the new calc_GPS_velocity method in a compiler if that checks the new RETRO_LOITER_MODE config value (saves space and ensures its not being used unless retro loiter mode is enabled)
2012-04-19 10:21:04 -05:00
Adam M Rivera
9181eedf5a
Merge branch 'master' of https://code.google.com/p/ardupilot-mega into retro-loiter
2012-04-19 10:17:36 -05:00
Adam M Rivera
ad13854ab7
Loiter: Made the "retro loiter" routines configurable. Add RETRO_LOITER_MODE ENABLED to APM_Config.h to enable the older loiter shtuff.
2012-04-19 10:16:29 -05:00
Adam M Rivera
3995381800
Arducopter.pde: Moved gps to 10hz. Changed calc_XY_velocity to calc_GPS_velocity.
2012-04-18 23:07:35 -05:00
Adam M Rivera
c7c6dd70b9
navigation.pde: Added calc_GPS_velocity. Added constraint to x/y error and x/y rate error.
2012-04-18 23:06:15 -05:00
James Goppert
f094085c25
Improved cmake options.
2012-04-18 23:15:29 -04:00
James Goppert
0a38e2b8d4
Updated ArduPlane/ArduCopter cmake options.
2012-04-18 15:16:02 -04:00
Adam M Rivera
5ee15da73b
Planner/defines.h: Updated the enumeration value for APPROACH so as not to disturb the order of the universe.
2012-04-18 10:32:01 -05:00
James Goppert
26e3d6ae45
Switched to project specific cmake lists.
...
This is better since each project has very different options.
2012-04-17 23:07:20 -04:00
Adam M Rivera
baf8218b58
ArduCopter: Added code to prevent mode from switching to APPROACH on every loiter.
2012-04-16 16:29:54 -05:00
Adam M Rivera
b891622210
ArduCopter: Changed millis compare to use new config value for approach delay.
2012-04-16 14:04:30 -05:00
Adam M Rivera
3146c22ea8
commands_logic.pde: Added write to constrained value to EEPROM.
2012-04-16 14:03:33 -05:00
Adam M Rivera
3135cd91d0
config.h: Added RTL_APPROACH_DELAY config value.
2012-04-16 14:00:08 -05:00
Adam M Rivera
8128fb2d5f
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
b611b6a1e8
system.pde: Updated param name to loiter_timer.
2012-04-16 10:12:30 -05:00
Adam M Rivera
03e11cf893
commands_logic: Allowed for an approach alt as low as 1m. Added a check to make sure we are currently above our target approach alt.
2012-04-16 10:11:50 -05:00
Adam M Rivera
637f778dd0
ArduCopter: Updated param name from auto_land_timer to loiter_timer, because it could really be used for more routines like auto-approach. Added timer before approach (20s).
2012-04-16 10:07:57 -05:00
Adam M Rivera
2d096c401f
Parameters: Changed rtl_approach_alt to float to support more granular altitudes
2012-04-16 10:06:29 -05:00
rmackay9
4dadd888d8
ArduCopter - CH6 Tuning - added AHRS_YAW_KP parameter as 30. Now you can easily set the amount that the mag is used to correct the gyro based yaw estimate in the DCM
2012-04-16 23:47:57 +09:00
Andrew Tridgell
5a9ad6ddbb
AHRS: enable AHRS_ group in ArduCopter
2012-04-16 20:55:14 +10:00
Adam M Rivera
f27b5d538b
ArduCopter, commands_logic: Updated logic to allow as low as 5m.
2012-04-15 19:50:05 -05:00
Adam M Rivera
e4940ec3bb
ArduCopter: Added check to make sure user defined approach alt is at least 5.
2012-04-15 16:58:22 -05:00
Adam M Rivera
0027c9253b
commands_logic: Added check to make sure the do_approach method is not being used to land.
2012-04-15 16:57:49 -05:00
Adam M Rivera
70d67b0791
System: Added handler for the new APPROACH flight mode which will initiate an approach to a target alt as defined by the user.
2012-04-15 16:55:34 -05:00
Adam M Rivera
d1a7fdb9ef
ArduCopter: Added check to g.rtl_approach_alt, which if greater than zero will initiate an approach to the target alt rather than land.
2012-04-15 16:54:43 -05:00
Adam M Rivera
d12bf86876
commands_logic: Added do_approach() to set the new target alt based on the user defined value.
2012-04-15 16:53:25 -05:00
Adam M Rivera
fb5dc3085b
Defines: Added new control mode (APPROACH).
2012-04-15 16:52:32 -05:00
Adam M Rivera
f5e0b002ba
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
ccb21613b5
ArduCopter - updated firmware version to "2.6 Beta"
2012-04-14 14:26:44 +09:00
rmackay9
33bd558a94
ArduCopter - LEDS - main code to support COPTER_LEDS.
...
Code by Robert Lefebvre
2012-04-12 22:55:44 +09:00
rmackay9
a429c78d20
ArduCopter - LEDS - set new output pins to OUTPUT to support COPTER_LEDS.
...
Code by Robert Lefebvre
2012-04-12 22:55:40 +09:00
rmackay9
663eda6d47
ArduCopter - LEDS - define pins to be used for COPTER_LEDS.
...
Code by Robert Lefebvre
2012-04-12 22:55:36 +09:00
rmackay9
ac9555a3b4
ArduCopter - LEDS - added new COPTER_LEDS definition
...
Code by Robert Lefebvre
2012-04-12 22:55:32 +09:00
rmackay9
d1a5d1f94c
ArduCopter - LEDS - two new parameters to support COPTER_LEDS.
...
Code by Robert Lefebvre.
2012-04-12 22:55:28 +09:00
rmackay9
8f0bc57967
ArduCopter - navigation.pde - added logging of Loiter PID controllers
2012-04-11 23:52:25 +09:00
rmackay9
023378a214
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
c7edd7857c
ArduCopter - added dataflash logging of roll and pitch rate controllers
2012-04-08 10:19:20 +09:00
rmackay9
0607be8ea5
ArduCopter - removed unused motor pde files including heli.pde, motors_hexa.pde, motors_octa.pde, motors_octa_quad.pde, motors_tri.pde and motors_y6.pde
2012-04-04 23:06:12 +09:00
rmackay9
2128085576
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
rmackay9
2fc3b740c4
ArduCopter - system.pde - changed references to "motor_armed" to "motors.armed()" as part of the move to use AP_Motors library.
2012-04-04 23:03:21 +09:00
rmackay9
5e2147de1f
ArduCopter - setup.pde - changed cli for helicopter to call the new AP_Motors class's parameters instead of the global parameters.
...
changed init_esc to call the AP_Motor's class's "throttle_pass_through" function.
2012-04-04 23:02:29 +09:00
rmackay9
1701cac0b1
ArduCopter - radio.pde - changed motor initialisation to set update rate, frame orientation, min and max throttle to AP_Motors class.
...
Note: perhaps the motors speed at least should be moved to a parameter within the motors class.
output_min function greatly simplified as this is handled by the AP_Motors class.
2012-04-04 23:00:56 +09:00
rmackay9
0f4203a755
ArduCopter - motors.pde - changed references to "motor_armed" to "motors.armed()" because we've moved to using the AP_Motors class.
...
Simplified set_servos_4 function which was responsible for calling "output_motors_armed" or "output_motors_disarmed" as this determination as to whether the motors are armed or not is handled within the AP_Motors class.
2012-04-04 22:58:42 +09:00
rmackay9
00d540bfa9
ArduCopter - leds.pde - changed refrences to "motor_armed" to "motors.armed()"
2012-04-04 22:57:50 +09:00
rmackay9
ffd77f58ab
ArduCopter - removed references to MOT_1 etc as these are now within the AP_Motors class (i.e. MOT_1 has become AP_MOTORS_MOT_1)
2012-04-04 22:56:07 +09:00
rmackay9
929e933b69
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
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
86d2a9ffdb
ArduCopter - GCS_Mavlink.pde - changed output to ground station to use new AP_Motor's class motors array inplace of the global "motor_out" array.
2012-04-04 22:52:26 +09:00
rmackay9
23c3f25654
ArduCopter - Attitude.pde - moved heli_get_angle_boost from heli.pde (which will be removed) to Attitude.pde. In fact we should combine heli_get_angle_boost and the regular get_angle_boost.
2012-04-04 22:51:39 +09:00
rmackay9
544237d60a
ArduCopter - add includes for new AP_Motors classes.
...
Remove global motor_filtered and motor_out arrays.
Removed all global heli variables.
replace "motor_armed" with "motors.armed()"
removed output to rc_4 for tri because this is now handled by AP_MotorsTri class
2012-04-04 22:50:43 +09:00
Andrew Tridgell
40d7b07789
MAVLink: port the new adaptive flow control to ArduCopter
...
This allows for arbitrary stream rates, and supports flow control if
you are using a 3DR radio
2012-04-02 11:18:53 +10:00
rmackay9
b0c9a25024
ArduCopter - CH6 tuning - changed Roll/Pitch Rate D tuning to use the user supplied tuning range instead of the range / 100.
...
also changed heli_ext_gyro_gain to make it use the tuning range directly.
2012-03-31 09:28:25 +09:00
Andrew Tridgell
1e0a2fb0be
MAVLink: don't waste 100 bytes of bandwidth sending 1 byte of information
...
the GPS_STATUS message is a massive waste of bandwidth, but it is the
only message that tells us the number of visible satellites. So only
send it if that information changes.
This makes MAVLink work better at low baud rates
2012-03-30 17:46:20 +11:00
Andrew Tridgell
0985327331
ACM: use set_blocking_writes(false) when we arm motors
2012-03-30 17:46:20 +11:00
Andrew Tridgell
36e741b078
MAVLink: raise the serial transmit buffer size to 256 bytes
...
the 128 byte serial transmit buffer was causing significant problems
with queueing of mavlink messages. With 256 bytes we can fit a lot
more messages out in each pass of the code, which makes telemetry more
efficient
As we discussed on the dev call, we now have enough free ram for this
to be worthwhile
2012-03-30 17:46:20 +11:00
Andrew Tridgell
58f539ca35
ACM: removed FORCE_AUTOMATIC_DECLINATION_UPDATE
...
we now have the EEPROM option COMPASS_AUTODEC instead
2012-03-30 14:25:27 +11:00
Adam M Rivera
0727955fe3
ArduCopter: Changed implementation of configuration value for automatic declination. There is now a FORCE_AUTOMATIC_DECLINATION_UPDATE that when enabled will update the declination on every GPS 3D fix regardless of whether or not the user saved a value to the EEPROM. By default the declination will only be set by the automatic declination routine if the user has not saved a declination to the EEPROM.
2012-03-30 14:25:06 +11:00
rmackay9
a12a7a7d87
ArduCopter - added CH6_STABILIZE_KD tuning value
2012-03-29 21:09:41 +09:00
rmackay9
2cc87af180
Added multiple new tuning parameters to the inflight channel 6 tuning feature:
...
#define CH6_YAW_KI 24
#define CH6_ACRO_KP 25
#define CH6_YAW_RATE_KD 26
#define CH6_LOITER_KI 27
#define CH6_LOITER_RATE_KI 28
2012-03-28 23:58:58 +09:00
Andrew Tridgell
8ccf3a05f0
Mavlink: fixed warnings about limits on int32 values
2012-03-27 15:37:25 +11:00
Andrew Tridgell
409c147ce3
ACM: fixed heli build
2012-03-27 15:37:25 +11:00
Andrew Tridgell
5d7c571fb1
ACM: fixed the build on the 1280
2012-03-27 15:37:24 +11:00
Andrew Tridgell
4821eb4807
ACM: enable the new compass offset nulling in ACM
2012-03-27 15:37:24 +11:00
rmackay9
441413f1c6
ArduCopter - added PID log type. Implemented for Yaw stabilize and rate controllers.
2012-03-25 16:09:08 +09:00
rmackay9
eb55234809
ArduCopter - updated firmware version to 2.5.3
2012-03-25 09:13:51 +09:00
rmackay9
1f253c5217
ArduCopter - altitude hold - ensure throttle_avg is initialised from g.throttle_cruise parameter
2012-03-23 23:48:24 +09:00
rmackay9
19981d4864
ArduCopter - updated to firmware version to 2.5.2 to avoid confusion with post 2.5.1 versions posted to downloads area
2012-03-23 23:12:49 +09:00
Robert Lefebvre
872ec65afa
Fix Auto_Trim to allow it to actually be called when setup on Ch7 pulldown menu in MP.
2012-03-23 09:17:58 -04:00
Jason Short
74893f6959
Throttle_hold was in APM_Config - which is ignored by the Mission planner Hex generator
2012-03-22 10:01:24 -07:00
rmackay9
be22deb56f
ArduCopter - motors_quad.pde - corrected test sequence for + configuration
2012-03-21 22:04:50 +09:00
rmackay9
7dc18b53ad
ArduCopter - navigation - corrected comment in check_missed_wp function to clarify that you've passed the waypoint when the direction to the way point is more than 100 degrees off (not 10 degrees off) from your original bearing towards the waypoint
2012-03-20 17:11:22 +09:00
rmackay9
198ac97914
ArduCopter - updated version to 2.5.1
2012-03-20 17:08:18 +09:00
rmackay9
0ba48a8556
ArduCopter - increased default THROTTLE_CRUISE to 450
2012-03-20 16:34:07 +09:00
rmackay9
ce6b1ccc75
ArduCopter - Navigation.pde - corrected comment re wp_distance and get_distance to clarify that they are in cm (not meters!)
2012-03-20 16:13:38 +09:00
Andrew Tridgell
dc71191f25
MAVLink: constrain variable changes to the datatype range
...
if someone tries to set a AP_Int16 to a value of 300000, they now get
32767 instead of -27678
2012-03-19 17:29:02 +11:00
Andrew Tridgell
690ad58a64
AHRS: adapt ArduCopter for new AHRS framework
2012-03-19 17:29:02 +11:00
Jason Short
223a6f80c8
ACM: Arducopter.pde - Added a constraint to the NO_NAV mode to be similar to the Loiter and rate nav modes.
2012-03-18 22:31:22 -07:00
Jason Short
722a4d01e8
ACM: Attitude.pde - consolidated wind I term resets
2012-03-18 22:31:21 -07:00
Jason Short
e42c64f94e
ACM: system.pde - removed reset_nav_I() to consolidate the wind control reset.
2012-03-18 22:31:21 -07:00
rmackay9
bed667c62e
ArduCopter - small change to ensure both roll and pitch commands are zero before switching out of loiter_override (loiter override becomes true when roll+pitch command is greater than 5 degrees and switches back to false when both become zero)
...
- remove incorrect comments about when loiter target position is reset.
2012-03-18 15:16:04 +09:00
rmackay9
7bf4e22c7b
ArduCopter - remove reference to AUTO_RESET_LOITER that is not used anymore
2012-03-18 14:53:19 +09:00
rmackay9
485cebf85c
ArduCopter - bug fix to calc_XY_velocity (was using uninitialised last_longitutde and last_latitude for speed calculations)
2012-03-18 12:11:12 +09:00
Jason Short
27f276a066
ACM: Lowered gains from flight tests today with 3DR Quad
2012-03-17 11:04:01 -07:00
Jason Short
f6638d00d6
ACM: Smoother Speed calcs
2012-03-16 14:10:19 -07:00
Jason Short
09995aed62
ACM: Softer Loiter Gains
2012-03-16 14:10:19 -07:00
Jason Short
234a5dc65e
ACM: Small fix to nav_throttle to prevent too fast of a landing.
2012-03-16 14:10:19 -07:00
Jason Short
d52b93849e
ACM: Fixed comment
2012-03-16 14:10:19 -07:00
Jason Short
1ecca36dd0
Fixed Scaling bug in Sonar mixing
2012-03-16 14:10:19 -07:00
Jason Short
0c6a87db3f
ACM: Disabled D term experiment for Loiter until more testing
2012-03-15 19:20:03 -07:00
Jason Short
ce14ef1b2b
Tune down Loiter_P a hair
2012-03-15 19:17:27 -07:00
Robert Lefebvre
0bc40f51fb
Small fix on the Traditional Helicopter Collective-Yaw compensation calculation.
2012-03-15 20:14:18 -04:00
rmackay9
eea8d67a1e
ArduCopter - removed #define AUTOMATIC_DECLINATION ENABLED line to ensure users don't try and enable it because it needs a bit more work before it's ready for general use
2012-03-15 21:58:42 +09:00
analoguedevices
eb530a2045
Rev'ed version number to 2.5. Added more credits
2012-03-15 02:38:54 +00:00
Jason Short
59fb1f3542
ACM: Added constraints for invalid climb rates. Robert Lefebvre had a bad sonar and very invalid rates crept into the system.
2012-03-13 21:31:16 -07:00
Jason Short
50b4c07261
Lowering the D filter for less latency and less oscillation.
2012-03-13 12:58:46 -07:00
Jason Short
72d03a8046
ACM: Loiter tuning updates, turned up I a bit, a higher I will work better if the system is well tuned.
2012-03-13 10:23:31 -07:00
Jason Short
0edc1020ac
ACM: Loiter D performance updates
2012-03-13 10:23:31 -07:00
Jason Short
6edad4d9ef
ACM: Larger filter for Loiter D
2012-03-13 10:23:30 -07:00
Jason Short
953b93293e
ACM: removing old define
2012-03-12 13:11:30 -07:00
Jason Short
580c5e109e
ACM: Got the sign wrong. I'm using the derivative of the error now and not the sensor, so the sign was reversed.
2012-03-12 13:11:05 -07:00
Jason Short
38153f15e0
ACM: Made Loiter_D 0 by default. Accidentally left it on by default.
2012-03-12 10:37:15 -07:00
Jason Short
56d2b9ef05
ACM: Broke out the D term for the PID loop to add custom filtering. The current AC_PID filtering wasn't working for this application and we needed more smoothing. Bad pitch oscillations were being transmitted to the copter.
2012-03-11 23:21:49 -07:00
Jason Short
5c3cb1c5d0
ACM: removed Filtering code for motors in Quad for testing
2012-03-11 23:21:49 -07:00
Jason Short
d9ccd4f6bd
ACM: made same as Loiter I
2012-03-11 23:21:49 -07:00
Jason Short
e279106b44
ACM: Tuning based on flights today
2012-03-11 23:21:49 -07:00
Jason Short
38a60df189
ACM: Rate_d filter for PID loop of Loiter.
2012-03-11 23:21:49 -07:00
Jason Short
2ac29effe9
ACM: The I term in update_nav_wp with the no_nav condition was pulling from the wrong PID loop and was essentially 0 all the time.
2012-03-11 23:21:49 -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
Andrew Tridgell
1e47ab26f2
AP_Declination: disable library when AUTOMATIC_DECLINATION is not ENABLED
...
unfortunately this library was causing avrdude to fail to load the hex
to my APM2. Until we work out why, it's disabled.
2012-03-11 21:46:41 +11:00
Adam M Rivera
2e1cacd67f
AP_Declination: Added call to compass.set_initial_location if the compass is enabled when the 3D fix is obtained.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Adam M Rivera
566bbed7ad
AP_Declination: Added new config value to allow the user to have the declination overwritten on every 3D fix.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2012-03-11 20:59:47 +11:00
Jason Short
8b887b77bd
ACM: Added Loiter D tuning
2012-03-10 14:17:57 -08:00
Jason Short
7b2b5e858e
ACM: Added Loiter_D for tuning as #23
2012-03-10 14:17:16 -08:00
Jason Short
149a484984
ACM: Firmware rev
2012-03-10 12:45:03 -08:00
Jason Short
a9e7194e3d
ACM: disabled auto_calibration until more testing can be done
2012-03-10 12:44:49 -08:00
Jason Short
3c1f4b1ad7
ACM: changed alt hold initialization of altitude to be immediate
2012-03-10 12:44:18 -08:00
Jason Short
68d210660e
ACM: Added note about scaling rates
2012-03-10 12:43:28 -08:00
Jason Short
4b75f74d2c
ACM: Altered the scaling speed for altitude changes for faster rises.
2012-03-10 12:43:01 -08:00
Jason Short
874f5aaef6
ACM: Added force_new_altitude call to do immediate changes in altitude and no gradual changes.
2012-03-10 12:42:22 -08:00
Jason Short
9f47a79a3a
ACM: decreased rate P for alt hold to remove bumpy repsonse
2012-03-10 12:41:06 -08:00
Jason Short
11e5f7d40f
ACM: Increased the altitude error P for smoother alt hold response
2012-03-10 12:40:44 -08:00
Jason Short
20a3cfdcde
decreased the loiter rate P for overshoot
2012-03-10 12:40:07 -08:00
Jason Short
bb56cea1ac
ACM: increased the available rate error constrain, it was too low
2012-03-10 12:39:16 -08:00
Jason Short
285f2dd791
ACM: removed the experiment for rate error.
2012-03-10 12:38:29 -08:00
Jason Short
0ccfdc664d
added Force_new_altitude call for alt hold
2012-03-10 12:37:54 -08:00
Jason Short
037221cd02
upped throttle manual boost to 225
2012-03-10 12:37:28 -08:00
rmackay9
9986776e0d
ArduCopter - fixed small compile warning about unused x_iterm and y_iterm in navigation.pde
2012-03-11 01:27:58 +09:00
rmackay9
a72b20f42d
ArduCopter - fix to dataflash logging of Mag heading
2012-03-11 01:27:29 +09:00
Andrew Tridgell
f39d8dbde8
GCS: get_integrator() is now get_gyro_drift() in DCM
2012-03-10 10:34:33 +11:00
Andrew Tridgell
4f739ea28f
make 'ENABLE' and 'ENABLED' mean the same things
...
users get this wrong far too often!
2012-03-10 10:34:33 +11:00
Andrew Tridgell
a874f920d5
ACM: removed the ADC filtering code
2012-03-10 10:34:32 +11:00
Andrew Tridgell
e2c525434a
ACM: removed quaternion special cases in CLI code
2012-03-10 10:34:31 +11:00
Andrew Tridgell
e870e7bd82
ACM: removed the DCM tuning overrides
...
not needed now that DCM scales with deltat
2012-03-10 10:34:31 +11:00
Andrew Tridgell
13bddf05b0
ACM: removed the special case for quaternions in GCS code
2012-03-10 10:34:31 +11:00
Andrew Tridgell
1547977e1b
ACM: no need to fetch offsets at startup
...
AP_Param handles this
2012-03-10 10:34:31 +11:00
Andrew Tridgell
34d25ab298
ACM: removed a lot of the special case code for quaternions
2012-03-10 10:34:31 +11:00
Andrew Tridgell
e780dd2b44
ACM: change DCM loop to 100Hz
...
On my APM2 quad this seems to give better results
2012-03-10 10:34:31 +11:00
Andrew Tridgell
756a91a3ee
ACM: removed incorrect mode definition
2012-03-10 10:34:30 +11:00
Andrew Tridgell
04826065ef
Quaternion: show "Quaternion test" on startup if enabled
2012-03-10 10:34:29 +11:00
Andrew Tridgell
1591d41b33
ACM: make it possible to build ArduCopter with quaternions
2012-03-10 10:34:29 +11:00
Andrew Tridgell
bc81d8e6ac
ACM: only call the fast loop if the imu has new data
...
this prevents us spinning waiting for the sensors to gather some data
2012-03-10 10:34:29 +11:00
Andrew Tridgell
a54d6f744e
HWSTATUS: if we don't know the voltage, report it as zero
...
this will tell us if board_voltage() is really working
2012-03-10 10:34:28 +11:00
Andrew Tridgell
9393b21a8d
ACM: adjust yaw drift correction constants
...
this should give the compass a bit more authority
2012-03-10 10:34:28 +11:00
Andrew Tridgell
b07a3eb966
ACM: added SIMSTATE, DCM and HWSTATUS messages to ACM
2012-03-10 10:34:27 +11:00
Jason Short
13e9608fb8
Consolidated Barometer pressure sensing to a single filter based on Randy's new filter class.
2012-03-08 23:13:04 -08:00
Jason Short
df812dd78a
temp remove filter for quad motors during testing. It's unlikely this filter did anything at all to be honest.
2012-03-06 22:23:06 -08:00
Jason Short
43b3e1ccd1
ACM -
...
Implemented automatic ranging of Alt Hold gains. Works well in simulator and testing.
- alt hold estimation moved to 50 hz
- simple fixed observer calc for smooth and accurate climb rates useful for derivative calcs
- auto-reset of the I term by moving I value into throttle value. This recalcs the gain every 20seconds for battery drainage compensation in long flights.
- remove filtering for Nav_throttle
- added a way to lower the gain on nav_throttle for descents by / climb_rate error by 2 - seems to work OK and keeps copter from dropping like a rock when the Baro drifts quickly lower.
- removed old throttle hold set point code
- made throttle override for alt hold +- 200 vs 250
2012-03-06 22:22:14 -08:00
Jason Short
5117ddff26
ACM: Updated config values
2012-03-06 22:12:24 -08:00
rmackay9
8717d7dd7c
ArduCopter - fix for stability patch and motor filter meant to deal with engines tendency to speed up faster than they slow down
2012-03-06 23:20:30 +09:00
rmackay9
8af43c4a19
ArduCopter - fixed typo in motor filtering for octa, octa_quad and y6 that is suppose to correct for props speeding up faster than they slow down.
2012-03-06 22:19:19 +09:00
rmackay9
29aea35eae
ArduCopter - added OCTA_QUAD_FRAME to comments in APM_Configh.h to help user select frame when compiling with arduino
2012-03-06 22:15:02 +09:00
Jason Short
fe5612d38b
Added define for throttle range for altitude changes, updated it to 250
2012-03-05 22:12:53 -08:00
Robert Lefebvre
a7e0fc7774
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
3745dfd59f
ACM: use g.rc_speed for all APM_RC.SetFastOutputChannels calls
2012-03-02 17:57:08 +11:00
Andrew Tridgell
91c3f993b4
ACM: set default RC fast speed to 400Hz
2012-03-02 17:57:08 +11:00
Andrew Tridgell
bfca928211
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
1e2b57410c
ACM: fixed Parameters.h to avoid duplicate keys
...
unfortunately everyone needs to reload
2012-03-02 15:48:28 +11:00
Andrew Tridgell
fcb1b9ba95
ACM: added board_voltage()
2012-03-02 15:48:28 +11:00
Robert Lefebvre
c84d864cd6
Rescale TradHeli roll_out and pitch_out into the min and max ranges to provide linear motion across the input range instead of stopping when the input hits the constrain value. These calculations are based on an assumption of the user specified roll_max and pitch_max coming into this equation at 4500 or less, and based on the original assumption of the total g.heli_servo_x.servo_out range being -4500 to 4500.
...
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-03-01 22:04:50 -05:00
Jason Short
4e2a54566b
added stab_d gain scheduling - off by default
2012-02-28 20:16:40 -08:00
Jason Short
27f6afd178
added stab_d gain scheduling
2012-02-28 20:16:40 -08:00
Jason Short
a096292edb
added stab_d gain scheduling
2012-02-28 20:16:40 -08:00
Jason Short
6ca8aeecf3
added stab_d gain scheduling
2012-02-28 20:16:40 -08:00
Jason Short
4b1d847a3a
added option for stab_d gain scheduling
2012-02-28 20:16:40 -08:00
Jason Short
4ef4a19f8e
Added test for stab_d gain scheduling.
2012-02-28 20:16:40 -08:00
Pat Hickey
ccb8c31966
Cleanup: rm ArduCopter/GCS_Mavlink\ copy.txt
...
* Not needed, but we can always checkout an old version if it is.
Hi Pat,
This may have been my WIP for the Mavlink 1.0 conversion. I tried to
give Tridge a head start on it. I've made small updates to it in
parallel to the current Mavlink. You can delete it as he would have used
it by now if he felt it was helpful.
Jason
On Feb 28, 2012, at 4:08 PM, Pat Hickey wrote:
It looks like this file was checked in by accident, possibly, but you've
made a few small changes to it since creating it.
Is it important? Should we get rid of it?
Git log of file below.
Thanks
Pat
...
2012-02-28 16:28:27 -08:00
Pat Hickey
00180e7084
Cleanup: rename files with spaces in their names, replace with underscores
...
* Skipped /Tools/ArdupilotMegaPlanner/Resources/new...
and /archive/Configurator/Source/Utilities/TDMS/G...
because I don't want to mess with that.
2012-02-28 16:14:31 -08:00
Robert Lefebvre
b7ccfb0114
Added heli_collectiveFactor array
...
Signed-off-by: Robert Lefebvre <robert.lefebvre@gmail.com>
2012-02-28 10:49:28 -05:00
rmackay9
8da8ce5b58
ArduCopter - made rate controller filters globals to fix compiler error on Arduino 022 (Arduino 1.0 was fine)
2012-02-28 22:56:26 +09:00
rmackay9
082cc70f1c
ArduCopter - Attitude.pde - updated get_rate_roll and get_rate_pitch to use new average filter.
...
modified all int to int16_t in Attitude.pde
2012-02-28 21:26:37 +09:00
rmackay9
701a21ff2f
ArduCopter - modified to work with new Filter library
2012-02-28 21:02:44 +09:00
Jason Short
f8e9fa8b61
Set loiter rate enabled by default
2012-02-26 12:29:28 -08:00
Jason Short
bab1faf644
Added OPtion for non-rate based loiter
2012-02-26 11:33:37 -08:00
Jason Short
9a2be4701f
removed Constraint that caused JLN's horizontal drift.
2012-02-26 11:33:37 -08:00
Jason Short
3ce1633157
Added Loiter Rate Tuning
2012-02-26 11:33:37 -08:00
Jason Short
1b7a038043
Added Loiter_rate_tuning
2012-02-26 11:33:36 -08:00
Jason Short
00d5ad9343
Added more Logging for PIDs.
2012-02-26 11:33:36 -08:00
rmackay9
41ea8e3eff
ArduCopter - added #include <Filter.h> to unbreak the build!
2012-02-26 17:05:41 +09:00
rmackay9
add3133100
ArduCopter - change sonar to use new mode filter from Filter library
2012-02-26 15:35:14 +09:00
Jason Short
e4e8189448
added a simple rest of nav_throttle just in case
2012-02-25 13:31:21 -08:00
Jason Short
cd55498a5c
increased speed of alt hold I term based on Jani's Logs
2012-02-25 13:31:21 -08:00
Jason Short
a3f65b4a23
increased the rate error for more responsive alt hold
2012-02-25 13:31:21 -08:00
Jason Short
68739f3cc4
Based on Jani's latest logs I've made two tweaks to alt hold.
...
The first is to remove the filter on the throttle output for alt_hold.
The second was to open up the constraint on climb rate. This is to deal with larger than expected disturbances causing altitude changes.
2012-02-25 13:31:21 -08:00
Andrew Tridgell
6b265c5034
ACM: use a NULL gps pointer in DCM init
...
current DCM API does need a GPS reference passed in, but it can be
NULL
2012-02-25 15:08:49 +11:00
Andrew Tridgell
3fe5b3151b
allow MAG_ENABLE to be changed in flight
...
this disables the compass in DCM if MAG_ENABLE is changed in
flight. Without this we would use a fixed yaw once the compass is
disabled
This also makes sure we don't pass the compass to DCM till we have
done a read. This ensures we have a good compass fix for the initial
DCM heading
2012-02-25 14:51:09 +11:00
Andrew Tridgell
d1f655beee
ACM: check the return of compass.init()
...
if the compass fails to initialise then don't pass it to DCM, or we
will get no yaw control. Report the init failure to the user.
2012-02-25 14:51:08 +11:00
Andrew Tridgell
ce5c7c2c85
ACM: don't pass a gps pointer to DCM
...
after discussion with Randy, we don't want ArduCopter to fall back to
GPS for yaw when the compass becomes unhealthy. So we shouldn't pass
the gps object to the DCM code at all.
2012-02-25 14:51:08 +11:00
Andrew Tridgell
17718720b1
GCS: force scalar type in copy_name()
...
this enables access to compass offsets over MAVLink
2012-02-25 11:37:20 +11:00
Andrew Tridgell
007a6b8958
AP_Param: added special handling for Vector3f
...
We would like to be able to use Vector3f as a parameter while exposing
the individual elements of the vector as MAVLink parameters. This
change to AP_Param makes that possible, by giving AP_Vector3f a dual
personality
2012-02-25 11:37:20 +11:00
Jason Short
ab945f36df
Compass heading added to ATT log
2012-02-24 12:11:15 -08:00
rmackay9
ab0e1d7632
TradHeli - increase max yaw input to 45 degrees
2012-02-24 20:18:40 +09:00
Jason Short
ed5db98522
updated Gains for Marco's loiter test
2012-02-23 22:03:26 -08:00
Jason Short
22982cda0f
Loiter updates
2012-02-23 22:03:26 -08:00
Andrew Tridgell
4edf311865
ACM: ensure update_trig() doesn't cause NAN values for cos_roll/cos_pitch
...
the DCM matrix could have a value over 1.0 for c.x due to rounding
errors
2012-02-24 11:52:55 +11:00
Jason Short
b1340bbf80
added a constraint to D term
2012-02-23 09:14:44 -08:00
Andrew Tridgell
b231112957
DCM: renorm_sqrt_count is now called renorm_range_count
2012-02-23 08:16:08 +11:00
Jason Short
128f19cdf7
Emile's Fixes
2012-02-22 10:27:34 -08:00
Jason Short
ac5a4830a1
Marco's Hexa Motors
2012-02-22 09:55:44 -08:00
Jason Short
92cfc8913a
revved a version
2012-02-22 09:00:42 -08:00
Jason Short
207ffee856
made timer unsigned
2012-02-21 21:49:03 -08:00
Jason Short
ac81ddef04
commented out control mode debug print
2012-02-21 21:48:07 -08:00
Jason Short
7bfda28cdc
removed old comments
2012-02-19 14:21:27 -08:00
Jason Short
70d7a1f5d0
Added slow_wp default in AP mode
2012-02-19 13:15:40 -08:00
Jason Short
434b059586
reset slow_WP option at mode switch
2012-02-19 13:13:42 -08:00
Jason Short
151e710668
Added slow wp option in calc_desired_speed
2012-02-19 13:13:21 -08:00
Jason Short
4b52dde882
set Slow WP option for RTL in Auto mode
2012-02-19 13:12:23 -08:00
Jason Short
79a9665c9d
Added "slow WP" option for RTL.
2012-02-19 13:11:59 -08:00
Jason Short
ba2cfee2fb
Updated manual throttle control during throttle hold
2012-02-19 12:40:51 -08:00
Jason Short
a4b8119c24
added workaround for resetting alt.
2012-02-19 12:40:08 -08:00
Jason Short
2a5a7fa245
Added SW test for Manual Boost
2012-02-19 12:39:40 -08:00
Randy Mackay
b4ee111c49
TradHeli - change throttle range back to 0~1000 (was temporarily changed to be 1250~850 which limited the range of the swash plate's vertical movements)
2012-02-20 00:27:12 +09:00
Randy Mackay
7c4ef140b9
ArduCopter - remove unnecessary block for next GPS value before saving home location
2012-02-19 15:38:40 +09:00
Andrew Tridgell
1fc24b506e
AP_Param: update users of AP_Param for ParamToken
2012-02-19 17:05:28 +11:00
Andrew Tridgell
b06f35eaa2
Heli: fixed some 'used before initialised' warnings
2012-02-19 16:34:43 +11:00
Jason Short
f86e1ed63f
Axis lock beta (off by default)
2012-02-18 21:16:19 -08:00
Jason Short
aeed144180
updated max throttle define
2012-02-18 21:14:13 -08:00
Jason Short
5d658e5743
Change 800 to a define
2012-02-18 21:13:28 -08:00
Jason Short
83ad721b73
added Axis_Lock params
2012-02-18 21:13:06 -08:00
Jason Short
0517ed5199
updated throttle range
2012-02-18 21:11:06 -08:00
Jason Short
669e8e34ea
added a limit to range output
2012-02-18 21:08:17 -08:00
Jason Short
aa57fce9f4
some better defaults for JDrones
2012-02-18 14:23:21 -08:00
Randy Mackay
e3c24fbce8
ArduCopter - fix for yaw control on Octa Quad Plus frame.
2012-02-18 22:04:09 +09:00
Randy Mackay
b55db247ca
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
Randy Mackay
cd89258294
ArduCopter - updated version to 2.4
2012-02-18 18:44:29 +09:00
Andrew Tridgell
db4fef174b
ACM: expanded EEPROM parameter area by 256 bytes
2012-02-18 10:51:57 +11:00
Andrew Tridgell
6b357fc66b
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
677df0fe1c
added Rate_D tuning value
2012-02-17 15:23:59 -08:00
Jason Short
0d5f7ca072
upped rate loop to 250hz
2012-02-17 15:23:59 -08:00
Jason Short
03aa28224b
re-implemented WII Dampening filter for Marco.
2012-02-16 22:38:23 -08:00
Jason Short
9c7b8586d5
Adjusted gains to move closer to Marco's tests
2012-02-16 22:19:39 -08:00
Jason Short
75919436ac
added extra gain logging
2012-02-16 22:09:22 -08:00
Jason Short
cbe297b634
scaled X velocity
2012-02-16 22:09:22 -08:00
Jason Short
6732f0934a
cast to float
2012-02-16 22:09:21 -08:00
Jason Short
6913400221
cast D term to float just in case
2012-02-16 22:09:21 -08:00
Jason Short
43e695b1ac
removed some unused vars,
...
formatting, made loop speed same as PIDT1 to eliminate variable.
2012-02-16 22:09:21 -08:00
Jason Short
b070225366
CH 6 Range setup
2012-02-15 11:47:54 -08:00
Jason Short
bb4c02fbff
Added acro_p to the params
2012-02-15 11:29:25 -08:00
Jason Short
f2b6b86265
allow auto-land if failsafe is triggered
2012-02-15 10:53:54 -08:00
Jason Short
efb451e475
Marco's updated Motor testing code
2012-02-15 10:49:35 -08:00
Jason Short
f9296796fd
Added lengthy note about motor testing
2012-02-15 10:49:11 -08:00
Jason Short
0b011e3cd3
added option in code for Loiter specific gains
2012-02-15 09:10:15 -08:00
Jason Short
101979ed7b
AP slew rate
2012-02-15 09:10:15 -08:00
Jason Short
f20952df49
new defaults for params
2012-02-15 09:10:15 -08:00
Jason Short
11d1973abd
Added Acro_P
2012-02-15 09:10:14 -08:00
Jason Short
67892cd8df
synced params
2012-02-15 09:10:14 -08:00
Jason Short
c916a87a78
added RTL_land_enabled
...
added auto_pilot slew rate
2012-02-15 09:10:14 -08:00
Jason Short
eee43608de
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
Jason Short
4ecbb19dcd
Added range setting via a parameter for CH6 tuning
2012-02-15 09:10:14 -08:00
Jason Short
ff627a8986
removed unused Vars
2012-02-13 15:25:23 -08:00
Jason Short
a69dc32020
Lowered for Jani
2012-02-13 15:25:23 -08:00
Andrew Tridgell
153575a01c
token is 16 bits now
2012-02-13 16:22:53 +11:00
Andrew Tridgell
16a5b5c3ee
added AP_Param::show_all()
...
this moves the logic into common code
2012-02-13 16:22:52 +11:00
Andrew Tridgell
781617cae0
token size for first()/next() is now 16 bits
2012-02-13 16:22:52 +11:00
Andrew Tridgell
50f9d12ad5
go back to 1024 bytes for variables in EEPROM
2012-02-13 16:22:52 +11:00
Andrew Tridgell
f5f6e2d4ec
added group indexes to GCS_MAVLINK class
2012-02-13 16:22:52 +11:00
Andrew Tridgell
d2a4091716
fixed apm2beta build with AP_Param
2012-02-13 16:22:52 +11:00
Andrew Tridgell
1bf832de2d
the ACM parameters have a max size of 1114 bytes
...
to ensure that all parameters can be saved, expand parameter area by
256 bytes
2012-02-13 16:22:52 +11:00
Andrew Tridgell
1af6f08b1c
adapted main ACM code for AP_Param
2012-02-13 16:22:52 +11:00
Andrew Tridgell
da1526ced2
update ACM MAVLink code for AP_Param
2012-02-13 16:22:52 +11:00
Andrew Tridgell
f363d0542c
fixed warning in Log build
2012-02-13 16:22:52 +11:00
Andrew Tridgell
55d0ad3255
update main parameter code for AP_Param in ACM
2012-02-13 16:22:52 +11:00
Andrew Tridgell
2133b9fb08
log: fixed some integer size errors
...
need to be careful with the types passed to printf()
2012-02-12 20:38:37 +11:00
Pat Hickey
abd85f99a7
Makefile: extra convenience target for apm2hexa
2012-02-11 16:05:51 -08:00
Pat Hickey
0ad15e4fff
ArduCopter Hexa output_motor_test: individually select all 6 motors
...
* each of the 6 hexacopter motors can be selected individually
by moving the joystick to extremes.
* previously, this was built from the quadcopter output_motor_test
and some motors (left/right motors on +, front/back motors on X)
were only selectable as pairs.
2012-02-11 16:05:51 -08:00
Pat Hickey
81ce8d346e
ArduCopter setup motors: print basic instructions.
2012-02-11 16:05:51 -08:00
Pat Hickey
2022c1bab0
ArduCopter APM_Config.h: add sample custom channel config
...
* uses new config variables introduced in 8a19543fd1e09621ba
2012-02-11 16:05:51 -08:00
Pat Hickey
db4195b7a0
ArduCopter Channel Config: config vars for user override of MOT_n mapping
...
* config variable CONFIG_CHANNELS has possible values
CHANNEL_CONFIG_DEFAULT or CHANNEL_CONFIG_CUSTOM
* config_channels.h only provides APM1/APM2 mapping when
CONFIG_CHANNELS == CHANNEL_CONFIG_DEFAULT
2012-02-11 16:05:51 -08:00
Jason Short
0315221bd1
Cosmetic tweaks for tuning
2012-02-11 15:29:11 -08:00
Jason Short
f369a02aab
Gain adjustments for 3d frame.
2012-02-11 15:29:11 -08:00
Jason Short
c39cafc3c5
reset All for Auto takeoff
2012-02-10 22:54:29 -08:00
Jason Short
7c45d2bdc3
reset Rate_I for takeoff
2012-02-10 22:50:56 -08:00
Jason Short
8cc480f7e6
upped max target speed to center of loiter
2012-02-10 22:46:27 -08:00
Jason Short
1851dd541b
Made Yaw Hold universal for Acro
2012-02-10 22:32:55 -08:00
Jason Short
32e7b075d9
Moved to Rate_I by default for Jani to test
2012-02-10 22:32:55 -08:00
Jason Short
4f44ccc182
get_acro_yaw added
2012-02-10 22:32:55 -08:00
Jason Short
927fc25421
made Yaw work like Roll and Pitch
2012-02-10 22:32:55 -08:00
Jason Short
480be14eb0
Minimize the Yaw Deadzone
2012-02-10 22:32:55 -08:00
Jason Short
b29384581a
Up Nav_Rate_P
2012-02-09 22:38:36 -08:00
Jason Short
7cb4711e8e
reverted to Save_WP now that CH7 triggering is fixed
2012-02-09 22:33:01 -08:00
Jason Short
8a1c2165b2
Fix for disabled CH7 value triggering WP saving
2012-02-09 22:32:04 -08:00
Jason Short
a27bd9db46
2.3.1v
2012-02-09 22:22:01 -08:00
Jason Short
fb003e9742
Enabled PWM test
2012-02-09 22:22:01 -08:00
Jason Short
e5a0959394
Found missing Break in Switch statement.
2012-02-09 22:22:01 -08:00
Jason Short
471bd12799
faster FS timer
2012-02-09 22:22:00 -08:00
Jason Short
0f3c3bb563
Loiter update - removed compensation curve. Did some more math and its's not worth the effort, harder to tune.
2012-02-09 22:22:00 -08:00
Jason Short
d00d6b8c64
Added safety to prevent shutdown of motors during Auto-land
2012-02-09 22:22:00 -08:00
Jason Short
f3547a04a5
Acro fix - we had lost the scaling of Acro mode in 2.1. This restores that.
2012-02-09 22:22:00 -08:00
Randy Mackay
7745239c13
ArduCopter - CH7 - changed default to CH7_DO_NOTHING
2012-02-09 20:26:01 +09:00
levinemax
0d3369af45
Motor mix update for X8 (octo quad),
...
diagrams:
http://wiki.ardupilot-mega.googlecode.com/git/images/APM1/ACM-X8_APM14.jpg
http://wiki.ardupilot-mega.googlecode.com/git/images/APM2/FRAMES_X8.jpg
2012-02-09 03:57:40 +00:00
Randy Mackay
31ff9a9318
ArduCopter - Camera.pde - turn off camera pitch control (which uses channel 6) when channel 6 is being used for tuning.
2012-02-08 23:51:53 +09:00
Randy Mackay
e9ef79c42d
Arducopter - reduced rate of decent when landing using sonar
2012-02-08 22:46:32 +09:00
Randy Mackay
54fe857236
ArduCopter - Log.pde - fixed Log_Read_Control_Tuning so that it doesn't read too many bytes. Also fixed up some comments
2012-02-05 16:56:51 +09:00
Randy Mackay
bde1ebb56e
TradHeli - tiny fix for yaw_offset. Yaw_offset is used to proactively counteract rotational force caused by changing the collective pitch (i.e. rapidly climbing or decending). There was a small bug for when the collective pitch is negative (i.e. powered decent) in which case the offset was in the incorrect direction.
2012-02-05 11:04:38 +09:00
Andrew Tridgell
c95a295fd6
allow for lower serial baud rates
...
not many people will use less than 9600 baud, except for those wanting
to test extreme range radios, which is what I'm trying to do :-)
2012-02-04 19:07:18 +11:00
Jason Short
d161c0451f
fix issue with low throttle in air
2012-02-03 13:29:59 +00:00
Michael Oborne
484b688700
fix issue 502
...
to identify quad over mavlink
2012-02-03 06:53:08 +08:00