Commit graph

433 commits

Author SHA1 Message Date
Pedro
6877e950ad Just use structlog on Command classes 2023-12-04 11:54:03 +01:00
Pedro
1917ec077d Remove some unused global queues 2023-12-04 11:36:50 +01:00
Pedro
0aa3b7c249 Use the specified params on making a modem queue item 2023-12-04 11:34:31 +01:00
Pedro
3fd2c402af Get rid of the DATA_QUEUE_TRANSMIT (there is still the MODEM_TRANSMIT_QUEUE) 2023-12-04 11:05:45 +01:00
Mashintime
ce12679f2d Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-12-03 22:48:09 -05:00
Mashintime
fbc4e807cf Explorer tweaks 2023-12-03 13:16:09 -05:00
Pedro
1e787d8c82 Fix the CQFrameHandler base class. 2023-12-03 15:30:30 +01:00
Pedro
efb1a8e61b Move reset_data_sync() to Demodulator 2023-12-03 15:05:44 +01:00
DJ2LS
b29c539d5f saving thoughts regarding to processing arq commands... 2023-12-03 14:11:43 +01:00
DJ2LS
e7f8dc73e0 fixed typo 2023-12-03 10:42:54 +01:00
DJ2LS
dc17d4c034 fixed typo 2023-12-03 10:41:20 +01:00
DJ2LS
f01cc38e64 moved frame activity to frame handler 2023-12-03 10:40:31 +01:00
DJ2LS
7a88875309 changed super class 2023-12-01 19:54:46 +01:00
DJ2LS
6829a9df85 ensure callsign in correct format 2023-12-01 19:54:07 +01:00
DJ2LS
97bc309bb6 fixed activities list, disabled heard stations again 2023-12-01 17:02:42 +01:00
DJ2LS
75dfa4d28a adjusted activities for rx'ed frames 2023-12-01 16:57:59 +01:00
DJ2LS
72658837c9 added activities list 2023-12-01 16:39:52 +01:00
Mashintime
b960dea9c2 GUI scatter 2023-11-30 21:12:04 -05:00
Mashintime
b7b51ad469 PTT updates 2023-11-30 16:50:10 -05:00
DJ2LS
02062e3e18 some more frame porting 2023-11-30 20:35:07 +01:00
Pedro
ca1257bab7 Remove comments about old data_queue_received format 2023-11-30 10:55:51 +01:00
Pedro
4d0bef497b Deliver frequency offset info to frame handler 2023-11-30 10:54:37 +01:00
Pedro
16786d4a7e Switch to new frame dispatcher process data with new class based frame handlers. 2023-11-30 09:24:36 +01:00
Pedro
32e1aa7edb Improve frame handler event broadcast 2023-11-30 08:44:18 +01:00
Pedro
63273b7f02 Add PingFrameHandler 2023-11-30 00:15:16 +01:00
Pedro
f4b00ce68a Add inheritance based frame handling on rx 2023-11-29 22:53:50 +01:00
Pedro
b901b8efaa Handle exception on frame deconstruction 2023-11-29 21:30:09 +01:00
Pedro
bf4855aa63 Fix ping receive handling 2023-11-29 19:09:01 +01:00
Pedro
06e79e627e Fix beacon rx handling 2023-11-29 18:51:30 +01:00
Pedro
6020b69527 Fix received CQ handling. Ping receive still broken. 2023-11-29 18:25:32 +01:00
Pedro
2dbf6883a0 Add previously forgotten Demodulator 2023-11-29 18:24:42 +01:00
Pedro
d5a1a74f1a Separate demodulation code 2023-11-29 17:35:23 +01:00
Mashintime
f044b64ace Audio dbfs support 2023-11-28 17:46:55 -05:00
Mashintime
bf31ca5891 Busy slot states 2023-11-28 17:29:01 -05:00
DJ2LS
99e6c86220 implemented some arq commands 2023-11-28 20:43:41 +01:00
DJ2LS
27e05d2d8e added more arq frames 2023-11-28 20:34:33 +01:00
DJ2LS
618bf3ae4b some code adjustments 2023-11-28 20:00:39 +01:00
Pedro
f5415ce7cd Improve DataFrameFactory and tests 2023-11-27 23:08:00 +01:00
Pedro
5202a93676 Delete old ping tx code 2023-11-26 23:00:55 +01:00
DJ2LS
e398eaa413 Merge remote-tracking branch 'origin/develop' into develop 2023-11-26 22:36:40 +01:00
DJ2LS
018add39d2 trying to fix a error without testing it... 2023-11-26 22:36:35 +01:00
Pedro
8f2f464846 Move Beacon from data_handler_broadcasts to modem 2023-11-26 22:24:09 +01:00
Pedro
ff0e4c25a2 Improve beacon 2023-11-26 21:51:43 +01:00
Mashintime
eb0cf4a4a1 Radio mode handling in state data 2023-11-26 13:54:28 -05:00
Mashintime
d2eb4ffd09 Missed a variable 2023-11-26 12:24:19 -05:00
Mashintime
12e5d2ff7a Fix dynamic control of FFT data stream 2023-11-26 12:22:22 -05:00
Pedro
1db9d1fca6 Refactor beacon 2023-11-26 15:45:41 +01:00
Pedro
0f10d73a61 Refactor beacon 2023-11-26 15:23:20 +01:00
Pedro
851cef2b9b Small code improvements 2023-11-26 14:51:58 +01:00
Pedro
c164faae21 Fix "send test frame" 2023-11-26 14:25:14 +01:00
Pedro
766342a866 Fix Command log message 2023-11-26 13:11:45 +01:00
Pedro
e3e486b5fc Fix PingCommand 2023-11-26 12:53:28 +01:00
Pedro
e0bd7c5e09 Fix several errors to get server to start again. 2023-11-26 12:45:51 +01:00
DJ2LS
9872b52741 first attempt using frame deconstructor 2023-11-26 11:41:37 +01:00
DJ2LS
8883616e67 first attempt using frame templates 2023-11-26 10:33:06 +01:00
DJ2LS
b5ee39b2d2 first attempt using frame templates 2023-11-26 10:25:13 +01:00
Pedro
8670646ca7 Implement more commands and remove old code 2023-11-26 00:11:39 +01:00
Pedro
dea132203b Make modem transmit queue item format more explicit 2023-11-25 23:39:35 +01:00
Pedro
cf50e69e3a Implement fec and fec wake up frames 2023-11-25 23:22:31 +01:00
Pedro
f96c566223 Move codec2 functions to codec2 interface 2023-11-25 23:14:49 +01:00
Pedro
bfaa284837 WIP 2023-11-25 19:05:42 +01:00
Pedro
e8a2a5d12a WIP 2023-11-25 18:21:41 +01:00
Pedro
395e505b84 Work in progress 2023-11-24 10:46:51 +01:00
DJ2LS
dbd1cf1d98 first prototype of registering arq session 2023-11-23 23:10:53 +01:00
Pedro
5bb25c3d45 Refactoring of tx commands - WIP 2023-11-23 16:59:53 +01:00
Pedro
5c34ef40da Add DataFrameFactory with the different frame types 2023-11-23 16:11:47 +01:00
DJ2LS
1cf6d5914a test with frame dispatcher 2023-11-23 10:14:11 +01:00
Mashintime
22e2f2f08a Enable fft when client connects to fft ws 2023-11-23 01:02:56 -05:00
Mashintime
28e7694545 Fix websockets not sending data 2023-11-23 01:01:29 -05:00
Pedro
a5ebf2d0fc Improve threading.Event() usage on transmission 2023-11-22 21:54:50 +01:00
Pedro
8dfae3b35a Remove beacon state handling from data transmission queue 2023-11-22 18:07:30 +01:00
Pedro
06dd1637cd Set beacon directly on modem state 2023-11-22 18:05:31 +01:00
Pedro
8c2c6a8ce0 Explicit args on modem primitive methods. API error format. 2023-11-22 14:57:51 +01:00
Pedro
eda5580f83 Isolate websocket management 2023-11-22 12:04:07 +01:00
DJ2LS
9d96e1ee37 adjusted pyinstaller conf 2023-11-20 16:02:22 +01:00
DJ2LS
e2c615b4ed first test running tests in github actions 2023-11-20 15:50:48 +01:00
DJ2LS
083a98263b adjusted arq classes 2023-11-20 09:00:07 +01:00
DJ2LS
670a1703de move some functions to a helper file 2023-11-20 07:39:54 +01:00
DJ2LS
5426cb3a1b first test with CQ ... setting handling still bad 2023-11-19 23:17:43 +01:00
DJ2LS
81f6ce4636 more work on ARQ modules.. 2023-11-19 22:44:16 +01:00
DJ2LS
b1d8810bcf splitting ARQ into subclasses 2023-11-19 22:12:30 +01:00
DJ2LS
d94399e07c moved arq stuff to own module... 2023-11-19 17:09:47 +01:00
DJ2LS
d8ce1d456f splitted data handler... broken! 2023-11-19 14:56:29 +01:00
DJ2LS
442a041952 attempt fixing some callsign related stuff...aaargh 2023-11-19 14:03:48 +01:00
DJ2LS
225af9e8b5 fixed explorer publishing 2023-11-19 12:31:56 +01:00
DJ2LS
129b7f6029 fixed receiving qrv 2023-11-19 10:22:38 +01:00
DJ2LS
6670f36ad8 read config after hot reload 2023-11-19 09:56:00 +01:00
Mashintime
e1bb03f4d9 Go Go CQ CQ 2023-11-19 02:34:43 -05:00
Mashintime
a804ff94af More work on ping and beacons 2023-11-19 02:30:47 -05:00
Mashintime
96efa8fb25 Add snr to dispatcher 2023-11-19 02:29:40 -05:00
Mashintime
36e71f44f7 Fix up beacons 2023-11-18 23:06:03 -05:00
Mashintime
50b92d813e Use correct format for mycallsign 2023-11-18 17:55:05 -05:00
Mashintime
7c73e131a5 Some rig control work 2023-11-18 17:50:40 -05:00
Pedro
fec578b1d7 Fix invalid mycallsign decoding (it is now a string and not a byte array) 2023-11-18 18:43:52 +01:00
Pedro
4a650e66c1 Fix ping API endpoint and caller 2023-11-18 18:14:23 +01:00
Pedro
477c93570c Fix config.ini.example settings 2023-11-18 18:06:40 +01:00
Mashintime
3b33ce9a62 Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-11-18 12:05:28 -05:00
Mashintime
daa8604c7b Fix a few cfg items in modem.py 2023-11-18 11:55:49 -05:00
DJ2LS
05a7bcfa42 fixed default config 2023-11-18 17:27:26 +01:00
Pedro
befdb15f41 Change config.ini.example to match config changes 2023-11-18 17:00:09 +01:00
Pedro
4f7972b546 Simplify and fix broken settings. 2023-11-18 16:59:19 +01:00
Pedro
c6871dbf52 More progress.. 2023-11-18 16:58:21 +01:00
Mashintime
b837c0f854 Delay initial explorer report incase of bugs/issues 2023-11-18 03:49:32 -05:00
Mashintime
dc843276c2 get_crc, check if input is not bytes 2023-11-18 03:28:43 -05:00
DJ2LS
07e6c33e89 and another global has been eliminated.. 2023-11-17 23:33:30 +01:00
DJ2LS
108851fb78 and another global has been eliminated.. 2023-11-17 23:07:24 +01:00
DJ2LS
5121cb5a14 and another global has been eliminated.. 2023-11-17 23:05:41 +01:00
DJ2LS
145ac1533a Merge remote-tracking branch 'origin/develop' into develop 2023-11-17 22:45:20 +01:00
DJ2LS
0489db4292 and another global has been eliminated.. 2023-11-17 22:45:10 +01:00
Mashintime
d84dc12fb0 Fix config errors 2023-11-17 16:36:12 -05:00
Mashintime
f2befd29f2 Add support for /modem/state rest 2023-11-17 16:35:52 -05:00
Mashintime
5cc05d26e7 Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-11-17 16:05:09 -05:00
DJ2LS
cbe05caea2 and another global has been eliminated.. 2023-11-17 20:03:03 +01:00
DJ2LS
f912841f5a and another global has been eliminated.. 2023-11-17 18:20:51 +01:00
Mashintime
c684cd58e0 Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-11-17 06:54:26 -05:00
DJ2LS
6682bf360a and another global has been eliminated.. 2023-11-17 11:07:29 +01:00
DJ2LS
27209ff843 and another global has been eliminated.. 2023-11-17 10:58:07 +01:00
DJ2LS
d7755b147a and another global has been eliminated.. 2023-11-17 10:37:50 +01:00
DJ2LS
4e14eeecb7 and another global has been eliminated.. 2023-11-17 10:22:45 +01:00
DJ2LS
ee709b32ef reducing another global... 2023-11-17 09:53:51 +01:00
Mashintime
4318902f5a Send state on new connection instead of fixed period 2023-11-16 20:39:04 -05:00
Mashintime
c19586369e Send state messages semi-frequently even if there's no changes 2023-11-15 17:34:26 -05:00
Mashintime
0916ef4ce7 Fix audio test error message 2023-11-15 16:33:49 -05:00
Pedro
924871859f Fix identification of audio devices 2023-11-15 21:14:56 +01:00
Pedro
af80565acd Improve value error exception message 2023-11-15 17:06:51 +01:00
Pedro
1ed281e7c4 Convert and validate server side config data 2023-11-15 16:49:16 +01:00
DJ2LS
03738bcb8f attempt with disabled portaudio termination 2023-11-14 19:35:11 +01:00
DJ2LS
d74dda0bc5 config fixes and adjustments 2023-11-14 19:26:11 +01:00
DJ2LS
9d8c736917 websocket non blocking multi client support 2023-11-14 15:01:01 +01:00
DJ2LS
4af574cd43 fixed explorer publishing 2023-11-13 22:54:57 +01:00
DJ2LS
237318b268 fixed explorer publishing 2023-11-13 22:35:54 +01:00
DJ2LS
c47ef5fa47 Merge remote-tracking branch 'origin/develop' into develop 2023-11-13 20:26:36 +01:00
DJ2LS
fa73706af5 some more reducing of globals.. 2023-11-13 20:26:27 +01:00
Mashintime
e04b5e4a89 Update default modem port to 5000 2023-11-13 14:04:15 -05:00
Mashintime
1dc06d0aa4 Merge branch 'develop' of github.com:DJ2LS/FreeDATA into develop 2023-11-13 12:50:52 -05:00
Mashintime
30a25b76fb Show version info in check modal 2023-11-13 12:50:46 -05:00
DJ2LS
5f8192d5cf Merge remote-tracking branch 'origin/develop' into develop 2023-11-13 18:12:02 +01:00
DJ2LS
1852458cf5 remove globals 2023-11-13 18:11:55 +01:00
Mashintime
7092a5d447 Explorer fixes 2023-11-13 11:40:46 -05:00
DJ2LS
5301cd3b05 remove globals 2023-11-13 16:48:59 +01:00
Mashintime
3aaf28cb3b Fix crash on windows 2023-11-13 08:19:48 -05:00
DJ2LS
9fdeeff921 some small cleanup 2023-11-13 09:19:42 +01:00
DJ2LS
26be304699 fixed typo 2023-11-13 07:19:32 +01:00
DJ2LS
f1e84c2728 fixed another missing variable 2023-11-12 23:30:30 +01:00
DJ2LS
9130d97cae fixed a wrong config 2023-11-12 23:28:10 +01:00
DJ2LS
5962450be7 more cleanup 2023-11-12 23:22:53 +01:00
DJ2LS
b76726c4a5 show popup when modem restarting 2023-11-12 22:35:10 +01:00
DJ2LS
aef44b1536 first test with states 2023-11-12 19:56:15 +01:00
DJ2LS
5a10a07e21 adjusted modem and trigger states 2023-11-11 20:52:29 +01:00
DJ2LS
87f2cbff2a add first attempt of state handler 2023-11-11 20:46:49 +01:00
DJ2LS
78b545dff0 updated settings 2023-11-11 20:38:13 +01:00
DJ2LS
8b777a3ad2 changed some gui settings....broken settings now I think.. 2023-11-11 20:27:54 +01:00
DJ2LS
a009f6dd3c Merge remote-tracking branch 'origin/develop' into develop
# Conflicts:
#	modem/server.py
2023-11-11 20:02:08 +01:00
DJ2LS
bd2e173620 introduced state manager and changed config.ini 2023-11-11 20:01:15 +01:00
Mashintime
92c4831761 Fix modem not starting 2023-11-11 12:35:35 -05:00
Mashintime
e95c9f1ff7 Fix duplicate function name 2023-11-11 12:35:10 -05:00
DJ2LS
9f7bdfbc2b some server command related adjustments 2023-11-11 13:37:18 +01:00
DJ2LS
42b206536d reduced more variables from global store 2023-11-11 11:09:19 +01:00
DJ2LS
e82592bab7 possible fix of crashing audio device 2023-11-11 10:53:01 +01:00
DJ2LS
722f1ef785 adjusted modem startup and audio tests 2023-11-11 10:41:16 +01:00
Mashintime
a7ef928d0f Store and use real index of audio devices 2023-11-10 22:59:14 -05:00
DJ2LS
4cf915c399 audio device check before starting modem 2023-11-10 16:02:38 +01:00
DJ2LS
e7c976f5f4 start-stop modem via command 2023-11-09 22:11:53 +01:00
DJ2LS
8b49fc4f8e improved multiclient support and reconnecting 2023-11-09 19:35:38 +01:00
DJ2LS
3b9db2980c attempt using ptt 2023-11-09 18:00:12 +01:00
DJ2LS
3616e131f7 attempt using waerfall with websockets 2023-11-09 17:14:22 +01:00
DJ2LS
1dc766e70e tests with ping and beacon 2023-11-09 15:48:10 +01:00
DJ2LS
24ad55081c fix audio device selection 2023-11-09 14:15:11 +01:00
DJ2LS
a6aabd1bc4 adjusted some command handling 2023-11-09 13:52:27 +01:00
DJ2LS
bb73d897f9 fixed modem error when selectin audio devices 2023-11-09 13:52:03 +01:00
DJ2LS
7705723fe0 fixed modem error when selectin audio devices 2023-11-09 13:50:24 +01:00
DJ2LS
2eb47cf57f first test doing a CQ via POST 2023-11-09 10:37:45 +01:00
Pedro
2f7c3bc73c Add commented draft of modem endpoints 2023-11-08 19:21:36 +01:00
Pedro
bf866a73e6 Integrate the modem event queue in other modules 2023-11-08 18:49:38 +01:00
Pedro
08f35903af Connect modem events to /events websocket 2023-11-08 17:46:15 +01:00
Pedro
a4f4b7b052 Refactor modem.py init 2023-11-08 14:24:54 +01:00
Pedro
697cb7610a Improve modem audio device logging info 2023-11-08 14:03:35 +01:00
DJ2LS
0e21c33376 first test with fetching settings 2023-11-08 11:24:52 +01:00
DJ2LS
c38175f83f added CORS support 2023-11-08 10:54:08 +01:00
Pedro
045fcb1e4b Use audio device name crc as the id. Detect and match crc to find the correct device. 2023-11-07 15:20:09 +01:00
Pedro
61636fe473 Modem running inside the server for the first time. 2023-11-07 11:36:49 +01:00
Pedro
760585f9a6 Add endpoints GET /devices/audio and GET /devices/serial 2023-11-06 21:44:36 +01:00
Pedro
3b5131d63e Add POST /config with tests 2023-11-06 20:52:33 +01:00
Pedro
24cfc8f691 Improve config write method. Add tests. 2023-11-06 19:04:35 +01:00
Pedro
25a1e3b495 Add working GET /config to the API 2023-11-06 15:37:33 +01:00
Pedro
2a954830ce Add option --use-config cli argument for a custom config file. 2023-11-06 15:20:09 +01:00
Pedro
cc182059bd Add rest API server 2023-11-06 13:54:38 +01:00
Pedro
0102220271 Add write() method to config and created first tests. 2023-11-06 11:30:37 +01:00
Pedro
8d99b0bfa2 Only use config for modem settings 2023-11-06 08:47:28 +01:00
DJ2LS
e95f9a1d6a make channel opener more random 2023-11-02 15:07:36 +01:00
DJ2LS
0c23ca0561 make channel opener more random 2023-11-02 15:02:47 +01:00
DJ2LS
5d7508dbed test with early retransmit of NACK 2023-10-31 22:28:19 +01:00
DJ2LS
b0d2c195ae fixed daemon startup 2023-10-31 16:45:18 +01:00
DJ2LS
5632310b8c added rx audio level and moved from linear to dB 2023-10-31 15:29:33 +01:00
DJ2LS
3f49b63930 adjusted arq timeouts... 2023-10-31 14:00:03 +01:00
DJ2LS
5d111cac5b enable / disable morse identifier 2023-10-31 09:53:31 +01:00
DJ2LS
4a47c3f58c adjusted morse module 2023-10-29 23:10:12 +01:00
DJ2LS
f59ccd5ae5 improved channel busy handler 2023-10-28 23:42:29 +02:00
DJ2LS
dff5b8e3cd improved channel opening 2023-10-28 22:37:15 +02:00
DJ2LS
be6035e159 version update 2023-10-28 20:13:27 +02:00
DJ2LS
c68c952f13 some more gui polising 2023-10-27 23:26:54 +02:00
DJ2LS
44a49a84a3 adjusted daemon process starting 2023-10-27 22:58:11 +02:00
DJ2LS
33094fa7a4 adjusted daemon process starting 2023-10-27 22:50:21 +02:00
DJ2LS
3e19428beb adjusted daemon process starting 2023-10-27 22:47:10 +02:00
DJ2LS
a48c7f08f1 adjusted daemon process starting 2023-10-27 22:03:11 +02:00
DJ2LS
b81bcb2c9f attempt with subprocess.run 2023-10-27 14:25:11 +02:00
DJ2LS
e30d71a85e attempt with rigctld watchdog 2023-10-26 20:04:57 +02:00
DJ2LS
eada33df2f temporary fix for starting the modem 2023-10-26 14:40:28 +02:00
DJ2LS
fc76844362 better sock handling for modem 2023-10-26 10:48:03 +02:00
DJ2LS
f9c281eb54 important catch error for network 2023-10-26 09:44:05 +02:00
DJ2LS
c98999190e
Merge branch 'main' into ls-github 2023-10-25 13:21:45 +02:00
DJ2LS
719e8f760d test with new version 2023-10-25 13:21:03 +02:00
DJ2LS
9aa0b7c7a0
Merge branch 'main' into ls-mesh 2023-10-24 23:27:26 +02:00
DJ2LS
005519c6c1 mesh hotfix 2023-10-24 22:18:18 +02:00
DJ2LS
a9468a9fd5 version update 2023-10-24 19:41:54 +02:00
DJ2LS
0a8cc3ade7 version update 2023-10-24 17:47:59 +02:00
DJ2LS
ea4d0f21f9
Merge branch 'main' into ls-modem 2023-10-23 21:02:21 +02:00
DJ2LS
4d40b59303 fix error where stopping the modem wasnt possible 2023-10-23 20:55:22 +02:00
DJ2LS
31cbdbeaf0 closes 471 2023-10-23 20:42:20 +02:00
DJ2LS
e2da509898 closes 492 2023-10-23 20:16:02 +02:00
DJ2LS
9cb5134737 version update 2023-10-23 13:36:10 +02:00
DJ2LS
053215a6bb final build test 2023-10-23 12:24:38 +02:00
DJ2LS
5d6f677a5e adjusted build step again 2023-10-23 09:46:56 +02:00
DJ2LS
56de66e68e test with universal support 2023-10-23 09:17:44 +02:00
DJ2LS
462db658b6 fixed daemon process handler 2023-10-22 21:32:28 +02:00
DJ2LS
36a50fa02b some mire linting.. 2023-10-22 11:13:02 +02:00
DJ2LS
777e9d0182 more code linting 2023-10-22 10:15:43 +02:00
DJ2LS
c39af3f830 moved from TODO: to TODO 2023-10-22 10:04:10 +02:00
Mashintime
8bf17da934 Rigctl tweaks, open rigcltd in own window on win 2023-10-21 22:04:32 -04:00
Mashintime
72255f7959 Only display info if libcodec2 can't be loaded 2023-10-21 16:51:40 -04:00
DJ2LS
c16bc45c53 forgot a tnc to modem change .. 2023-10-20 14:19:31 +02:00
DJ2LS
b0ed3d2474 forgot a tnc to modem change .. 2023-10-20 14:14:17 +02:00
DJ2LS
5d0d008cdc deleted tnc folder, moved to modem folder 2023-10-20 14:12:20 +02:00