Commit Graph

533 Commits

Author SHA1 Message Date
PavelSindler
a83475bf7c whitespace 2018-06-21 22:18:10 +02:00
PavelSindler
7b81663883 crash detection/stop print erroneous movements hotfix 2018-06-21 22:16:45 +02:00
PavelSindler
ee1e8dfccc set default printer message when recovering from crash detection and at the end of mesh bed leveling 2018-06-20 17:58:31 +02:00
XPila
2be36f626f
Merge pull request #845 from PavelSindler/crash_movements
crash detection fix for absolute E coordinates
2018-06-19 18:46:39 +02:00
PavelSindler
650d8cc643
Merge pull request #844 from mkbel/add_farm_PRUSA_RESET
Add PRUSA RESET command in farm mode.
2018-06-19 18:44:00 +02:00
PavelSindler
1e60390545 dont process data from serial line if print is saved (crash detection and filament detection) 2018-06-19 16:51:22 +02:00
PavelSindler
209209459d Merge remote-tracking branch 'upstream/MK3' into crash_movements 2018-06-18 18:29:12 +02:00
Robert Pelnar
7619e94040 New ML support - checksum and signature 2018-06-15 20:37:33 +02:00
PavelSindler
ac1e089a7f crash detection fix for absolute E coordinates 2018-06-15 20:03:48 +02:00
Marek Bel
32165dedb0 Add PRUSA RESET command in farm mode. 2018-06-15 17:07:44 +02:00
mkbel
9ba49affc6
Merge pull request #835 from PavelSindler/safety_timer_gcode
Safety timer gcode
2018-06-14 20:49:25 +02:00
PavelSindler
ed2f87f4f5 documentation updated 2018-06-14 17:29:40 +02:00
bubnikv
eef6c68c9f Added support for a secondary boot loader, based on the OptiBoot project,
modified to update the external flash memory on Einsy boards.
Due to a bug in the USB to serial converter firmware on the Prusa Einsy
boards, the STK500 protocol has been modified to never send semicolon
characters towards the main processor.

This firmware updater is compatible with a modified avrdude using
the "arduino" protocol, see the following commit.
https://github.com/prusa3d/Slic3r/tree/fwupdater_languages
2018-06-14 15:13:21 +02:00
PavelSindler
2026e7fe4d Revert changes in Timer class; disable safety timer in handleSafetyTimer function if safetytimer inactive time was set to zero 2018-06-14 13:14:14 +02:00
PavelSindler
2a219143fe Merge remote-tracking branch 'upstream/MK3' into safety_timer_gcode 2018-06-14 13:09:15 +02:00
PavelSindler
c1425aece3 gcode: set safety timer period 2018-06-13 16:22:06 +02:00
PavelSindler
3ca7c82e08 power panic: restore dir names 2018-06-12 19:45:59 +02:00
PavelSindler
fb6f4c6c8f break 2018-06-12 15:06:11 +02:00
PavelSindler
0ab0519c01 power panic fix: short filenames 2018-06-12 14:35:25 +02:00
PavelSindler
db9c82acef M600 communication timeout fix 2018-06-11 20:28:18 +02:00
XPila
d6ccaa7c08
Merge pull request #830 from PavelSindler/crash_det_cool_hotend
Crash detection: set nozzle target temp to zero when waiting for user
2018-06-11 15:43:54 +02:00
XPila
5178675cdd
Merge pull request #829 from PavelSindler/temp_cal_fix2
Home XYZ: first move Z higher to protect steel sheet/heatbed
2018-06-11 15:42:59 +02:00
PavelSindler
2f5bb80e98 crash detection: turn off nozzle when waiting for user 2018-06-11 15:34:16 +02:00
PavelSindler
d4106c2fe3 If homing all axes, move Z little bit higher before X and Y movements to protect steel sheet/heatbed 2018-06-11 11:13:49 +02:00
Robert Pelnar
0cf7d12ae3 New ML support - lcd optimalization
lcd_puts_P and lcd_printf_P functions
LineFeed implemented in LiquidCrystal_Prusa
2018-06-10 22:06:00 +02:00
Robert Pelnar
0f75bcb442 New ML support - flash usage optimalization
used flash space 252826bytes (MK3 + ML support), free ~1kbyte
2018-06-10 20:44:36 +02:00
Robert Pelnar
c25fec9f0a New ML support
printf float library enabled - platform.txt must be modified!
+flash usage optimalization - printing to serial line
current flash usage: 253206bytes (MK3 + ML support)

