Commit Graph

32448 Commits

Author SHA1 Message Date
Tom Pittenger 2bbd7d8d91 AP_CANManager: set _driver_type_cache for *all* ifaces 2023-04-17 11:52:52 +10:00
Tom Pittenger e21063522d AP_KDECAN: apply NFC suggestions from Peter Barker 2023-04-17 11:52:52 +10:00
Tom Pittenger a443fd97a6 GCS_MAVLink: remove preflight_can
It was only using CANTester to test KDECAN enumeration which was removed
2023-04-17 11:52:52 +10:00
Tom Pittenger 5ca3aa6346 AP_CANManager: remove KDECAN from CANTester 2023-04-17 11:52:52 +10:00
Tom Pittenger eed3cf3255 AP_CANManager: promote KDECAN to a first-class library 2023-04-17 11:52:52 +10:00
Tom Pittenger c585b0286d AP_KDECAN: total re-write using CANSensor and remove Enum 2023-04-17 11:52:52 +10:00
Tom Pittenger 84b7444047 AP_CANSensor: add get_driver_type() accessor 2023-04-17 11:52:52 +10:00
Tom Pittenger 9cf5759435 AP_HAL_ChibiOS: enable KDECAN on CubeOrange-periph 2023-04-17 11:52:52 +10:00
Tom Pittenger 20d89c510b AP_HAL_ChibiOS: AP_KDECAN_ENABLE 0 by default 2023-04-17 11:52:52 +10:00
Tom Pittenger c2e1eeac98 SRV_Channel: move AP_KDECAN to a first-class library 2023-04-17 11:52:52 +10:00
Tom Pittenger 5ef4c8dd09 GCS_MAVLink: move AP_KDECAN to a first-class library 2023-04-17 11:52:52 +10:00
Tom Pittenger 2fcae3c520 AP_Arming: remove AP_KDECAN prearm checks 2023-04-17 11:52:52 +10:00
Tom Pittenger af2fc47b4d AP_Vehicle: move AP_KDECAN to AP_Vehicle
ssss
2023-04-17 11:52:52 +10:00
Paul Riseborough 5ab17496f6 AP_NavEKF3: Improve protection against GPS glitches during yaw alignment 2023-04-17 08:48:03 +10:00
Paul Riseborough 7063b385cf AP_NavEKF3: Reduce use of GSF yaw for planes with no compass 2023-04-17 08:48:03 +10:00
Peter Barker 37f638c5f7 AP_Proximity: include AP_Proximity_Backend.h in AP_Proximity.cpp
fixes a compilation problem if all of the backends are compiled out!
2023-04-16 12:29:42 +10:00
Peter Barker 3b2e92c4d6 AP_Mount: use only radians within servo backend 2023-04-15 23:14:48 +10:00
Peter Barker db15803017 GCS_MAVLink: send deprecated message received warning at INFO not WARN 2023-04-15 23:14:33 +10:00
Ryan Friedman 4ba1c56368 AP_Airspeed: Add missing D in ARSP
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-15 23:14:12 +10:00
Peter Barker b10c576134 AP_VisualOdom: allow VisualOdom backends to be compiled in individually 2023-04-15 22:19:21 +10:00
Peter Barker 3c86167544 hwdef: only allow specific VisualOdom devices (right now, MAVLink) 2023-04-15 22:19:21 +10:00
pedro-fuoco 72a693e68e AP_DDS: Switch BatteryState topic to sensor data QOS
Resolves #23365 for the BatteryState topic
2023-04-15 09:40:33 +10:00
pedro-fuoco e1b06a1b99 AP_DDS: Integrate AP_BattMonitor to work with AP_DDS
* Edit BatteryState.idl
* Add BatteryState to AP_DDS_Topic_table.h
* Add BatteryState to the DDS Client
	* Add voltage
	* Add temperature
	* Add current
	* Add charge
	* Add capacity with NAN value
	* Add design_capacity
	* Add percentage
	* Add power_supply_status
	* Add power_supply_health
	* Add power_supply_technology with 0 value
	* Add present
	* Cell_voltage and Serial_number need to be implemented in the future
	* Did not add cell_temperature as AP_BattMonitor doesn't support it
	* Did not add location as this is a generic implementation
