Scott Lahteine
cd3ec5a77b
Add error-check to M422
2019-10-24 12:59:50 -05:00
Jason Smith
832cb7e1ac
Z_STEPPER_AUTO_ALIGN — To align with Z stepper points ( #15195 )
2019-10-16 13:39:58 -05:00
Marcio Teixeira
6a865a6146
Multi-language support ( #15453 )
2019-10-09 19:46:10 -05:00
Scott Lahteine
f307ff68f7
Multiply by float, not double
2019-09-29 17:25:27 -05:00
Alex Somesan
10bbed7f69
Fix comma/semicolon typo ( #15420 )
2019-09-29 16:50:53 -05:00
Scott Lahteine
50e4545255
Add custom types for position ( #15204 )
2019-09-29 04:25:39 -05:00
Scott Lahteine
455dabb183
Add a feedRate_t data type ( #15349 )
2019-09-26 01:28:09 -05:00
Robby Candra
9c288a682d
Followup to probe_at_point change ( #15342 )
2019-09-25 02:29:10 -05:00
Scott Lahteine
5288c399ce
Patch probe offset name, defines
2019-09-24 23:39:23 -05:00
Scott Lahteine
4e8d9fe59b
zprobe_offset => probe_offset
2019-09-24 23:36:09 -05:00
InsanityAutomation
df1e51258a
Add M851 X Y probe offsets ( #15202 )
2019-09-24 21:29:21 -05:00
Scott Lahteine
5e13fe989f
Rename some feedrate-oriented functions
2019-09-23 22:36:41 -05:00
Scott Lahteine
13d725d24d
Tweak debug messages
2019-09-20 23:35:22 -05:00
Scott Lahteine
b71a755a30
Add float suffix in G33
2019-09-17 23:30:27 -05:00
Scott Lahteine
c353eaa146
Misc changes from struct refactor ( #15289 )
2019-09-17 18:16:28 -05:00
Scott Lahteine
465c6d9230
Simpler Allen Key config. Fixes, cleanups from refactor ( #15256 )
2019-09-14 03:05:10 -05:00
Scott Lahteine
f9992c5f33
Implausible
2019-09-11 02:52:14 -05:00
Giuliano Zaro
9958f5e322
Home on G34 if steppers slept ( #15127 )
2019-09-02 02:44:48 -05:00
Luu Lac
081e4506ca
Fix G53 as prefix, G28 with CNC_COORDINATE_SYSTEMS ( #15069 )
2019-08-28 04:20:28 -05:00
Marcio Teixeira
274934ad81
Add LULZBOT_TOUCH_UI ( #14967 )
2019-08-16 18:34:13 -05:00
Scott Lahteine
c8e30b6639
Fix code attempting to sprintf %f ( #14869 )
...
Arduino doesn't (always) support `float` formatting in strings. So either cast to `int` or use `dtostrf()` to fix these usages.
2019-08-08 01:51:37 -05:00
Acenotass
4af9908764
Update M48 command in the status line ( #14816 )
2019-08-05 20:01:40 -05:00
teemuatlut
d4974ea719
TMC SPI Endstops and Improved Sensorless Homing ( #14044 )
2019-08-04 22:22:58 -05:00
InsanityAutomation
6f8b8c394d
Homing backoff per-axis / delta Z ( #14789 )
2019-07-31 20:50:23 -05:00
Acenotass
659d06d9b9
M48 menu item, result to status ( #14772 )
2019-07-30 02:31:14 -05:00
Giuliano Zaro
290466578f
Adafruit Grand Central M4 ( #14749 )
2019-07-28 14:48:29 -05:00
Scott Lahteine
1088846cae
Cosmetic updates from 14044
2019-07-24 01:52:36 -05:00
Jason Smith
f2c5740d06
Add 'E' argument to G34 to allow stowing between probes ( #14533 )
...
- Use the return value from probe_pt during `G34`
Eliminate the assumption that probe_pt leaves current_position set to values relative to the probed points. This is not always true, depending on the raise_after argument.
- Add '`E`' argument to `G34` command allowing stowing between each probe.
2019-07-17 04:23:19 -05:00
InsanityAutomation
b8cc61262f
Finish G12, update Nozzle::clean ( #14642 )
2019-07-17 04:23:19 -05:00
Scott Lahteine
ed0e6afacb
Apply LIMIT macro
2019-07-10 03:35:39 -05:00
Scott Lahteine
750a16ad38
Fix MIN/MAX function collision with macros
2019-07-05 18:14:02 -05:00
GMagician
82ecaa767e
Remove unused code in M100
...
queue.buffer is in bss area, start_free_memory starts from heap then above of bss
2019-07-01 20:38:49 -05:00
Marcio Teixeira
e6cf7860e8
Improve ExtUI, fix compiler errors, warnings ( #14441 )
2019-06-29 00:23:57 -05:00
Scott Lahteine
93cd66ac11
Tweaky change from (C) to (c)
2019-06-27 23:58:16 -05:00
Scott Lahteine
2580104c8b
Revert recent probe changes
...
- Revert "Fix FIX_MOUNTED_PROBE compile error (#14393 )"
- Revert "Fix G28 with non-BLTouch probes (#14381 )"
- Revert "Fix BLTOUCH deploy/stow in HS mode (#14352 )"
- Revert "Apply needed BLTouch patch (#14233 )"
Co-Authored-By: AnHardt <github@kitelab.de>
2019-06-26 05:33:43 -05:00
BigIronGuru
9f136a7c67
Low-priority homing in G34 ( #14391 )
2019-06-26 03:52:01 -05:00
Scott Lahteine
49627069a5
Shorthand for home-after-deactivate
2019-06-26 03:47:55 -05:00
Marcio Teixeira
8e23e9b16c
Fix FIX_MOUNTED_PROBE compile error ( #14393 )
2019-06-25 04:55:29 -05:00
BigIronGuru
12d21e642f
Update G34 for non-BLTouch probes ( #14380 )
2019-06-23 20:55:43 -05:00
BigIronGuru
5986194c36
Fix G28 with non-BLTouch probes ( #14381 )
2019-06-23 20:53:05 -05:00
InsanityAutomation
aa0383a83b
Enhance IDEX toolchange auto-return w/ no park, full control ( #14117 )
2019-06-23 20:00:48 -05:00
BigIronGuru
9c83135d40
Only home Z at the end of G34 ( #14353 )
2019-06-22 00:43:33 -05:00
InsanityAutomation
a9acd2f497
G34 configurable angle limit ( #14321 )
2019-06-20 21:18:36 -05:00
Scott Lahteine
4c872a01f2
G-code queue singleton, front injection ( #14236 )
2019-06-19 00:00:19 -05:00
InsanityAutomation
bf64dd4db6
Improve G34, M422 (Z alignment) ( #14142 )
2019-06-18 07:02:18 -05:00
Scott Lahteine
04715e04ee
Minor M100 cleanup
2019-06-12 06:14:40 -05:00
Scott Lahteine
3c179bbd47
Simpler G28 home axis conditions
2019-05-26 16:26:55 -05:00
Scott Lahteine
aeec9ef76b
Update backlash code
2019-05-20 21:34:08 -05:00
FanDjango
85fb33a060
BLTOUCH tweaks, new v3.1 command ( #14015 )
2019-05-17 19:10:18 -05:00
Bob Kuhn
fa3739aa23
M100: LPC1768 and DUE compatibility ( #13962 )
2019-05-09 21:57:44 -05:00
Scott Lahteine
ad4ffa1d2f
Use C++ language supported 'nullptr' ( #13944 )
2019-05-09 11:45:55 -05:00
InsanityAutomation
6811e2921b
BLTouch v3 / 3DTouch Interoperability & performance ( #13814 )
2019-05-07 21:25:54 -05:00
Marcio Teixeira
15357af67c
Backlash cleanup ( #13659 )
...
…And save backlash, fil. sensor, ExtUI userdata to EEPROM.
2019-05-03 23:53:15 -05:00
Giuliano Zaro
e2dd2268e8
Add a Z raise-between-probes to G34 ( #13791 )
2019-04-23 13:40:55 -05:00
Roxy-3D
9cee81d47e
Option to show babysteps total since G28 ( #13580 )
2019-04-06 18:04:34 -05:00
Marcio Teixeira
bf7b28b456
Fix incorrect variable name ( #13585 )
2019-04-05 19:04:46 -05:00
Marcio Teixeira
27a4927ed1
Add option to move away from endstop after homing. ( #13557 )
...
Add option to move away from endstop after homing.
- Add `ENDSTOP_BACKOFF` for printers with a recessed Z home button (Lulzbot TAZ 6).
- Also prevents chattering when sensorless homing with axes against bumpers.
2019-04-04 02:47:19 -05:00
InsanityAutomation
fbc7b51a24
Use NO_FETCH for Dual X G28 ( #13539 )
2019-04-01 17:48:21 -05:00
Marcio Teixeira
5679fae11e
UltraLCD enhancements (lower fan resolution, backlash menu) ( #13519 )
2019-03-29 14:07:43 -05:00
InsanityAutomation
5b2c37d6c1
Followup to BLTouch ( #13422 )
2019-03-18 16:31:11 -05:00
InsanityAutomation
691e5c3bb8
BLTouch V3.0 support ( #13406 )
2019-03-17 05:57:25 -05:00
Scott Lahteine
49cf92dc36
Extended condition macros ( #13419 )
...
Allow `ENABLED`, `DISABLED`, `PIN_EXISTS`, and `BUTTON_EXISTS` to take multiple arguments. Also add:
- Alias `ANY(...)` for `!DISABLED(...)`
- Alias `ANY_PIN(...)` for `PIN_EXISTS(a) || PIN_EXISTS(b) ...`
- Alias `EITHER(A,B)` for `ANY(...)`
- Alias `ALL(...)` and `BOTH(A,B)` for `ENABLED(...)`
- `NONE(...)` for `DISABLED(...)`
2019-03-16 23:43:06 -05:00
Scott Lahteine
f5bcc00570
Unify debugging output with debug_out.h ( #13388 )
2019-03-14 02:25:42 -05:00
InsanityAutomation
050eac03af
Single X Duplication Extension ( #13373 )
...
* Multi-nozzle selective duplication
* Use a bit-mask, reduce stepper_indirection.h size
* Tweak the multi-nozzle duplication description
* Use 'S' as a bool in M605
* Add HAS_DUPLICATION_MODE conditional
* Remove '_MODE' from the option name
* M605 in the style of Stacker M280
* Also include direct mask style (P)
2019-03-13 00:42:50 -05:00
Scott Lahteine
d94e077901
Apply HAS_HOTEND_OFFSET where needed
2019-03-11 20:58:27 -05:00
Marcio Teixeira
00fc43144a
Follow up fixes to various PRs. ( #13334 )
...
- Ensure `MarlinUI:get_progress` is defined for `ExtUI`.
- Fix for `BACKLASH_SMOOTHING` with small segments.
`BACKLASH_SMOOTHING` with extremely small segments failed to fully correct due to the correction factor being rounded down. Rounding up ensures the entire backlash will converge to zero even for small segments.
- Add pinout for the beta revision `EINSY_RETRO`.
- Update soft endstops with tool offsets (for toolchange et. al. move clamping) (#12568 )
2019-03-09 14:20:37 -06:00
Scott Lahteine
5d28575d4d
Clean up some motion code
2019-02-25 16:01:42 -06:00
Minims
92a4984066
Fix G34 probe position ( #13251 )
2019-02-24 13:57:30 -06:00
Bruce j Beare
562f2321d2
Fix a G34 bug, allow negative Z corrections ( #13240 )
2019-02-23 02:41:52 -06:00
Scott Lahteine
3a1b6fe8c1
Coding standards
2019-02-19 14:58:39 -06:00
Marcio Teixeira
31c240a8db
Enhancements to G425 ( #13159 )
...
- Turn off bed leveling prior to calibrating.
- This prevents lateral probes from having a Z component that
triggers the Z endstop and causes the motion to be aborted.
- Got rid of static const float arrays "dimension" and "true_center"
- Frees up 24 bytes of SRAM
- Changed incorrect use of "bool" for float in backlash macros.
- Replaced arguments with 0.0f and 1.0f for clarity.
- Now only disables soft endstops (since calibration cube is outside of bed)
- Not necessary to disable global endstops
2019-02-14 16:45:31 -06:00
Scott Lahteine
ce40c2e87c
Use do_blocking_move_to(ref, fr)
2019-02-14 02:22:08 -06:00
Scott Lahteine
0feeef2604
Update copyright in headers
2019-02-12 15:30:11 -06:00
Marcio Teixeira
e1604198ff
G425 — Auto-calibrate Backlash and Nozzle Offsets ( #13050 )
2019-02-06 17:20:17 -06:00
Scott Lahteine
1bd9a63049
Add HAS_EXTRA_ENDSTOPS macro
2019-02-06 05:10:05 -06:00
mattfredwill
c3cb449990
TMC2130 dual-stepper Sensorless Homing ( #13061 )
2019-02-01 18:09:01 -06:00
Scott Lahteine
97da6c1da5
Use MIN/MAX for min/max
2019-01-28 20:36:13 -06:00
Bob Kuhn
2f35747f29
L6470 SPI daisy chain support ( #12895 )
2019-01-23 19:06:54 -06:00
Ludy
814d93c7cf
Fix G33 sprintf output warning ( #12738 )
2018-12-27 18:05:42 -06:00
Luc Van Daele
c6e09c2689
[2.0.x] G33 clean up ( #12648 )
...
Remove obsolete workarounds in G33 for the now fixed zprobe_zoffset bug
2018-12-18 12:43:38 -06:00
Marcio Teixeira
b22716e938
M425 Backlash Correction ( #11061 )
2018-12-08 14:36:46 -06:00
teemuatlut
50b2fbd031
Trinamic: Split stealthChop, improve driver monitoring, etc. ( #12582 )
2018-12-07 15:34:21 -06:00
Scott Lahteine
c986239837
A single SERIAL_ECHO macro type ( #12557 )
2018-11-29 16:58:58 -06:00
Scott Lahteine
1fcc13b011
Allow Serial Overrun Protection to be disabled
2018-11-23 21:07:38 -06:00
Marcio Teixeira
c1e17037e5
Various fixes for MarlinUI and ExtUI ( #12439 )
2018-11-17 22:21:44 -06:00
Scott Lahteine
a0c795b097
Encapsulate common display code in a singleton ( #12395 )
...
* Encapsulate common LCD code in a singleton
* Depend more UBL code on UBL_DEVEL_DEBUGGING
- Since most users don't need the debugging on at all times, this helps reduce the default build size for UBL by over 2K, a little closer to fitting on 128K boards.
2018-11-11 12:16:24 -06:00
Scott Lahteine
427bc64ba1
G28 O respects HOME_AFTER_DEACTIVATE
...
Addressing #11271
2018-11-05 04:17:37 -06:00
Scott Lahteine
d1ff22b983
Revive SCARA's home offset (unimplemented)
2018-11-03 06:24:41 -05:00
Scott Lahteine
e4cf175163
Synchronize on M204, M205 ( #12302 )
...
* Add parser.seen for multiple parameters
* Fix M666, use !seen for report
* Synchronize on M204, M205
2018-11-03 01:16:37 -05:00
Scott Lahteine
3583e2b449
Followup to Menu Refactor ( #12275 )
2018-10-30 16:34:45 -05:00
TheLongAndOnly
5536228359
G34 Auto-align multi-stepper Z axis ( #11302 )
2018-10-29 14:01:36 -05:00
Scott Lahteine
2bf18950ab
Refactor LCD menus
2018-10-28 15:46:45 -05:00
AnHardt
f56968ba0b
New Continuous Filament Mixer ( #12098 )
2018-10-16 03:38:57 -05:00
Scott Lahteine
d556dc1865
Fix and improve EEPROM storage ( #12054 )
...
* Clean up Temperature PID
* Improve EEPROM read/write/validate
* Group `SINGLENOZZLE` saved settings
* Group planner saved settings
* Group filament change saved settings
* Group skew saved settings
* Group `FWRETRACT` saved settings
2018-10-10 09:45:20 -05:00
Scott Lahteine
5f6aabccbe
Tweak M48 spacing
2018-10-08 19:11:25 -05:00
Scott Lahteine
11ac75edcb
Use PGM_P for PSTR pointers ( #11977 )
2018-09-30 23:44:33 -05:00
AnoNymous
b30ca652ae
Replace MIN# / MAX# with variadic MIN / MAX ( #11960 )
2018-09-30 04:59:14 -05:00
Scott Lahteine
c5e5cc5e9f
Fix some trailing whitespace, macros
2018-09-17 17:30:04 -05:00
Roxy-3D
0780913848
IDEX Improvements ( #11848 )
2018-09-17 01:06:22 -05:00
Thomas Moore
c437bb08f1
Overhaul of the planner ( #11578 )
...
- Move FWRETRACT to the planner
- Combine leveling, skew, etc. in a single modifier method
- Have kinematic and non-kinematic moves call one planner method
2018-09-16 21:24:15 -05:00
Holger Müller
1a6f2b29b8
Add support for Triple-Z steppers/endstops
2018-09-16 00:35:58 -05:00
Sam Lane
1b6bc19427
Add external closed loop controller support
2018-09-10 03:17:17 -05:00
Alexander Amelkin
bc1ba998b2
[2.0.x] Fix undefined symbol 'g29_in_progress' ( #11781 )
2018-09-09 22:06:03 -05:00
InsanityAutomation
bad225dc04
Fix mesh leveling compile errors ( #11768 )
2018-09-09 04:19:48 -05:00
Scott Lahteine
d1ceaf5550
[2.0.x] Followup to IDEX changes ( #11707 )
2018-09-03 23:15:31 -05:00
Roxy-3D
7680b64aa6
IDEX clean up ( #11690 )
2018-09-02 10:18:59 -05:00
Colin Gilgenbach
593d5375ea
Fix G28 resetting DUAL_NOZZLE_DUPLICATION_MODE ( #11605 )
...
There's no reason for G28 to reset DUAL_NOZZLE_DUPLICATION_MODE, because it only affects the E stepper, unlike DUAL_X_CARRIAGE which affects the X steppers as well.
2018-08-21 23:42:55 -05:00
Scott Lahteine
0af22549a6
Allow G33 to compile with no LCD
2018-08-11 22:32:09 -05:00
Giuliano
4237c3d9f8
[2.0.x] different bltouch init ( #11135 )
2018-07-26 05:04:09 -05:00
etagle
1367df2875
Replace double with float, optimize calculation
2018-07-04 22:28:56 -05:00
Scott Lahteine
d960d448fa
Optimize calculations with LROUND
2018-07-04 22:22:28 -05:00
Scott Lahteine
e0ab8acf19
Add "Marlin Dev Mode" option
2018-07-02 22:55:21 -05:00
Scott Lahteine
c51e27d11d
Do a hard kill for failed homing moves ( #11161 )
2018-06-30 21:54:07 -05:00
Scott Lahteine
90ba77ea0f
Lose the old HOMEAXIS macro
2018-06-30 18:13:13 -05:00
Scott Lahteine
a431013eb7
Fix G33 compile warning
2018-06-29 23:17:51 -05:00
Giuliano
cce0523a95
[2.0.x] reset bltouch on home ( #11018 )
...
Added reset bltouch instead. This ensure properly stow even when in error.
2018-06-13 14:09:13 -05:00
Karl Andersson
e0276d2f32
Official STMicroelectronics Arduino Core STM32F4 HAL compatibility ( #11006 )
2018-06-12 18:38:00 -05:00
Scott Lahteine
f2c3b0d476
Use bit flags for homed/known
2018-06-11 22:05:16 -05:00
Robert Mendon
86170e6a66
[2.0.x] Add O (optional) flag to G28/G29 ( #10913 )
2018-06-11 21:51:48 -05:00
Giuliano
f1cdfe3dfd
[2.0.x] stow bltouch before start homing ( #10987 )
2018-06-10 16:27:14 -05:00
Eduardo José Tagle
6f330f397e
[2.0.x] Buffer overflow and scroll fix, UTF8 cleanup ( #10844 )
2018-05-25 23:32:37 -05:00
Scott Lahteine
99ecdf59af
Smarter MIN, MAX, ABS macros
...
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-13 04:52:56 -05:00
Scott Lahteine
306f0f2135
Move Stepper::synchronize to Planner ( #10713 )
...
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 01:38:02 -05:00
Scott Lahteine
59fda986ea
Allow Z_AFTER_PROBING to be 0
2018-04-30 03:25:47 -05:00
Scott Lahteine
f423e54f77
Strip trailing spaces
2018-04-23 18:00:43 -05:00
Scott Lahteine
1c3d49afe0
Fix G28 with Z_AFTER_PROBING
...
Fix #10476
2018-04-22 01:23:26 -05:00
Scott Lahteine
023385ca59
Merge pull request #10479 from thinkyhead/bf2_creality_power_loss_resume
...
[2.0.x] Creality3D Power-Loss Recovery
2018-04-22 00:17:44 -05:00
Scott Lahteine
3396671011
[2.0.x] Reset LCD status to fallbacks ( #10470 )
...
* Remove obsolete strings
* Tweak some static consts
* Reset LCD status to fallbacks
2018-04-22 00:16:30 -05:00
Scott Lahteine
11ab017dd0
Creality3D Power-Loss Recovery
2018-04-21 21:56:50 -05:00
Scott Lahteine
7dcd0a1cff
Add R parameter to G28 to specify pre-raise
2018-04-21 19:07:48 -05:00
Luc Van Daele
646aa20b43
Overhaul of G33 Delta Calibration ( #8822 )
2018-04-11 21:14:48 -05:00
Luc Van Daele
ac2e0afb62
Low Point for delta calibration ( #10363 )
2018-04-11 18:59:46 -05:00
Scott Lahteine
8b8ad14178
Add Z_PROBE_LOW_POINT to prevent damage
2018-04-09 17:23:03 -05:00
Scott Lahteine
1a75165f35
For set_z_fade_height use set_bed_leveling_enabled
2018-03-31 22:43:05 -05:00
AnHardt
c1f58a238d
No delay in sensorless quick homing ( #10254 )
2018-03-29 16:10:20 -05:00
Scott Lahteine
bc45fb6b13
Tweak use of move_z_after_probing
2018-03-21 01:25:08 -05:00
Scott Lahteine
c352954882
Allow no raise after run_z_probe in probe_pt
2018-03-21 01:24:51 -05:00
Scott Lahteine
8922b56b58
Fix some spelingz
2018-03-16 01:25:41 -05:00
Scott Lahteine
a6feb58837
Delta support for multiple hotends with offsets ( #10118 )
2018-03-16 00:46:42 -05:00
Scott Lahteine
14c03cb6f4
[2.0.x] Make MIN_PROBE_EDGE a general option (for electronic probes) ( #10069 )
...
Some probes don't work near the edges of the bed. This change promotes MIN_PROBE_EDGE to a general setting that applies to all probing functions.
2018-03-13 01:15:22 -05:00
Scott Lahteine
28f1276286
[2.0.x] Add Z_AFTER_PROBING option ( #10058 )
...
Some "fix-mounted" probes need manual stowing. And after probing some may prefer to raise or lower the nozzle. This restores an old option but tailors it to allow raise or lower as preferred.
2018-03-11 13:07:55 -05:00
Scott Lahteine
751785fc97
Followup to recent patches
...
- `M666` is static, not inline
- Disambiguate some stepper macros
2018-03-10 21:41:17 -06:00
Scott Lahteine
f003173752
Fixup M666
...
Followup to d6df032
2018-03-10 19:52:30 -06:00
Scott Lahteine
d6df0322c2
Update M666 for XYZ dual endstops
2018-03-10 06:57:31 -06:00
Scott Lahteine
419d12ca1b
Add UNKNOWN_Z_NO_RAISE option
...
With this option enabled, Z won't ever be raised until after `G28` has been completed, and it won't raise if Z becomes unknown. This is good for machines whose beds fall when Z is powered off.
2018-03-10 00:17:34 -06:00
Scott Lahteine
2057177184
Make enums into implicit char
2018-03-06 23:39:56 -06:00
Scott Lahteine
a446433c87
Fix SENSORLESS_HOMING for Core Kinematics ( #9868 )
2018-03-01 01:37:31 -06:00
Scott Lahteine
b2cf253a13
Add RESTORE_LEVELING_AFTER_G28 option
2018-02-23 13:38:54 -06:00
Scott Lahteine
1d7f5be0ff
quick_home_xy sensorless homing
2018-02-20 20:52:48 -06:00
Scott Lahteine
d4e4fe40e0
Add SENSORLESS_HOMING delay to quick_home_xy
...
Fix #9471
2018-02-19 10:12:16 -06:00