Commit Graph

617 Commits

Author SHA1 Message Date
Lucas De Marchi
9f0ff6ec24 GCS_MAVLink: remove unused AP_ADC_AnalogSource 2015-12-03 13:32:44 +11:00
Andrew Tridgell
3fcda53d11 GCS_MAVLink: regenerated headers 2015-12-03 13:21:52 +11:00
Peter Barker
31b8432545 GCS_MAVLink: add remote logging messages 2015-12-03 13:21:51 +11:00
Caio Marcelo de Oliveira Filho
6e7b73610d waf: add waf support 2015-12-03 07:54:30 +11:00
Tom Pittenger
c0c3500d06 GCS_MAVLink: regenerate headers 2015-12-01 17:12:20 -08:00
Tom Pittenger
5a9e632ace GCS_MAVLink: added squawk to ADSB_vehicle msg 2015-12-01 17:11:44 -08:00
Andrew Tridgell
c34100f6a2 GCS_MAVLink: support FMUv4 2015-11-27 18:54:30 +11:00
Andrew Tridgell
76209de08e GCS_MAVLink: regenerate headers 2015-11-26 10:25:08 +11:00
Andrew Tridgell
2c7bfc7984 GCS_MAVLink: update ADSB_VEHICLE message 2015-11-26 10:24:56 +11:00
Luis Vale Gonçalves
5e290daac5 GCS_MAVLink: libraries_Text_revision
text revision of messages
2015-11-26 08:10:15 +11:00
Tom Pittenger
4b5af2d726 GCS_MAVLink: files generated from new ADSB_VEHICLE msg 2015-11-23 19:45:40 +11:00
Tom Pittenger
af93c8da4e GCS_MAVLink: new mavlink msg ADSB_VEHICLE 2015-11-23 19:45:40 +11:00
Caio Marcelo de Oliveira Filho
a096c2b72c GCS_MAVLink: use millis/micros/panic functions 2015-11-20 12:35:34 +09:00
Andrew Tridgell
cefb32566f GCS_MAVLink: fixed corner case in MAVLink routing
when a GCS sends a command to a system ID that isn't our system ID,
the GCS may use a non-advertised component ID such as
MAV_COMP_ID_SYSTEM_CONTROL. Those packets should be fowarded to the
target system even though the target system has not specifically
advertised that target sysid/compid tuple.
2015-11-13 13:38:53 +11:00
lvale
9d88508cc3 GCS_MAVLink: handle_mission_item text severity to info 2015-11-10 13:11:34 +09:00
Peter Barker
368363531f GCS_MAVLink: provide facilities to send param values to all GCS 2015-11-09 09:23:20 +11:00
Paul Riseborough
dfdacf2ddc GCS_MAVLink: Accommodate change to EKF2 interface
Return euler angles for primary instance
2015-11-08 15:37:28 +11:00
Paul Riseborough
243888e923 GCS_MAVLink: accomodate change in EKF2 interface 2015-11-08 15:37:28 +11:00
Andrew Tridgell
49799257ea GCS_MAVLink: handle available memory of over 64k in mavlink 2015-11-05 16:09:00 +11:00
Lucas De Marchi
c32d323cd6 GCS_MAVLink: remove check for GPS_RTK_AVAILABLE 2015-11-04 12:14:15 +11:00
Lucas De Marchi
c75c1d84d9 AP_GPS: remove check for GPS_MAX_INSTANCES
All supported boards may have more than 1 GPS instance.
2015-11-04 12:14:15 +11:00
Lucas De Marchi
45c472205b GCS_MAVLink: remove check for AVR CPUs
Remove the checks for HAL_CPU_CLASS > HAL_CPU_CLASS_16 and
HAL_CPU_CLASS >= HAL_CPU_CLASS_75. Corresponding dead code will be
removed on separate commits.
2015-11-04 12:14:14 +11:00
Lucas De Marchi
039f42d916 GCS_MAVLink: remove checks for HAL_BOARD_APM2 and HAL_BOARD_APM1 2015-11-04 12:14:13 +11:00
Lucas De Marchi
5244559010 Minimize AP_Progmem.h includes
Most of AP_Progmem is already gone so we can stop including it in most
of the places. The only places that need it are the ones using
pgm_read_*() APIs.