platform.txt original line 20:
compiler.c.elf.flags=-w -Os -Wl,--gc-sections

platform.txt modified line 20 (enable printf float library)
compiler.c.elf.flags=-w -Os -Wl,-u,vfprintf -lprintf_flt -lm -Wl,--gc-sections
2018-06-10 20:04:25 +02:00
Robert Pelnar
a1ea5019dc Merge remote-tracking branch 'upstream/MK3' into MK3-new_lang 2018-06-10 16:29:29 +02:00
Robert Pelnar
076258ff99 New ML support - cond.trans. for LANG_MODE 0 2018-06-10 16:28:15 +02:00
Robert Pelnar
4567d2feca removed unused cond. trans. for NEW_SPI 2018-06-10 16:11:39 +02:00
Robert Pelnar
fcfb4cdcae New ML support - menu tunning, startup
+config headers (bool - true/false replaced with 0/1)
+fixed include hierarchy
+removed comments
2018-06-10 16:04:32 +02:00
Robert Pelnar
f098707021 New ML support - W25X20CL - update process UI tunning 2018-06-10 00:22:28 +02:00
Robert Pelnar
5de0a6437d New ML support - W25X20CL - lang switching
+removed unused code
2018-06-09 23:49:26 +02:00
Robert Pelnar
dcd58d002c New ML support - W25X20CL
language selection from menu is working
2018-06-09 19:16:36 +02:00
Robert Pelnar
a9446cc6b3 New ML support - W25x20CL 2018-06-09 18:26:53 +02:00
Robert Pelnar
ebd8375313 New ML support - external flash W25X20CL - upgrade is working!!! (hardcoded to german)
+print test (LT_PRINT_TEST)
2018-06-09 17:49:41 +02:00
Robert Pelnar
c0946d8f04 New ML support - w25x20cl spi external flash support
+fixed some messages
+sec lang update test
2018-06-09 01:23:04 +02:00
XPila
31357379ff
Merge branch 'MK3' into time_remaining 2018-06-08 18:31:32 +02:00
XPila
8963757c3c
Merge branch 'MK3' into crash_detection_stop 2018-06-08 18:28:43 +02:00
PavelSindler
5e120e6e52 power panic flow factor hotfix 2018-06-08 18:13:50 +02:00
PavelSindler
332a23bef5 Crash detection stops and waits for user if it fails multiple times in short time frame 2018-06-08 16:08:07 +02:00
XPila
739de5224e
Merge branch 'MK3' into MK3-new_lang 2018-06-08 14:38:00 +02:00
Robert Pelnar
37f82118c8 New ML support - lang select menu fix 2018-06-08 02:03:25 +02:00
Robert Pelnar
bd1e410228 New ML support - W25X20CL external spi flash support 2018-06-08 00:20:28 +02:00
PavelSindler
877f8f2a61
Merge pull request #795 from 3d-gussner/MK3_fix5
Fix warning: This is kind of important
2018-06-07 22:22:54 +02:00
PavelSindler
a15f0138de show estimated time to end of the print if available in gcode: initial version 2018-06-07 20:50:30 +02:00
PavelSindler
42cfcb2601
Merge pull request #794 from stahlfabrik/M860-enhanced
Improved M860 - now wait for cooling of PINDA, too
2018-06-06 12:01:06 +02:00
XPila
1290326210
Merge pull request #790 from PavelSindler/power_panic_flow_rate
power panic: extruder_multipliers added
2018-06-05 20:58:15 +02:00
XPila
6a8425f62d
Merge pull request #809 from mkbel/Use_Timer
Use timer
2018-06-05 20:54:41 +02:00
PavelSindler
d49c4508a7 removing some debug code 2018-06-05 20:39:42 +02:00
PavelSindler
264daaf715 typo fixed 2018-06-05 20:33:05 +02:00
PavelSindler
aacaf67eaa Crash detection/filament sensor: restore print from stored line number in case that we are printing over USB, retraction fix; debug: cmd queue on LCD 2018-06-05 20:28:41 +02:00
Marek Bel
01af8a806b Merge branch 'MK3' into Use_Timer 2018-06-05 19:03:11 +02:00
Marek Bel
f819392d10 Do not create static object in function. Saves 8B RAM and 16B flash, because there is no need to guard constructor against concurrent calls. 2018-06-05 18:38:25 +02:00
Marek Bel
7cc8b743c2 Add .gitignore. Setup doxyfile. Create project documentation main page. Document property of static object constructors on gcc-avr. 2018-06-05 18:30:02 +02:00
PavelSindler
746ac17e4e debugging 2018-06-04 16:40:56 +02:00
Robert Pelnar
47c68c884c New ML support - fixed duplicate strings 2018-06-01 14:35:03 +02:00
Robert Pelnar
53d9d8bd8a New ML support - lang codes
+script tunning
2018-06-01 10:47:47 +02:00
3d-gussner
5004433b20 Fix warning: This is kind of important
Again another fix from https://github.com/prusa3d/Prusa-Firmware/pull/138 made by @Thess for the MK2 branch which i think is quite important.