* Parameterize battery instance number
2023-04-15 09:40:33 +10:00
Peter Barker 25ec1730b4 AP_EFI: poll MS at 10Hz not 5Hz 2023-04-15 09:39:39 +10:00
Peter Barker fb1b2e870e AP_EFI: MS: avoid requesting data too often
Similar to 4585c9fdc1
2023-04-15 09:39:39 +10:00
Peter Barker bddf0ae5a2 AP_Volz_Protocol: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker b1066bb9e7 AP_VisualOdom: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 3999d454e1 AP_Torqeedo: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 033c708b2a AP_TemperatureSensor: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker b19f2acb35 AP_RobotisServo: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker a499fcc71c AP_Proximity: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 69d7843f22 AP_Mount: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 6e1cd839d8 AP_InertialSensor: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 14c839780a AP_FETtecOneWire: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker de7d5c6899 AP_ExternalAHRS: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 4c5220eb9e AP_EFI: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker e363d6dfa5 AP_BattMonitor: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 7bbeab7aaa AP_ADSB: don't check MINIMIZE_FEATURES when also checking BOARD_FLASH_SIZE
we have an assertion that no board with >1MB of flash is minimized
2023-04-15 09:33:35 +10:00
Peter Barker 9cc8622ccc AP_Radio: correct build of AP_Radio_bk2425
new ChibiOS, new API
2023-04-14 20:10:11 +10:00
Ryan Friedman 9e9d487442 AP_DDS: Consume covariance implementation in AP_DDS
* Use float precision as long as possible

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-14 12:06:42 +10:00
Ryan Friedman 1e9403dca6 AP_GPS: Add covariance output to AP_GPS matching ROS NavSatFix
* Zero every iteration in case GPS quality degrades or fix is lost
* Use float precision for now

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-14 12:06:42 +10:00
Ryan Friedman 06d9a08d16 AP_DDS: Remove unused commented code
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-14 12:05:14 +10:00
arshPratap 63ed2c646e AP_DDS: Preserve folder structure and includes for IDL files
* Remove ALL local changes in IDL (it mirrors upstream)
* Convert to pathlib for more robust manipulation
* Added EOF newlines for all the other missing IDL files

Co-authored-by: Arsh Pratap <arshpratapofficial@gmail.com>
Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-14 12:05:14 +10:00
Andy Piper fc6cb74ac7 AP_HAL_ChibiOS: SDIO PWRSAV needs to be enabled on F4/F7 2023-04-14 08:05:19 +10:00
Peter Barker 50dbf4219b AP_Vehicle: AP_Arming ensures mission items present when in auto mode
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2023-04-14 07:49:54 +10:00
Peter Barker e0d1a5c8d2 AP_Arming: AP_Arming ensures mission items present when in auto mode
Co-authored-by: Henry Wurzburg <hwurzburg@yahoo.com>
2023-04-14 07:49:54 +10:00
Peter Barker 9e0c83503e hwdef: minimize_features.inc: nominate all included battery backends
this will stop the number growing on our smallest boards
2023-04-14 07:49:16 +10:00
Andrew Tridgell 3f33457404 HAL_ChibiOS: fixed L4 mcu type detection 2023-04-14 07:48:56 +10:00
tsubashmail@gmail.com ae9e15ade5 HAL_ChibiOS: port for STM32L4+ processor
Added support for stm32l4+ processor

- Added scripts for hwdef generation
- Tested in custom hardware prototype (stm32l4r5vit6)
- Tested all peripherals and auto pilot modes.
2023-04-14 07:48:56 +10:00
tsubashmail@gmail.com 880e6366bd AP_FlashStorage: port for STM32L4+ processor
Added support for stm32l4+ processor