In some cases the header needed to be added in the .cpp since it was
removed from the .h to reduce scope. In those cases the headers were
also reordered.
2015-10-30 14:35:32 +09:00
Lucas De Marchi
1b07dabeb7 Replace prog_char and prog_char_t with char
prog_char and prog_char_t are now the same as char on supported
platforms. So, just change all places that use them and prefer char
instead.

AVR-specific places were not changed.
2015-10-30 14:35:30 +09:00
Lucas De Marchi
af88ebf477 GCS_MAVLink: remove send_text_P() in favor of send_text() 2015-10-30 14:35:18 +09:00
Lucas De Marchi
831d8acca5 Remove use of PROGMEM
Now variables don't have to be declared with PROGMEM anymore, so remove
them. This was automated with:

    git grep -l -z PROGMEM | xargs -0 sed -i 's/ PROGMEM / /g'
    git grep -l -z PROGMEM | xargs -0 sed -i 's/PROGMEM//g'

The 2 commands were done so we don't leave behind spurious spaces.

AVR-specific places were not changed.
2015-10-30 14:35:16 +09:00
Lucas De Marchi
84d5fb006f Remove use of Util::{v,}snprintf_P()
These are now the same function as Util::snprintf().
2015-10-30 14:35:05 +09:00
Lucas De Marchi
2c38e31c93 Remove use of PSTR
The PSTR is already define as a NOP for all supported platforms. It's
only needed for AVR so here we remove all the uses throughout the
codebase.

This was automated with a simple python script so it also converts
places which spans to multiple lines, removing the matching parentheses.

AVR-specific places were not changed.
2015-10-30 14:35:04 +09:00
Tom Pittenger
0d36c4c07b GCS_MAVLink: version update after generate 2015-10-30 11:16:30 +09:00
Tom Pittenger
bf9d4b5898 GCS_MAVLink: generate adds abort Alt label in MAV_CMD_NAV_LAND
code is already implemented and released
2015-10-30 11:15:50 +09:00
Randy Mackay
e9cec1203a GCS_MAVLink: version update after generate 2015-10-26 16:28:54 +09:00
Randy Mackay
e51498aa45 GCS_MAVLink: generate after adding DO_SEND_BANNER 2015-10-26 16:28:52 +09:00
Jonathan Challinger
36bb5a25a2 GCS_MAVLink: add MAV_CMD_DO_SEND_BANNER 2015-10-26 16:28:49 +09:00
Peter Barker
38ca9dee03 GCS_MAVLink: use simple log entry number to reference df logs 2015-10-21 10:50:32 +11:00
Lucas De Marchi
36150348bb GCS_MAVLink: remove check for max BARO instances
For all supported boards we allow more than 1 baro instance.
2015-10-21 10:05:18 +11:00
Lucas De Marchi
d1ac6cbd4c GCS_MAVLink: remove check for vibe check
For all supported boards we have vibration check.
2015-10-21 10:05:18 +11:00
Lucas De Marchi
ae77c4b692 GCS_MAVLink: remove check for max INS instances
For all supported boards the maximum number of instances is 3.
2015-10-21 10:05:17 +11:00
Caio Marcelo de Oliveira Filho
09579cb6e3 GCS_MAVLink: remove unnecessary includes 2015-10-21 09:16:10 +11:00
Caio Marcelo de Oliveira Filho
ec52df991c build: compile only the HAL files needed by the board
Instead of requiring every program to specify the HAL related modules,
let the build system do it (in practice everything we compiled depended
on HAL anyway). This allow including only the necessary files in the
compilation.
2015-10-21 09:16:07 +11:00
Caio Marcelo de Oliveira Filho
2e464a53c2 AP_HAL: make code not depend on concrete HAL implementations
The switching between different AP_HAL was happening by giving different
definitions of AP_HAL_BOARD_DRIVER, and the programs would use it to
instantiate.

A program or library code would have to explicitly include (and depend)
on the concrete implementation of the HAL, even when using it only via
interface.

The proposed change move this dependency to be link time. There is a
AP_HAL::get_HAL() function that is used by the client code. Each
implementation of HAL provides its own definition of this function,
returning the appropriate concrete instance.

Since this replaces the job of AP_HAL_BOARD_DRIVER, the definition was
removed.

