Commit Graph

249 Commits

Author SHA1 Message Date
3d-gussner fe862cb37b Merge commit '66dc65ecd4e2b76273da54c64f9263dd08741dab' into MK3-private_build
Merge Prusa MK3 firmware 3.1.3 with Hyperfine Bed Leveling and P.I.N.D.A.v2 fix by TheZeroBeast
2018-03-30 12:31:12 +02:00
Robert Pelnar 976e5a6a19 Temperature calibration - remove steel 2018-03-07 21:45:55 +01:00
bubnikv fc3af0533a Fix of calculate_extrusion_multipliers().
This is a fix of a bug made in the previous commit.
2018-03-05 21:31:31 +01:00
3d-gussner 57adeabb96 Merge branch 'MK3' into MK3-private_build 2018-03-02 17:58:47 +01:00
PavelSindler 85bc19b77c force selftest if user upgraded from 3.1.2-RC1 or older fw version 2018-02-27 17:52:13 +01:00
Robert Pelnar 73b0349898 fix - Z movement speed in selftest
conditional translation for linearity correction and variable resolution
2018-02-23 16:31:24 +01:00
PavelSindler d020f48791
Merge pull request #485 from bubnikv/M221_fix
Unified the volumetric_multiplier with extrusion_multiply to improve
2018-02-22 14:17:09 +01:00
bubnikv ba49c21f17 Unified the volumetric_multiplier with extrusion_multiply to improve
numeric accuracy and to reduce compuatitonal load. With this commit,
the numeric rounding is fixed not only for the M221 G-code
(as implemented by the preceding commit), but also for the volumetric
extrusion in general.

