Commit graph

5580 commits

Author SHA1 Message Date
Scott Lahteine 4cd73e183d Hide hidden files and folders 2016-11-26 06:26:28 -06:00
Scott Lahteine f6f77d34a1 Add a fade factor for mesh leveling 2016-11-26 03:41:26 -06:00
AnHardt 75fdcc14b7 Activate font and mapper for el-gr 2016-11-26 02:30:37 +01:00
AnHardt a0004e7cd3 Change font decent to -1 for tt and gr
For speeding up font drawing unify font decent.
Tr and Gr have ben the only fonts with a font decent of -2.
Sorry for some, a bit compressd, but hopefully still readeble symbols.
2016-11-26 02:29:23 +01:00
Scott Lahteine 307f263f89 Merge pull request #5292 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-11-25 16:56:49 -06:00
esenapaj 7070143042 Update Japanese translation
・Add new translation
2016-11-24 21:10:40 +09:00
esenapaj ef97645002 Follow-up the PR #5255 (Case light menu (3rd attempt)) 2016-11-24 19:42:05 +09:00
Scott Lahteine 2a9b3376a9 Merge pull request #5289 from thinkyhead/rc_which_menu_actions
Drop "static" keyword in ultralcd.cpp function declarations
2016-11-23 23:04:05 -06:00
Scott Lahteine b97dafe4b8 Drop "static" keyword in ultralcd.cpp function declarations 2016-11-23 20:43:01 -06:00
Scott Lahteine 2e966f8e5b Patch Capabilities Report for "PROGRESS" 2016-11-23 19:31:46 -06:00
Scott Lahteine f60321d3e3 Merge pull request #5284 from thinkyhead/rc_turkish_update
Turkish update (squashed)
2016-11-23 14:57:52 -06:00
Mehmet Sutas a26668b10c Add UTF8 Turkish Translation 2016-11-23 14:19:16 -06:00
Mehmet Sutas 61aa796307 Added Human Readable Comments 2016-11-23 14:19:16 -06:00
Mehmet Sutas 6fb9c6fe07 Follow-up for #5167 Turkish Language
Add check for Turkish Font before setting better font for graphic displays
2016-11-23 14:19:15 -06:00
Scott Lahteine d891324830 Merge pull request #5258 from mosh1/mbl_speed_fix
Fix z feedrate value when doing mesh bed leveling. probe feedrate use…
2016-11-23 14:15:01 -06:00
Scott Lahteine 7f8133a51f Merge pull request #5255 from Kaibob2/CaseLightMenu
Case light menu (3rd attempt)
2016-11-23 13:46:33 -06:00
Kai e9b42f4f47 Update language_de.h 2016-11-23 19:29:19 +01:00
Kai 0c341f0c50 Added Menu entry for Case light 2016-11-23 19:29:15 +01:00
Scott Lahteine 3bc2273ac9 Comment M540 2016-11-21 18:08:00 -06:00
Scott Lahteine 14b74181f5 Merge pull request #5179 from thinkyhead/rc_TMC2130
TMC2130 "Silent StepStick" support
2016-11-21 14:10:52 -06:00
Scott Lahteine bb2114a060 Merge pull request #5264 from thinkyhead/rc_delta_safe_zone
Add an option for delta to home to the top
2016-11-21 13:56:44 -06:00
Scott Lahteine 38466b1d2f Merge pull request #5271 from esenapaj/Fix-for-the-PR-#5267
Fix for thePR #5267 (Introduce a +1234.56 format for over 999 steps/mm)
2016-11-21 13:55:56 -06:00
Scott Lahteine 9b96a4a53b Merge pull request #5246 from thinkyhead/rc_some_cleanup
Minor stepper cleanup
2016-11-21 13:55:25 -06:00
Sebastianv650 8190483eeb Improvement for ENSURE_SMOOTH_MOVES
Instead of waiting for a single long block, compare the complete block
buffer runtime for the long_move() check.
2016-11-21 17:58:24 +01:00
esenapaj da67037550 Fix for thePR #5267 (Introduce a +1234.56 format for over 999 steps/mm)
・Fix memory leak
2016-11-21 22:31:01 +09:00
Scott Lahteine 0f891e848b Merge pull request #5268 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-11-21 03:18:36 -06:00
esenapaj 190a04c467 Update Japanese translation
・Change translation for 16 width LCD
2016-11-21 17:51:43 +09:00
esenapaj 7b836a4000 Introduce a +1234.56 format for over 999 steps/mm 2016-11-21 17:45:07 +09:00
Scott Lahteine 3e0376b45e Reorder M114 and M119 gcode cases 2016-11-21 00:52:19 -06:00
Scott Lahteine 644fac5d34 Reduce all stepper_indirection init code with macros 2016-11-21 00:52:18 -06:00
Scott Lahteine 4e4f37b6c2 Code formatting for TMC and L6470 config options 2016-11-21 00:52:18 -06:00
Scott Lahteine 127e21ae00 Extend M122 for all steppers 2016-11-21 00:52:18 -06:00
Scott Lahteine bf5f5f44cc Make TMC2130 init code auto-configure
Simply apply enabled settings instead of requiring users to edit
stepper_indirection.cpp
2016-11-21 00:52:17 -06:00
Moritz d67c1d825f Add TMC2130 support 2016-11-21 00:17:45 -06:00
Scott Lahteine 11effeee2c Add an option for delta to home to the top 2016-11-20 23:12:07 -06:00
Sebastianv650 50059690e0 Allow UART ISRs inside the stepper ISR
If the stepper ISR takes too long, chars are lost which leads to serial
communication errors like "Line number not +1" or "Wrong checksum". In
worst case, the printer can even do crazy moves.