The static variables for PX4 and VRBRAIN were named differently to avoid
shadowing the extern symbol 'hal'.
2015-10-21 09:16:07 +11:00
Gustavo Jose de Sousa
f0dee75ab3 GCS_MAVLink: use compass get_{field,offsets}() functions
Both functions are equivalent, so we're going to simply use
get_{field,offsets}() instead of get_{field,offsets}_milligauss().
2015-10-15 19:56:08 +09:00
Randy Mackay
d3066fcdad GCS_MAVLink: send compass vector to GCS in milligauss 2015-10-07 21:35:21 +09:00
Randy Mackay
9b96a2c385 GCS_MAVLink: send_home and send_home_all methods 2015-10-03 12:50:42 +09:00
Randy Mackay
88f32bc86f GCS_MAVLink: version update after generate 2015-10-03 12:50:39 +09:00
Randy Mackay
544220b599 GCS_MAVLink: generate after importing home-position messages 2015-10-03 12:50:36 +09:00
Randy Mackay
b84b069080 GCS_MAVLink: home-position message defs from upstream 2015-10-03 12:50:33 +09:00
Andrew Tridgell
7a3b59652f GCS_MAVLink: show EKF2 status via AHRS3 message 2015-09-23 12:22:54 +10:00
Tom Pittenger
583c1fc229 GCS_MAVLink: Add "Abort Alt" description to NAV_LAND mission item p1.
This abort Alt value is the altitude used to climb to if a land is aborted.
2015-09-23 09:25:46 +10:00
Andrew Tridgell
5aa54be718 GCS_MAVLink: send SCALED_PRESSURE3 for 3 baros 2015-09-14 14:27:42 +10:00
Andrew Tridgell
afe1fce94e GCS_MAVLink: regenerate headers 2015-09-14 14:27:42 +10:00
Andrew Tridgell
91623322f9 GCS_MAVLink: added SCALED_PRESSURE3 2015-09-14 14:27:41 +10:00
Daniel Nugent
db8f28f2aa GCS_MAVLink: version update after generating LANDING_TARGET 2015-09-11 20:56:04 +09:00
Daniel Nugent
3aa0063f31 GCS_MAVLink: generate after updating LANDING_TARGET msg 2015-09-11 20:56:03 +09:00
Daniel Nugent
eba8dcffde GCS_MAVLink: update LANDING_TARGET from upstream mavlink 2015-09-11 20:56:02 +09:00
Andrew Tridgell
bc4d37c91e GCS_MAVLink: added severity to send_statustext_all() 2015-09-08 14:29:22 +10:00
Andrew Tridgell
f3e8819d1e GCS_MAVLink: make send_statustext_all() take a format string
this allows for formatted messages to all groundstations in libraries
2015-09-08 13:53:58 +10:00
Siddharth Bharat Purohit
2fb002798c generate.sh 2015-09-03 16:59:14 +10:00
Siddharth Bharat Purohit
3fc47b33e8 message_definition: add autoreboot option for mag cal 2015-09-03 16:59:14 +10:00
Jonathan Challinger
53fe649016 GCS_MAVLink: add MSG_MAG_CAL_PROGRESS and _REPORT 2015-09-03 16:59:11 +10:00
Jonathan Challinger
b2fff2021f GCS_MAVLink: re-generate libraries 2015-09-03 16:59:09 +10:00
Jonathan Challinger
1b485ef6ab GCS_MAVLink: add MAG_CAL messages 2015-09-03 16:59:09 +10:00
squilter
426dab5078 GCS_MAVLink: update severities and remove old enum 2015-08-28 10:04:35 +10:00
squilter
9d3a906602 GCS_Common: accept any type of severity, not just the old enum 2015-08-25 14:04:37 +09:00
squilter
fb1bb3f571 GCS_MAVLink: make arguments mandatory for send_autopilot_version 2015-08-23 09:21:59 +09:00
squilter
c4c63da163 GCS_MAVLink: send_autopilot_version accepts version 2015-08-21 22:40:51 +09:00
Randy Mackay
a317fb40fc GCS_MAVLink: version update after common.xml change 2015-08-21 22:40:50 +09:00
squilter
c10e90f837 GCS_MAVLink: regenerate common 2015-08-21 22:40:49 +09:00
Randy Mackay
79c9269891 GCS_MAVLink: rename FIRMWARE_VERSION_TYPE and fully qualify items 2015-08-21 22:40:48 +09:00
squilter
6621ecc68f GCS_MAVLink: Add FIRMWARE_RELEASE_TYPE to common.xml 2015-08-21 22:40:47 +09:00
Tom Pittenger
1dd8b9d363 GCS_MAVLink: add support for try send mission_item_reached
also moved most of send_item_reached into common library
2015-08-19 15:26:32 +10:00
Brad Bosch
c87a7c7df9 GCS_MAVLink: Pause to allow serial port to drain.
This avoids a race between the UART and the auto flow control code.
2015-08-19 15:20:58 +10:00
Lucas De Marchi
42fadb1845 GCS_MAVLink: standardize inclusion of libaries headers
Do the missing header changes due to changing the code before the pr
getting accepted.
2015-08-18 17:12:52 +10:00
squilter
5cd78e722e GCS_MAVLink: version update after generate 2015-08-17 17:15:48 +09:00
squilter
a77329e855 GCS_MAVLink: generate after flight_termination change 2015-08-17 17:15:45 +09:00
squilter
91479aa39f GCS_MAVLink: rename flighttermination capability enum 2015-08-17 17:15:42 +09:00
Andrew Tridgell
0fdeb276e3 GCS_MAVLink: regenerate headers 2015-08-12 15:03:50 +10:00
Andrew Tridgell
8f1e1a1b4a GCS_MAVLink: added RPM MAVLink message 2015-08-12 15:03:49 +10:00
squilter
64a013071a GCS_MAVLink: update common.h enum 2015-08-11 17:17:44 +10:00
squilter
4cdc87fa62 Common: add 21196 for emergency disarm 2015-08-11 17:17:43 +10:00
squilter
acb33cacac Common: add two new capabilities 2015-08-11 17:17:43 +10:00
Gustavo Jose de Sousa
d7a2ef3e35 GCS_MAVLink: standardize inclusion of libaries headers
This commit changes the way libraries headers are included in source files:

 - If the header is in the same directory the source belongs to, so the
 notation '#include ""' is used with the path relative to the directory
 containing the source.

 - If the header is outside the directory containing the source, then we use
 the notation '#include <>' with the path relative to libraries folder.