Removed the old FILAMENT_SENSOR code, which served the purpose
to modulate the volumetric multiplayer in real time depending
on the measured filament diameter. This feature will certainly not be
used by Prusa Research in the near future as we know of no sensor,
which would offer sufficient accuracy for a reasonable price.
2018-02-21 11:25:21 +01:00
XPila 74e6ff67d3
Merge pull request #482 from bubnikv/M221_fix
M221 fix
2018-02-20 19:10:07 +01:00
Robert Pelnar e2e48bfd71 SD speed test (DEBUG)
homeaxis - fix set_destination_to_current
2018-02-20 18:50:20 +01:00
bubnikv ee5949c56e Fix of a loss in precission when the extruder multiplier is set
with M221. For 50um layers, the precision loss leads to holes
in the print.
2018-02-20 15:30:18 +01:00
Robert Pelnar 57499dc6a0 M350 for E axis (8, 16, 32, 64, 128 microsteps) 2018-02-15 15:40:49 +01:00
Robert Pelnar 79caf3d9c6 tmc2130 optimalization, accurate homing and microstep linearity correction
dcode D12 removed (no longer needed)
homeaxis optimized + xy home calibration support
new eeprom variables
new lcd menu edit types (byte3, mres, wfac), new menu "Experimental"
currents adjusted
2018-02-15 04:17:58 +01:00
3d-gussner 619d4f0cc9 Merge branch 'MK3' into MK3-private_build 2018-02-05 18:19:18 +01:00
PavelSindler 3bd892135a erase eeprom section which belongs to M500 gcode in case that version was changed and default settings are used 2018-02-05 16:49:06 +01:00
3d-gussner 2dca6efa94 Merge branch 'MK3' into MK3-private_build
Fixed merging
2018-02-03 07:37:14 +01:00
3d-gussner e3b4015ddc Merge branch 'MK3-Hyperfine' into MK3-private_build
Fixed merging
2018-02-03 07:33:34 +01:00
Robert Pelnar 4d8807e924 bugfix - failstats (total counters) reset to zero for empty eeprom (0xff) 2018-02-02 15:59:37 +01:00
PavelSindler 2dd2c971e2 whitespace 2018-02-01 20:25:19 +01:00
PavelSindler d92f6292aa unload with lowered current 2018-02-01 17:43:03 +01:00
PavelSindler 9d8191323b
Merge pull request #440 from XPila/3.1.1-RC6
Extruder stealthChop and constant-off-time mode.
2018-01-31 20:21:02 +01:00
XPila 822dd8ff9c
Merge pull request #448 from PavelSindler/eeprom_versions
EEPROM version change: inform user on LCD that default settings were loaded
2018-01-31 20:06:19 +01:00
Robert Pelnar adc69eda18 PINDA temp. calibration warning messages. 2018-01-31 17:03:33 +01:00
Robert Pelnar 4c5618c371 failstats - reset "last print" counters
card - new member variable "paused" (bool)
2018-01-31 15:09:36 +01:00
Robert Pelnar daaac2fb88 fail stats 2018-01-30 19:49:40 +01:00
Robert Pelnar 210b97d16d New fail stats (global, last print), crashdetection X and Y separated 2018-01-30 13:10:36 +01:00
PavelSindler 88f248cb77 Inform user that hardcoded default settings were loaded (EEPROM version change) 2018-01-30 11:31:44 +01:00
3d-gussner 1322b2cb70
Merge pull request #44 from 3d-gussner/MK3-PINDA2CalibrationFix
Mk3 pinda2 calibration fix
2018-01-28 08:17:48 +01:00
PavelSindler cbcfcee48f PID cal. is not sending OK periodically, print fan error pauses print in octoprint (not disconnecting), initialize serial line when swithing in settings menu 2018-01-25 15:23:11 +01:00
3d-gussner a2e0a0a02d Hyperfine Bed Tuning for MK3
Changed Bed correction from 4 points to 8 to get better results as we got on the MK2/s
Changed langtool.pl to have EN as default
Added tiem and credentials to support info
2018-01-24 09:45:23 +01:00
XPila 556205d993
Merge pull request #432 from PavelSindler/invalid_gcodes
invalid / unknown gcodes reported on serial
2018-01-24 00:12:47 +01:00
XPila 975ed14cb6
Merge pull request #431 from PavelSindler/fan_error_resume
SD card long pause update
2018-01-24 00:12:33 +01:00
XPila b2ba72ffcd
Merge pull request #411 from PavelSindler/typo_fixed
typo fixed
2018-01-24 00:10:28 +01:00
XPila 777dcf072b
Merge pull request #430 from bubnikv/MK3_fsensor_fullrate
Optimization of the filament sensor.
2018-01-24 00:10:00 +01:00
PavelSindler 70ff22571f minor change 2018-01-23 20:04:18 +01:00
PavelSindler 3adedb558b invalid / unknown codes reported on serial 2018-01-23 20:01:02 +01:00
PavelSindler 64a709c097 removed temporary debuging code 2018-01-23 19:14:52 +01:00
PavelSindler 05e0abbd9d startFileprint delayed 2018-01-23 19:11:04 +01:00
bubnikv 44dc12005f Optimization of the filament sensor. 2018-01-23 16:47:42 +01:00
PavelSindler c38458eb67 init 2018-01-23 16:21:43 +01:00
XPila 09e0c566e8
Merge pull request #420 from bubnikv/MK3_stepper_blocking
Mk3 stepper blocking
2018-01-23 13:15:59 +01:00
bubnikv 69f97e0ec3 Separated the "Unknown" build from the "Development" build.
Documented purpose of the various build types.
2018-01-22 17:41:05 +01:00
TheZeroBeast cc7b252424
PINDA2 Offset Tuning. Safety features setup
As per the below investigation I have tuned and tested a more robust PINDA2 Offset Calibration.


PINDA2 Investigation

Test #2 (20th Jan 2018)
Moved PINDA2 Thermistor Cal to bed centre
Moved it closer to bed from 150um to 50um
bumped bed up 5C each cycle as it wasn’t heating PINDA2 to temp at current settings

Results from a cool of 35C start

Recv: D8 - Read/Write PINDA
Recv: cal_status=1
Recv: temp_pinda=35C temp_shift=0um
Recv: temp_pinda=40C temp_shift=0um
Recv: temp_pinda=45C temp_shift=30um
Recv: temp_pinda=50C temp_shift=105um
Recv: temp_pinda=55C temp_shift=187um
Recv: temp_pinda=60C temp_shift=350um

