Uwe Hermann
455b26edba
sr: demo: s/struct databag/struct context/.
2012-03-14 22:44:30 +01:00
Uwe Hermann
ab331b679c
sr: demo: s/mydata/ctx/.
2012-03-14 22:44:29 +01:00
Uwe Hermann
4101f961e8
sr: s/SR_{USB,SERIAL}_INST/SR_INST_{USB,SERIAL}/.
2012-03-14 22:44:29 +01:00
Joel Holdsworth
4502e86921
fx2lafw: Added CWAV USBee SX to the device list
2012-03-12 21:49:34 +00:00
Joel Holdsworth
0ca21631dd
fx2lafw: Corrected a comment
2012-03-12 21:47:45 +00:00
Joel Holdsworth
93a9f3daaf
fx2lafw: Added Saleae Logic (and clones) to the device list
2012-03-12 21:47:44 +00:00
Joel Holdsworth
f8b07fc6c3
fx2lafw: Moved firmware path into fx2lafw_profile
2012-03-12 21:41:28 +00:00
Joel Holdsworth
4679d14db3
fx2lafw: Made fx2lafw profiles const
2012-03-12 21:41:27 +00:00
Joel Holdsworth
6ccfadaf66
fx2lafw: Made string pointers constant
2012-03-12 21:39:02 +00:00
Joel Holdsworth
17b6c75a89
fx2lafw: Added ESLA201A to device list
2012-03-12 21:38:57 +00:00
Joel Holdsworth
017375d17e
fx2lafw: Send start command after bulk transfer have been set up
2012-03-11 20:59:39 +00:00
Matt Ranostay
13d0d2698c
ols: fixed *ctx null dereferences that would SEGFAULT on probing for a OLS or attempting to read from it.
...
Signed-off-by: Matt Ranostay <mranostay@gmail.com>
2012-03-08 22:27:33 -08:00
Joel Holdsworth
9031ce63f3
fx2lafw: Corrected check_conf_profile checks
2012-03-07 07:52:05 +00:00
Joel Holdsworth
dba024420f
fx2lafw: Implemented control of sample rates
2012-03-07 07:52:05 +00:00
Joel Holdsworth
f92994fd91
fx2lafw: Ensure default sample rate is set
2012-03-07 07:52:05 +00:00
Joel Holdsworth
d98c4e35ce
fx2lafw: Removed CMD_STOP and renumbered commands
2012-03-07 07:52:05 +00:00
Joel Holdsworth
2e526f4a6a
fx2lafw: Moved num_samples into context struct
2012-03-07 07:52:05 +00:00
Joel Holdsworth
266784d594
saleae-logic: Moved num_samples into context struct
2012-03-07 07:52:05 +00:00
Joel Holdsworth
19ccdf696c
fx2lafw: Removed CMD_SET_SAMPLERATE
2012-03-07 07:52:05 +00:00
Joel Holdsworth
f6582cd7bf
fx2lafw: Implemented initial support for start capture
2012-03-07 07:52:05 +00:00
Joel Holdsworth
74fcfb806d
fx2lafw: Devices now retain the same PID/VID after fw load
2012-03-07 07:51:39 +00:00
Joel Holdsworth
e318664793
fx2lafw: Implemented SR_HWCAP_PROBECONFIG and SR_HWCAP_LIMIT_SAMPLES
2012-03-07 07:51:39 +00:00
Joel Holdsworth
c8f2c9dda4
fx2lafw: Fixed a compiler error, and made cv_data consistent with saleae-logic.c
2012-03-07 07:51:31 +00:00
Uwe Hermann
0abee5076f
sr: Fix some TODOs, improve comments/docs.
2012-03-04 15:10:12 +01:00
Uwe Hermann
3cd3a20b35
sr: More callback param renames.
...
Start/stop acquisition callbacks: Consistently name the 'void *' parameter
cb_data for now. The per-device-instance device pointer is called
'session_dev_id' everywhere for now, but this should be renamed to
something more clear.
2012-03-04 15:10:09 +01:00
Uwe Hermann
1f9813eb6c
sr: Name all callback data 'cb_data'.
2012-03-02 02:25:42 +01:00
Uwe Hermann
31ccebc492
sr: s/sr_session_bus/sr_session_send/.
2012-03-01 23:49:25 +01:00
Uwe Hermann
c09f0b578c
sr/cli/gtk/qt/: s/plugin/driver/.
2012-02-28 23:52:30 +01:00
Bert Vermeulen
2285cf9bc5
sr: code cleanup
2012-02-28 17:47:02 +01:00
Uwe Hermann
d261dbbfcc
sr: Fix/document probe names.
2012-02-28 01:09:29 +01:00
Uwe Hermann
6c39d99a28
sr: fx2lafw: Consistent #include guard naming.
2012-02-27 23:55:06 +01:00
Uwe Hermann
f9a69557d2
sr: fx2lafw: Use gboolean consistenly.
2012-02-27 23:53:44 +01:00
Uwe Hermann
772a0e6153
fx2lafw: Small consistency fixes.
2012-02-27 23:40:38 +01:00
Uwe Hermann
be4b99e897
fx2lafw: Compile fix.
2012-02-27 23:26:05 +01:00
Joel Holdsworth
5da939028d
fx2lafw: Implemented hw_dev_acquisition_stop
2012-02-27 21:58:25 +00:00
Joel Holdsworth
610dbb7091
fx2lafw: Implemented hw_dev_acquisition_start
2012-02-27 21:58:25 +00:00
Joel Holdsworth
7cb621d418
fx2lafw: Basic implementation of hw_dev_config_set with SR_HWCAP_LIMIT_SAMPLES
2012-02-27 21:58:25 +00:00
Joel Holdsworth
62bc70e412
fx2lafw: Added more to hw_cleanup
2012-02-27 21:58:25 +00:00
Joel Holdsworth
f1898235e8
fx2lafw: Implemented hw_dev_close
2012-02-27 21:58:25 +00:00
Joel Holdsworth
43125c6993
fx2lafw: Implemented hw_dev_open
2012-02-27 21:58:25 +00:00
Joel Holdsworth
7f6a3b43ad
sr: Moved GTV_TO_MSEC to sigrok-internal.h
2012-02-27 21:58:25 +00:00
Joel Holdsworth
b1eeb67e92
fx2lafw: Implemented firmware upload
2012-02-27 21:58:25 +00:00
Joel Holdsworth
cdfdd71101
fx2lafw: Renamed fx2lafw_dev to ctx in hw_dev_info_get
2012-02-27 21:58:25 +00:00
Joel Holdsworth
90282c82bc
fx2lafw: Renamed fx2lafw_dev to ctx in hw_init
2012-02-27 21:58:25 +00:00
Joel Holdsworth
cac0bbaafd
fx2lafw: Renamed dev_insts variable in hw_init
2012-02-27 21:58:25 +00:00
Joel Holdsworth
aae2fed675
fx2lafw: Implemented hw_get_status
2012-02-25 11:11:44 +00:00
Joel Holdsworth
8b35f47483
fx2lafw: Exposed capabilities data
2012-02-25 11:11:44 +00:00
Joel Holdsworth
187b358232
fx2lafw: Added probing for fx2lafw devices
2012-02-25 11:11:29 +00:00
Joel Holdsworth
f302a08256
fx2lafw: Added empty hardware module for fx2lafw
2012-02-25 09:11:53 +00:00
Uwe Hermann
04254c3f83
sr: la8: Improve comments and messages a bit.
2012-02-23 22:16:16 +01:00
Uwe Hermann
47671b0f26
sr: la8: Remove some unneeded checks.
2012-02-23 00:27:12 +01:00
Uwe Hermann
ea9cfed7a5
sr: Consistent ctx name for per-dev-inst context.
2012-02-18 18:07:42 +01:00
Uwe Hermann
6b3dfec8de
sr: Fix incorrectly renamed functions.
2012-02-18 12:25:43 +01:00
Uwe Hermann
ee61b340da
sr: Remove unneeded temp. variable use.
2012-02-18 12:16:49 +01:00
Uwe Hermann
a9a245b428
sr: s/config_set/dev_config_set/.
...
This functions is per-device-instance, so use dev_ as prefix as with
the other ones.
2012-02-18 12:11:15 +01:00
Uwe Hermann
69040b7c8f
sr: s/acquisition_*/dev_acquisition_*/.
...
These functions are per-device-instance, so use dev_ as prefix as with
the other ones.
2012-02-18 12:03:49 +01:00
Uwe Hermann
e7eb703fff
sr: opendev/closedev -> dev_open/dev_close.
2012-02-18 11:57:43 +01:00
Uwe Hermann
8105505d06
sr: s/st*_acquisition/acquisition_st*/.
2012-02-18 11:46:51 +01:00
Uwe Hermann
5097b0d091
sr/cli/gtk/qt: s/get_dev_info/dev_info_get/.
2012-02-18 11:41:21 +01:00
Uwe Hermann
a7d05fcb38
sr/cli/gtk/qt: s/configuration/config/.
2012-02-18 00:31:35 +01:00
Uwe Hermann
ffedd0bf5d
sr/cli/gtk: s/capability/hwcap/.
2012-02-18 00:17:18 +01:00
Uwe Hermann
1d9a8a5fe1
sr/cli/gtk: A few more s/instance/inst/.
2012-02-17 23:55:27 +01:00
Uwe Hermann
bb7ef79377
sr/cli/gtk/qt: s/device/dev/ in many places.
...
Also, a few s/instance/inst/ occurences.
2012-02-17 23:47:00 +01:00
Uwe Hermann
d68e2d1a21
sr: Some more s/device_instance/dev_inst/.
2012-02-17 22:40:51 +01:00
Uwe Hermann
7b48d6e104
sr: Prefix log messages with subsystem string.
2012-02-17 22:40:51 +01:00
Bert Vermeulen
9fc6aa0a56
sr: la8: remove debug output when no device is found
2012-02-14 13:18:17 +01:00
Bert Vermeulen
341ce41545
sr: don't free driver-specific per-device struct in drivers
...
sr_dev_inst_free() takes care of that.
2012-02-14 12:26:22 +01:00
Bert Vermeulen
da1466d677
sr: rename more functions to sr_thing_action format
...
Also improved the interface to find capabilities in a hardware plugin.
2012-02-14 00:23:51 +01:00
Bert Vermeulen
d3683c42e7
sr: rename all sr_device_instance_* functions to sr_dev_inst_*
2012-02-13 22:45:49 +01:00
Uwe Hermann
57ab7d9f92
sr: cleanup callback: Return int.
2012-02-13 19:49:01 +01:00
Uwe Hermann
3010f21c91
sr: stop_acquisition callback: Return int.
2012-02-13 19:49:00 +01:00
Bert Vermeulen
c73d2ea421
sr: adjust copyright year
2012-02-13 14:31:51 +01:00
Uwe Hermann
133a37bfba
Use g_try_malloc/g_free/g_strdup consistently.
...
Avoid plain malloc()/free() in sr/srd, especially in the API calls.
Also avoid g_malloc*() in favor of g_try_malloc*().
Use g_strdup() instead of strdup() so that we can use g_free()
consistently everywhere.
Exceptions: Stuff that is allocated via other libs (not using glib),
should also be properly free'd using the respective free-ing function
(instead of g_free()). Examples: Stuff allocated by libusb, libftdi, etc.
Also, use sr_err() instead of sr_warn() for actual errors. sr_warn() is
meant for non-fatal/uncritical warnings.
2012-02-11 22:34:16 +01:00
Uwe Hermann
cd853ff0b2
sr: chronovu-la8: Add missing <stdlib.h> #include.
2012-02-11 00:39:25 +01:00
Uwe Hermann
8c4b600393
sr: asix: Change a free() to g_free() as it should be.
...
This also fixes a compiler warning (on FreeBSD at least).
2012-02-11 00:38:48 +01:00
Uwe Hermann
bf3f06c9c2
sr: MinGW/Mac: No libusb_detach_kernel_driver() support.
2012-02-11 00:20:23 +01:00
Uwe Hermann
d38cd6c1f6
sr: saleae: Fix typo.
2012-02-07 23:56:33 +01:00
Uwe Hermann
003f9bebf9
sr: saleae: Support more recent firmwares.
2012-02-07 23:56:33 +01:00
Uwe Hermann
0f8522bf74
Project-wide consistent naming for #include guards.
...
Document the naming scheme in HACKING.
2012-02-05 15:05:13 +01:00
Uwe Hermann
5c64390e5a
sr/cli/gtk: Remove analog left-overs from API.
...
This will come back in some form or another later, but for now
don't clutter the API with non-working stuff. Removing stuff from APIs
is not possible without breaking the API, adding stuff later is simpler.
2012-02-05 15:05:12 +01:00
Uwe Hermann
e7ee300a12
sr: zeroplus: Drop unused global variable.
2012-02-05 13:37:02 +01:00
Uwe Hermann
3d2efd7d15
sr: Compile fix for Windows/MinGW.
2012-02-05 13:36:03 +01:00
Uwe Hermann
ca070ed9a0
sr: Make more symbols private via static/SR_PRIV.
...
Additional zeroplus fixes:
- Remove unneeded function prototypes from .h files.
- Remove unused variables and/or use standard libusb #defines instead.
- Remove unused GL_* error code #defines.
2012-02-02 21:46:10 +01:00
Uwe Hermann
185ae2c5c9
sr: zeroplus: Remove unused gl_open()/gl_close().
...
Merge the missing function calls into zeroplus.c's init functions.
2012-02-02 21:46:10 +01:00
Uwe Hermann
1a081ca67d
sr: Mark API functions with SR_API/SR_PRIV.
...
Use SR_API to mark public API symbols, and SR_PRIV for private symbols.
Variables and functions marked 'static' are private already and don't
need SR_PRIV. However, functions which are not static (because they need
to be used in other libsigrok-internal files) but are also not meant to
be part of the public libsigrok API, must use SR_PRIV.
This uses the 'visibility' feature of gcc (requires gcc >= 4.0).
Details: http://gcc.gnu.org/wiki/Visibility
2012-02-02 00:03:17 +01:00
Bert Vermeulen
0146970797
sr: remove unused time/duration fields from datafeed packets
2012-02-01 02:59:41 +01:00
Uwe Hermann
69890f7399
sr: Eliminate usb/serial instances from API.
...
The API should be generic and only provide sr_device_instance_new() and
friends, but not sr_usb_device_instance_new(), sr_serial_device_instance_new(),
or others for other device types we may have in the future. The
frontends shouldn't have to know or care about this implementation detail.
This also fixes the problem that parts of sigrok.h contained
'#ifdef HAVE_LIBUSB_1_0' and such, which is even less desirable for the API.
The usb/serial instance specifics are now private, and each driver that
needs them keeps a pointer in its driver-specific context.
2012-01-31 02:04:35 +01:00
Uwe Hermann
c31e9ef49b
sr: zp: Add missing <string.h> #include.
2012-01-31 01:54:08 +01:00
Uwe Hermann
bf43ea2317
sr: zeroplus: Use device-specific context.
...
Make the zeroplus driver use a "struct zp" with per-device-instance
data (such as samplerate, trigger settings, and so on), like the other
drivers do.
Also, add a few more error checks.
2012-01-29 19:19:38 +01:00
Uwe Hermann
ae32d7d759
sr: la8: Fix typo.
2012-01-29 19:19:38 +01:00
Uwe Hermann
73017cf914
sr: zeroplus: Fix a segfault.
2012-01-28 23:29:28 +01:00
Uwe Hermann
a4cfb10f7f
sr: Drop analog left-overs from sigrok.h.
...
For now, there's no analog/scope support in sigrok yet (will be added
later), so remove any such items from the public API (sigrok.h).
Having '#if defined(HAVE_LA_ALSA)' in sigrok.h is a bug anyway, the API
must not have anything device-dependent in general, and sigrok.h
specifically must not have any #ifdefs for specific hardware.
2012-01-28 19:23:09 +01:00
Anatoly Sokolov
a141db8c4a
add SR_HWCAP_DEMO_DEVICE capability
2012-01-21 15:56:29 +01:00
Renato Caldas
f020a99773
link-mso19: Fixed led toggling (the bit masking was not being proprly done).
2012-01-19 11:12:01 +00:00
Renato Caldas
e084a8042e
link-mso19: Prevent double free errors when freeing sdi->priv.
2012-01-19 11:12:01 +00:00
Renato Caldas
357285a944
link-mso19: Add debug messages.
2012-01-19 11:12:01 +00:00
Renato Caldas
a29360733d
link-mso19: Properly initialize the protocol trigger block
2012-01-19 11:12:01 +00:00
Renato Caldas
a84671913e
link-mso19: Added new register definitions and renamed variables to reflect new findings.
2012-01-19 11:12:01 +00:00
Renato Caldas
80aa5f23d1
link-mso19: Added struct definitions for the pattern generator config and the protocol trigger config.
2012-01-19 11:12:01 +00:00
Uwe Hermann
42eb54fb62
mso-19: Fix whitespace.
2012-01-06 01:05:55 +01:00
Renato Caldas
d88b939324
link-mso19: fixed segmentation fault.
2012-01-06 01:01:57 +01:00
Renato Caldas
e42ef08dba
link-mso19: Updated to the current structs (fixed compilation).
2012-01-06 01:01:54 +01:00
Uwe Hermann
db8ae7b941
sr/srd: Remove/fix non-applicable autotools stuff.
2011-12-30 11:14:24 +01:00
Uwe Hermann
c37d2b1ba1
probe names: Fix cosmetics, add docs, fix off-by-one.
2011-12-29 19:50:14 +01:00
Kristoffer Sjöberg
464d12c72a
Move the probe naming to the creator of the device, and let each driver name its own probes.
2011-12-29 17:04:31 +01:00
Uwe Hermann
b7f09cf86d
libsigrok: Fix #includes.
...
In the lib, we should only #include "sigrok.h" or "sigrok-internal.h",
but not the (possibly installed and thus different/older versions) via
<sigrok.h> or <sigrok-internal.h>.
Frontends should of course use <sigrok.h> and <sigrok-internal.h>.
2011-12-28 23:07:08 +01:00
Uwe Hermann
a0ecd83bc6
Make more variables/functions static and non-global.
...
The 'GSList *devices' from device.c was actually really global (i.e.,
listed in sigrok.h), which is now fixed.
2011-12-28 22:55:21 +01:00
Uwe Hermann
25a605d187
libsigrok: Quickfix for a segfault in ChronoVu LA8.
2011-12-04 18:33:29 +01:00
Uwe Hermann
cb93f8a927
Other method to avoid "unused var" compiler warnings.
...
The '(void)varname' method is nicer than 'varname = varname' and also
prevents warnings when compiling sigrok with clang instead of gcc.
2011-11-24 22:57:48 +01:00
Uwe Hermann
cc8a7d250c
Add missing #includes to avoid clang warnings.
2011-11-24 22:42:02 +01:00
Bert Vermeulen
e7bad06355
la8: device not found during init() scan is not an error
...
fix some hardware plugin semantics
2011-11-20 03:19:06 +01:00
Gareth McMullin
4d436e71ba
Changed SR_T_NULL to SR_T_BOOL and adjusted RLE option.
2011-11-19 13:41:41 +13:00
Uwe Hermann
6bb5c5fadf
Consistently use __func__ instead of __FUNCTION__.
...
The __func__ form is standardized and more portable.
2011-11-17 23:47:45 +01:00
Uwe Hermann
a562c3a2e5
libsigrok: Use sr_err() et al instead of printf.
2011-11-17 23:47:45 +01:00
Uwe Hermann
719c5a934c
Fix some compiler warnings.
2011-11-15 21:05:40 +01:00
Gareth McMullin
7583b99dbb
OLS: Calculate actual sample rate used.
2011-10-31 11:19:10 +01:00
Uwe Hermann
baf1d71477
ols: Minor whitespace and coding style fixes.
2011-10-30 02:10:32 +02:00
Gareth McMullin
3a4d09c0de
Run-Length Encoding support for the OLS.
2011-10-30 01:56:54 +02:00
Gareth McMullin
221304219e
Prevent reading past end of OLS hardware buffer.
2011-10-30 01:56:40 +02:00
Jerry
9a75102313
Mac OS X build fixes
2011-06-20 23:43:44 +02:00
Bert Vermeulen
a634574eae
saleae-logic: fix timing on packets when triggering is used
2011-06-20 11:43:34 +02:00
Bert Vermeulen
9c939c5132
use new datafeed packet format
2011-06-19 14:28:50 +02:00
Bert Vermeulen
6d754b6d3a
support for multiple FX2 devices
2011-06-12 18:04:19 +02:00
Bert Vermeulen
e53c830f33
saleae-logic: use new logging system
2011-06-05 02:08:08 +02:00
Bert Vermeulen
e10d6e32e4
saleae-logic: support for other FX2 devices (bare FX2)
...
This enables support for devices that have a different VID/PID
than the Saleae Logic, and yet another after firmware upload.
After firmware upload is checked every 100ms whether it came back,
instead of always waiting for 2 seconds.
If the kernel attaches a driver to a device we know, detact it first.
2011-06-05 01:57:54 +02:00
Bert Vermeulen
8722c31e26
better cleanup of device/plugin resources
2011-06-05 01:51:49 +02:00
Uwe Hermann
896a19fd65
LA8: Remove trailing whitespace.
2011-05-09 01:04:44 +02:00
Uwe Hermann
d1175d5f7e
LA8: Use sr_spew() where appropriate.
2011-05-09 01:03:27 +02:00
Uwe Hermann
f36cbf60cb
LA8: Improve trigger support and debug output.
2011-05-09 01:03:27 +02:00
Uwe Hermann
a76983fd20
LA8: Eliminate magic numbers.
2011-05-09 00:59:05 +02:00
Uwe Hermann
4d7b525ae9
LA8: Add trigger point support.
...
Report trigger point/position via SR_DF_TRIGGER packet.
2011-05-09 00:59:05 +02:00
Uwe Hermann
5a9660dd4e
demo: Use memset(), might be faster.
2011-05-09 00:59:05 +02:00
Uwe Hermann
c03ed39733
demo: Add all-low/all-high pattern support.
...
Also, improve error handling a bit.
2011-05-09 00:59:04 +02:00
Uwe Hermann
c8f4624d9b
demo: s/genmode/pattern/.
2011-05-05 13:06:15 +02:00
Uwe Hermann
0d31276b05
demo: Rename GENMODE_DEFAULT to GENMODE_SIGROK.
...
Also, add (Doxygen) comments for the currently supported patterns that
the demo device/driver can generate.
2011-05-05 13:06:15 +02:00
Uwe Hermann
68c12597ef
demo: Eliminate unneeded tmp_u64.
2011-05-05 13:06:15 +02:00
Uwe Hermann
d3b1b51cbe
LA8: Free memory from g_*alloc*() via g_freee().
2011-05-05 13:06:14 +02:00
Uwe Hermann
340cfac0f0
log messages: Use device name, not vendor name.
...
There can be multiple devices from the same vendor, obviously.
2011-05-05 13:06:14 +02:00
Uwe Hermann
697785d1ae
libsigrok: closedev() now has a return code.
...
This is useful to allow frontends to react upon close failures in a
way they see fit (e.g. a popup in the GUI, or error message in the CLI).
They can also still ignore the error if they want, of course.
2011-05-05 13:06:14 +02:00
Uwe Hermann
548b08e55c
Drop unneeded skeleton files.
...
They're not too useful as they mostly consist of a list of function names,
and that list is already available in the respective struct. The wiki
API docs and the code in the various hardware/output drivers serve as
useful examples already, no need for additional files.
2011-05-05 13:06:12 +02:00
Uwe Hermann
86f5e3d826
libsigrok: Rename open/close to opendev/closedev.
2011-05-05 13:06:11 +02:00
Uwe Hermann
6f42226475
demo: Add some more debug output.
2011-05-02 01:40:16 +02:00
Uwe Hermann
4362438f1e
LA8: Shrink mangled_buf from 8MB to 4KB.
...
It's not necessary to have an 8MB buffer. Also, make it static, don't
use malloc() here.
2011-04-25 00:21:41 +02:00
Uwe Hermann
da0918aae0
ASIX: Small consistency fixes.
2011-04-25 00:21:40 +02:00
Uwe Hermann
4bc5fd4568
LA8: Eliminate unused num_probes variable.
2011-04-25 00:21:40 +02:00
Uwe Hermann
309397702f
LA8: Replace some sr_warn() with sr_err().
2011-04-25 00:21:40 +02:00
Uwe Hermann
ecaf59db8d
LA8: probeconfig/trigger support.
...
This should make proper trigger support work for ChronoVu LA8.
2011-04-25 00:21:39 +02:00
Uwe Hermann
4af22da595
Fix two small warnings.
2011-04-19 00:27:29 +02:00
Uwe Hermann
e519ba8645
Hardware drivers: Use names for struct entries.
2011-04-19 00:18:06 +02:00
Uwe Hermann
c0a4b9716d
ols: Always use glib's memory allocation functions.
2011-04-19 00:18:05 +02:00