Some of the advantages of such approach:

 - Only one search path for libraries headers.

 - OSs like Windows may have a better lookup time.
2015-08-11 16:38:25 +10:00
Andrew Tridgell
9352f05133 GCS_MAVLink: fixed bug setting parameters to default values
in copter if you try to set RATE_RLL_D to 0 when you haven't
prevviously changed it then it would set it, but would revert on the
next reboot. This is because of the special case handling of a set to
the "default" value. That default value is unaware of the PID
constructors

this fixes that behaviour by forcing a save if the parameter changes
value
2015-08-10 17:27:02 +10:00
Randy Mackay
d0aa1a89cd GCS_MAVLink: retrieve capabilities from HAL 2015-07-31 14:50:22 +09:00
squilter
c946ce72e8 GCS_MAVLink: add optional param to support capability bitmask 2015-07-31 14:50:10 +09:00
Andrew Tridgell
17b5d54f6b GCS_MAVLink: use a larger log send queue for Linux
often on UDP or TCP with more bandwidth
2015-07-29 14:19:47 +10:00
Randy Mackay
e7df54ca75 GCS_MAVLink: static find_by_mavtype method 2015-07-25 10:53:03 +09:00
Randy Mackay
e092902613 GCS_MAVLink: add find_by_mavtype 2015-07-25 10:52:59 +09:00
Arthur Benemann
e3398648d7 GCS_MAVLink: fix debug formatting 2015-07-21 21:41:34 +09:00
Randy Mackay
521f3dc4b9 GCS_MAVLink: only forward msg once per channel
Issue found and alternative fix provided by Arthur Benemann
2015-07-21 21:41:32 +09:00
Randy Mackay
a61129f7f8 GCS_MAVLink: add support for send_mission_item_reached 2015-07-19 12:14:09 +09:00
Andrew Tridgell
18de1c2c47 GCS_MAVLink: send AHRS2 even if we don't have a secondary position 2015-07-17 08:24:49 +10:00
Andrew Tridgell
0679552cf7 GCS_MAVLink: regenerate headers 2015-07-01 12:02:44 +10:00
Andrew Tridgell
44b7c75a4c GCS_MAVLink: merged upstream mag cal messages for APM 2015-07-01 12:00:23 +10:00
Andrew Tridgell
de11b5394e GCS_MAVLink: support NSH shell with SERIAL_CONTROL 2015-06-17 20:30:10 +10:00
Andrew Tridgell
a0594bd50e GCS_MAVLink: regenerate headers 2015-06-17 20:30:10 +10:00
Andrew Tridgell
bdbe1a7553 GCS_MAVLink: added SERIAL_CONTROL_DEV_SHELL 2015-06-17 20:30:09 +10:00
Andrew Tridgell
c415bfe766 GCS_MAVLink: regenerate headers 2015-06-15 09:20:54 +10:00
Andrew Tridgell
3ef44459c8 GCS_MAVLink: added ALTITUDE_WAIT message 2015-06-15 09:17:27 +10:00
Randy Mackay
69e59b2d99 GCS_MAVLink: update version after adding LANDING_TARGET 2015-06-12 21:37:09 +09:00
Randy Mackay
835a203566 GCS_MAVLink: generate after adding LANDING_TARGET 2015-06-12 21:37:07 +09:00
Randy Mackay
94aec19336 GCS_MAVLink: import LANDING_TARGET from upstream 2015-06-12 21:37:04 +09:00
Randy Mackay
76fdfdfcf2 GCS_MAVLink: do not send_vibration on APM2 2015-06-12 21:37:01 +09:00
Randy Mackay
642aa74530 GCS_MAVLink: add send_vibration 2015-06-12 21:36:42 +09:00
Randy Mackay
581e43bd0e GCS_MAVLink: update version after adding VIBRATION msg 2015-06-12 21:36:39 +09:00
Randy Mackay
afbb670e73 GCS_MAVLink: generate after adding VIBRATION message 2015-06-12 21:36:36 +09:00
Randy Mackay
e677a100c6 GCS_MAVLink: add VIBRATION message to common.xml 2015-06-12 21:36:34 +09:00
Andrew Tridgell
3b48f68cce GCS_MAVLink: convert example from .pde to .cpp 2015-06-01 17:07:07 +10:00
Andrew Tridgell
f50ee4c44c GCS_MAVLink: all vehicles now use functors 2015-06-01 15:18:33 +10:00
Andrew Tridgell
a57889e3b0 GCS_MAVLink: re-generate headers 2015-05-27 14:28:49 +10:00
Andrew Tridgell
0ed7fda41d GCS_MAVLink: added ACCZ and STEER PID_TUNING axes 2015-05-27 14:28:49 +10:00
Andrew Tridgell
0fe04a93ce GCS_MAVLink: rebuilt headers 2015-05-27 14:28:45 +10:00
Andrew Tridgell
cc80fdf593 GCS_MAVLink: added PID_TUNING message 2015-05-27 14:28:45 +10:00
Andrew Tridgell
4fdfa47ca3 GCS_MAVLink: removed BUILD_DELEGATES code
no longer needed
2015-05-26 14:35:12 +10:00
Lucas De Marchi
58847bffd6 GCS_MAVLink: allow to use functor 2015-05-26 13:46:50 +10:00
Lucas De Marchi
82d22992bd GCS_MAVLink: Do not compare delegate to NULL
Use the simpler "if (delegate_name)" since it allows simpler
implementation in the class, i.e. the bool operator rather than having
to compare to another object.
2015-05-26 13:46:49 +10:00
Andrew Tridgell
958d8b4787 GCS_MAVLink: update from upstream headers 2015-05-25 12:20:27 +10:00
Andrew Tridgell
2f7facba40 GCS_MAVLink: removed old MAVLink 0.9 headers 2015-05-25 10:19:47 +10:00
Andrew Tridgell
84726e4a3a GCS_MAVLink: use APM_BUILD_DELEGATES 2015-05-21 07:48:52 +10:00
Andrew Tridgell
71b550d7b5 GCS_MAVLink: support member functions for rover 2015-05-21 07:48:47 +10:00
Randy Mackay
559684b257 GCS_MAVLink: fix flow control check
Thanks to Tridge for spotting is
2015-05-15 15:39:34 +09:00
Randy Mackay
85eeba93c0 GCS_MAVLink: mavlink_comm_port to array 2015-05-15 15:07:31 +09:00
Randy Mackay
62e7e8cc7d GCS_MAVLink: add support for 4th mavlink chan on PX4 2015-05-15 15:07:23 +09:00
Tom Pittenger
d94c95a6ef GCS_MAVLink: return true if mission recieve is complete
when handing a mission item, and that is the last item, return true so that whoever is handling this knows we have a new mission list. From here we can log a new mission
2015-05-08 21:01:51 +10:00
Andrew Tridgell
2d89b8b53d GCS_MAVLink: fix for HAL_SITL rename 2015-05-05 09:45:56 +10:00
Randy Mackay
b55367ccc7 GCS_MAVLink: fix example sketch 2015-04-29 10:18:57 +09:00
Andrew Tridgell
4e86a6cd0e GCS_MAVLink: merged upstream header changes 2015-04-27 09:00:38 +10:00
Andrew Tridgell
fdac41dbab GCS_MAVLink: re-generate headers 2015-04-25 09:12:16 +10:00
Michael Day
98d7f943ef GCS_MAVLink: Added definition for MAV_CMD_NAV_LOITER_TO_ALT 2015-04-25 09:12:16 +10:00
Niels Joubert
2a5b25ddbf GCS_MAVLink: Re-enable GPS Injection Packets 2015-04-24 08:01:32 +10:00
Randy Mackay
26383183d2 GCS_MAVLink: version update after generate 2015-04-21 22:22:54 +09:00
Randy Mackay
48c6803717 GCS_MAVLink: generate after fixing camera feedback flags 2015-04-21 22:22:52 +09:00
Randy Mackay
8e2616ddcf GCS_MAVLink: prefix camera feedback flags 2015-04-21 22:22:49 +09:00
Dario Lindo Andres
a21d328b93 GCS_Mavlink: Update ardupilotmega.xml
Define PHOTO flag on CAMERA_FEEDBACK_FLAGS.
2015-04-21 22:22:47 +09:00
Randy Mackay
924a3b2c67 GCS_MAVLink: version update after generate 2015-04-21 21:47:13 +09:00
Randy Mackay
9f10c43708 GCS_MAVLink: generate after GIMBAL/GOPRO msgs added 2015-04-21 21:47:12 +09:00
Angus Peart
86b81120fd GCS_MAVLink: update gopro message definitions 2015-04-21 21:45:53 +09:00
Jonathan Challinger
2053d5e42e GCS_MAVlink: add GIMBAL_ and GOPRO_ messages 2015-04-21 21:40:05 +09:00
Randy Mackay
1f705eb6a3 GCS_MAVLink: add send_to_components method 2015-04-20 13:50:04 +09:00
Andrew Tridgell
35bac3ab4f GCS_MAVLink: regenerate without mavlink_frame_char changes 2015-04-06 16:43:02 -07:00
Andrew Tridgell
33824e0b2f GCS_MAVLink: re-ran generate.sh 2015-04-06 16:30:16 -07:00
Jonathan Challinger
73b8890bd3 GCS_MAVLink: move GIMBAL_REPORT and GIMBAL_CONTROL and reserve messages 2015-04-06 16:29:02 -07:00
Mike Clement
c5c40adb76 GCS_MAVLink: use instance in find_baudrate 2015-04-06 14:47:51 -07:00
Andrew Tridgell
6e52ef2a74 GCS_MAVLink: added send_local_position() 2015-04-05 09:16:41 -07:00
Andrew Tridgell
82a51e8791 GCS_MAVLink: use AP_Param::set_param_by_name() 2015-04-04 09:01:40 -07:00
Randy Mackay
d738eda59d GCS_MAVLink: integrate Serial Manager instance 2015-04-01 14:59:23 -07:00
Randy Mackay
5ee67e63ec GCS_MAVLink: add EKF_STATUS_REPORT to enum 2015-03-12 12:19:58 +09:00
Randy Mackay
3c555fc396 GCS_MAVLink: version number after adding EKF_STATUS_REPORT 2015-03-12 12:19:56 +09:00
Randy Mackay
5aef7e6d1a GCS_MAVLink: generate after adding EKF_STATUS_REPORT 2015-03-12 12:19:54 +09:00
Randy Mackay
d464344c34 GCS_MAVLink: add EKF_STATUS_REPORT message to xml 2015-03-12 12:19:50 +09:00