With this changes, UART interrupts are handled inside the stepper ISR.
This way, no chars should be lost.
2016-11-20 13:09:12 +01:00
Moshen Chan 29b174bfb9 Fix z feedrate value when doing mesh bed leveling. probe feedrate uses XY_PROBE_SPEED 2016-11-19 16:34:41 -08:00
AnHardt 88b38eafd8 Endstop interrupt refinement
At the start of a move, check if the endstops are already triggered.
The 'change' interrupts will not see a change if already triggered.
2016-11-19 13:30:49 +01:00
Scott Lahteine 79c8591192 Merge pull request #5253 from thinkyhead/rc_smooth_move_ex-lax
Ensure smooth print moves even with LCD enabled
2016-11-19 01:38:41 -06:00
Scott Lahteine 0215cacb30 Merge pull request #5247 from esenapaj/Re-follow-the-PR-#4634
Re-follow the PR #4634 (Set language display charset in language.h)
2016-11-19 01:32:40 -06:00
Scott Lahteine 2cc32d85a3 Adjust ENSURE_SMOOTH_MOVES coding style 2016-11-19 01:28:48 -06:00
Scott Lahteine 072541f286 Update ENSURE_SMOOTH_MOVES in all configs 2016-11-19 01:28:47 -06:00
Sebastianv650 de89dc9f04 Ensure smooth print moves even with LCD enabled
lcd_update can take so much time that the block buffer gets drained if
there are only short segments. This leads to jerky printer movements for
example in circles and a bad print quality.