Ardunio IDE 1.8.5 result with Compiler warnings set to "More" or "All"
```
sketch\Marlin_main.cpp:3265:44: warning: the address of 'retracted' will always evaluate as 'true' [-Waddress]

               if((echange<-MIN_RETRACT && !retracted) || (echange>MIN_RETRACT && retracted)) { //move appears to be an attempt to retract or recover

                                            ^

sketch\Marlin_main.cpp:3265:82: warning: the address of 'retracted' will always evaluate as 'true' [-Waddress]

               if((echange<-MIN_RETRACT && !retracted) || (echange>MIN_RETRACT && retracted)) { //move appears to be an attempt to retract or recover

                                                                                  ^

sketch\Marlin_main.cpp:3268:28: warning: the address of 'retracted' will always evaluate as 'true' [-Waddress]

                   retract(!retracted);

                            ^

sketch\Marlin_main.cpp:3870:15: warning: statement has no effect [-Wunused-value]
```

I don't know if that helps making small pull requests as they are easier to review or it would make sense to combine few more.

Prusa should really review this pull [request](https://github.com/prusa3d/Prusa-Firmware/pull/138) again for the MK3 branch, as it was one that made warnings disapear in the MK2 branch and made finding new flaws in the code much much easier.
2018-06-01 10:17:03 +02:00
Robert Pelnar
5a2b056d47 Merge remote-tracking branch 'upstream/MK3' into MK3-new_lang 2018-06-01 00:43:16 +02:00
Christoph Stahl
7c4fce7876 whitespace correction 2018-05-31 18:55:14 +02:00
Christoph Stahl
73708ec883 Improved M860 - now wait for cooling of PINDA, too
The M860 - wait for PINDA temperature - gcode has been improved. Until now it could only wait until the PINDA has been warmed up to a set temperature. Now it also can wait until the PINDA has cooled down to a set temperature. The calling syntax has not been changed at all. The logic now looks if the bed or hotend have a target temperature different from 0. If so, the code waits until PINDA has warmed up. Otherwise it waits until PINDA has cooled down.

Applications:
- Possibility to start a Print at exactly the right PINDA temperature. (Do not start the heater until PINDA is cooled down)
- Much easier manual temperature calibration (automating the wait for cool down in between calibration runs)
- Possibility for temp calibration verification on one heat bed by printing multiple objects with different PINDA temperatures one after the other
2018-05-31 16:41:59 +02:00
XPila
80c641ae5d
Merge pull request #789 from 3d-gussner/MK3_fix4
Fixed warning: invalid suffix on literal; C++11 requires a space betw…
2018-05-31 14:09:49 +02:00
Robert Pelnar
37e575f4bc New ML support - debug output, bootloader
bootapp - automaticaly erase flash when necessary
+test code
2018-05-30 19:29:52 +02:00
PavelSindler
9104b0601a power panic: extruder_multipliers added 2018-05-30 18:59:33 +02:00
3d-gussner
eeca0f683b Fixed warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] 2018-05-30 16:06:22 +02:00
PavelSindler
3bf47d7f83 "run xyz cal first" message 2018-05-30 15:29:59 +02:00
PavelSindler
987f8969c0 Merge remote-tracking branch 'upstream/MK3' into temp_cal_coordinates_fix 2018-05-30 15:20:40 +02:00
PavelSindler
2561ab9c7d
Merge pull request #786 from XPila/MK3-new_lang
Mk3 new lang
2018-05-30 14:54:47 +02:00
3d-gussner
dce2d45499 Fixed forgotten comment 2018-05-30 13:35:48 +02:00
Robert Pelnar
4746c77195 New ML support - bootloader support and update proces test 2018-05-29 21:03:47 +02:00
PavelSindler
d307868a90 merge with upstream 2018-05-28 20:38:55 +02:00
PavelSindler
26724c4a48 removed message 2018-05-28 20:31:57 +02:00
PavelSindler
7e79ce8e53 MK3: crash detection for Z axis is active during auto home and mesh bed leveling (normal mode is forced for Z movents); temp cal coordintes corrections; temp cal: xy movents always in safe Z distance from heatbed, Z-axis homing improved 2018-05-28 20:26:15 +02:00
Robert Pelnar
baa66a0887 New ML support - secondary language name, language selection 2018-05-28 17:14:55 +02:00
XPila
28a767b460
Merge pull request #760 from PavelSindler/safety_timer_fixes
Safety timer not active during filament runout procedure
2018-05-28 13:28:24 +02:00
PavelSindler
58ae70c4e1
Merge branch 'MK3' into MK3-new_lang 2018-05-28 13:22:14 +02:00
Robert Pelnar
15207e4d5e Linearity correction fix - (eeprom storage changed to byte instead of word)
+enabled for XYZ axes
2018-05-28 01:47:08 +02:00
Robert Pelnar
55157640c5 New ML support - czech version is working!!!
postbuild.sh, make_lang.sh - fixed (id and offset calculation)
language.c, language.h - fixed (==||==)
config.h - reserved space for _SEC_LANG changed
Marlin_main.cpp - debug output + hardcoded lang_select(1) //means cz
2018-05-27 15:14:04 +02:00
PavelSindler
2ffb95c72a bugfix: use absolute coordinates for steel sheet removal position, because there is no homing at the beginning of calibration in case that position is already known 2018-05-24 20:28:00 +02:00
Robert Pelnar
2cf20c8c99 New ML support - migration - fix_source_1.sh script (replace 'MSG_xx' with '_T(MSG_xx)')
+ output + fixed source
2018-05-23 16:37:08 +02:00
Robert Pelnar
da3432e237 New ML support - changed _SEC_LANG reserved space to 10kb, added debug code 2018-05-23 16:11:12 +02:00
Robert Pelnar
f00a9ce636 New ML support - language.c, language.h - code fixed, Marlin_main.cpp - debug output 2018-05-23 15:46:08 +02:00
PavelSindler
0091b41fb5
Merge pull request #744 from PavelSindler/M860_fix
M860 fix: send busy messages
2018-05-23 13:15:46 +02:00
PavelSindler
137e1c5027 whitespace 2018-05-22 13:33:31 +02:00
PavelSindler
d63a17c696 Safety timer not active during filament runout detection 2018-05-22 13:31:21 +02:00
Robert Pelnar
bd587faab9 New ML support - migration - replaced source, removed original ML support files (backup) 2018-05-22 03:20:03 +02:00
MRprusa3d
83aa710da6 menu returns corrections
Settings::FilamentSensor & FilamentAutoload