Test #3 (21st Jan 2018)
Moved PINDA2 Thermistor Cal to bed centre with measure in default firmware position.
Moved it closer to bed from 150um to 50um
bumped bed up 5C each cycle as it wasn’t heating PINDA2 to temp at current settings and toped at 115 for bed temp
Enabled 255 hotend for test
Made test points [30, 37, 44, 51, 58, 65]

Results from a cool of 30C start

Recv: D8 - Read/Write PINDA
Recv: cal_status=1
Recv: temp_pinda=30C temp_shift=0um
Recv: temp_pinda=37C temp_shift=0um
Recv: temp_pinda=44C temp_shift=60um
Recv: temp_pinda=51C temp_shift=170um
Recv: temp_pinda=58C temp_shift=337um
Recv: temp_pinda=65C temp_shift=645um

Test #4 (21st Jan 2018)
Moved PINDA2 Thermistor Cal to bed centre (for all but first probe by mistake) with measure in default firmware position.
Moved it closer to bed from 150um to 100um
bumped bed up 5C each cycle as it wasn’t heating PINDA2 to temp at current settings and toped at 115 for bed temp
Enabled 255 hotend for test
Made test points [35, 42, 49, 56, 63, 70]
Modified the start skipping code to pickup at additional first point that was being missed

Results from a cool of 33C start

Recv: D8 - Read/Write PINDA
Recv: cal_status=1
Recv: temp_pinda=35C temp_shift=0um
Recv: temp_pinda=42C temp_shift=0um
Recv: temp_pinda=49C temp_shift=97um
Recv: temp_pinda=56C temp_shift=215um
Recv: temp_pinda=63C temp_shift=487um
Recv: temp_pinda=70C temp_shift=815umTest #5 (21st Jan 2018)
Moved PINDA2 Thermistor probe to bed centre
Moved it closer to bed from 150um to 100um
bumped bed up 5C each cycle as it wasn’t heating PINDA2 to temp at current settings and toped at 115 for bed temp
Enabled 255 hotend for test
Made test points [35, 42, 49, 56, 63, 70]
Modified the start skipping code to pickup at additional first point that was being missed

Results from a cool of 32C start

Recv: D8 - Read/Write PINDA
Recv: cal_status=1
Recv: temp_pinda=35C temp_shift=0um
Recv: temp_pinda=42C temp_shift=32753um   WTF?? Actual when probed was -30um
Recv: temp_pinda=49C temp_shift=82um
Recv: temp_pinda=56C temp_shift=200um
Recv: temp_pinda=63C temp_shift=450um
Recv: temp_pinda=70C temp_shift=835um

Send: G75
Recv: 35  0um
Recv: 36  0um
Recv: 37  0um
Recv: 38  0um
Recv: 39  0um
Recv: 40  0um
Recv: 41  0um
Recv: 42  0um
Recv: 43  0um
Recv: 44  4um
Recv: 45  18um
Recv: 46  33um
Recv: 47  50um
Recv: 48  66um
Recv: 49  82um
Recv: 50  97um
Recv: 51  111um
Recv: 52  126um
Recv: 53  141um
Recv: 54  158um
Recv: 55  178um
Recv: 56  200um
Recv: 57  225um
Recv: 58  254um
Recv: 59  286um
Recv: 60  322um
Recv: 61  361um
Recv: 62  404um
Recv: 63  450um
Recv: 64  498um
Recv: 65  550um
Recv: 66  604um
Recv: 67  660um
Recv: 68  718um
Recv: 69  776um
Recv: 70  835um
Recv: 71  893um
Recv: 72  951um
Recv: 73  1009um
Recv: 74  1065um
Recv: 75  1119um
Recv: 76  1171um
Recv: 77  1220um
Recv: 78  1265um
Recv: 79  1307um
Recv: 80  1345um
Recv: ok

Test #6 (21st Jan 2018)
Moved PINDA2 Thermistor probe to bed centre
Moved it closer to bed from 150um to 100um
bumped bed up 5C each cycle as it wasn’t heating PINDA2 to temp at current settings and toped at 115 for bed temp
Enabled 255 hotend for test
Made test points [35, 42, 49, 56, 63, 70]
Modified the start skipping code to pickup at additional first point that was being missed
Hard limits of 0 - 1.5mm offset return in temp_comp_interpolation()

