Leonard Hall
733b89cf3c
AP_MotorsHexa: call noramlise_rpy_factors in motor setup
2016-04-01 11:59:30 +09:00
Leonard Hall
8f8eb7e214
AP_MotorsMatrix: add normalise_rpy_factors
2016-04-01 11:59:30 +09:00
Randy Mackay
e7ba5ae451
AP_MotorsMulticopter: fix get_hover_throttle_as_high_end_pct
2016-04-01 11:59:30 +09:00
Randy Mackay
4514e8d100
AP_MotorsHeli: remove slow_start
2016-04-01 11:59:30 +09:00
Randy Mackay
c41a5dc3bd
AP_MotorsMulticopter: remove slow_start
...
This has been replaced with the spool logic feature
2016-04-01 11:59:30 +09:00
Randy Mackay
b436dde60c
AP_Motors: remove slow_start
...
This has been replaced with the spool logic feature
2016-04-01 11:59:30 +09:00
Randy Mackay
e863f0b9c0
AP_MotorsHeli: use AP_Motors set_radio_passthrough in 0 to 1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
68a6408a23
AP_MotorsMulticopter: remove set_radio_passthrough
...
This has been moved up to the AP_Motors class
2016-04-01 11:59:30 +09:00
Randy Mackay
5ba3a6c536
AP_Motors: add set_radio_passthrough
2016-04-01 11:59:30 +09:00
Randy Mackay
fe4733121d
AP_MotorsHeli_Single: ext_gyro_gain in 0 to 1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
e1e4e37c92
AP_MotorsHeli_Single: use RSC class's get_idle_output function
...
No functional change
2016-04-01 11:59:30 +09:00
Randy Mackay
2cdc5da226
AP_MotorsHeli_Single: rotor speed functions in 0 to 1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
68945df45d
AP_MotorsHeli_Single: write_aux uses 0 to 1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
b3334c3ae5
AP_MotorsHeli: rotor speed function in 0 to 1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
832a226f13
AP_MotorsHeli_RSC: rotor speeds in 0 to 1 range
...
Also move recalc_scalers functionality into update_rotor_ramp and update_rotor_runup
2016-04-01 11:59:30 +09:00
Randy Mackay
4775843e3c
AP_MotorsHeli_RSC: add get_idle_output accessor
2016-04-01 11:59:30 +09:00
Randy Mackay
a63dba5b13
AP_MotorsHeli_Single: servo_test becomes protected
2016-04-01 11:59:30 +09:00
Randy Mackay
cefd114964
AP_MotorsHeli_Single: remove unused accessors for tail_type, ext_gyro_gain, phase_angle
2016-04-01 11:59:30 +09:00
Randy Mackay
f2fc39943e
AP_MotorsHeli_Single: remove unused delta_phase_angle
2016-04-01 11:59:30 +09:00
Randy Mackay
381f538aca
AP_HotorsHeli_Single: remove unused definition
2016-04-01 11:59:30 +09:00
Randy Mackay
27fed39671
AP_MotorsHeli_Single: remove roll_scalar, pitch_scalar
2016-04-01 11:59:30 +09:00
Randy Mackay
756236af35
AP_MotorsHeli: remove unused delta_phase_angle
2016-04-01 11:59:30 +09:00
Randy Mackay
16ac92be82
AP_MotorsHeli: remove unused definitions
2016-04-01 11:59:30 +09:00
Randy Mackay
aeef6692cb
AP_MotorsHeli: remove unused roll_scalar, pitch_scalar, collective_range
2016-04-01 11:59:30 +09:00
Randy Mackay
1a690772e1
AP_Motors: example sketch outputs headers
2016-04-01 11:59:30 +09:00
Randy Mackay
361b64f817
AP_Motors: example sketch uses AP_Motors set_desired_spool_state
2016-04-01 11:59:30 +09:00
Randy Mackay
d4998089c8
AP_Motors: example sketch provides roll, pitch, yaw in -1 to +1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
93597d152f
AP_Motors: example sketch can test helicopter
2016-04-01 11:59:30 +09:00
Randy Mackay
47873c1d34
AP_MotorsHeli: fix RSC_SETPOINT param description
2016-04-01 11:59:30 +09:00
Randy Mackay
bcbe6b279e
AP_MotorsHeli: explicitely set ServoControlModes enum
...
Non functional change but this enum is tied to a parameter value so the exact value is important
2016-04-01 11:59:30 +09:00
Randy Mackay
8febcedf4b
AP_MotorsHeli: remove unnecessary static declaration
2016-04-01 11:59:30 +09:00
Randy Mackay
f022e504b0
AP_MotorsHeli: remove unused get_collective_mid and out methods
2016-04-01 11:59:30 +09:00
Randy Mackay
a18722a2fc
AP_MotorsHeli: output_min uses new move_actuators in -1 to +1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
1197a439af
AP_MotorsHeli: move_actuators to -1 to +1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
8057d2fc58
AP_MotorsMatrix: remove unnecessary virtual declarations
2016-04-01 11:59:30 +09:00
Randy Mackay
71866be652
AP_MotorsHeliSingle: move_yaw in -1 to +1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
f6120b801b
AP_MotorsHeliSingle: move_actuators in -1 to +1 range
2016-04-01 11:59:30 +09:00
Randy Mackay
61cf8e1698
AP_Motors: add calc_pwm_output_1to1 and 0to1
...
Convenience functions to convert from -1 to +1 input to pwm output
2016-04-01 11:59:30 +09:00
Randy Mackay
56f05e6a96
AP_Motors: add set_desired_spool_state
2016-04-01 11:59:30 +09:00
Randy Mackay
2716126e40
AP_MotorsMulticopter: use desired_spool from AP_Motors class
2016-04-01 11:59:30 +09:00
Randy Mackay
93d1f1969c
AP_MotorsMulticopter: remove set_desired_spool_state
...
This is being moved to AP_Motors
2016-04-01 11:59:30 +09:00
Randy Mackay
4dd4d38b9b
AP_MotorsMulticopter: fix output_to_motors definition
2016-04-01 11:59:30 +09:00
Randy Mackay
3ae9b606ff
AP_Motors: remove unnecessary output_to_motors declaration
...
This is declared down in the AP_MotorsMulticopter
2016-04-01 11:59:30 +09:00
Randy Mackay
f2ff9e34ad
AP_Motors: remove output_armed_zero_throttle
2016-04-01 11:59:30 +09:00
Leonard Hall
879e12ba43
AP_MotorsHeli_Single: roll, pitch, yaw input in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
97f0b00e3e
AP_MotorsHeli: roll, pitch, yaw input in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
b701c109cf
AP_MotorsSingle: roll, pitch, yaw input in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
1a308c2eb8
AP_MotorsCoax: roll, pitch, yaw input in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
4d208fcd47
AP_MotorsTri: roll, pitch, yaw input in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
027284fba0
AP_MotorsMatrix: roll, pitch, yaw input in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
ae4e495698
AP_Motors: roll, pitch, yaw input in -1 to +1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
90b3d7ca39
AP_Motors: example sketch tests stab patch more thoroughly
2016-04-01 11:59:30 +09:00
Leonard Hall
cef3f42df5
AP_Motors: fix example make.inc
2016-04-01 11:59:30 +09:00
Leonard Hall
d2a1cdf906
MotorsHeli: replace throttle_control_input with throttle_in
...
throttle_control_input was 0 to 1000 range, throttle_in is 0 to 1
2016-04-01 11:59:30 +09:00
Leonard Hall
f02e8f8e01
AP_MotorsHeli: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
5cd4b78918
AP_MotorsSingle: remove reverse parameters
...
No longer necessary because we can use individual servo reverse params
2016-04-01 11:59:30 +09:00
Leonard Hall
6264159f4d
AP_MotorsSingle: move servo objects into Single class
2016-04-01 11:59:30 +09:00
Leonard Hall
21d304b86d
AP_MotorsSingle: output_to_motors implements spool logic
2016-04-01 11:59:30 +09:00
Leonard Hall
24a100e429
AP_MotorsSingle: stability patch uses 0 to 1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
cffdced838
AP_MotorsSingle: support 4 servo outputs
2016-04-01 11:59:30 +09:00
Leonard Hall
f53d6e95e8
AP_MotorsSingle: rename _rev_roll to _roll_reverse
...
Also rename _rev_pitch to _pitch_reverse and _rev_yaw to _yaw_reverse
2016-04-01 11:59:30 +09:00
Leonard Hall
4db73d86af
AP_MotorsSingle: remove output_disarmed
2016-04-01 11:59:30 +09:00
Leonard Hall
46ab198ebc
AP_MotorsSingle: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
40c18891cf
AP_MotorsCoax: remove reverse parameters
...
No longer necessary because we can use individual servo reverse params
2016-04-01 11:59:30 +09:00
Leonard Hall
260006dcb3
AP_MotorsCoax: move servo objects into Coax class
2016-04-01 11:59:30 +09:00
Leonard Hall
110d41ee24
AP_MotorsCoax: fix SV_SPEED param description
2016-04-01 11:59:30 +09:00
Leonard Hall
8d8f52b22f
AP_MotorsCoax: output_to_motors implements spool logic
2016-04-01 11:59:30 +09:00
Leonard Hall
b85c20bb65
AP_MotorsCoax: stability patch in 0 to 1 range
...
Also removes setting of limits in stability patch
sets outputs for additional 2 servos
2016-04-01 11:59:30 +09:00
Leonard Hall
7df9b2eb8c
AP_MotorsCoax: support 4 servo outputs
2016-04-01 11:59:30 +09:00
Leonard Hall
7d6c6b5556
AP_MotorsCoax: rename _rev_roll to _roll_reverse
...
Also rename _rev_pitch to _pitch_reverse and _rev_yaw to _yaw_reverse
2016-04-01 11:59:30 +09:00
Leonard Hall
5cb44901ff
AP_MotorsCoax: remove output_disarmed
2016-04-01 11:59:30 +09:00
Leonard Hall
3df52aad5f
AP_MotorsCoax: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
45a16d6dad
AP_MotorsTri: implement output_to_motors for spool logic
2016-04-01 11:59:30 +09:00
Leonard Hall
d0a7579fa0
AP_MotorsTri: stability patch in 0 to 1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
80f77bc30b
AP_MotorsTri: output_min does not set limits
2016-04-01 11:59:30 +09:00
Leonard Hall
ba659be5cb
AP_MotorsTri: rename _yaw_servo_reverse to _yaw_reverse
2016-04-01 11:59:30 +09:00
Leonard Hall
8c4d6d6fbe
AP_MotorsTri: remove output_disarmed
2016-04-01 11:59:30 +09:00
Leonard Hall
a2fdcfaf3f
AP_MotorsTri: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
397940a9a4
AP_MotorsMatrix: implement output_to_motors
2016-04-01 11:59:30 +09:00
Leonard Hall
cdec8f3387
AP_MotorsMatrix: remove output_disarmed
2016-04-01 11:59:30 +09:00
Leonard Hall
b965857229
AP_MotorsMatrix: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
d0c6d087a5
AP_MotorsMatrix: do not set limits in output_min
2016-04-01 11:59:30 +09:00
Leonard Hall
3fef60da45
AP_MotorsMatrix: stability patch in 0 to 1 range
...
Includes storing motor level thrusts to _thrust_rpyt_out
rename _throttle_thr_mix_desired to _throttle_rpy_mix_desired
rename _throttle_thr_mix to _throttle_rpy_mix
use get_hover_throttle_as_high_end_pct
use throttle_thrust_max updated by multicopter spool logic
do not set limits in stability patch
2016-04-01 11:59:30 +09:00
Leonard Hall
5841310ac7
AP_MotorsMulticopter: update_throttle_filter limits throttle to 0 to 1
2016-04-01 11:59:30 +09:00
Leonard Hall
420b90953c
AP_MotorsMulticopter: throttle_radio_min, max to multicopter class
...
Moved in from Motors class, only ever used by multicopters
No functional change
2016-04-01 11:59:30 +09:00
Leonard Hall
2c9a02066d
AP_MotorsMulticopter: remove unused functions and variables
2016-04-01 11:59:30 +09:00
Leonard Hall
290e657f61
AP_MotorsMulticopter: update_battery_resistance captures resting voltage while disarmed
...
Previously it could also capture this when the input throttle was zero
2016-04-01 11:59:30 +09:00
Leonard Hall
bc42cb2a66
AP_MotorsMulticopter: update_battery_resistance uses get_throttle accessor
2016-04-01 11:59:30 +09:00
Leonard Hall
8228d9e72c
AP_MotorsMulticopter: current_limit_max_throttle uses get_throttle accessor
2016-04-01 11:59:30 +09:00
Leonard Hall
3cbc15bb5b
AP_MotorsMulticopter: add get_throttle_thrust_max accessor
2016-04-01 11:59:30 +09:00
Leonard Hall
d7dc37bda0
AP_MotorsMulticopter: remove apply_thrust_curve_and_volt_scaling_pwm
2016-04-01 11:59:30 +09:00
Leonard Hall
06f25b669d
AP_MotorsMulticopter: add roll, pitch, throttle and yaw pass through
2016-04-01 11:59:30 +09:00
Leonard Hall
d7c27c949c
AP_MotorsMulticopter: add spool_up_complete accessor function
2016-04-01 11:59:30 +09:00
Leonard Hall
983d2dc97a
AP_MotorsMulticopter: update_throttle_filter does not set throttle_in
...
get_throttle method now used to access filtered throttle
2016-04-01 11:59:30 +09:00
Leonard Hall
3fc3858fbd
AP_MotorsMulticopter: set_throttle_range calcs _min_throttle before use
2016-04-01 11:59:30 +09:00
Leonard Hall
b26318c178
AP_MotorsMulticopter: output_logic implements spooling
2016-04-01 11:59:30 +09:00
Leonard Hall
b7fe6aa16e
AP_MotorsMulticopter: remove update_max_throttle
2016-04-01 11:59:30 +09:00
Leonard Hall
be64c71065
AP_MotorsMulticopter: add get_current_limit_max_throttle
...
returns the current limited maximum throttle as a number between 0 ~ 1 in the range throttle_min to throttle_max
2016-04-01 11:59:30 +09:00
Leonard Hall
64ba45a683
AP_MotorsMulticopter: add spin_when_armed_low_end_pct
...
returns the spin-when-armed value as a number from 0 to 1 in the range 0 to throttle_min
2016-04-01 11:59:30 +09:00
Leonard Hall
49819d822f
AP_MotorsMulticopter: add get_hover_throttle_as_high_end_pct
...
Returns hover throttle as a number from 0 to 1 in the range from throttle_min to throttle_max
2016-04-01 11:59:30 +09:00
Leonard Hall
e625c105a4
AP_MotorsMulticopter: remove get_throttle_warn
2016-04-01 11:59:30 +09:00
Leonard Hall
3854f2eda7
AP_MotorsMulticopter: rename _throttle_thr_mix_desired to _throttle_rpy_mix_desired
...
No functional change
Also rename _throttle_thr_mix to _throttle_rpy_mix
2016-04-01 11:59:30 +09:00
Leonard Hall
65bbc23a08
AP_MotorsMulticopter: apply_thrust_curve_and_volt_scaling in 0 to 1 range
...
existing equivalent pwm function becomes apply_thrust_curve_and_volt_scaling_pwm
2016-04-01 11:59:30 +09:00
Leonard Hall
cb39f8aab7
AP_MotorsMuticopter: calc_thrust_to_pwm converts thrust in 0 to 1 range to pwm
...
pwm output is always between throttle min and throttle max
2016-04-01 11:59:30 +09:00
Leonard Hall
80ddce103f
AP_Motors: move set_throttle_filter_cutoff declaration
...
No functional change
2016-04-01 11:59:30 +09:00
Leonard Hall
649a8c461d
AP_Motors: remove unused throttle_radio_min, max
...
Moved to AP_MotorsMulticopter
2016-04-01 11:59:30 +09:00
Leonard Hall
e84011603c
AP_Motors: remove unused throttle_pwm_scalar, rpy_pwm_scalar
2016-04-01 11:59:30 +09:00
Leonard Hall
8e1351e474
AP_Motors: init member to resolve compiler warning
2016-04-01 11:59:30 +09:00
Leonard Hall
ed51c7a28d
AP_Motors: replace throttle_control_input with throttle_in
...
throttle_control_input was 0 to 1000 range, throttle_in is 0 to 1
2016-04-01 11:59:30 +09:00
Leonard Hall
c96b91efb6
AP_Motors: add output_to_motors
2016-04-01 11:59:30 +09:00
Leonard Hall
ac579685df
AP_Motors: remove output_armed_not_stabilizing
2016-04-01 11:59:30 +09:00
Leonard Hall
666a92ae2f
AP_Motors: set_throttle accepts 0 to 1 range
2016-04-01 11:59:30 +09:00
Leonard Hall
3c74b4cc69
Motors: add get_roll_thrust which returns roll input in range 0 to 1
...
Also added get_pitch_thrust, get_yaw_thrust
2016-04-01 11:59:30 +09:00
Peter Barker
a66da7be00
AP_Motors: correct parameter documenation
2016-03-17 16:10:10 +11:00
Lucas De Marchi
7d9153feb8
AP_Motors: replace header guard with pragma once
2016-03-16 18:40:42 +11:00
dgrat
5148e41c1a
AP_Math: Cleaned macro definitions
...
Moved Definitions into a separate header. Replaced PI with M_PI and
removed the M_PI_*_F macros.
2016-02-27 02:51:33 -03:00
Jonathan Challinger
9a09a86bb8
AP_Motors: add AP_MOTORS_DENSITY_COMP_DISABLED option
2016-01-27 09:18:09 +09:00
Gustavo Jose de Sousa
c2e3f05dbf
waf: ardupilotwaf: prefix build context methods with ap_
...
It helps to distinguish between things from waf and things from ardupilotwaf.
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
3d22490397
waf: examples: use methods from bld instead of ardupilotwaf
2016-01-22 20:10:29 -02:00
Gustavo Jose de Sousa
d281067bcc
waf: make example binaries be placed in 'examples' dir
...
This commit makes examples' wscripts use ardupilotwaf.example() instead of
ardupilot.program().
2016-01-15 16:46:41 -02:00
Andrew Tridgell
b187a0c6eb
AP_Motors: added quadplane frame type
...
this puts the motors on outputs 5 to 8, to leave the first 4 for the
plane
2016-01-09 07:38:51 +11:00
Randy Mackay
b742ee9cfb
AP_Motors: fix example sketch
2016-01-08 18:36:47 +09:00
Randy Mackay
6c458b07cb
MotorsHeli_RSC: resolve compiler warning re init order
2016-01-07 12:31:49 +09:00
Andrew Tridgell
7c9ee9363b
AP_Motors: added rc_map_mask() function
2016-01-06 22:09:40 +11:00
Andrew Tridgell
dfccf8f713
AP_Motors: also wrap set_freq and enable_ch for motor mapping
2016-01-06 22:09:40 +11:00
Andrew Tridgell
77af00c5e1
AP_Motors: allow arbitrary mapping of channels on multirotors
...
using RCn_FUNCTION with motor1, motor2 etc
2016-01-06 22:09:40 +11:00
Andrew Tridgell
1b682e3c8f
AP_Motors: swash servos are output only
2016-01-05 06:41:51 +11:00
Andrew Tridgell
d31ba2b380
AP_Motors: added rc_write function
...
this is intended to make remapping motors and rescaling output easier
2016-01-04 16:56:54 +11:00
Andrew Tridgell
79c90d37f6
AP_Motors: apply HELI_RSC output type if available
2016-01-04 16:14:09 +11:00
Andrew Tridgell
e1f4814068
AP_Motors: only set output side of range for RSC
2016-01-04 11:23:38 +09:00
Jonathan Challinger
b803907163
AP_Motors: fix example build
2015-12-29 10:46:35 -08:00
Lucas De Marchi
8d252955f5
AP_Motors: don't link unused AP_Curve library
2015-12-28 10:23:23 -02:00
Lucas De Marchi
a096703b06
Global: don't link with AP_Progmem
...
AP_Progmem is not used anymore.
2015-12-27 15:58:12 -02:00
Don Gagne
ed7cd8d3f4
AP_Motors: fix invalid Range meta data
2015-12-27 16:10:44 +11:00
Robert Lefebvre
3a13db9333
AP_MotorsHeli: Add more parameter checks.
2015-12-07 14:51:42 +09:00
Lucas De Marchi
c9d1456a66
AP_Motors: remove unused AP_ADC_AnalogSource
2015-12-03 13:32:43 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d
waf: add waf support
2015-12-03 07:54:30 +11:00
Lucas De Marchi
2591261af6
Global: rename min and max macros to uppercase
...
The problem with using min() and max() is that they conflict with some
C++ headers. Name the macros in uppercase instead. We may go case by
case later converting them to be typesafe.
Changes generated with:
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)max(/\1MAX(/g'
git ls-files '*.cpp' '*.h' -z | xargs -0 sed -i 's/\([^_[:alnum:]]\)min(/\1MIN(/g'
2015-12-01 16:28:09 -02:00
Andrew Tridgell
47b9f6598a
AP_Motors: allow change to heli rotor speed controls while armed
...
this helps a lot with tuning for gas helis
2015-11-27 15:12:03 +09:00
Caio Marcelo de Oliveira Filho
513f4fe986
AP_Motors: example uses millis/micros/panic functions
2015-11-20 12:32:16 +09:00
Andrew Tridgell
8f4ce7f20b
build: removed all nocore.inoflag files
...
these were APM2 specific
2015-11-16 08:05:17 +11:00
Robert Lefebvre
b89b0d7f9e
AP_MotorsHeli_Single: Move Servo_Test static variables to be class members
2015-11-12 19:37:37 +09:00
Robert Lefebvre
bb7f8c1999
AP_MotorsHeli: Create Servo Test functionality
2015-11-12 19:37:34 +09:00
Robert Lefebvre
eeb544d098
AP_MotorsHeli: Create SV_MAN=5=Oscillate servo setup mode.
2015-11-12 19:37:33 +09:00
Robert Lefebvre
4443ca9602
AP_MotorsHeli: Yaw servo to move when using SV_MAN param for setup.
2015-11-12 19:37:32 +09:00
Robert Lefebvre
c2dff8749e
AP_MotorsHeli: Change SV_MAN=2=Center to output _col_mid_pwm instead of 0 collective
2015-11-12 19:37:31 +09:00
Fredrik Hedberg
212eb85ff2
AP_MotorsHeli: Add min and max collective to manual servo modes
2015-11-12 19:37:30 +09:00
Robert Lefebvre
22729e6927
AP_MotorsHeli: Change servo manual #defines into enum
2015-11-12 19:37:29 +09:00
Robert Lefebvre
750728fa1e
AP_MotorsHeli_Single: Add motor enable aux output functionality
2015-11-12 19:37:28 +09:00
Fredrik Hedberg
5fd7fe3e53
AP_Motors: Add manual servo override to center swash-plate for set-up in AP_MotorsHeli.
2015-11-12 19:37:25 +09:00