removing Calibration::ShowEndStops @ MK3
2018-05-15 20:23:22 +02:00
PavelSindler
c59e9bd6be M860 fix: send busy messages 2018-05-15 18:27:25 +02:00
Marek Bel
02ecd08786 Convert Time class to template, instantiate LongTimer for longer and ShortTimer for shorter periods. 2018-05-11 16:31:42 +02:00
Marek Bel
e8730c2899 Merge branch 'MK3' into read_xyz_cal
# Conflicts:
#	Firmware/ultralcd.cpp
2018-05-10 18:31:31 +02:00
Marek Bel
c359d11858 Do not disable bed heating, when the print is paused.
Also remove duplicate handleSafetyTimer() call.
2018-05-04 15:21:22 +02:00
MRprusa3d
8a92d9b6a3 MaR::180501b 2018-05-02 23:49:21 +02:00
MRprusa3d
d02333918f MaR::180501 2018-05-02 22:13:47 +02:00
PavelSindler
420d1079af terminate temperature calibration in case that Z probing function returns false 2018-04-30 17:51:44 +02:00
PavelSindler
2a57325bd5
Merge pull request #685 from mkbel/add_safety_timer_notice
Show full screen blocking notification message after heater turned off
2018-04-27 17:24:33 +02:00
PavelSindler
265d4761a3 M861: steps value for 35C 2018-04-27 17:07:10 +02:00
Marek Bel
eced66f0f6 Show full screen blocking notification message after heater turning off by safety timer. 2018-04-27 16:23:20 +02:00
PavelSindler
acd308e3d4 safety timer prolonged to 30 minutes 2018-04-27 14:03:09 +02:00
PavelSindler
e7cf68e038 whitespace 2018-04-26 19:27:07 +02:00
PavelSindler
2dd0d84845 M861: usteps and z_shift variables correction 2018-04-26 19:14:28 +02:00
PavelSindler
9c3e0aab36 M861 update: use signed values 2018-04-26 18:55:08 +02:00
Marek Bel
ae08788c99 Split lcd_service_mode_show_result screens to separate functions. Make them non blocking. Remove global array distance_from_min, pass it as function return value. Make Support submenus returning to Support menu. 2018-04-26 16:36:02 +02:00
PavelSindler
2657d3febd MK25: SILENT_MODE_NORMAL changed to SILENT_MODE_POWER 2018-04-26 15:12:45 +02:00
PavelSindler
9a6cc8a035
Merge pull request #664 from MRprusa3d/MK3
Mk3
2018-04-25 22:20:45 +02:00
MRprusa3d
7e462b3224
Merge branch 'MK3' into MK3 2018-04-25 19:15:36 +00:00
MRprusa3d
0b6644915a
Add files via upload 2018-04-25 18:47:19 +00:00
PavelSindler
d85a8077a8 M115 update 2018-04-25 20:39:10 +02:00
Robert Pelnar
0271ab3643 Meshbedleveling, calibration Z
check crash Z (MK3)
 check deviation of Z-probe (>50um == error, all printers)