Results from a cool of 34C start

Recv: D8 - Read/Write PINDA
Recv: cal_status=1
Recv: temp_pinda=35C temp_shift=0um
Recv: temp_pinda=42C temp_shift=32753um   WTF?? Actual when probed was -30um
Recv: temp_pinda=49C temp_shift=82um
Recv: temp_pinda=56C temp_shift=200um
Recv: temp_pinda=63C temp_shift=450um
Recv: temp_pinda=70C temp_shift=835um

Test #7 (21st Jan 2018)
Moved PINDA2 Thermistor probe to bed centre
Moved it closer to bed from 150um to 100um
bumped bed up 5C each cycle as it wasn’t heating PINDA2 to temp at current settings and toped at 115 for bed temp
Enabled 255 hotend for test
Made test points [35, 42, 49, 56, 63, 70]
Modified the start skipping code to pickup at additional first point that was being missed
Hard limits of 0 - 1.5mm offset return in temp_comp_interpolation()
Limit probe readings to be positive to prevent float error as in last test at 42C

Results from a cool of 34C start

Recv: D8 - Read/Write PINDA
Recv: cal_status=1
Recv: temp_pinda=35C temp_shift=0um
Recv: temp_pinda=42C temp_shift=0um
Recv: temp_pinda=49C temp_shift=10um
Recv: temp_pinda=56C temp_shift=112um
Recv: temp_pinda=63C temp_shift=355um
Recv: temp_pinda=70C temp_shift=717um
Test #8 21st Jan 2018
Moved it closer to bed from 150um to 100um
bumped bed up 5C each cycle as it wasn’t heating PINDA2 to temp at current settings and toped at 115 for bed temp
Enabled 255 hotend for test but only for the last two probe times to ensure temp is reached
Made test points [35, 42, 49, 56, 63, 70]
Modified the start skipping code to pickup at additional first point that was being missed
Hard limits of 0 - 1.5mm offset return in temp_comp_interpolation()
Limit probe readings to be positive to prevent float errors as in previous tests

Recv: D8 - Read/Write PINDA
Recv: cal_status=1
Recv: temp_pinda=35C temp_shift=0um
Recv: temp_pinda=42C temp_shift=10um
Recv: temp_pinda=49C temp_shift=62um
Recv: temp_pinda=56C temp_shift=160um
Recv: temp_pinda=63C temp_shift=402um
Recv: temp_pinda=70C temp_shift=710um
2018-01-21 20:11:12 +10:00
bubnikv a94e266cf1 Documented CPU load and frequency of the following interrupts:
9.  ISR(INT7_vect) 			- Fan signal interrupt
26. ISR(M_USARTx_RX_vect)	- USB to serial RX
37. ISR(USART1_RX_vect)		- R-PI serial RX
2018-01-20 16:20:51 +01:00
bubnikv 815dfcb14b Implemented a stepper timer reset after a long blocking cli()
or DISABLE_STEPPER_DRIVER_INTERRUPT().
If this is not done, the stepper interrupt would likely overflow,
leading to a maximum 32ms delay before the stepper interrupt wakes up.
In addition, the stepper timer overflow error would be reported
by the debug builds.
2018-01-20 15:39:21 +01:00
bubnikv 9e534c1990 Minimize risk of stepper routine interrupt blocking by reorganizing
the routine to move the G-code line length from the command queue
to the planner queue.
2018-01-20 14:37:22 +01:00
bubnikv 330f1576fc Support for debug builds:
A build version and repository is displayed on the welcome screen,
D-codes, stack overflow check and stepper timer overflow check
are enabled in the debug mode.
2018-01-18 16:24:25 +01:00
PavelSindler b5f8b1d97c
Merge pull request #412 from PavelSindler/debug_version
initial message for debugging fw version
2018-01-18 13:18:16 +01:00
PavelSindler e60cb2a79e unload filament sequence same as in M600 2018-01-17 21:54:34 +01:00
PavelSindler 4843f2c48e initial message not shown on release candidate versions 2018-01-17 17:38:34 +01:00