This change implements a simple check: Only if the block currently
executed is long enough, run lcd_update.
This also means the printer will not show actual values on the LCD nor
will it respond to buttons pressed. A option that keeps the menu
accessible is also available.
Aditionaly, slow down if a block would be so fast that adding a new
block to the buffer would take more time. In this case, the buffer would
drain until it's empty in worst case.
2016-11-19 01:28:47 -06:00
Scott Lahteine 87b6b19256 Patch CASE_LIGHT typo 2016-11-18 23:49:12 -06:00
Scott Lahteine 0be6167f14 Merge pull request #5250 from CONSULitAS/RCBugFix_K8200_backinsync_2016-11-18
K8200: Example configuration back in sync
2016-11-18 22:49:18 -06:00
Scott Lahteine eb714ee873 Move dummy thermistor opts, fix redundant sensor comment 2016-11-18 22:24:48 -06:00
Scott Lahteine 7a99c6ce4f Reformat temp sensor listing 2016-11-18 22:24:47 -06:00
Scott Lahteine 181cdb3cfe Move GCode list above include lines 2016-11-18 22:24:46 -06:00
Scott Lahteine 25d0c167bd More detailed static_assert messages 2016-11-18 22:24:46 -06:00
Scott Lahteine eb120e518c Followup to new endstop interrupts feature
- Fix typos, verbiage
- Fix naming of `setup_endstop_interrupts`
- Some formatting, indentation, spacing
2016-11-18 21:53:45 -06:00
Scott Lahteine 832fe284b4 Merge pull request #5184 from AnHardt/endstop_interrupts
Introduce endstop interrupts
2016-11-18 20:50:24 -06:00
CONSULitAS cbae44df64 K8200: Example configuration back in sync
Configuration.h: back in sync, new features configured
Configuration_adv.h: back in sync, new features configured
README.md: text updated
2016-11-18 22:55:02 +01:00
esenapaj 5db3738fe7 Re-follow the PR #4634 (Set language display charset in language.h) 2016-11-18 17:44:49 +09:00
Scott Lahteine 6eb6f12c64 Patch up some language formatting 2016-11-18 01:16:58 -06:00
Bo Herrmannsen 8cffa60cc5 Update to Danish language 10/11-2016 2016-11-18 01:16:57 -06:00
Scott Lahteine 98600e1433 Minor stepper cleanup 2016-11-18 01:15:57 -06:00
Florian Heilmann d08867986e Add autotemp capabilities to M104
This allows M104 to pass the F and B parameters to enable autotemp as well
2016-11-17 11:28:19 -06:00
Sebastianv650 c11b2bb777 Bugfix LIN_ADV
Advance has nothing todo with Z_AXIS, strange copy&paste error?
2016-11-17 11:28:19 -06:00
Scott Lahteine ee0765e872 Merge pull request #5233 from esenapaj/Update-Japanese-translation
Update Japanese translation
2016-11-17 03:38:19 -06:00
Scott Lahteine 2330619da0 Merge pull request #5191 from petrzjunior/const
Replace const bool with #define for consistency
2016-11-17 03:37:32 -06:00
esenapaj b278b7a395 Update Japanese translation
Only adjust spacing
2016-11-17 09:05:51 +09:00
Petr Zahradník junior d7ce5d271b
Replace const bool with #define for consistency 2016-11-16 18:55:21 +01:00
Scott Lahteine d63230d73e Merge pull request #5192 from Kaibob2/patch-7
Printer Stats / Completed prints line doesn't fit in display (when german)
2016-11-16 00:16:36 -06:00
Scott Lahteine 548b45026d Merge pull request #5214 from Sebastianv650/RCBugFix_planner_opt
Save some cycle inside the planner
2016-11-16 00:06:55 -06:00
Scott Lahteine 5d23e52d75 Merge pull request #5228 from thinkyhead/rc_keep_last_mix
Fix DIRECT_MIXING_IN_G1 to preserve the previous mix
2016-11-15 19:12:01 -06:00
Scott Lahteine db47aa983d Merge pull request #5226 from mtowara/RCBugFix
bump -std in Makefile to c++11
2016-11-15 16:13:32 -06:00
Scott Lahteine 99b0c1fe56 Fix DIRECT_MIXING_IN_G1 to preserve the previous mix 2016-11-15 16:12:26 -06:00
Markus Towara 23a675f621 reduce binary size of .hex
still a few bytes bigger than with arduino but nothing major
2016-11-15 21:57:15 +01:00
Markus Towara 5b6e2cecf5 bump c/c++ standard to gnu11
needed for constexpr
2016-11-15 21:54:12 +01:00
Scott Lahteine 410657b050 Fix G30 with limits, print correct probe XY 2016-11-15 14:10:28 -06:00
AnHardt f3eee02596 Introduce endstop interrupts
If ENDSTOP_INTERRUPTS_FEATURE is enabled this tries to set up interrupt routines
for all used endstop pins. If this worked without errors, `endstops.update()` is called
only if one of the endstops changed its state.

The new interrupt routines do not really check the endstops and react upon them. All what they
do, is to set a flag if it makes sense to call the endstop test we are used to.

This can be used on:
* ARM (DUE) based boards - all pins can raise interrupts,
* RAMPS - all 6 endstop pins plus some other on EXT-2 can raise interrupts,
* RAMPS based boards - as long the designers did not change the pins for the endstops or at least left enough,
* all boards, if there are enough pins that can raise interrupts, and you are willing/able to swap with pins dedicated to other purpose.
2016-11-15 12:07:41 +01:00
Sebastianv650 e3ffb58fbd Save some cycle inside the planner
planner.h:
fan speed is used to set integer variables, so no need for long.
Basicaly a byte should be enough for all the fan things, as it's 0-255?