kill with message "debris on nozzle..."
2018-04-25 16:19:16 +02:00
XPila
5bb9451b5d
Merge pull request #658 from XPila/MK3-V3_2
Meshbedleveling/MK3 - check crash Z after homeaxis (kill with message…
2018-04-24 20:54:53 +02:00
Robert Pelnar
1553e99d8e Meshbedleveling/MK3 - check crash Z after homeaxis (kill with message "debris on nozzle...") 2018-04-24 20:12:29 +02:00
PavelSindler
f9d64bdfb1
Merge pull request #655 from mkbel/fix_z_home_point
Fix z home point
2018-04-24 16:51:57 +02:00
XPila
79b9f736aa
Merge pull request #657 from PavelSindler/temp_cal_update
Temp calibration update
2018-04-24 15:16:13 +02:00
PavelSindler
8efe66ef99 remove tab 2018-04-24 14:34:49 +02:00
PavelSindler
ffe93b2ca9 whitespace correction 2018-04-24 14:33:48 +02:00
PavelSindler
cc74edfa13 whitespace 2018-04-24 14:23:52 +02:00
PavelSindler
010ceceff9 add another homing after steel sheet is removed; added timeout for pinda cooling; if PINDA doesn't trigger before reaching Z = -1mm, temp. calibration fails 2018-04-24 13:43:51 +02:00
Marek Bel
9bd4d580d7 Use right calibration point. This change is only formal, as both original and new point have same coordinates. 2018-04-23 20:33:25 +02:00
Marek Bel
cccd8246ab Fix world2machine(const float &x, const float &y, float &out_x, float &out_y) not using input parameters if only WORLD2MACHINE_CORRECTION_SHIFT is applied. 2018-04-23 20:33:14 +02:00
PavelSindler
043c8c66be waiting for pinda probe cooling 2018-04-19 16:55:00 +02:00
PavelSindler
5791d9f0d8 EEPROM address conflict fix; forcing selftest can happen only in case that we have TMC2130 drivers 2018-04-18 14:17:28 +02:00
Marek Bel
c88f0108af Fix safety timer.
Constant parameter greater than 16 bits must by stated as unsigned long.
2018-04-13 19:30:08 +02:00
PavelSindler
b1bb6841c9
Merge pull request #617 from mkbel/fix_farm_reset_1
Fix farm reset
2018-04-13 10:02:54 +02:00
Marek Bel
388d6eea36 Fix printer resets in farm mode if command "PRUSA SN" is received and 32U2 processor is not responding. 2018-04-12 18:44:33 +02:00
Marek Bel
08740356b8 Move "PRUSA SN" gcode to separate function. 2018-04-12 18:41:11 +02:00
XPila
6b5835fd9f
Merge pull request #612 from PavelSindler/M861_gcode
M861 gcode, temp cal is automaticly activated after calibration process
2018-04-11 18:45:57 +02:00
PavelSindler
45d1dbbfe0 temp cal. active set to false 2018-04-11 18:37:07 +02:00
PavelSindler
ce66699340 dont use default temp table for new printers and dont automaticly activate temp. cal. (new pinda probes have different characteristics) 2018-04-11 18:36:38 +02:00
PavelSindler
47eab97d2d temp. calibration is automaticly activated after calibration process 2018-04-11 18:16:16 +02:00
PavelSindler
0ba7850146 pinda temp table changed back 2018-04-11 17:40:04 +02:00
XPila
c69524c3fb
Merge pull request #611 from XPila/MK3-V3_2
removed Configuration_prusa.h
2018-04-11 17:33:37 +02:00
Robert Pelnar
89efcb84b1 removed Configuration_prusa.h
fixed - compilation for MK25
2018-04-11 17:32:31 +02:00
PavelSindler
919fba531a wait for PINDA gcode changed 2018-04-11 16:48:47 +02:00
PavelSindler
f70685a92d
Merge pull request #542 from stahlfabrik/MK3_PINDA_TEMP_WAIT_GCODE
MK3 Add Gcode to wait for minimum PINDA temp
2018-04-11 16:40:21 +02:00
Robert Pelnar
92997204a1 Linearity correction - TMC codes for calibration object, variable stored as uint8, range from 1.03 to 1.20 2018-04-03 12:30:35 +02:00
Robert Pelnar
baade7db61 Removed unused files (ST7565R-dogm, digipot)
renamed functions digipot_init and digipot_current
fixed cond. trans. (menus)
fixed variant files - MK25, MK3
2018-03-29 23:01:13 +02:00
Robert Pelnar
363a9d24b3 LiquidCrystal class renamed to LiquidCrystal_Prusa 2018-03-29 17:50:43 +02:00
Robert Pelnar
186e630299 New SPI (do not use Arduino SPI class)
saved ~300bytes flash, 4bytes ram
2018-03-29 17:42:41 +02:00
XPila
06d5ec5659
Merge pull request #586 from mkbel/ustep_linearity_2
Ustep linearity
2018-03-28 19:38:34 +02:00
XPila
ffdd11e960
Merge pull request #587 from XPila/MK3-V3_2
Mk3 v3 2
2018-03-28 19:38:20 +02:00
Robert Pelnar
bde097cad1 bugfix - PFW233 - first homing in silent mode Y crash. 2018-03-28 19:22:20 +02:00
Marek Bel
9cb036fbcb Merge remote-tracking branch 'prusa3d/MK3' into ustep_linearity_2 2018-03-28 19:11:02 +02:00
Marek Bel
40a064ffbc Add extruder linearity correction to settings menu. 2018-03-28 18:53:37 +02:00
Marek Bel
678cd17e7b Increase size of EEPROM_TMC2130_WAVE_*_FAC to 16 bits. 2018-03-28 16:13:16 +02:00
Robert Pelnar
cf43b85de9 XYZ calibration - accuracy improvement 2018-03-27 17:27:41 +02:00
PavelSindler
e5faba7226 serial port set back (was previously changed for debugging purposes) 2018-03-15 14:42:03 +01:00
PavelSindler
08ec920d33 merge with upstream 2018-03-15 14:25:17 +01:00
Robert Pelnar
67e90b576a Disabled force selftest
XYZ calibration tunning
2018-03-14 16:25:32 +01:00
PavelSindler
863fe1f054 show message that printer is not connected to monitoring on printer start 2018-03-14 15:35:39 +01:00
Robert Pelnar
81cd96b8fe Variant file for MK25 + cond. translation 2018-03-13 23:02:46 +01:00