- Added scripts for hwdef generation
- Tested in custom hardware prototype (stm32l4r5vit6)
- Tested all peripherals and auto pilot modes.
2023-04-14 07:48:56 +10:00
Andrew Tridgell 48acb1a2f7 AP_Logger: added LOG_DARM_RATEMAX
this sets the logging rate max when disarmed. In combination with
LOG_DISARMED=3 it gives a very nice setup to get always on logging
with very little addition to the log sizes. It is particularly useful
in combination with LOG_REPLAY=1
2023-04-14 07:48:24 +10:00
Andrew Tridgell 63e45a3910 AP_Logger: added LOG_DISARMED=3
when LOG_DISARMED is set to 3 then we log while disarmed but if we
reboot without ever arming the log is discarded. This allows for using
LOG_DISARMED without filling the microSD.
2023-04-14 07:48:24 +10:00
Andrew Tridgell 3b4f5d77af AP_Logger: use AP_Enum for log_disarmed 2023-04-14 07:48:24 +10:00
Andrew Tridgell 4899ec9457 AP_Param: added set() to AP_Enum 2023-04-14 07:48:24 +10:00
Randy Mackay 470b9638ea AP_Mount: remove unused get_camera_state 2023-04-14 07:47:47 +10:00
Randy Mackay b9e06438f1 AP_Scripting: ViewPro driver bug fix 2023-04-14 07:47:47 +10:00
Peter Barker 6eda22e7de AP_Logger: do not rotate logs when disarming if we are replay-logging 2023-04-14 07:47:33 +10:00
Andrew Tridgell 6fbd8df95b AP_DroneCAN: fixed Volz feedback build 2023-04-13 10:36:47 -07:00
Peter Barker 795bb19cb9 AP_BattMonitor: move defines around battery types for consistency 2023-04-13 15:24:45 +10:00
Peter Barker af5f702c36 GCS_MAVLink: add and use defines for all Proximity backends 2023-04-13 07:07:18 +10:00
Peter Barker c110ac489c AP_Proximity: add and use defines for all Proximity backends 2023-04-13 07:07:18 +10:00
Peter Barker 92dea59620 hwdef: SkyViper doesn't need most proximity sensors 2023-04-13 07:07:18 +10:00
Peter Barker 3eae62c69a AP_RangeFinder: add and use AP_RangeFinder_config.h 2023-04-13 07:07:18 +10:00
Ryan Friedman 80ed6125aa AP_DDS: Add support for static transforms
* This encodes the position of the GPS receivers relative to the aircraft origin

Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com>
2023-04-13 07:05:24 +10:00
Randy Mackay 1a9189d602 AP_Scripting: add binding for camera semaphore 2023-04-13 07:04:46 +10:00
Randy Mackay de4b1890f5 AP_Camera: add semaphore to allow multi-threaded access 2023-04-13 07:04:46 +10:00
Randy Mackay ffc3ad1c1a AP_Scripting: viewpro driver uses camera scripting backend 2023-04-13 07:04:46 +10:00
Randy Mackay db51915e27 AP_Mount: scripting backend loses camera support
drivers should use the camera scripting backend
2023-04-13 07:04:46 +10:00
Randy Mackay 1a375f1ff5 AP_Scripting: remove mount get_camera_state
AP_Camera scripting backend provides access
2023-04-13 07:04:46 +10:00
Randy Mackay 554d52b6fe AP_Scripting: add AP_Camera::get_state bindings 2023-04-13 07:04:46 +10:00
Randy Mackay f357bc53fe AP_Camera: add scripting backend 2023-04-13 07:04:46 +10:00
Randy Mackay 58b73c3613 AP_Camera: constify get_instance 2023-04-13 07:04:46 +10:00
Randy Mackay 5d29935039 AP_Scripting: add camera-test example script 2023-04-13 07:04:46 +10:00
Randy Mackay 03148a113f AP_Scripting: add camera bindings 2023-04-13 07:04:46 +10:00
Randy Mackay f40a939a0c AP_Scripting: fix mount-poi script check errors
remove unused variables
re-enable script checks
2023-04-13 07:04:22 +10:00
Randy Mackay 3ab63cc6b1 AP_Scripting: add mount-poi md 2023-04-13 07:04:22 +10:00
Randy Mackay c1f9b59d9b AP_Scripting: mount-poi gets param description
send_text calls also use MAV_SEVERITY definition
2023-04-13 07:04:22 +10:00
Randy Mackay bc9342a398 AP_Scripting: move mount-poi to applets directory 2023-04-13 07:04:22 +10:00
Andy Piper 078778de30 AP_HAL_ChibiOS: hwdef for MatekF405-TE/VTOL including bdshot 2023-04-12 17:24:15 +10:00
Randy Mackay af64de3412 AP_Scripting: mount-viewpro driver gets param desc 2023-04-12 17:08:12 +10:00
Randy Mackay 6934a638a1 AP_Scripting: Viewpro driver setup instruction fix 2023-04-12 17:08:12 +10:00
Wu 0f1253b393 AP_InertialSensor: the accel fast-sampling rate of MPU6500 is 4k,not 1k 2023-04-12 15:24:41 +10:00
Willian Galvani 9179bce1ca SITL: initialize battery at 0V 2023-04-12 15:20:05 +10:00
Peter Barker 89a1330801 AP_Airspeed: reuse airspeed backend contructor in more backends
... and clean out some unused includes
2023-04-12 14:30:12 +10:00
Peter Barker 4f355f7c8b AC_Avoidance: correct compilation when fence and beacon compiled out 2023-04-12 09:24:39 +10:00
Peter Barker aab771d380 AP_HAL_ChibiOS: use AP_BEACON_ENABLED instead of BEACON_ENABLED 2023-04-12 09:24:39 +10:00
Andrew Tridgell 6f3c1dcd2b AP_DroneCAN: rename sniffer cpp 2023-04-11 10:31:31 +10:00
Andrew Tridgell f6fa35a1f7 AP_GPS: fixed name length 2023-04-11 10:31:31 +10:00
Andrew Tridgell 6b268173dd SRV_Channel: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 1d5bf5a58a AP_RangeFinder: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 00b9833fac AP_Proximity: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 4a2ad02494 AP_Notify: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell d3dde1eb14 AP_Gripper: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 834831bfeb AP_GPS: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 9fe63ca2d4 AP_EFI: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell e811cf86eb AP_DroneCAN: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell ba450fa08b AP_Compass: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 44a0f502fe AP_CANManager: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell ab8049f8e9 AP_BattMonitor: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 70a7115312 AP_Baro: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 4e161bab5e AP_Arming: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 20436ef527 AP_Airspeed: text messages and more defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 78862a334e AP_HAL_ChibiOS: cleanup more defines and classes 2023-04-11 10:31:31 +10:00
Andrew Tridgell 3129cae875 AP_DroneCAN: cleanup more defines and classes 2023-04-11 10:31:31 +10:00
Andrew Tridgell 5b45a4060a AP_CANManager: cleanup more defines and classes 2023-04-11 10:31:31 +10:00
Andrew Tridgell 9e31757b24 SRV_Channel: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 2119d6bfc9 GCS_MAVLink: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 83114f4c74 AP_RangeFinder: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 70b04a22f0 AP_Proximity: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell d1d7cdfb52 AP_OpticalFlow: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 8402003553 AP_OpenDroneID: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 05d5b56bfa AP_Notify: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 5d6b7b04d8 AP_HAL: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 3f47d4c71c AP_HAL_ChibiOS: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 645fd82507 AP_GPS: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 5e52175399 AP_EFI: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 9261f89e39 AP_DroneCAN: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell e469ed9bd7 AP_Compass: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 33df480f87 AP_CANManager: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 11a2f5ed9c AP_BattMonitor: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 0e1927fc35 AP_Baro: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 116e456d35 AP_Arming: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 6912b0db9e AP_Airspeed: rename more variables, types and defines 2023-04-11 10:31:31 +10:00
Andrew Tridgell 7b1337adaf AP_RangeFinder: change UAVCAN_ENABLED to DRONECAN_ENABLED 2023-04-11 10:31:31 +10:00
Andrew Tridgell 9d5815ce7b AP_HAL_ChibiOS: change UAVCAN_ENABLED to DRONECAN_ENABLED 2023-04-11 10:31:31 +10:00
Andrew Tridgell 607d4eed02 AP_DroneCAN: change UAVCAN_ENABLED to DRONECAN_ENABLED 2023-04-11 10:31:31 +10:00
Andrew Tridgell dc40e1e7c3 AP_Compass: change UAVCAN_ENABLED to DRONECAN_ENABLED 2023-04-11 10:31:31 +10:00
Andrew Tridgell 8d21ef71d3 AP_Baro: change UAVCAN_ENABLED to DRONECAN_ENABLED 2023-04-11 10:31:31 +10:00
Andrew Tridgell d2882c79de AP_Airspeed: change UAVCAN_ENABLED to DRONECAN_ENABLED 2023-04-11 10:31:31 +10:00
Andrew Tridgell f7a52557f6 AP_RangeFinder: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell a6d0738d80 AP_Notify: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 5952eb1249 AP_GPS: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 60beb288ee AP_DroneCAN: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 992409328f AP_Compass: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 017543f6e6 AP_BattMonitor: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 55b1e6d5d0 AP_Baro: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 5188816274 AP_Airspeed: update header references 2023-04-11 10:31:31 +10:00
Andrew Tridgell 01a32430f5 AP_RangeFinder: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Andrew Tridgell edc454fee3 AP_Notify: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Andrew Tridgell 258158b0bc AP_GPS: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Andrew Tridgell 9d37083ddf AP_DroneCAN: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Andrew Tridgell 2e8ea6ac47 AP_Compass: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Andrew Tridgell 63e67db516 AP_BattMonitor: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Andrew Tridgell 43eaf013ed AP_Baro: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Andrew Tridgell a3d0f265b2 AP_Airspeed: rename UAVCAN drivers to DroneCAN 2023-04-11 10:31:31 +10:00
Henry Wurzburg 9371e60431 AP_HAL_ChibiOS: Add SpeedyBeeF405Wing 2023-04-11 10:22:29 +10:00
Henry Wurzburg c36c042e71 AP_Arming: move estop pre-arm to AP_Arming and add exception 2023-04-11 09:24:06 +10:00
Iampete1 4785c248c5 SRV_Channel: remove unused defualt in get channel for function 2023-04-11 09:13:26 +10:00
Iampete1 9077f60e87 AP_Motors: Tricopter: rework and move yaw servo to arming check, allow no yaw on plane 2023-04-11 09:13:26 +10:00
Nick Exton 8bd127d630 GCS_MAVLink: Use new Mount clear_roi_target() 2023-04-11 09:11:08 +10:00