planner.cpp:
Save some float multiplications.
We could squeeze out even more by defining feedrate_percentage,
saved_feedrate_percentage and flow_percentage as float instead of int.
Everytime they are used in the time-critical planner, they are casted to
float and multiplied by 0.01. Not done jet, as they are used in LCD menu
functions I don't know well enough.
2016-11-13 13:34:12 +01:00
Scott Lahteine 665b7f3893 Merge pull request #5212 from thinkyhead/rc_mixing_faster
Store mix factors as reciprocals and multiply
2016-11-12 18:47:11 -06:00
Scott Lahteine 60cc9342a4 Merge pull request #5188 from thinkyhead/rc_extended_host_support
Extended host support: M155 Auto temp report, M115 capabilities
2016-11-12 15:38:06 -06:00
Scott Lahteine f663220e87 Store Mix factors as reciprocals and multiply 2016-11-12 15:19:18 -06:00
Scott Lahteine ea3c08d249 Merge pull request #5186 from esenapaj/Follow-up-the-PR-#5167-etc
Follow up the PR #5167 (Add Turkish Language) again, etc
2016-11-12 13:11:54 -06:00
Scott Lahteine c488378532 Merge pull request #5205 from Sebastianv650/RCBugFix_stepperpatch
Remove useless line from stepper ISR
2016-11-12 12:43:07 -06:00
Michael Neumann 8bdf303da0 Update pins_MEGATRONICS_3.h 2016-11-12 12:26:07 +01:00
Michael Neumann 3890366c83 Update pins.h 2016-11-12 12:25:45 +01:00
Michael Neumann c0d45ca7f2 Update boards.h 2016-11-12 12:24:47 +01:00
Sebastianv650 cdc18f8c22 Remove useless line from stepper ISR
The flag is already set inside planner.get_current_block(). Doing it
twice isn't making it better..
2016-11-11 19:35:03 +01:00
Kai 8e8b4398f3 Printer Stats / Completed prints line doesn't fit in display (when german) 2016-11-09 22:03:25 +01:00
Scott Lahteine b31a07e261 Stateful M355 with separate P parameter 2016-11-09 03:28:18 -06:00
Scott Lahteine 3c9a838651 Extended capabilities report in M115 2016-11-09 02:32:58 -06:00
Scott Lahteine 68b866b5dd Add M155 - Auto-report temperature with interval 2016-11-09 02:32:58 -06:00
Scott Lahteine 68b46fb2c9 Allow send to i2c address 0 (broadcast) 2016-11-08 17:54:55 -06:00
Scott Lahteine 75bfde9945 M155=>M260, M156=>M261 2016-11-08 17:54:54 -06:00
esenapaj 2ae72b0491 Follow up the PR #5167 (Add Turkish Language) again, etc
・Update forgotten K8400\Dual-head\Configuration.h
・Adjust spacing
2016-11-09 06:31:21 +09:00
Scott Lahteine 06f2282f82 Merge pull request #5176 from thinkyhead/rc_filchange_feedback
Give instant feedback for filament change
2016-11-07 12:11:54 -06:00
Scott Lahteine dcfd7c69e8 Merge pull request #5163 from nzinov/RCBugFix
Improve G30 probing command - add optional arguments
2016-11-07 11:37:13 -06:00
Scott Lahteine e765eebfb0 Patch spacing in bilinear grid report 2016-11-07 04:08:25 -06:00
Scott Lahteine 7780052fb3 Give instant feedback for filament change 2016-11-07 03:48:16 -06:00
esenapaj 24e3f7abe7 Update Turkish translation
・Add new translation
2016-11-07 04:59:18 +09:00
esenapaj be48792e9c Follow up the PR #5167 (Add Turkish Language), etc
・Remove all the #ifndef
・Follow the PR #4603 (Strip never-translated strings from language
files)
・Follow the PR #4634 (Set language display charset in language.h)
・Follow the PR #4936 (Put max_jerk vars in array, clean up jerk code)
・Adjust spacing
2016-11-06 23:59:02 +09:00
Scott Lahteine 1864b282c5 Implement reversed CORE options 2016-11-05 23:47:51 -05:00
Scott Lahteine e3c8318504 Add reversed CORE options 2016-11-05 23:47:46 -05:00
Rigid3D 2327764980 Add Turkish Language 2016-11-05 21:06:16 -05:00
Nikolay Zinov dea00bbcf1 improve G30 probing
Add optional parameters
X, Y for probe point
S sets stowing on and off
2016-11-05 13:22:45 +03:00
Scott Lahteine 00662b8635 Minor babystep cleanup patches 2016-11-03 23:31:45 -05:00
Scott Lahteine cad792e702 Reduce code for invariant lcd_detected 2016-11-03 23:31:45 -05:00
Scott Lahteine b23d255491 Move macros above Stepper::babystep 2016-11-03 23:31:45 -05:00
Scott Lahteine cc57d46158 Fix set_position for CoreYZ 2016-11-03 23:31:45 -05:00
Scott Lahteine 0269347682 Merge pull request #5141 from thinkyhead/rc_old_slowdown_what
OLD_SLOWDOWN does nothing, so remove it
2016-11-03 23:30:43 -05:00
Scott Lahteine e92e2b2446 Merge pull request #5144 from Sebastianv650/RCBugFix_LIN_ADV_wipe
Account for wipe moves
2016-11-03 23:19:25 -05:00
Scott Lahteine 176aeafc19 Don't define bilinear_line_to_destination on kinematic setups 2016-11-03 14:10:07 -05:00
Sebastianv650 d448500643 Account for moves with negative E movements
Added a rule so that LIN_ADVANCE isn't used for moves with negative E movements (de_float will be negative in this cases).
I also added a more detailed comment to make it more clear what the if statement does.
2016-11-03 17:01:17 +01:00
Scott Lahteine 236853df22 Corrections to bilinear_line_to_destination
- Allow more than 9x9 probe points
- Account for the probe starting position
2016-11-03 04:43:59 -05:00
Scott Lahteine 0115e495fe Fix up Dual X switch blocks 2016-11-02 21:38:50 -05:00
Scott Lahteine 2495ab7af2 Make dual_x_carriage_mode an enumeration 2016-11-02 21:38:49 -05:00
Scott Lahteine d6c36f5bb9 Fix Z raise with DXC_AUTO_PARK_MODE 2016-11-02 21:36:50 -05:00
Scott Lahteine 0c79553fc5 Cast int to AxisEnum for some accessors 2016-11-02 17:42:24 -05:00
Scott Lahteine adbf1f7dca Add M355 to the GCodes list. 2016-11-02 16:43:52 -05:00
Scott Lahteine 63efc10599 Merge pull request #5134 from thinkyhead/rc_bilinear_split_lines
Split cartesian moves on grid boundaries with bilinear ABL
2016-11-02 16:14:55 -05:00
Scott Lahteine 12167bc8f3 OLD_SLOWDOWN does nothing, so remove it 2016-11-02 01:28:19 -05:00
esenapaj c8c1a28f6f Follow-up the PR #5089 (Centralize click-handling in the LCD loop)
bool feedback is no longer used
2016-11-02 08:36:02 +09:00
esenapaj c3a105186d Follow-up the PR #5133 (M355 Case light)
・Add CASE_LIGHT_PIN into pinsDebug.h
2016-11-02 00:31:50 +09:00
Scott Lahteine ee5b8d6dc8 Split moves on grid boundaries with bilinear ABL on cartesian 2016-11-01 08:25:47 -05:00
Scott Lahteine 66744a6076 Merge pull request #5133 from thinkyhead/rc_M355_case_light
M355 Case light
2016-11-01 07:51:27 -05:00
Scott Lahteine 955d14acb0 Patch photo pin code style 2016-11-01 06:30:14 -05:00
Stanley ab3f966f5f Case light G-code M355
implemented G-Code M355 into Marlin
2016-11-01 06:30:14 -05:00
Scott Lahteine 8b44413498 Merge pull request #5124 from Sebastianv650/RCBugFix_LIN_ADV-Patch
BugFix for incorrect E-speed calculation
2016-11-01 05:13:17 -05:00
Scott Lahteine f418e82b15 Remove redundant definition of EN_C 2016-11-01 05:10:07 -05:00
Sebastianv650 f9bea7968f BugFix for incorrect E-speed calculation
The extrusion speed was wrong due to a not high enough precision of
esteps to XY steps, therefore now the target float values are used to
calculate the ratio between XY movement and extrusion speed.
The e_speed_multiplier8 was replaced by an absolute multiplier called
abs_adv_steps_multiplier8, therefore one multiplication and bitshift can
be saved inside the stepper ISR. Due to this, also extruder_advance_k is
better suited inside the planner and not the stepper files any more.
2016-11-01 08:08:47 +01:00
Bob-the-Kuhn c20b4098be 2 bug fixes & some minor changes
see detailed  description in PR #5118
2016-11-01 01:29:41 -05:00
Scott Lahteine fa6bf12697 Merge pull request #5118 from thinkyhead/rc_expanded_M43
Enhancements to M43 pins debugging
2016-10-31 08:29:53 -05:00
Scott Lahteine 3a107e280d Developer note in pins_MIGHTYBOARD_REVE.h 2016-10-31 08:22:39 -05:00
Scott Lahteine 85e307dcd8 No FAN0_PIN 2016-10-31 08:08:03 -05:00
Scott Lahteine ff3a8ca0d1 Use NUM_DIGITAL_PINS instead of custom DIO_COUNT 2016-10-31 08:08:03 -05:00
Scott Lahteine 04a1fac029 Some cleanup to M43 2016-10-31 08:08:03 -05:00
Scott Lahteine 24f6612551 Reduce and optimize endstop_monitor code 2016-10-31 08:08:03 -05:00
Scott Lahteine b4444e91ae Reduce code and build size of PWM_details 2016-10-31 08:08:02 -05:00
Scott Lahteine dbe414ef03 Squash redundant code in PWM_status 2016-10-31 08:08:02 -05:00
Scott Lahteine af26d22741 Clean up some spacing and semantics 2016-10-31 08:08:02 -05:00
Bob-the-Kuhn 81397d7a9a EXTRUDER_x_AUTO_FAN name change to Ex_AUTO_FAN
I stumbled across a name change that'll be used a lot so I'm updateing
the name list.
2016-10-31 08:08:02 -05:00
Bob-the-Kuhn c7f1f0dae6 Add endstop monitor & make pins report pretty 2016-10-31 08:08:02 -05:00
Scott Lahteine d567b426d5 Merge pull request #4894 from thinkyhead/rc_mightyboard_rev_e
Mightyboard Revision E preliminary support
2016-10-31 08:01:41 -05:00
Scott Lahteine 43df9ace4e Merge pull request #5110 from thinkyhead/rc_z2_min_allowed
Support Z2 min in M119 report
2016-10-31 07:59:45 -05:00
Scott Lahteine 23f05f8be7 Use bit-length types in block_t 2016-10-30 16:16:29 -05:00
Scott Lahteine 8dc7807d85 Add support for CoreYZ to planner.buffer_line 2016-10-30 16:16:28 -05:00
Scott Lahteine 1cf878fdb1 Calculate dm and e-steps earlier in planner 2016-10-30 16:16:28 -05:00
Scott Lahteine 75dbb71dd7 Replace block.busy with a block.flag bit 2016-10-30 16:16:28 -05:00
Scott Lahteine c7f22f688f buffer_line can calculate while it's waiting 2016-10-29 17:08:42 -05:00
Scott Lahteine f3720f4e81 const arguments to test_dual_z_endstops 2016-10-29 16:01:27 -05:00
Scott Lahteine 8cebd2a7db Arrange Z2 min before Z2 max 2016-10-29 01:54:19 -05:00
Scott Lahteine accabf088a Add support for Z2 min endstop to M119 2016-10-29 01:54:02 -05:00
Scott Lahteine 396434a445 Fix compiler warning in M145 2016-10-28 20:57:36 -05:00
Scott Lahteine 8e787304c9 const float ref args in planner.h 2016-10-28 20:57:36 -05:00
Scott Lahteine 07bfc45df8 Adjust spacing in gcode_M149 2016-10-28 20:57:36 -05:00
Scott Lahteine 1a2310c494 Make LCD preheat vars an array to reduce code size 2016-10-28 20:57:36 -05:00
Scott Lahteine 1226ae1912 Some cleanup in ultralcd.h 2016-10-28 20:57:21 -05:00