Commit Graph

4962 Commits

Author SHA1 Message Date
Voinea Dragos 7356cd0811 EEPROM_JOB_ID 2021-04-09 08:09:51 +02:00
DRracer f9f6284c50
Merge pull request #3100 from wavexx/powerpanic_state_fixes
Fix PowerPanic and Crash Detection during homing and bed leveling
2021-04-07 18:19:50 +02:00
Yuri D'Elia 61faa49cbb Fix buffer overflow in buf
Fix cmd overflow introduced in 186ce0f.

With a precision of %f being .6 and assuming a maximum (theoretical)
acceleration of 99999 we need 47 bytes including terminating byte.

Round it to 48
2021-04-07 15:57:50 +02:00
Alex Voinea d31601dcb8 Use correct mfrid for gd25q20c 2021-04-06 10:16:47 +02:00
Alex Voinea 94c1e65d83 Fix MK2.x builds 2021-04-06 10:16:47 +02:00
Alex Voinea 56948157d0 GD25Q40C xflash support 2021-04-06 10:16:47 +02:00
Alex Voinea 07bf4bbe48 Fix gd25120c rd_uid command 2021-04-06 10:16:47 +02:00
Alex Voinea 9454f9d8ec Rename w25x20cl to xflash 2021-04-06 10:16:47 +02:00
Yuri D'Elia 449d181971 G80: handle power panic
This is handled in the same way crash detection is handled: homing/mbl
invalidates saved_target _and_ current position.

Fixes PP recovery during MBL and homing.
2021-04-06 02:20:00 +02:00
Yuri D'Elia b46a52ffa8 G80: Handle crash detection
At a higher level, crash detection will repeat the last gcode command.

Some commands such as G28 or G80 need to be repeated in full and require
special handling.

In such cases, do not store the saved target coordinate (which is fake
in such cases) and invalidate the saved position.

This fixes the last coordinate of the first G1 move after recovery.

We also avoid moving from the origin when the saved position is
invalidated, which is not strictly necessary, but saves some time.
2021-04-06 02:00:47 +02:00
Yuri D'Elia a5530593fa G80: preserve lcd status and message when aborting
Restore the old status just before returning, so that the subsequent G80
can restore the first (initial) message correctly.
2021-04-06 00:31:56 +02:00
Yuri D'Elia 5923276a86 G80: correctly abort during crash detection
Crash detection is handled at a higher level (which automatically
repeats the current command), however we still need to abort the current
command correctly.

Handle XY crashes by checking the planner status after st_synchronize().
2021-04-06 00:31:29 +02:00
Yuri D'Elia 5da39df968 G80: Use consistent XY axis feedrate 2021-04-06 00:10:33 +02:00
Yuri D'Elia ce2e35d14d Move G80 into it's own function
No actual changes done in the function in this, besides break->return.

In G28, simply call the new function instead of using goto, making the
code more readable.

Also remove the senseless comments in G28 about command queuing (dating
back to when G80 was queued instead of being executed).
2021-04-05 23:35:17 +02:00
Yuri D'Elia d2be40491b PP recovery: clamp initial position to software endstops
As done when initializing the printer from a cold start, we need to
clamp the starting position to software endstops before setting the
planner position since 0,0 is frequently out-of-bounds.

This avoids an useless move during recovery that can cause a crash:

- Initial X is set to be 0
- G1 performed by homing will clamp X>=0, resulting in a positive shift
- If X is already at max X (extruder being parked due to PP), this will
  slam at X+, causing an immediate crash.
2021-04-05 22:11:06 +02:00
Yuri D'Elia 3276320a06 Hide tmc2130_sg_change behind DEBUG_CRASHDET_COUNTERS
tmc2130_sg_change is only used for debugging purposes.
Hide definition and usage behind the required define.
2021-04-05 20:07:03 +02:00
Yuri D'Elia 6a61c26955 Removed unused crashdet_stop_and_save_print2 2021-04-05 20:04:50 +02:00
3d-gussner b74e1d6062 Update RepRap url for `M123` 2021-04-01 19:48:14 +02:00
3d-gussner e12c1dde5c Updated RepRap Wiki and removed the @todos 2021-04-01 19:06:31 +02:00
3d-gussner 3b431bcbc1 Fix output "Y distance from min" by removing ":" so translations can use 20 chars 2021-03-31 08:54:16 +02:00
3d-gussner d864a5cfdb Define #MSG_PRINTER_IP c=18 2021-03-31 08:46:17 +02:00
3d-gussner 9922774fa7 Cleanup some comments ////c= 2021-03-31 08:11:19 +02:00
3d-gussner 8e74cbce58 Remove r=1 and some minor fixes 2021-03-31 08:07:42 +02:00
3d-gussner fb691b44b4 Update #MSG_INFO_SENSORS c=18 2021-03-31 07:51:22 +02:00
3d-gussner 3fb90be46f Define #MSG_SELECT c=18 2021-03-31 07:50:18 +02:00
3d-gussner 9a0e67c1d7 Define #MSG_RENAME c=18 2021-03-31 07:43:48 +02:00
3d-gussner 15919a0f09 Define #MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5, #MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9 2021-03-31 07:41:21 +02:00
3d-gussner cdfc40fb62 Define #MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3 2021-03-31 07:38:41 +02:00
3d-gussner c0869efc76 Define #MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4, #MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4 2021-03-31 07:36:26 +02:00
3d-gussner 268d4020cf Define #MSG_FINDA c=5 and update #MSG_PINDA c=5 2021-03-31 07:32:43 +02:00
3d-gussner c0b8eef6cd Define #MSG_FALSE_TRIGGERING c=20 2021-03-31 07:29:42 +02:00
3d-gussner 1ca443f1f4 Define #MSG_CHECKS c=18 2021-03-31 07:28:18 +02:00
3d-gussner 5e049283be Define #MSG_UNKNOWN c=13 2021-03-31 07:24:41 +02:00
3d-gussner 982153fee1 Define and update #MSG_PRINT_TIME c=19, #MSG_FILAMENT_USED c=19, #MSG_TOTAL_FILAMENT c=19, #MSG_TOTAL_PRINT_TIME c=19 2021-03-31 07:16:36 +02:00
3d-gussner 7a88ce89e4 Update MSG_TEMPERATURE c=18 2021-03-31 07:11:01 +02:00
3d-gussner c0df79d39a Define #MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4 2021-03-31 07:10:03 +02:00
3d-gussner 7268f6a824 Define #MSG_SELECT_FILAMENT c=20 2021-03-31 07:08:09 +02:00
3d-gussner 2e43234d3f Update #MSG_SUPPORT c=18 2021-03-31 07:06:46 +02:00
3d-gussner ba38262109 Update #MSG_STATISTICS c=18 2021-03-31 07:05:28 +02:00
3d-gussner 960ebac02d Update #MSG_SPEED c=15 2021-03-31 07:04:47 +02:00
3d-gussner b52d87e9a5 Define #MSG_Z-LEVELING_ENFORCED c=20 r=4 2021-03-31 07:02:42 +02:00
3d-gussner acbdc2ac8d Define #MSG_RUNOUTS c=7 2021-03-31 06:59:16 +02:00
3d-gussner 09f4850a8a Define #MSG_SLIGHT_SKEW c=13, #MSG_SEVERE_SKEW c=13 2021-03-31 06:53:04 +02:00
3d-gussner 4749dd1750 Define #MSG_CHECK_IR_CONNECTION c=20 r=4 2021-03-31 06:46:43 +02:00
3d-gussner bd8ab39b39 Define #MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4 2021-03-31 06:45:33 +02:00
3d-gussner 5280a89fba Define #MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6 2021-03-31 06:43:21 +02:00
3d-gussner 0d48a32e87 Define #MSG_RESUME_NOZZLE_TEMP c=20 r=4 2021-03-31 06:41:17 +02:00
3d-gussner 4f394c8c5a Update #MSG_TUNE c=18, #MSG_PREHEAT c=18 2021-03-31 06:38:50 +02:00
3d-gussner fbecae1707 Update MSG_PREHEAT c=18 2021-03-31 06:38:06 +02:00
3d-gussner ac810bf03a Define #MSG_REMOVE_SHIPPING_HELPERS c=20 r=3 2021-03-31 06:36:28 +02:00
3d-gussner 00b100bf26 Define #MSG_NOZZLE_FAN c=10, #MSG_PRINT_FAN c=10 2021-03-31 06:30:00 +02:00
3d-gussner baf231b0f1 Update MSG_NO_CARD c=18 2021-03-31 06:23:18 +02:00
3d-gussner 1c09e8411d Define #MSG_PINDA c=6 and remove duplicate saved 8 bytes 2021-03-30 19:30:26 +02:00
3d-gussner 6a266d497b Define #MSG_REMOVE_TEST_PRINT c=20 r=4 2021-03-30 19:19:43 +02:00
3d-gussner 5fcc731be1 Define #MSG_INSERT_FIL c=20 r=6 2021-03-30 19:17:48 +02:00
3d-gussner 243fa68745 Define #MSG_LIN_CORRECTION c=18 2021-03-30 19:16:11 +02:00
3d-gussner 44f7be134d Define #MSG_FS_VERIFIED c=20 r=3 2021-03-30 19:13:31 +02:00
3d-gussner bcdaecb46d Define #MSG_TO_LOAD_FIL c=20, #MSG_TO_UNLOAD_FIL c=20, #MSG_PRESS_KNOB c=20 2021-03-30 19:10:56 +02:00
3d-gussner de9697b913 Define #MSG_PREHEATING_TO_LOAD/UNLOAD/CUT/EJECT c=20 2021-03-30 19:06:46 +02:00
3d-gussner d601355d40 Define #MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5, #MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8 2021-03-30 19:01:24 +02:00
3d-gussner 669ab0f7f7 Define #MSG_GCODE_DIFF_CONTINUE c=20 r=4, #MSG_GCODE_DIFF_CANCELLED c=20 r=7 2021-03-30 18:58:04 +02:00
3d-gussner e9750a7312 Update #MSG_FIL_FAILD c=20 r=5 2021-03-30 18:52:58 +02:00
3d-gussner 4a5d7bc6b7 Define #MSG_Y_DIST_FROM_MIN c=20 2021-03-30 18:51:04 +02:00
3d-gussner 2abdfeb4c5 Update #MSG_YES c=3 2021-03-30 18:48:14 +02:00
3d-gussner 7f3fe6740b Update #MSG_NO_MOVE c=20 2021-03-30 18:46:56 +02:00
3d-gussner 1a1a1d88a7 Update MSG_MOVE_X/Y/Z c=18 2021-03-30 18:13:49 +02:00
3d-gussner c1f22a5239 Update #MSG_MOVE_AXIS c=18 2021-03-30 18:12:03 +02:00
3d-gussner 99893d5066 Define #MSG_MMU_CONNECTED c=18 2021-03-30 18:11:22 +02:00
3d-gussner 77a7a92a42 Define MSG_MMU_LOAD_FAILED c=20 2021-03-30 18:08:13 +02:00
3d-gussner 4d9dffb042 Define #MSG_MEASURED_SKEW c=13 2021-03-30 18:06:43 +02:00
3d-gussner 1e2dde9a52 Update #MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3 2021-03-30 18:02:27 +02:00
3d-gussner afb7c82e26 Update #MSG_LOAD_TO_NOZZLE c=18 2021-03-30 18:00:20 +02:00
3d-gussner 2408bc9f2e Update MSG_LOADING_COLOR c=20 2021-03-30 17:58:51 +02:00
3d-gussner 62ecbb3ae3 Update #MSG_BABYSTEP_Z c=18 2021-03-30 17:57:50 +02:00
3d-gussner 50e69fcca8 Update #MSG_NO c=3 2021-03-30 17:53:58 +02:00
3d-gussner 75c0de741b Update #MSG_AUTO_DEPLETE c=13 2021-03-30 17:52:59 +02:00
3d-gussner ddf47a3cac Update #MSG_NA c=3, #MSG_OFF c=3, #MSG_ON c=3 2021-03-30 17:51:31 +02:00
3d-gussner d1813890a8 Update #MSG_STOPPED c=20 2021-03-30 17:49:02 +02:00
3d-gussner a9ed513979 Update #MSG_STOP_PRINT c=18 2021-03-30 17:48:06 +02:00
3d-gussner 46367c2a33 Update #MSG_STEALTH c=7, #MSG_SILENT c=7, #MSG_NORMAL c=7 2021-03-30 17:46:37 +02:00
3d-gussner 3d848328ed Update #MSG_AUTO_POWER c=10 2021-03-30 17:42:33 +02:00
3d-gussner 8771519880 Update #MSG_HIGH_POWER c=10 2021-03-30 17:41:51 +02:00
3d-gussner afabfa789d Update #MSG_MODE c=6 2021-03-30 17:41:09 +02:00
3d-gussner dc56b74263 Update #MSG_MODE c=9 2021-03-30 17:39:43 +02:00
3d-gussner 2a08a6e441 Update #MSG_SELFTEST_WIRINGERROR c=17 2021-03-30 17:37:50 +02:00
3d-gussner e6ea843e62 Update #MSG_SELFTEST_MOTOR c=18 2021-03-30 17:36:39 +02:00
3d-gussner 35b000faea Update MSG_RESUMING_PRINT c=20 2021-03-30 17:34:36 +02:00
3d-gussner 557486ee0b Update MSG_REFRESH c=18 2021-03-30 17:34:00 +02:00
3d-gussner 54f594238b Update #MSG_NOZZLE c=12 2021-03-30 17:33:15 +02:00
3d-gussner a878056be3 Update MSG_BACK c=18 2021-03-30 17:32:04 +02:00
3d-gussner 610ba9bc45 Update #MSG_CARD_MENU c=18 2021-03-30 17:31:18 +02:00
3d-gussner 5eb14dc433 Update #MSG_MAGNETS_COMP c=13 2021-03-30 17:29:56 +02:00
3d-gussner 12372d6525 Update #MSG_Z_PROBE_NR c=14 2021-03-30 17:28:43 +02:00
3d-gussner 7e2c272839 Update #MSG_MESH c=12 2021-03-30 17:27:02 +02:00
3d-gussner bc8a23a0c6 Update #MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8 2021-03-30 17:25:35 +02:00
3d-gussner 3367d7f8fa Update #MSG_SD_CARD c=8 2021-03-30 17:24:45 +02:00
3d-gussner e8c3ba89dc Update #MSG_MMU_MODE c=8 2021-03-30 17:23:29 +02:00
3d-gussner 532c7438d8 Update #MSG_NOZZLE_DIAMETER c=10, MSG_GCODE c=8 2021-03-30 17:19:00 +02:00
3d-gussner 0a634f7d48 Update #MSG_FIRMWARE c=8 2021-03-30 17:16:31 +02:00
3d-gussner 39b8a35f3a Update #MSG_MODEL c=8 2021-03-30 17:15:48 +02:00
3d-gussner 5b843c3a4d Update #MSG_STRICT c=8 2021-03-30 17:14:49 +02:00
3d-gussner f60ba6de87 Update #MSG_WARN c=8 2021-03-30 17:13:56 +02:00
3d-gussner b465c96327 Update #MSG_NONE c=8 2021-03-30 17:13:09 +02:00
D.R.racer cdcc06f376 SDFile - fix errorneous offset computation
... my fault, I was originally too optimistic about the overflow

Fixes #3077

PFW-1233
2021-03-30 11:33:42 +02:00
DRracer a251dcc14e
Merge pull request #3064 from 3d-gussner/PFW-1222
PFW-1222: Disable M120 M121
2021-03-30 10:09:47 +02:00
DRracer e76b0c40a8
Merge pull request #3066 from espr14/PFW-1223
Calibration: detect biased PINDA and retry calibration PFW-1223
2021-03-30 10:08:16 +02:00
3d-gussner c4f80642b3 Update #MSG_MAIN c=18 2021-03-30 09:52:52 +02:00
3d-gussner 4417deb9ea Update #MSG_SOUND_BLIND c=7, #MSG_SOUND_LOUD c=7, MSG_SOUND_ONCE c=7 2021-03-30 09:50:21 +02:00
3d-gussner e4ed1ffc17 Update #MSG_SOUND c=9 2021-03-30 09:46:20 +02:00
3d-gussner 2ce5d3a840 Update #MSG_RPI_PORT c=13 2021-03-30 09:44:13 +02:00
3d-gussner 2ca8a23e4a Update #MSG_SORT_ALPHA c=8 #MSG_SORT_TIME c=8 2021-03-30 09:42:53 +02:00
3d-gussner c85ebb4aa3 Update #MSG_SORT c=7 2021-03-30 09:40:26 +02:00
3d-gussner 440ec49a36 Update #MSG_SETTINGS c=18 2021-03-30 09:38:33 +02:00
3d-gussner 6900c206cd Define #MSG_SEL_PREHEAT_TEMP c=20 r=6 2021-03-30 09:36:32 +02:00
3d-gussner 12dc48ff1a Update #MSG_BELTTEST c=18 2021-03-30 09:34:41 +02:00
3d-gussner b697117654 Update #MSG_SELFTEST c=18 2021-03-30 09:33:49 +02:00
3d-gussner 9bc702ae0a Update #MSG_SELFTEST_OK c=20 2021-03-30 09:32:27 +02:00
3d-gussner 00fedbb08a Update MSG_LANGUAGE_SELECT c=18 2021-03-30 09:30:04 +02:00
3d-gussner 164226c739 Define #MSG_RIGHT c=10 2021-03-30 09:29:07 +02:00
3d-gussner 2daf1d9114 Define #MSG_LEFT c=10 2021-03-30 09:26:50 +02:00
3d-gussner 169f8983b6 Define #MSG_ADDITIONAL_SHEETS c=20 r=9 2021-03-30 09:23:35 +02:00
3d-gussner a82ca3def4 Update #MSG_WATCH c=18 2021-03-30 09:21:50 +02:00
3d-gussner 0139bb5a5e Update #MSG_CHANGE_SUCCESS c=20 2021-03-30 09:20:57 +02:00
3d-gussner 0e86ab88fd Update #MSG_FILAMENTCHANGE c=18 2021-03-30 09:20:01 +02:00
3d-gussner 9c0300df66 Update #MSG_HEATING c=20 2021-03-30 09:18:11 +02:00
3d-gussner 280a3c4d3a Update #MSG_PRUSA3D_HOWTO c=18 2021-03-30 09:16:14 +02:00
3d-gussner 12bd2f1a09 Update #MSG_PRUSA3D c=18 2021-03-30 09:15:21 +02:00
3d-gussner 4e4fb7a59f Update #MSG_PRUSA3D_FORUM c=18 2021-03-30 09:14:20 +02:00
3d-gussner 10c586b577 Update #MSG_FLOW c=15 2021-03-30 09:13:09 +02:00
3d-gussner db07d55c29 Define #MSG_MMU_FIX_ISSUE c=20 r=4 2021-03-30 09:11:19 +02:00
3d-gussner 7c9891d85e Update #MSG_FSENSOR c=12 2021-03-30 09:09:11 +02:00
3d-gussner 7a99f63ffd Define #MSG_FAIL_STATS c=18 2021-03-30 09:06:59 +02:00
3d-gussner d427563e2b Define #MSG_MMU_FAIL_STATS c=18 2021-03-30 09:05:18 +02:00
3d-gussner 1b4241f031 Update #MSG_ERROR c=10 2021-03-30 09:03:38 +02:00
3d-gussner 1b8ca77b0c Define #MSG_MMU_CUTTING_FIL c=18 2021-03-30 09:01:58 +02:00
3d-gussner b6031c02a8 Update #MSG_DISABLE_STEPPERS c=18 2021-03-30 08:59:27 +02:00
3d-gussner 69b9acdfc1 Define #MSG_CRASH_RESUME c=20 r=3 2021-03-30 08:57:42 +02:00
3d-gussner 411caddc55 Define #MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7 2021-03-30 08:14:46 +02:00
3d-gussner 2d2dc23e81 Define #MSG_CALIBRATING_HOME c=20 2021-03-30 08:12:20 +02:00
3d-gussner c8af50d344 Define #MSG_COPY_SEL_LANG c=20 r=3 2021-03-30 08:09:08 +02:00
3d-gussner 71638b49fc Update #MSG_COOLDOWN c=18 2021-03-30 08:05:54 +02:00
3d-gussner 5f9b66a23a Update #MSG_NOT_COLOR c=19 2021-03-30 08:04:39 +02:00
3d-gussner 02ff05639b Define MSG_CHECKING_FILE c=17 2021-03-30 08:01:26 +02:00
3d-gussner f2298b1a46 Update #MSG_SD_REMOVED c=20 2021-03-30 07:57:42 +02:00
3d-gussner 1e2f5c8323 Update #MSG_MENU_CALIBRATION c=18 2021-03-30 07:55:19 +02:00
3d-gussner 3733c42d38 Update #MSG_HOMEYZ_DONE c=20 2021-03-30 07:54:11 +02:00
3d-gussner 79aa6b198d Update #MSG_HOMEYZ c=18 2021-03-30 07:52:24 +02:00
3d-gussner fa0382fd3e Update #MSG_CALIBRATE_BED c=18 2021-03-30 07:50:54 +02:00
3d-gussner 2985c6bd6b Update #MSG_BED c=13 2021-03-30 07:49:37 +02:00
3d-gussner 7c906dd0b1 Update #MSG_BED_CORRECTION_MENU c=18 2021-03-30 07:44:16 +02:00
3d-gussner 4d464b79f4 Update MSG_BED_HEATING c=20 2021-03-20 17:30:44 +01:00
3d-gussner 3ee23af7b7 Update MSG_BED_DONE c=20 2021-03-20 16:04:52 +01:00
3d-gussner ba0f2b2501 Update MSG_LOOSE_PULLEY c=20 2021-03-20 07:11:41 +01:00
3d-gussner 3fcc81ebdb Update MSG_SELFTEST_ENDSTOP c=16 2021-03-20 07:11:07 +01:00
3d-gussner 17df4e1c8d Update MSG_SELFTEST_ENDSTOPS c=20 2021-03-20 07:10:09 +01:00
3d-gussner 4a6c53daf8 Update MSG_SELFTEST_PLEASECHECK c=20 2021-03-20 07:09:33 +01:00
3d-gussner b3d3feef4d Update MSG_SELFTEST_ERROR c=20 2021-03-20 07:08:48 +01:00
3d-gussner 5d167ce813 Update MSG_SELFTEST_NOTCONNECTED c=20 2021-03-20 07:08:20 +01:00
3d-gussner 625604d704 Update MSG_SELFTEST_HEATERTHERMISTOR c=20 2021-03-20 07:07:14 +01:00
3d-gussner b86ad11b68 Update MSG_SELFTEST_BEDHEATER c=20 2021-03-20 07:06:37 +01:00
3d-gussner b3b062e4ba Update MSG_SELFTEST_SWAPPED c=16 2021-03-20 07:05:47 +01:00
3d-gussner b6684f6114 Update MSG_SELFTEST_AXIS c=16 2021-03-20 07:05:03 +01:00
3d-gussner bc9f6b6ae6 Update MSG_SELFTEST_AXIS_LENGTH c=20 2021-03-20 07:03:47 +01:00
3d-gussner 83cbfda113 Update MSG_AUTO_HOME c=18 2021-03-20 07:02:43 +01:00
3d-gussner fe1b4e50be Update MSG_AMBIENT c=14 2021-03-20 06:59:54 +01:00
3d-gussner 178fe36dc7 Create MSG_CANCEL c=9
Delete ">Cancel"
Samed 10 bytes
Updated MSG_MEASURED_OFFSET c=20
2021-03-20 06:30:26 +01:00
3d-gussner 1c965cd988 Update MSG_MEASURED_OFFSET c=20 2021-03-20 06:18:41 +01:00
3d-gussner 92acac453f Update MSG_MMU_POWER_FAILS c=15 2021-03-20 06:16:11 +01:00
3d-gussner 2a848923ea Update MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
as Dutch translation is longer
2021-03-19 18:50:29 +01:00
3d-gussner baabc0bd1e Fix typo "didnt" to "didn't" 2021-03-19 18:49:13 +01:00
3d-gussner b806c017cb Update MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
as Polish translation is longer
2021-03-19 18:47:58 +01:00
3d-gussner 542ff58529 Update MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
as Polish translation is longer
2021-03-19 18:47:09 +01:00
3d-gussner 147fddd060 Update MSG_CALIBRATE_BED_RESET c=18 2021-03-19 18:41:01 +01:00
3d-gussner 6300211268 Update MSG_PLACE_STEEL_SHEET c=20 r=5
as Italian translation is longer
2021-03-19 18:37:23 +01:00
3d-gussner 79a148bb14 Update #MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
as Italian translation is longer
2021-03-19 18:34:39 +01:00
3d-gussner 9e60953d44 Update "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
as French translation is longer
2021-03-19 18:14:03 +01:00
3d-gussner a09f2c2f2d Update "G-code sliced for a newer firmware. Continue?"
as French translation is longer
2021-03-19 18:12:16 +01:00
3d-gussner 41022d7d60 Update "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
as French translation is longer
2021-03-19 18:07:04 +01:00
3d-gussner 813aabab56 Update "Select nozzle preheat temperature which matches your material." c=20 r=6
as Spanish translation is longer
2021-03-19 18:03:06 +01:00
3d-gussner d52a7326be Update "Please insert filament into the extruder, then press the knob to load it." c=20 r=6
as German translation is longer
2021-03-19 17:55:03 +01:00
3d-gussner cc29a9485e Update "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." c=20 r=9
as German translation is longer
2021-03-19 17:52:54 +01:00
3d-gussner 03a13ace5a Update "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." c=20 r=9
as French translation is longer
2021-03-19 17:47:35 +01:00
3d-gussner 17c015f5c0 Update "Printer nozzle diameter differs from the G-code. Continue?" c=20 r=5 2021-03-19 17:44:07 +01:00
3d-gussner ba9e26f444 Update #MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8 2021-03-19 17:37:24 +01:00
3d-gussner 1bba2255c1 Update MSG_WAITING_TEMP c=20 r=4 2021-03-19 17:34:15 +01:00
3d-gussner bab4994b89 Update #MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2 2021-03-19 16:52:24 +01:00
3d-gussner 6a54196862 Update "Now remove the test print from steel sheet." c=20 r=4 2021-03-19 16:42:21 +01:00
3d-gussner 8cbf0b3318 Update "Crash detected. Resume print?" c=20 r=2 2021-03-19 16:38:53 +01:00
3d-gussner 891861d475 Update "G-code sliced for a different level. Continue?" c= r= values 2021-03-19 16:35:53 +01:00
3d-gussner f9a92e2277 Update "Y distance from min" c=20 2021-03-19 16:32:13 +01:00
3d-gussner 1f6834204f Update "Select filament:" c= value 2021-03-19 16:30:04 +01:00
3d-gussner cbe2a4d301 Update MSG_CHECK_IDLER c=20 r=5 2021-03-19 16:22:05 +01:00
3d-gussner 4dc99d970d Update "MMU needs user attention." c= r= values 2021-03-19 16:17:26 +01:00
3d-gussner 0928c3d133 Update "Lin. correction" c=18 2021-03-19 16:14:16 +01:00
3d-gussner ce42f2c2a5 Update MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4 2021-03-19 16:11:42 +01:00
3d-gussner 5f9d6a0401 Update "Fail stats" c=18 2021-03-19 16:08:57 +01:00
3d-gussner 878200ecae Update "Fail stats MMU" c=18 2021-03-19 16:06:54 +01:00
3d-gussner 5cbb5b0e17 Update "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled." c= r= values 2021-03-19 15:53:36 +01:00
3d-gussner c39b22724d Update "G-code sliced for a different level. Please re-slice the model again. Print cancelled." c= r= values 2021-03-19 15:51:10 +01:00
3d-gussner 5a36b49cee Update "Select temperature which matches your material." c= r= values 2021-03-19 15:45:32 +01:00
3d-gussner 41db8eed30 Update "Select nozzle preheat temperature which matches your material." c= r= values 2021-03-19 15:42:17 +01:00
3d-gussner f319dede23 Update "Please insert filament into the first tube of the MMU, then press the knob to load it." c= r= values 2021-03-19 15:39:57 +01:00
3d-gussner 286c1931a5 Update #MSG_WIZARD_LOAD_FILAMENT c=20 r=5 2021-03-19 15:33:13 +01:00
3d-gussner 6a267e5a9a Update "Press the knob to resume nozzle temperature." c= r= values 2021-03-19 15:30:13 +01:00
3d-gussner b001eaec8d Update "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets." c= r= values 2021-03-19 15:24:28 +01:00
3d-gussner 18a58c504d Update #MSG_BED_HEATING_SAFETY_DISABLED c=20 r=3 2021-03-19 15:21:42 +01:00
3d-gussner ee8c9227cf Update #MSG_SELFTEST_FANS c=20 2021-03-19 15:16:23 +01:00
3d-gussner ba73d14511 Update "Fix the issue and then press button on MMU unit." c= r= values 2021-03-19 15:13:56 +01:00
3d-gussner 0c18ddcb10 Update "Choose a filament for the First Layer Calibration and select it in the on-screen menu." c= r= values 2021-03-19 15:10:18 +01:00
3d-gussner 89900a5109 Update "G-code sliced for a newer firmware. Please update the firmware. Print cancelled." c= r= values 2021-03-19 15:07:14 +01:00
3d-gussner 49e8f84916 Update "G-code sliced for a newer firmware. Continue?" c= r= values 2021-03-19 15:02:53 +01:00
3d-gussner fd7aa82dce Update MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6 2021-03-19 15:00:00 +01:00
3d-gussner 1ed7d8fc4b Update MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=5 2021-03-19 14:42:17 +01:00
3d-gussner dbec06086c Update MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=5 2021-03-19 14:40:04 +01:00
3d-gussner 37ec18596b Update #MSG_USERWAIT c= value 2021-03-19 14:29:15 +01:00
3d-gussner dd4c02aa15 Update "Heating disabled by safety timer." c= r= values 2021-03-19 14:23:46 +01:00
3d-gussner 9a719fd0b9 Update "Calibrating home" c= value 2021-03-19 14:17:30 +01:00
DRracer 8ac1d5b95e
Attempt to workaround the M73 C0|D0 visual issue (#3067)
Attempt to workaround the M73 C0|D0 visual issue

This is an attempt to enable alternation of time to print finish and time
to color change even in the last minute of time to color change, i.e. be
able to print "0:00C".

The proposed solution leverages the capability of the current FW to read
float values from the C|D parameter. This could have the raw benefit of
being able still to alternate this time on the LCD as "0:00C" (or
"<1min") if the slicer sends a non-zero but <1 time right before the
color change.

Co-authored-by: D.R.racer <drracer@drracer.eu>
Co-authored-by: 3d-gussner <3d.gussner@gmail.com>
2021-03-19 10:18:28 +01:00
D.R.racer f31189e5be Version changed (3.10.0-RC1 build 4078) 2021-03-17 12:30:54 +01:00
espr14 99206884b5 Calibration: detect biased PINDA and retry calibration
PFW-1223
2021-03-12 05:04:49 +01:00
3d-gussner 6355458052 Add def `M120_M121_ENABLED` to `Configuration_adv.h` 2021-03-11 15:00:49 +01:00
3d-gussner 832e881955 Disable M120 M121 2021-03-10 17:46:19 +01:00
espr14 eb4cf1a77f Calibration: return XY back after Z search
PFW-1217
2021-03-10 10:27:57 +01:00
awenelo 9b21ebd376 Fix numbering for custum sheet hex values 2021-03-07 12:14:03 -05:00
awenelo 09b3632d43 Final changes + cleanup 2021-03-07 09:44:33 -05:00
awenelo 144fc197a5 Fix index number 2021-03-06 14:20:06 -05:00
awenelo c777199d34 Simplify sheet numbering 2021-03-06 13:26:28 -05:00
DRracer 6489c6f17f
Merge pull request #3036 from wavexx/remove_is_buffer_empty
Remove duplicate function is_buffer_empty()
2021-03-05 08:28:40 +01:00
awenelo 53a3772f09 Add satin sheet 2021-03-04 10:14:29 -05:00
Alex Voinea f0eedf301d
optiboot: check boot_app_magic as well before early exit 2021-03-03 16:31:55 +02:00
Alex Voinea c951bea627
Remove unused/broken bootapp code 2021-03-03 16:31:30 +02:00
Alex Voinea c95d2fcbd7
Use avr-libc wdt library 2021-03-03 16:31:06 +02:00
DRracer 073cbe0339
Merge pull request #3048 from DRracer/bootappflags-bad-addr
Fix flashing languages with inline wdr instructions
2021-03-03 13:46:08 +01:00
Alex Voinea 8ced0579d6
Move SerialHead declaration outside of loops 2021-03-03 14:35:37 +02:00
DRracer c1849f5cc2
Merge pull request #2405 from leptun/MK3_NEW_SD_COMPILATION
️New SD menu
2021-03-03 11:45:04 +01:00
Alex Voinea 026145b78b
Fix CFM message end pointer 2021-03-03 12:31:14 +02:00
D.R.racer 3922bf2877 Fix flashing languages with inline wdr instructions
A fairly mysterious situation happened recently in the MK3 branch.
After merging #3033 (change watchdogReset() into a single inline wdr instruction)
we were unable to flash languages.

Since it looked similarly suspicious like issue #2954 we started investigating deeply.
The problem was in the code as described in the comment in this PR.
2021-03-03 11:19:39 +01:00
3d-gussner 7fa93dfa1b Fix back from submenu `Community made` to `Select language` after factory reset 2021-03-01 09:18:47 +01:00
3d-gussner fbcbba78a3 Merge remote-tracking branch 'upstream/MK3' into MK3_Dutch 2021-03-01 09:04:10 +01:00
DRracer e9c3becb2c
Merge pull request #2572 from wavexx/fwretract_plan_sync
Always sync before manipulating the planner position in FWRETRACT
2021-03-01 08:26:57 +01:00
3d-gussner 6d7d9089f7 Add defines and templates for community languages
Add `Community made` submenu to `Select language`
2021-03-01 08:22:43 +01:00
3d-gussner d0d4298249 Update EEPROM documentation for Service prep 2021-02-28 18:18:06 +01:00
3d-gussner 3e06a17810 Fix LCD output 2021-02-28 18:04:07 +01:00
Alex Voinea 28f21c8630
Fix bubblesort sorting speed. ShellSort is probably broken 2021-02-26 19:17:14 +02:00
Alex Voinea 6e0ecf5cd2
Remove redundant click sound in factory reset (MK3 merge issue) 2021-02-26 18:22:32 +02:00
DRracer f3c422c40e
Merge pull request #3039 from 3d-gussner/PFW-910
Fix issue #3037
2021-02-26 12:07:10 +01:00
Alex Voinea 194438c130
Fix formatting 2021-02-26 09:54:57 +02:00
Alex Voinea 7faffa539a
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-26 09:48:46 +02:00
Alex Voinea f346125948
Use BubbleSort by default. Disable ShellSort until I fix it 2021-02-26 09:18:59 +02:00
Alex Voinea 225c456ae6
Limit progressbar to LCD_WIDTH
for some stupid reason bubbleSort sometimes exceeds the total value :)
2021-02-26 09:18:28 +02:00
Alex Voinea c63f92ae52
Invert shellSort logic 2021-02-26 08:57:49 +02:00
Alex Voinea 204da1cc3f
Factory reset and check_file progress bar 2021-02-25 21:04:05 +02:00
Alex Voinea 8821439878
Cardreader progressbar code 2021-02-25 20:25:32 +02:00
Alex Voinea afa7c7ab03
Remove forgotten (?) undef at the end of menu.cpp 2021-02-25 19:29:14 +02:00
Alex Voinea 54b2edbc8c
Update debugging code 2021-02-25 19:26:01 +02:00
Yuri D'Elia e8f6c9fac9 Exit the _lcd_move* menus when homing/leveling
Instead of resetting the encoder status when homing or leveling, simply
exit the move/liveZ menu.

When transitioning from idle->printing, axis move shouldn't be allowed
as it would insert moves during a print. This is always wrong.
The menu must be always dismissed. Instead of checking all places where
the menu could be active, automatically dimiss the menu from within
_lcd_move when homing/MBL is happening. The long-push function and the
settings menu checks if "axis move" is possible, and thus
prevent the user to re-enter the menu already.

When doing the first layer calibration, the _lcd_babystep_z is
automatically brought back after MBL has completed.

Technically we should do the same when entering/exiting the paused state
in _lcd_move. However, it's better to dismiss _any_ menu in
stop_and_save_print_to_ram/restore_print_from_ram_and_continue instead.

To be done later...
2021-02-25 17:33:59 +01:00
Yuri D'Elia b4f5633bde Enable "Move axis" and "Disable steppers" only when idle
Move axis queues movements, which disrupts a normal print, homing (when
XY is combined) or MBL.

Likewise, "Disable steppers" only makes sense when the printer is fully
idle.

Only allow such actions when the printer is not active and/or in the
paused state.
2021-02-25 17:33:59 +01:00
Yuri D'Elia 14a1a93bc8 Include probing/MBL in the PRINTER_ACTIVE check
This prevents to perform disruptive actions during homing or between MBL
probes, which would result in a failure.
2021-02-25 17:33:59 +01:00
Yuri D'Elia 28e9c814fc Remove code duplication for babystep insertion 2021-02-25 16:44:16 +01:00
Yuri D'Elia 019c818c05 Insert babysteps using CRITICAL_SECTION instead of cli/sei 2021-02-25 16:44:16 +01:00
Yuri D'Elia f5e419530b Inhibit LiveZ from the settings menu during mesh bed leveling 2021-02-25 16:44:16 +01:00
Yuri D'Elia ff4e53d2d1 Prevent babysteps in more unsafe situations through homing_flag
Further restrict babystep insertion when the lcd_update is enabled by
toggling homing_flag when probing Z (where Z shouldn't be touched
anyway as it would disrupt the measurement)

Also reset the encoder value during mesh leveling.
2021-02-25 16:44:16 +01:00
Yuri D'Elia c241adec5f Ensure babystep_apply|undo always uses the planner
The code around these calls _requires_ that the steps are immediately
processed and/or added to the subsequent planner moves.

The only part that doesn't care about immediate insertion is the
direct user-insertion though the lcd encoder.
2021-02-25 16:44:16 +01:00
DRracer ffae16bf95
Merge pull request #3033 from DRracer/wdr-inline
Make watchdogReset() force_inline
2021-02-25 13:53:34 +01:00
3d-gussner d9b820690e Merge remote-tracking branch 'upstream/MK3' into MK3_Dutch
fix merge issues
2021-02-25 09:56:23 +01:00
DRracer 7b22895f23
Merge pull request #3032 from DRracer/service-prep2
Make a special welcome message for Shipping/Service prep.
2021-02-25 08:51:47 +01:00
DRracer 9ed713ab13
Merge pull request #3015 from 3d-gussner/PFW-1174
PFW-1174: Add pause/resume for USB/host prints via LCD menu
2021-02-25 08:50:41 +01:00
3d-gussner 657767f073 Merge branch 'MK3' into MK3_Fix_LCD_stats
Fix merge issue
2021-02-24 09:01:30 +01:00
3d-gussner 076613fd97 Show `Fil. sensor` in Support::Sensor info only if IR Sensor detected 2021-02-23 15:20:08 +01:00
3d-gussner 08a6a4b25e Enable Filament sensor action during print even if in Support::Sensor info 2021-02-23 15:19:03 +01:00
D.R.racer 734e497cd0 Move wizard msgs into messages.h/c + add more translation markers 2021-02-23 15:09:19 +01:00
3d-gussner fdff5d84b2 Move Filament sensors to Support -> Sensor Info 2021-02-23 08:52:40 +01:00
3d-gussner 8d4176a530 Add "Fan check [On|Off]" menu to tune
User can en/disable the fan check during print. This is very useful in case of false positive
fan errors to let the user to decide to finish print with "faulty" fan.
2021-02-23 07:24:33 +01:00
3d-gussner 30b60e44d2 `|| isPrintPaused` is already in `PRINTER_ACTIVE` 2021-02-22 18:21:20 +01:00
3d-gussner fd154e4b69 Again revert Settings 2021-02-22 18:10:43 +01:00
3d-gussner 5894883324 Fix USB/host FAN Error resume
Show Settings during Pause also for USB/host prints
2021-02-22 16:37:01 +01:00
3d-gussner 9110ffd4ae Revert `M602` 2021-02-22 16:36:21 +01:00
3d-gussner cbe207eb59 Fix issue #3037
`starttime` is only set for SD prints via gcode `M24 and M32`
2021-02-20 13:18:53 +01:00
Yuri D'Elia 461d3f6749 Remove duplicate function is_buffer_empty()
Use cmd_buffer_empty() instead
2021-02-19 17:06:00 +01:00
D.R.racer 87f416f303 Keep wizard flag==2 even when a user restarts during Z-calibration
i.e. prevent jumping into the standard wizard if reset during Z-
calibration
2021-02-18 15:39:29 +01:00
3d-gussner 495dcee066 Show LCD Settings during pause 2021-02-18 12:09:43 +01:00
3d-gussner a109d20506 Merge remote-tracking branch 'upstream/MK3' into PFW-1174
Fix merge issues
2021-02-18 11:05:31 +01:00
3d-gussner c1d8e6660b Indentations 2021-02-18 10:07:40 +01:00
DRracer adf347fdf1
Merge pull request #3034 from 3d-gussner/MK3_PFW-960
PFW-960 Improve M0/M1/M117
2021-02-18 09:59:01 +01:00
3d-gussner 291ee8e46d Indentations 2021-02-18 09:53:14 +01:00
3d-gussner 75a385d614 Indentations 2021-02-18 09:10:28 +01:00
D.R.racer 4e768057e7 Use standard wdt_reset() from AVR lib
which translates to the one `wdr` instruction like before
+ wrap configuration of watchdog into cli/sei
2021-02-17 15:59:52 +01:00
3d-gussner 2b4cf8d56e Fix FANCHECK build error 2021-02-17 13:52:31 +01:00
D.R.racer a456c4a52d Make watchdogReset() force_inline
It makes no sense keeping watchdogReset as a separate function which
must be called, since it only contains one instruction: "wdr".

Not only was the code larger by 32 bytes in total, but also much slower
(call+ret take 4 cycles together for no reason in this case).

Surprisingly, doing just this on FW 3.9.3 solves issue #2954 on the one
affected EINSY board, even though it makes not much sense (there must be
some other timing issue).
2021-02-17 13:04:46 +01:00
D.R.racer c3bea4d71c Make a special welcome message for shipping/service prep
Another request from our Service dept. - the user shall be prevented
from skipping the intro wizard, because otherwise some preset/calibrated
features will look like not done - especially live-z calibration.

And since there are users, who send a machine to service to perform 1st
layer calibration only, they must not omit the Z-calibration at the
start after shipping.
2021-02-17 12:53:56 +01:00
3d-gussner c79bce010d Don't show Settings during pause 2021-02-17 12:18:30 +01:00
DRracer 7a84ad71dc
Merge pull request #3023 from DRracer/service-prep
Add Service prep. item into Factory reset
2021-02-17 10:43:08 +01:00
D.R.racer dbb0269bd4 Make indentation consistent with surrounding code in factory_reset() 2021-02-17 08:27:49 +01:00
3d-gussner afc15b42bb Indentations 2021-02-17 08:13:32 +01:00
3d-gussner 59c2b7e795 Fix Fan error issues. 2021-02-17 07:42:12 +01:00
3d-gussner 66ea1bdfba Indentations 2021-02-16 12:31:23 +01:00
3d-gussner d6c6517fcd Back to Status after Resuming 2021-02-16 07:27:46 +01:00
3d-gussner c2637d9430 Documentation Show Main Menu 2021-02-15 18:35:04 +01:00
3d-gussner c07bcd172a Fix NO Stop print during MBL 2021-02-15 18:34:08 +01:00
3d-gussner 583993b7e2 Back to "Status" after gcode `M0/M1` 2021-02-15 15:25:04 +01:00
3d-gussner 25928232e4 Merge remote-tracking branch 'upstream/MK3' into MK3_PFW-960 2021-02-15 13:06:47 +01:00
3d-gussner 9071a9f8fd Gcode `M1` must have a string while `M0` it is optional
As the `M0/M1` moved to the beginning of the parser
- parser would not be able to "find" `M1nn` command if the query was `M1` instead of `M1 `
- to be able to "stop/halt" without sending a string and display default message use gcode `M0`
- as there are no `M0nn` gcodes the parser can query `M0` without additional space needed as in `M1 `
2021-02-15 12:51:12 +01:00
3d-gussner fc270a356a Fix indentations 2021-02-15 12:50:40 +01:00
DRracer 86e117679c
Merge pull request #3011 from 3d-gussner/MK3_translation_0121
Fix few translations introduced with #2982
2021-02-15 11:16:54 +01:00
3d-gussner c95a8e13d7 Fix indentations to 4 spaces per tab 2021-02-12 11:47:02 +01:00
3d-gussner f810047a5c Switch between Remaing and Change time every few seconds
- If `M73` `R,S,C,D` values set the LCD Info screen clock switchs between Remaining and Change time
- If Remaining time is 0 while Change time is >0 the clock switchs between Change time and actual printing time
- If Change is 0 while Remaining time is >0 the clock shows the Remaining time
- If both are 0 the clock shows the actual printing time
- `M73 C` values are shown in "Normal" mode
- `M73 D` values are shown in "Stealth" mode
- Changing the speed will try to calculate the espected times and show `?` behind `R` or `C`
2021-02-12 11:29:47 +01:00
3d-gussner d2e60aee90 Use `CLOCK_INTERVAL_TIME` 2021-02-11 10:45:26 +01:00
3d-gussner cf982b0d4d Fix timer issue
The remaining time stays for ~5 seconds while the change time stays just for ~1 second
2021-02-11 10:20:06 +01:00
3d-gussner 14b4bf5fa5 Add CLOCK_INTERVAL_TIME and ShortTimer IntervalTimer 2021-02-11 07:47:44 +01:00
3d-gussner b9a3fa2ddd fix time at speed 2021-02-11 07:47:44 +01:00
3d-gussner b13d4b71d4 Add Change time behind existing message 2021-02-11 07:47:44 +01:00
3d-gussner 4998cfb70d Fix printing time being shown without `M73` gcode
Adjust estimated times only if speed is changed. Printing time has to stay printing time.
2021-02-11 07:47:43 +01:00
3d-gussner d063ffb141 Add parameter `D` to gcode `M73` for silent/stealth mode 2021-02-11 07:47:43 +01:00
3d-gussner 83e791cbbe Fix temp Build number 2021-02-11 07:47:43 +01:00
3d-gussner 91c767b0f2 Reduce code size 2021-02-11 07:47:43 +01:00
3d-gussner ae48e7c3ce indentation 2021-02-11 07:47:43 +01:00
3d-gussner f4ca6ee59d Fix typo 2021-02-11 07:47:43 +01:00
3d-gussner cca90da64b Include silent mode on time change
- depends on difference between print time remaining NORMAL vs SILENT mode
2021-02-11 07:47:43 +01:00
3d-gussner cb61436093 Add remaining time to change/pause/user interaction to LCD Info screen
- Add parameter `C` to gcode `M73`
- LCD Info screen switches to change time if last `M73` gcode contains `C` parameter
  - Examples:
    - `M73 P5 R120` will display on LCD ` SD  5%      02:00R ` if it is printing at 100% speed
    - `M73 P5 R120 C60` will display on LCD ` SD  5%      01:00C ` if it is printing at 100% speed

Slicers can generate "Time to change/pause/user interaction" using `C<mins:0-65535>` parameter to "overwrite" the remaining print time.
To switch between time to change and remaining time just send in intervals `M73` with or without `C` parameter.
2021-02-11 07:47:43 +01:00
Alex Voinea 1c1ff722c0
Move sort_order to stack during ::presort 2021-02-10 18:16:26 +02:00
Alex Voinea 8397dae386
Remove comment 2021-02-10 18:15:18 +02:00
Alex Voinea b4de57c365
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-10 17:08:28 +02:00
Yuri D'Elia e010ca8ceb Fix conflicting extern/inline declarations
The functions find_bed_induction_sensor_point_* have conflicting
extern and inline declarations.

These are used outside of the compilation unit only, and thus there's no
point in defining them inline.

This causes a compilation failure at O1 and above, which is strangely
avoided at Os.
2021-02-10 14:50:13 +01:00
Alex Voinea a95d497289
Remove commented out code and deprecated comments 2021-02-10 13:45:30 +02:00
Alex Voinea 8a068d4d36
Remove redundant position=0 in ::presort 2021-02-10 13:44:39 +02:00
Alex Voinea b72ce00183
Reduce reserved space on stack for LONG_FILENAME_LENGTH by 1 in presort
LONG_FILENAME_LENGTH already includes a +1 for the \0 string termination
2021-02-10 13:43:46 +02:00
D.R.racer 7ad922e87b Report fname instead of name
looks like being omitted in MK3 upstream fixes
2021-02-10 12:38:04 +01:00
D.R.racer 8d39880abf Fix compilation against latest MK3 branch 2021-02-10 12:23:02 +01:00
DRracer 7aa4595211
Merge branch 'MK3' into thumbnails2 2021-02-10 12:15:57 +01:00
D.R.racer c1ead75a73 Remove commented debug code
the whole PR is ready for review after successfull tests
2021-02-10 11:18:59 +01:00
3d-gussner 8bc46248f6 avoid having the block body twice in the code. Thanks to @DRracer 2021-02-10 11:09:29 +01:00
3d-gussner e5711ea84f Indentation to 4 spaces for tabs 2021-02-10 11:03:23 +01:00
Alex Voinea a830d5b6b7
getfilename_next 2021-02-09 20:31:02 +02:00
Alex Voinea 8d1c5cbb27
Fix position table offset 2021-02-09 20:29:06 +02:00
Alex Voinea e6ffc99ff5
Fix compiler bug ... again ...
:endit: :blobhydraulicpress:
2021-02-09 16:28:13 +02:00
Alex Voinea d2a7c62b50
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-09 16:17:43 +02:00
DRracer a47c971c75
Merge pull request #3010 from leptun/MK3_fix_M23
Fix M23
2021-02-09 15:06:51 +01:00
Alex Voinea 4fcbf95db6
apply RAII principle on the lsDive recursion limiter 2021-02-09 15:00:46 +02:00
D.R.racer 9ccda4c57f Optimize code size
... looks like I've been able to reduce the code by 80B by using the
clamp999() function. There are other spots this function can be used as
well, I didn't touch those yet.
2021-02-09 09:10:23 +01:00
DRracer e491b53f48
Merge branch 'MK3' into MK3_Fix_LCD_stats 2021-02-09 08:53:32 +01:00
DRracer 5c3683b4ad
Merge pull request #3022 from 3d-gussner/PFW-1182
PFW-1182 Fix too long translations during Load/Unload Filament
2021-02-09 08:24:31 +01:00
DRracer d5d44d30a7
Merge pull request #2305 from 3d-gussner/MK3-Fix_M120_M121
Follow RepRap Wiki G-codes documentation
2021-02-09 07:52:14 +01:00
D.R.racer 3668cdeb30 Add Service prep. item into Factory reset
upon request from our Service dept. - it is to do the same stuff like
Shipping prep., but keep the printer's stats intact. Still, this has to
be verified and may undergo some further changes.
2021-02-08 17:27:32 +01:00
D.R.racer 5f49d65546 Farmers' request - allow file sorting menu item 2021-02-08 15:43:08 +01:00
3d-gussner 92db282eca Merge remote-tracking branch 'upstream/MK3' into PFW-960 2021-02-08 12:48:27 +01:00
3d-gussner aecbd7ab49 Fix `c=aa` location in lang files
Fix too long translations in Spanish and Italian
2021-02-08 12:17:41 +01:00
3d-gussner 214695105c Fix issue #2958 2021-02-08 11:33:46 +01:00
3d-gussner fb39e7296b Uniform message `Press the knob` 2021-02-08 10:58:41 +01:00
Alex Voinea c739aa9003 M23 full path support. 2021-02-07 21:51:44 +02:00
Alex Voinea f5cde38a7c Remove duplicit debug line 2021-02-06 21:06:37 +02:00
Voinea Dragos 77a5082b56 Fix presort_flag duplicate declaration 2021-02-06 17:25:17 +02:00
Voinea Dragos 52f7a71dce More fixes that were extracted from #2405 2021-02-06 14:59:11 +02:00
Voinea Dragos f343e6432a Fix diveSubfolder string termination 2021-02-06 12:55:51 +02:00
DRracer 2dfe21358f
Merge pull request #2838 from wavexx/m204_travel_acceleration
Implement M204 T (separate travel acceleration)
2021-02-05 16:27:50 +01:00
DRracer 77eb10000c
Merge pull request #2948 from 3d-gussner/PFW-1168
PFW-1168 Move Z up running xyz calibration
2021-02-05 16:18:07 +01:00
Alex Voinea 84d043d41b Fix WorkDirDepth limit (for good this time) 2021-02-04 17:52:42 +02:00
Alex Voinea 90c0f33bc5 Fix farm filename when LFN is missing 2021-02-04 16:40:15 +02:00
Alex Voinea 080c44cb2e Undo stupid hack for an error because of some compiler issue in the past 2021-02-04 16:37:24 +02:00
Alex Voinea df163066fb Fix "sorting files" messages for both ShellSort and BubbleSort 2021-02-04 15:44:15 +02:00
Alex Voinea 279c0aaa21 Fix double '>' bug and brutal refactoring 2021-02-04 14:21:37 +02:00
Yuri D'Elia 640e8d899b Don't scroll one character past the filename end 2021-02-04 13:33:20 +02:00
Alex Voinea 8445f76eb9 Restructure for loop to work correctly in reverse 2021-02-04 13:26:15 +02:00
Alex Voinea 3c5c1e5167 Use enum for menu state code readability 2021-02-04 13:19:22 +02:00
Alex Voinea ffc3a445ca Remove even more dead code 2021-02-04 11:35:15 +02:00
Alex Voinea d25b4a6bc9 Remove dead code (SDSORT_GCODE) 2021-02-03 19:18:13 +02:00
Alex Voinea e52e68d4c1 Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-03 18:30:36 +02:00
Alex Voinea 4c977cc335 Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2021-02-03 18:28:18 +02:00
Yuri D'Elia 186ce0f4b3 Handle acceleration settings in UVLO/power panic
Acceleration settings need to be saved in UVLO, since these are often
changed/set during a print. This is especially important for travel and
retract acceleration, which is usually set once per-print.

Saving and restoring is not 100% correct.

We save the current front-end value, which might ahead of the backend
when UVLO is triggered. Print acceleration, likely the most significant,
should be saved in the block buffer to be accurate.

Acceleration needs to be restored after the UVLO Z repositioning is
performed, using an M204 command. This is correct, however we don't save
the _temporary_ max acceleration limits set via M201, which could be
higher than the saved limits (via M500). This could result in lower
clamped values compared to the original print.

Maximum acceleration/jerk/feedrate limits should _all_ be saved in UVLO
in the future.
2021-02-03 11:28:51 +01:00
Yuri D'Elia f7542aa064 Report travel acceleration in M503
Use the new M204 format consistently also in M503's output
2021-02-03 11:20:28 +01:00
Yuri D'Elia 76911f67db Take advantage of the new is_uninitialized function
Save some space and perform some cleanup
2021-02-03 11:20:28 +01:00
Yuri D'Elia 45811f82aa Initialize default travel_acceleration from EEPROM
When reading uninitialized memory, preset the travel acceleration to be
the same as the default acceleration.
2021-02-03 11:20:28 +01:00
Yuri D'Elia 5589954b77 Add DEFAULT_TRAVEL_ACCELERATION in all variants
Use the same value as DEFAULT_ACCELERATION for compatibility.
2021-02-03 11:20:28 +01:00
Yuri D'Elia 1c76152e62 Implement separate travel acceleration (M204 T)
Allow to separate extrusion and travel acceleration settings using M204,
as Marlin 1.1.x and 2.x does using M204 T.

This allows to reduce the number of instructions required during
printing, since resetting the acceleration for travel moves is no longer
required and can be done a single time during the print.

Provision for this parameter was pre-existing, but not implemented.
M204 has two forms: the lagacy format (Marlin <1.1):

  M204 S[print-acc] T[retract-acc]

and the newer format:

  M204 P[print-acc] R[retract-acc] T[travel-acc]

The distinction in the MK3 FW is done based on the presence of the P
parameter. If P is seen, the new format is adoped. In the new format
however, M204 T was ignored until this change.

To keep backward compatibility, M204 S[acc] will set both print and
travel acceleration, which is identical in behavior to recent versions
of Marlin.
2021-02-03 11:20:28 +01:00
3d-gussner 2ba24fe0d4 Add pause/resume to USB/host prints via LCD menu
Depending if SD or USB/host print the firmware sends
- SD print: `// action:paused` or `// action:resumed` are send to inform USB/Host
- USB/host print: `// action:pause` or `// action:resume` are send to trigger the USB/host to handle it

- USB/host must handle `// action:pause` and `// action:resume` correctly to work
  - Tested with Octoprint
    - It handles every thing correctly
    - Any combination of Octoprint and/or LCD `pause` and `resume` working correctly
  - Tested with Pronterface
    - It pauses BUT doesn't send the printer in pause position, and so it is not possible to `resume` from LCD menu
    - I guess some Macros can fix that.
  - Repetier Host/Server documentation shows that it should work. Not tested.

Could save 56 bytes in first step and additional 38 bytes adding `MSG_PAUSE_PRINT` to messages.c/.h

Updated `lang_en*.txt`
@todo Polish translation is 19 characters long (it still fits) BUT should be corrected to 18 chars.
2021-02-03 11:00:26 +01:00
Alex Voinea 896f4e1dd1 Fix compile error 2021-02-02 19:14:05 +02:00
Alex Voinea f6ae379077 Fix dir_names array definition. Prevents overrun 2021-02-02 19:08:44 +02:00
Alex Voinea 5c9d202871 Change MAX_DIR_DEPTH from 10 to 6
You can't run M23 with so many directories as the length of the command will exceed the maximum allowed by cmdqueue
2021-02-02 19:08:19 +02:00
3d-gussner 57e730c80c Merge remote-tracking branch 'vojtech-pavlik/MK3' into MK3_Test_PRs
Fix merge issues PR1900
2021-02-02 13:49:34 +01:00
Alex Voinea 647cde0cae Add documentation 2021-02-02 13:38:20 +02:00
Alex Voinea 2f4119a6d7 M552 - Printer IP address 2021-02-02 13:21:16 +02:00
DRracer 2b81abb24c
Merge pull request #2814 from wavexx/MK3_PAT9125_I2C
Use hardware TWI for the PAT9125 (optical) filament sensor
2021-02-02 09:15:35 +01:00
D.R.racer 15d76a7501 Remove duplicit incrementation of consecutive comment lines
It was left in the code in one of the refactoring/optimization passes.
It really didn't do any harm, but was limiting the performance of the
skipping algorithm.

+ some verification code added - will be removed after successful tests
2021-02-02 07:57:06 +01:00
DRracer 40e45c5eaa
Merge pull request #3009 from leptun/PFW-1144-LongPathName
"M27 P" support. Get current file absolute filename (file path)
2021-02-01 14:41:15 +01:00
DRracer 58c217a340
Merge pull request #2988 from leptun/PFW-1171-EEPROM_SN
Cache SN to EEPROM on startup
2021-02-01 14:24:13 +01:00
Alex Voinea 7e09df6a34 Add documentation 2021-02-01 14:54:44 +02:00
Alex Voinea b6d56bc0f4 Change M27 argument from L to P as that makes more sense (path vs LFN)) 2021-02-01 14:54:37 +02:00
Yuri D'Elia ec4c1be058 Silence bUpdateEEPROM unused warning in MK3 variant 2021-02-01 07:09:44 +01:00
Voinea Dragos 30131c9ab5 Patch broken string PROGMEM transition with setTargetedHotend() error 2021-02-01 06:12:37 +01:00
Voinea Dragos ea44d78d68 Merge branch 'MK3' into PFW-1171-EEPROM_SN 2021-01-31 17:19:00 +02:00
Voinea Dragos 698499f00d split timer0 and timer2 initialization. Move timer2 init early 2021-01-31 17:18:32 +02:00
Voinea Dragos 6b6205d2f6 M27 refactoring and M27 L initial implementation 2021-01-31 15:06:20 +02:00
Yuri D'Elia b8b75186fe Remove the extra copy of CRITICAL_SECTION from fastio 2021-01-29 18:30:16 +01:00
Yuri D'Elia 31b3ad0613 Merge remote-tracking branch 'upstream/MK3' into MK3_PAT9125_I2C 2021-01-29 18:28:55 +01:00
Yuri D'Elia 2d71a071f0 Switch twi.c to fastio 2021-01-29 17:51:38 +01:00
Yuri D'Elia 1fa7b8cd8d Move SDA/SCL pins into pins.h for fastio compatibility
fastio relies on macros for pin definitions, so we cannot use the const
declaration in Sd2PinMap or the arduino's definition.

Declare SDA/SCL_PIN into pins.h based on the current MCU, which is
identical in all our variants.

Remove the conflicting/unused declaration in Sd2PinMap.
2021-01-29 17:48:59 +01:00
Yuri D'Elia 30262b0a6e Remove redundant definitions of CRITICAL_SECTION_*
Move CRITICAL_SECTION_START/END into fastio.h, where it's needed.
2021-01-29 17:30:04 +01:00
3d-gussner d75a0fdcbd Merge remote-tracking branch 'upstream/MK3' into MK3_translation_0121 2021-01-29 15:38:48 +01:00
DRracer 42311db5f1
Merge pull request #2789 from wavexx/MK3_TMC2130_DEDGE
Use/enable TMC2130 DEDGE support in MK3/MK3S
2021-01-29 11:13:09 +01:00
D.R.racer caf58b16b6 Fix handling EOF
+ save ~160B by using local variables
+ rename some of the vars to more descriptive names
+ remove consecutiveEmptyLines handling from cmdqueue
2021-01-29 08:29:51 +01:00
Yuri D'Elia e9d5c44732 Also toggle pins efficiently in sm4.c
Use the same technique used in fastio to toggle pins efficiently in sm4
when DEDGE is used.
2021-01-29 00:13:49 +01:00
D.R.racer 6c9c1423c6 Remove temporary changes from SdBaseFile.h 2021-01-28 09:42:50 +01:00
D.R.racer 71d825d0f2 Return SdBaseFile into previous state
no changes necessary afterall
2021-01-28 09:41:30 +01:00
D.R.racer 7279de7403 Separate reading G-code files and writing to a file
- extract common strings
- cleanup openFileWrite and openFileReadFilteredGcode formatting a bit
Alltogether - code size 400B down
2021-01-28 09:37:58 +01:00
D.R.racer c05b625b1c Fix occasionally skipped valid G-code lines
which also allowed for removal of the pre-increment -> post-increment
workaround
2021-01-28 08:13:16 +01:00
D.R.racer d1fd5a555f Clean up gfReset() 2021-01-27 14:12:11 +01:00
D.R.racer b2cf5b7b6c Fix seekSetFilteredGcode()
+some more debug code which will vanish after all is done and verified
2021-01-27 13:01:25 +01:00
D.R.racer b6c59e08ac Workaround ++gfCacheP into postincrement ld r22, Z+
TODO: ideally improve the automaton to work with postincrement only, at
least in this case.
2021-01-27 09:52:20 +01:00
D.R.racer d275fe0e83 Extract gcode filter from SdBaseFile into SdFile + optimization
- Start saving instructions as the whole PR was >1KB long.
- It turned out the compiler was unable to understand the core skipping
cycle and an ASM version had to be used.
- Add seekSet aware of the G-code filter
2021-01-27 09:33:28 +01:00
D.R.racer c3758d350e Fast skipping of large comment blocks
This is an extension/optimization of PR #2956.
It uses the cached 512B block buffer to avoid heavy-weight read() in SdBaseFile.
Even though this principle allowed the AVR to skip ~600KB of data within ~5 seconds,
the impact on code base is huge, especially into well proven and long-term stable
parts like reading a file from the SD card.

The sole purpose of this PR is to show/verify the possibility of the AVR CPU
in relation to adding thumbnails into MK3 G-codes.
Moreover, this PR shall not be merged unless the missing/commented features
are restored - especially file seeking and M84 search.

PFW-1175
2021-01-27 07:03:51 +01:00
D.R.racer dcc6605809 Workaround for skipping large comment blocks
If there are large blocks of comments in the G-code,
the printer may get shot down by its own watchdog.
Watchdog is generally set to 4s and updated only
in manage_heaters (and some other spots in some specific cases).

So far, the code reading the file and feeding it into Marlin
cycles indefinitely until it finds valid G-code lines and fills up the
command queue.

If the block is large enough, the printer cannot read it completely
within those 4s.

A simple workaround - bail out after some consecutive empty/comment
lines to enable other parts of code do their job (especially
manage_heaters).

Tested on MK404, previous FW fails with 600KB of comment lines at the
beginning, this patch survives. The printer even draws some update
on its status screen before starting a real print.
2021-01-27 07:03:51 +01:00
Yuri D'Elia a9625747db Reinstate the nop instruction as delay in non-DEDGE
When TMC2130_MINIMUM_PULSE is 0 a minimum delay is implied.
In this case, use a single "nop" instruction.
2021-01-26 19:43:29 +01:00
Yuri D'Elia d3734b02cc Also fix delay instances inside unused BACKLASH_[XY] 2021-01-26 16:18:23 +01:00
Yuri D'Elia b17cdcd4d7 Ensure MINIMUM_PULSE is always 0 in DEDGE mode
This ensures delays are always properly elided without having to check
for DEDGE all over the place.
2021-01-26 16:12:59 +01:00
Yuri D'Elia 2a6989ecd5 Remove TMC2130 special-cases
With the new STEPPER_MINIMUM_DELAY being automatically removed for
TMC2130 we no longer need to add specialized #ifdefs for DEDGE in
babystep.
2021-01-26 16:09:23 +01:00
Yuri D'Elia 4fed728e08 Elide delayMicroseconds for TMC2130 in non-DEDGE mode
Introduce new macros TMC2130_MINIMUM_DELAY/STEPPER_MINIMUM_DELAY for
blocking pauses.

If MINIMUM_PULSE has defined to be zero, avoid the delay call entirely.
2021-01-26 16:02:53 +01:00
3d-gussner f40c593d11 Fix few translations not being used due to spaces or upper case 2021-01-26 14:15:34 +01:00
D.R.racer c28e5a9dbc Farmer's request 2
Farmers request having the Change filament menu item always visible in
the main menu and located after the Live Adjust Z (which disappears
after the first few printed layers).
2021-01-26 12:19:41 +01:00
DRracer bfe93d3959
Merge pull request #2951 from DRracer/pvb-08
Add PVB preheat and 0.8mm nozzle presets
2021-01-26 12:09:41 +01:00
3d-gussner ad5d068690 Update char lengths part 1
Fix some too long translations
2021-01-26 12:09:35 +01:00
DRracer 891f37a622
Merge pull request #2982 from DRracer/codesize
Reduce code size and RAM usage
2021-01-26 12:04:39 +01:00
3d-gussner c555907a12 Remove duplicate string `G-code sliced for a different printer type. Please re-slice the model again. Print cancelled.` using `MSG_GCODE_DIFF_PRINTER_CANCELLED` 2021-01-26 11:01:50 +01:00
3d-gussner 51d1e0bd8a Remove duplicate string `G-code sliced for a different printer type. Continue?` using `MSG_GCODE_DIFF_PRINTER_CONTINUE` 2021-01-26 10:42:56 +01:00
3d-gussner 7916f8b9e8 Merge branch 'codesize' of https://github.com/DRracer/Prusa-Firmware into DRracer_codesize 2021-01-26 10:13:11 +01:00
D.R.racer 0eb7261e29 Save ~100B on menu implementation 2021-01-26 09:29:17 +01:00
3d-gussner ba8386573a Remove duplicate string `Resume print` using `MSG_RESUME_PRINT` 2021-01-26 09:23:55 +01:00
3d-gussner c6a01b3806 Remove duplicate string `Reset` using `MSG_RESET` 2021-01-26 09:15:46 +01:00
3d-gussner ab5aad636f Remove duplicate string `Mesh Bed Leveling` and `Mesh bed leveling` using `MSG_MESH_BED_LEVELING`
Fixed few too long translations
2021-01-26 09:05:38 +01:00
DRracer f4cee7ce84
Merge pull request #2983 from leptun/MK3_fix_sm4.h_line_ending
Fix sm4.h line ending
2021-01-26 08:45:07 +01:00
DRracer bce9f8c949
Merge pull request #2984 from leptun/MK3_Serial_LF_only
Do not send CR on the serial line
2021-01-26 08:42:47 +01:00
DRracer c465417f50
Merge pull request #2987 from leptun/PFW-1144-LongPathName
"M20 L" support. Print long filenames
2021-01-26 08:40:26 +01:00
3d-gussner 84ed0725f2 Merge branch 'codesize' of https://github.com/DRracer/Prusa-Firmware into DRracer_codesize 2021-01-26 08:32:03 +01:00
3d-gussner bce8501eea Remove duplicate string `Extruder` using `MSG_Extruder` 2021-01-26 08:31:21 +01:00
Voinea Dragos c6588193ad Fix some more stuff in cardreader.cpp
Saved 4B of flash and 60B of RAM
2021-01-26 09:25:41 +02:00
3d-gussner ab18a3ccc3 Merge branch 'codesize' of https://github.com/DRracer/Prusa-Firmware into DRracer_codesize 2021-01-26 08:24:11 +01:00
3d-gussner 530b9f50b8 Remove duplicate string `Eject filament` using `MSG_EJECT_FILAMENT`
Fix few translations
2021-01-26 08:22:08 +01:00
D.R.racer 348902240e Fix code_seen_P("fv") broken by one of the merges 2021-01-26 08:02:33 +01:00
3d-gussner 269fabc330 Remove duplicate string `Cut filament` using `MSG_CUT_FILAMENT` 2021-01-26 07:15:46 +01:00
3d-gussner 797d8e74a3 Remove duplicate string `Checking X axis` and `Checking Y axis` using `MSG_CHECKING_X` and `MSG_CHECKING_Y` 2021-01-26 07:10:57 +01:00
3d-gussner 2d1e1e4cee Remove duplicate string `Fans check` using `MSG_FANS_CHECK` 2021-01-25 20:13:12 +01:00
3d-gussner d117a299f7 Remove duplicate string `Fil. runouts ` using `MSG_FIL_RUNOUTS` 2021-01-25 20:04:18 +01:00
3d-gussner 10bbd64b41 Remove duplicate string `Crash` using `MSG_CRASH`
Better Italian translation, thanks to @wavexx
Fix Polish translation as it was too long for the menue and caused LCD issues.
2021-01-25 18:53:53 +01:00
3d-gussner 4878db7365 Remove duplicate string `Last print failures` using `MSG_LAST_PRINT_FAILURES`
Fix too long translations in Spanish and Italian for this message
2021-01-25 18:38:35 +01:00
3d-gussner 99867c8fbd Remove duplicate string `Total failures` using `MSG_TOTAL_FAILURES` 2021-01-25 18:06:47 +01:00
3d-gussner 8f0a45e8a4 Remove duplicate string `Steel sheets` and `Total` using `MSG_STEEL_SHEETS` and `MSG_TOTAL` 2021-01-25 17:58:51 +01:00
3d-gussner 7222cf05cf Remove duplicate string `MMU Fails` and `MMU Load Fails` using `MSG_MMU_FAILS` and `MSG_MMU_LOAD_FAILS` 2021-01-25 17:38:36 +01:00
3d-gussner fbb3fad64b Remove duplicate string `Last print` using `MSG_LAST_PRINT` 2021-01-25 16:54:26 +01:00
3d-gussner 7891d12a32 Remove duplicate string `Is filament loaded?` using `MSG_FILAMENT_LOADED` 2021-01-25 16:44:55 +01:00
3d-gussner 223f32deae Remove duplicate string `HW Setup" using `MSG_HW_SETUP` 2021-01-25 16:15:57 +01:00
3d-gussner 5c1da227fe Merge branch 'codesize' of https://github.com/DRracer/Prusa-Firmware into DRracer_codesize 2021-01-25 16:00:46 +01:00
3d-gussner 377a59c624 Remove duplicate string `Belt status` 2021-01-25 15:53:31 +01:00
D.R.racer d8917a304a Reuse lcd_space() instead of in-place printing of spaces in a cycle
Saves another ~40B
2021-01-25 15:21:25 +01:00
D.R.racer 783e4bbaf9 Add lcd_putc_at (code down >150B), refactor lcd_selftest_screen_step
(RAM down 10B)
2021-01-25 14:58:57 +01:00
DRracer 3975415490
Merge branch 'MK3' into codesize 2021-01-25 12:43:30 +01:00
DRracer 58351fb27a
Merge pull request #2977 from DRracer/farm-patch1
Farmers' requests
2021-01-25 11:15:44 +01:00
D.R.racer 514321f2ce Remove farm_no completely + reuse prusa_stat_farm_number() where
applicable
2021-01-25 11:09:28 +01:00
Voinea Dragos 2b3729125d Prevent wdt reset during file listing 2021-01-25 11:46:51 +02:00
D.R.racer c1ff6242b0 Avoid copying FW version number into RAM - use the PROGMEM string 2021-01-25 09:03:04 +01:00
Voinea Dragos 4f769f0faa PRUSA RESET safety precaution 2021-01-25 09:58:12 +02:00
Voinea Dragos 9fa9d6b063 Move farm strings to PROGMEM 2021-01-25 09:48:17 +02:00
D.R.racer 6a62674bd8 Keep PRUSA RESET available even in non-farm mode 2021-01-25 08:43:37 +01:00
D.R.racer 98a4da571d Merge branch 'farm-patch1' of github.com:DRracer/Prusa-Firmware into farm-patch1 2021-01-25 08:39:20 +01:00
D.R.racer 9bfada94f0 Remove commented code 2021-01-25 08:38:44 +01:00
Voinea Dragos e8e4aabfdb Add gcode documentation 2021-01-22 21:07:14 +02:00
Voinea Dragos 31a6270f69 Abuse \n in lcd printing instead of constantly calling other functions
"other functions" being lcd_set_cursor and lcd_print(char). Saves 100B of flash
2021-01-22 20:12:11 +02:00
Voinea Dragos 4d3f056b81 Fix factory reset menu rendering 2021-01-22 20:07:27 +02:00
Voinea Dragos 37c431abd9 another lcd_puts_at_P 2021-01-22 19:44:46 +02:00
D.R.racer 3ccd1b2b2b Refactor lcd_set_cursor + lcd_puts_P -> lcd_puts_at_P
saves considerable amount of flash
2021-01-22 18:34:47 +01:00
Voinea Dragos bc7d36b6ff Fix sm4.h line ending 2021-01-22 18:57:24 +02:00
Voinea Dragos da21916473 Change printf_P without format arguments and NL to puts_P only 2021-01-22 18:56:05 +02:00
D.R.racer 9b34789398 Cleanup reset_menu() 2021-01-22 17:54:44 +01:00
D.R.racer 90d22a376d Remove unused vars in xyzcal.cpp 2021-01-22 17:50:08 +01:00
D.R.racer 2780a03967 Improve duplicate_Tcode_ignored
kudos to @leptun
2021-01-22 17:47:44 +01:00
D.R.racer 3dc85b319c Marlin_main.cpp hacks
- code_seen("string") -> code_seen_P(PSTR("string")) saved >100B of RAM!
- serial print "." -> '.' saved some code
- extract commonly used string
- SERIAL_PROTOCOLLN("") -> SERIAL_PROTOCOLLN() as no argument is
necessary
2021-01-22 17:15:36 +01:00
D.R.racer 4dec171266 Reduce code by 104 bytes in xyzcal.cpp
Extract CLAMP_median into a non-inline function.
The extra instructions to call that function do not matter from the
speed perspective
2021-01-22 17:13:28 +01:00
D.R.racer c710253cca Code cleanup and size reduction and RAM optimization
Replase single character strings with single characters when calling
lcd_print
2021-01-22 17:11:51 +01:00
Voinea Dragos 9fda6b774d Do not send CR on the serial line 2021-01-22 17:58:01 +02:00
DRracer f809691003
Merge pull request #2968 from espr14/PFW-1186
Calibration: reduce code size PFW-1186
2021-01-22 14:05:13 +01:00
DRracer eceb7b4e5f
Merge pull request #2981 from 3d-gussner/PFW-1140-2
PFW-1140 Add fan speed and position auto report
2021-01-22 13:00:23 +01:00
DRracer defbaa6ff8
Merge branch 'MK3' into PFW-1186 2021-01-22 12:46:25 +01:00
DRracer 4c952a0a9c
Merge pull request #2962 from espr14/PFW-1178
Calibration: code cleaning PFW-1178
2021-01-22 12:41:24 +01:00
3d-gussner 008c6a2590 Remove defines 2021-01-22 12:26:29 +01:00
DRracer ab59449b7c
Merge pull request #2961 from espr14/PFW-1179
Calibration: print skew results PFW-1179
2021-01-22 12:24:52 +01:00
DRracer 85f2c29dfe
Merge pull request #2960 from espr14/PFW-1169-3
Calibration: more accelerations, fix scan, more robust circle search PFW-1169
2021-01-22 12:20:35 +01:00
3d-gussner ede3f34051 Documentation 2021-01-22 10:40:29 +01:00
Voinea Dragos ced3d9fa77 "M20 L" support. Print long filenames 2021-01-22 11:13:44 +02:00
D.R.racer 31951fe8c9 Code refactoring
Motivation:
- save some RAM joining the autoreport flags into 1 byte
- encapsulate the magic of setting bit masks/features into a class with
a stable public interface
2021-01-20 11:46:25 +01:00
Voinea Dragos 70d254a1fc Allow resetting when not in farm mode 2021-01-19 13:39:21 +02:00
Voinea Dragos 48b4bdfe8e Make the PRUSA RESET command functional on the miniRambo 2021-01-19 13:36:08 +02:00
Voinea Dragos 542677c080 Prevent switching to serial port 1 on miniRambo and such 2021-01-19 13:11:48 +02:00
Voinea Dragos 9b847715ac Rename F0 to FRM on the status screen 2021-01-19 13:11:25 +02:00
Voinea Dragos 3f5cfc4e61 Move the change filament button to the main menu when farm printing
PFW-945
2021-01-19 13:06:23 +02:00
D.R.racer a9d8ddc89c Farmers' requests 1
- remove the UI and related stuff to setting a farm number (the
communication protocol must remain intact)
- remove confirmation after print finished ("Print OK")

Both requests are highly welcome, since they allow for lowering the code
size by >1KB

PFW-963, PFW-927
2021-01-19 09:58:02 +01:00
3d-gussner 9264454d3a Gcode `M123` only if FANCHECK and TACHOs are defined
Gcode `M155` added parameter "C" to activate auto-report for temperatures, fans and positions
Updated doxygen
@todo Update RepRap Wiki
@todo improve code
2021-01-19 09:01:46 +01:00
espr14 735895c6bc Use fabs 2021-01-14 16:38:34 +01:00
espr14 ca4e638ea2 Don't use extrusion in XYZ calibration 2021-01-14 13:19:30 +01:00
Alex Voinea 20c3f4cb77 Update comments 2021-01-14 12:53:12 +02:00
Voinea Dragos dea3f23a69 PRUSA SN in eeprom 2021-01-14 11:52:22 +02:00
espr14 9867ecd3f9 Reduce unnecessary code 2021-01-13 13:59:20 +01:00
espr14 21d6f970ef Fix build 2021-01-12 16:26:46 +01:00
espr14 f3faf651c5 Move down before scanning 2021-01-12 16:12:34 +01:00
espr14 9dceb488b6 Revert double scanning 2021-01-12 16:04:04 +01:00
espr14 546812294e Clean serial output 2021-01-12 00:34:28 +01:00
espr14 d7507649d8 Remove degree char 2021-01-12 00:28:46 +01:00
espr14 180af46fe4 Try double height 2021-01-12 00:27:06 +01:00
espr14 333526f65d Single skew output 2021-01-11 23:14:12 +01:00
espr14 e6e44fe188 Convert to degrees 2021-01-11 23:13:08 +01:00
espr14 b8443b00ad Reverse reverse 2021-01-11 22:18:50 +01:00
espr14 09892bec52 Reverse 2021-01-11 18:46:56 +01:00
Yuri D'Elia 78f8f1e8f9 Remove stray serial newlines in fsensor autoload messages 2021-01-11 18:31:36 +01:00
espr14 211e5f5f37 Define DBG output 2021-01-11 17:31:26 +01:00
espr14 904a23b69e Report calibration results 2021-01-11 17:02:41 +01:00
espr14 2e40a27460 Alignment, comments 2021-01-11 15:40:12 +01:00
DRracer 4728bf2182
Merge pull request #2875 from wavexx/raise_while_preheating
Raise Z while preheating when auto/[un]loading the filament
2021-01-11 07:45:54 +01:00
DRracer 1a6b6fb491
Merge pull request #1776 from wavexx/unused_tmc_defines
Remove an unused define
2021-01-11 07:43:44 +01:00
DRracer ef51652e39
Merge pull request #1758 from wavexx/disable_filament_checks_in_extr_menu
Disable filament checks inside the Move -> Extruder menu
2021-01-11 07:42:25 +01:00
3d-gussner a064ce4722 Add gcode `M123` Tachometer value 2021-01-10 15:15:44 +01:00
D.R.racer 8a083c9970 Add PVB preheat and 0.8mm nozzle presets
minor features reflecting the latest announcement

Needs some 300B of CPU flash though, after 3.9.3 we need to optimize code
size again.
2021-01-08 13:52:39 +01:00
DRracer 5c3513a6cc
Merge pull request #2397 from odaki/flashair_display_ip
Show the FlashAir IP address
2021-01-08 12:20:12 +01:00
espr14 584177e8fd Fix E mask 2021-01-08 10:24:36 +01:00
DRracer f549ce690a
Merge pull request #2949 from prusa3d/MK3_3.9.3
Merge 3.9.3 back into MK3
2021-01-08 10:20:40 +01:00
3d-gussner 3329d34ce4 Fix doxygen issue with "^" and "|" only in one line
Doxygen 1.8.13 had no issues but newer doxygen version are failing
to build tables, if a line only consists of "^" and "|"
2021-01-08 09:40:13 +01:00
DRracer 0ed6b537a8
Merge branch 'MK3' into MK3_3.9.3 2021-01-07 13:27:51 +01:00
D.R.racer 603d704178 Version changed (3.9.3 build 3556) 2021-01-07 12:50:58 +01:00
3d-gussner 8a27b6abdb Move Z up before xy home running xyz calibration
to prevent scratches on bed and sheet
2021-01-07 11:45:40 +01:00
espr14 2981b9e9c5 OctoPrint needs new lines 2021-01-04 14:59:12 +01:00
espr14 cc9e7b9376 Fix comments, remove unused 2021-01-04 13:01:06 +01:00
espr14 49d57ed621 Median dynamic circle 2020-12-30 17:02:31 +01:00
espr14 a9fd09ca3f Implement median 2020-12-30 15:15:17 +01:00
espr14 13fefaa1bf Fix typo 2020-12-30 15:01:32 +01:00
espr14 03b87ae68b Add 8 pixel circle pattern 2020-12-30 13:08:47 +01:00
espr14 c14e725574 Fix moves 2020-12-29 18:27:33 +01:00
espr14 c2ab8785f4 Revert Manhattan 2020-12-29 17:31:34 +01:00
espr14 c1e6567461 Fix step axis coding 2020-12-29 17:17:32 +01:00
espr14 922769cefb axis -> axes 2020-12-29 17:14:18 +01:00
espr14 a01dfe26fe Add Manhattan movement 2020-12-29 17:13:11 +01:00
espr14 6461206e08 Fix direction setting 2020-12-29 14:19:05 +01:00
espr14 b6e78bf900 Fix direction 2020-12-29 14:08:30 +01:00
espr14 c11e8654da Revert both directions, refactor code 2020-12-29 12:39:35 +01:00
espr14 e86ba5e26d Scan only once 2020-12-28 16:45:39 +01:00
D.R.racer 7e02a7f118 Version changed (3.9.3-RC1 build 3555) 2020-12-26 15:45:34 +01:00
DRracer d61cdf2b88
Merge pull request #2932 from espr14/PFW-1165-2
Calibration: Turn off speed optimization due to MK2.5 PFW-1165
2020-12-25 18:22:04 +01:00
espr14 80e32ce1a5 Turn off speed optimization due to MK2.5 2020-12-25 15:27:42 +01:00
3d-gussner 12f4102272 Group PINDA defines 2020-12-23 21:00:02 +01:00
3d-gussner 76eb743139 Set default SuperPINDA toggle on MK2.5/S to NO 2020-12-23 20:59:33 +01:00
3d-gussner 4b510fef0a Add PINDA_TEMP_COMP variable to enable SuperPINDA toggle menu/function 2020-12-23 20:59:08 +01:00
3d-gussner a97587f373 Changed PINDA_MINTEMP having own value
Prevent bad readings/issues if someone changes the bed thermistor that is "better" with lower min values and creates a custom firmware.
The firmware will now be in the range of the PINDAv2 thermistor independant from the bed thermistor (which may change and need adjustments)
2020-12-23 20:58:44 +01:00
3d-gussner 732b6e0cad Cleanup 2020-12-23 20:58:20 +01:00
3d-gussner 62c36f718b Add SuperPINDA support for MK2.5/S
- Changed DETECT_SUPERPINDA to SUPERPINDA_SUPPORT as on miniRAMo the thermistor readings below 30°C
  aren't accurate egnough to determine if SUPERPINDA is connected or not
- Add LCD toggle menu Settings -> HW Setup -> SuperPINDA [Yes/No] to overwrite SuperPINDA detection
  - If EEPROM_PINDA_TEMP_COMPENSTATION is empty = 0xff then detect SuperPINDA by checking thermistor
  - If EEPROM_PINDA_TEMP_COMPENSTAION is 0 then forec enable for temperature compensation menues and functions
  - If EEPROM_PINDA_TEMP_COMPENSATION is 1 then force disable for temperature compensation menues and functions
2020-12-23 20:56:50 +01:00
espr14 e6eb3be247 Set jerk = 1, accel. = 1000 2020-12-23 16:56:04 +01:00
espr14 979525f028 Add more restarts 2020-12-22 19:34:12 +01:00
espr14 25d138d198 Revert max.speed 2020-12-22 15:10:01 +01:00
espr14 e24a763e46 Cleanup 2020-12-22 14:45:55 +01:00
espr14 8df2eccf45 Remove defines and unused vars 2020-12-22 14:36:37 +01:00
espr14 25d6e24778 Add comments 2020-12-22 14:16:20 +01:00
espr14 90c8045f7d Clean the code 2020-12-22 13:59:50 +01:00
espr14 20659ec818 Add debug output 2020-12-22 12:51:22 +01:00
espr14 c397e9249a Restart scanning 2020-12-21 19:33:36 +01:00
espr14 1610c96fc4 Fix and report circle divergence 2020-12-21 18:05:52 +01:00
espr14 744763f0a9 Fix diagonal movement 2020-12-21 17:34:54 +01:00
espr14 de23a845b4 Remove unused 2020-12-21 15:53:51 +01:00
espr14 3c9168f8f6 Optimize diagonal 2020-12-21 15:52:25 +01:00
espr14 9a59369c77 Diagonal acceleration 2020-12-21 15:32:09 +01:00
espr14 27ff6b0057 Fix build 2020-12-21 13:11:48 +01:00
espr14 9b55ff9de1 Acceleration up and down 2020-12-21 13:05:26 +01:00
espr14 f39a0999e1 Prepare full acceleration control 2020-12-18 21:33:43 +01:00
espr14 ccf26e4e7a Basic acceleration 2020-12-18 20:04:00 +01:00
espr14 a8f4207df9 New XYZ calibration algorithm 2020-12-17 18:19:36 +01:00
Alex Voinea 2ac106d9fe
Merge branch 'MK3' into MK3_random_patches 2020-11-30 09:14:58 +02:00
odaki 61c48df0bd Merge remote-tracking branch 'upstream/MK3' into flashair_display_ip 2020-11-23 15:53:03 +09:00
Voinea Dragos f96f75bd17 Fix warning and a bit of indentation
Saved 64B of flash and 1B of SRAM
2020-11-16 10:58:26 +02:00
Voinea Dragos f3953d7c83 Merge branch 'MK3' into MK3_random_patches 2020-11-16 09:11:12 +02:00
odaki c0070506fb Merge branch 'MK3' into flashair_display_ip 2020-11-13 22:28:22 +09:00
DRracer d013abfd52
Merge pull request #2890 from prusa3d/MK3_3.9.2
Merge MK3_3.9.2 into MK3
2020-11-13 13:03:35 +01:00
Alex Voinea 807eddafb0
Remove debugging code 2020-11-13 12:12:18 +02:00
Alex Voinea 43ace00a24
Fill the progress bar at the end and code optimizations 2020-11-12 18:43:48 +02:00
Alex Voinea 5ad125cbed
Merge branch 'MK3' into MK3_filecheck_progress_bar 2020-11-12 15:53:33 +02:00
D.R.racer 396ee0fde2
Version changed (3.9.2 build 3524) 2020-11-10 10:27:18 +01:00
Voinea Dragos 176e2674b9 Fix M105 ok hack 2020-11-09 21:49:56 +02:00
Voinea Dragos 023ccb0e89 Fix double ok in M603 2020-11-09 21:49:56 +02:00
Alex Voinea 0c305ee5f5 Fix warning 2020-11-09 21:49:56 +02:00
Alex Voinea 4abf1f436a Gracefully dump the queue + fixes to fancheck 2020-11-09 21:49:56 +02:00
Alex Voinea fdbbc7d62a Terminate last line from the SD card even if it doesn't have a \n 2020-11-09 21:49:56 +02:00
Alex Voinea ff56ece6f8 Remove redundant get_command prototype 2020-11-09 21:49:56 +02:00
Alex Voinea 5f0e4a1cac Temporary M602 patch. Needs more work 2020-11-09 21:49:56 +02:00
Alex Voinea 6873a9d28e Only send capabilities when M115 is run without arguments 2020-11-09 21:49:56 +02:00
Alex Voinea 0ee8e1f424 Fix missing ok in M601 2020-11-09 21:49:56 +02:00
Alex Voinea e5ebf7c67f Fix missing keep-alive messages 2020-11-09 21:49:56 +02:00
Alex Voinea 26f62f042e Use the longest filename instead of just using the long filename in M27 2020-11-09 21:49:56 +02:00
D.R.racer 4747c8c9f5 Increase top Z-offset limit based on some test results 2020-11-09 12:29:19 +01:00
D.R.racer 5184910ef9 Try harder finding the calibration center
with alternative PINDAs it looks like their properties vary a lot
and searching for the calibration center requires trying different
Z levels.
2020-11-09 06:33:41 +01:00
D.R.racer cd4e16ef9f XYZ calibration tune
PFW-1159
2020-11-06 08:25:56 +01:00
Yuri D'Elia f37f132ee4 Allow all microstep resolutions for all axes 2020-11-04 16:07:00 +01:00
Yuri D'Elia e28159122f Make MIN_Z_FOR_LOAD/UNLOAD the same
When unloading + preheat immediately followed by a load, the carriage is
raised first up to 20mm, then again to 50mm.

With PR #2318 it makes sense to make more space for the extra extrusion
anyway, so make them the same. This moves the carriage only once _while_
preheating, which is nice.
2020-10-29 15:30:16 +01:00
Yuri D'Elia 5f23474c95 Raise Z while preheating when auto/[un]loading the filament
Preheating already raised Z to avoid scorching the PEI sheet, as does
filament loading/unloading to allow for excess material to be removed.

However, when loading/autoloading/unloading via the LCD with a cold
nozzle the preheating menu is performed before the carriage is raised,
leaving the carriage close to the sheet while heating the nozzle.

Pre-raise the carriage already while waiting, so that the subsequent
move is automagically skipped.

Set bFilamentWaitingFlag only once to perform both the LCD
initialization and raising to the appropriate height.

Should fix #2761
2020-10-28 20:49:28 +01:00
DRracer c05d4c9112
Update messages.h
cleanup space
2020-10-21 17:04:20 +02:00
MartinPoupa a84d7ef8d6 corectino of declaration 2020-10-13 16:56:57 +02:00
MartinPoupa c8c7563e8a LCD status changed
When the lcd status changed it will be printed "LCD status changed" to serial line.
2020-10-07 17:44:17 +02:00
Yuri D'Elia df824414ef Fix probing in IR_SENSOR 2020-09-28 21:02:06 +02:00
Yuri D'Elia c2e8d229a7 Be more compliant in the I2C protocol
- Enter a repeated-start for reading data
- Write in the same session
2020-09-28 20:21:07 +02:00
odaki ebc987bd23 Merge branch 'MK3' into flashair_display_ip 2020-09-28 21:19:44 +09:00
Yuri D'Elia 384f40956c Remove obsolete cbi/sbi 2020-09-27 16:42:20 +02:00
Yuri D'Elia 6d476d7144 Still use SWI2C on RAMBo10a boards
The wiring for the PAT9125 on RAMBo10a boards is not directly connected
to the SCL pin and requires the sw mode.

Detect this requirement by checking the definition for the SWI2C_SCL pin
in the board definition.

Remove SWI2C_SCL/SDA from the other boards to use the HW mode.
2020-09-27 14:29:07 +02:00
DRracer 134f841380
Merge pull request #2841 from leptun/MK3_SD_REMOVED_MESSAGE
SD card released message
2020-09-23 10:22:04 +02:00
DRracer 95e2e2f69c
Merge pull request #2832 from leptun/MK3_AUTO_REPORT_TEMPERATURES
Mk3 auto report temperatures
2020-09-23 08:51:26 +02:00
DRracer ef0840f587
Merge pull request #2786 from leptun/MK3_M115_Capabilities_report
Printer Capabilities framework + Macros + Code cleanup
2020-09-23 08:37:03 +02:00
Alex Voinea d9fa44c142
Document M155 command 2020-09-23 09:14:35 +03:00
DRracer e24466f22e
Merge pull request #2837 from prusa3d/MK3_3.9.1
Merge MK3_3.9.1 into MK3
2020-09-22 10:43:59 +02:00
odaki 4c7100985e Merge branch 'MK3_3.9.1' into flashair_display_ip 2020-09-22 11:59:05 +09:00
D.R.racer 7278458316 Version changed (3.9.1 build 3518) 2020-09-18 16:59:22 +02:00
3d-gussner bd7bb5acb3
Update new messages and their translations (#2835)
* Add missing translations

* Add missing CZ and IT translations

* Update CZ, FR, IT, ES translations
CZ thanks to @DRracer
FR thanks to Carlin Dcustom
ES tried myself
IT thanks to @wavexx

Only missing is PL

* Improve wording +change keys

* Add missing PL translations

* Fix copy paste error in Italian
fix double translations

* Make PL translation shorter

* Fix some length issues and capital letters

* Fixed again translations length issues
updated po files

* Update FR translation - thanks @awenelo

* Fix execution of lang-check.py

- Make lang-check.py executable
- Execute directly instead of specifying the python interpreter manually
  ("python" is no longer available on Debian, and would default to
  version 2 prior to that despite being written for python 3)

* Fix permissions of translation files

Co-authored-by: D.R.racer <drracer@drracer.eu>
Co-authored-by: Yuri D'Elia <wavexx@thregr.org>
2020-09-18 16:50:25 +02:00
Voinea Dragos 2f5083daa7
quickfix to mistake made in the experimental menu visibility code
Fix indentation
2020-09-15 18:56:39 +03:00
DRracer 9fb6efc435
Add newline at the end of file 2020-09-15 14:56:41 +02:00
Voinea Dragos c0fced2f3c Fix typo 2020-09-15 14:21:21 +03:00
Voinea Dragos e2ef5af40e Add capability line 2020-09-15 14:21:09 +03:00
Voinea Dragos a1dfbffedb Merge branch 'MK3_M115_Capabilities_report' into MK3_AUTO_REPORT_TEMPERATURES 2020-09-15 13:39:00 +03:00
Voinea Dragos 073eadff7e Merge branch 'MK3' into MK3_AUTO_REPORT_TEMPERATURES 2020-09-15 13:38:47 +03:00
DRracer 3093c8c7f6
Merge pull request #2829 from wavexx/la10_15_readjust
Re-adjust LA10->15 conversion
2020-09-15 11:59:07 +02:00
Alex Voinea 6bc59197ad
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2020-09-12 08:28:13 +03:00
Alex Voinea c158259970
Remove unused where C++ alternative can be used 2020-09-11 20:04:06 +03:00
Alex Voinea 44b1b1c219
More macros 2020-09-11 18:48:44 +03:00
Alex Voinea c3abd4ffe6
Remove io_atmega2560.h and some more macros 2020-09-11 17:43:38 +03:00
Alex Voinea eb007c35d2
Macros initial 2020-09-11 16:12:49 +03:00
Alex Voinea 160af0a624
Printer capabilities 2020-09-11 16:11:28 +03:00
3d-gussner fef5b02010 Tag as community contribution 2020-09-09 12:34:25 +02:00
3d-gussner 4d3aa1b59a Merge remote-tracking branch 'upstream/MK3' into MK3_Dutch
Merge upstream/MK3
Fix conflicts
update Dutch translation
2020-09-09 11:37:35 +02:00
DRracer f145769e98
Merge pull request #2807 from leptun/MK3_Polling
M220 M221 polling of values
2020-09-09 10:25:36 +02:00
DRracer 763d2d9849
Merge pull request #2806 from leptun/MK3_PRUSA_SN
Make the serial number available to the user
2020-09-09 09:54:29 +02:00
DRracer a0420c7928
Merge pull request #2619 from 3d-gussner/MK3_G21
Add dummy G21 to prevent UNKOWN warnings in serial
2020-09-09 09:22:07 +02:00
DRracer b82ee3fc06
Merge pull request #2811 from leptun/MK3_fastio_timer_patch
Fix fastio extra parenthesis
2020-09-09 08:57:37 +02:00
DRracer a2db9e8f6b
Merge pull request #2585 from leptun/MK3_FEEDRATE
🐛♻️ Update the feedrate percentage before drawing the screen
2020-09-09 08:56:46 +02:00
Yuri D'Elia 26e900896a Re-adjust LA10->15 conversion
After fixing some LA15 issues, the strenght of LA15 increased.
As such, re-adjust the conversion factor so that:

Start K10 => 0.01 (previous minimum was K15)
PLA   K30 => 0.05 (was 0.07, optimal 0.045-0.06)
PETG  K45 => 0.08 (was 0.13, optimal 0.07-0.11 depending on material/temp)
2020-09-07 21:44:34 +02:00
Alex Voinea 7ac16d5f04
Menu view return patch 2020-09-07 19:42:53 +03:00
D.R.racer 02891f6bb8 Version changed (3.9.1-RC1 build 3512) 2020-09-02 11:56:53 +02:00
Alex Voinea 3e7bba54e0
SD card released message 2020-08-28 17:32:07 +03:00
Yuri D'Elia e37cdab38f PAT9125_I2C: accept either NACK or ACK in receive
Both would be technically correct.
2020-08-25 12:15:55 +02:00
Yuri D'Elia d8a8837938 Document the 3 possible modes 2020-08-25 11:32:05 +02:00
Alex Voinea 1659f61dd5
Fix fastio extra parenthesis 2020-08-21 10:51:46 +03:00
Yuri D'Elia 30e7b777e0 Error-out with PAT9125_SWSPI (not fully implemented)
.. and likely will never was/be.
2020-08-20 22:13:13 +02:00
Yuri D'Elia 7f425120f0 Strip down the TWI code
- Only implement a single syncronous read/write function to read a byte,
  since that's all we need currently
- Implement a compact IR_SENSOR probe for PAT9125
- Saves 242 bytes compared to PAT9125_SWI2C
2020-08-20 22:13:04 +02:00
DRracer 772844678f
Merge pull request #2809 from leptun/PFW-1134-ALTFAN_KILLSWITCH
Pfw 1134
2020-08-20 15:42:03 +02:00
Yuri D'Elia 240dc1132e Include initial implementation based on Arduino's twi 2020-08-20 15:34:46 +02:00
Yuri D'Elia 502bc8c72d Isolate more pat9125 code
Remove probing from Marlin_main and move it into pat9125_probe so that
it can support the various variants.
2020-08-20 15:34:46 +02:00
3d-gussner 90c36a5887
Update ALTFAN eeprom documentation
EEPROM_ALTFAN_OVERRIDE and EEPROM_EXPERIMENTAL_VISIBILITY are compared to 0xFF in the code that's why I keep the uint8.
2020-08-20 15:14:39 +02:00
Alex Voinea 2c2926882a
Don't switch unnecessarily. Also "\n" the ";S" request 2020-08-18 19:29:18 +03:00
Alex Voinea 8d9dc73d1b
Fix compile error
fix compile


Fix compile error
2020-08-12 17:25:49 +03:00
Alex Voinea 5530b99882
Reboot after factory reset 2020-08-12 12:46:35 +03:00
Alex Voinea 6b853a4cc3
Auto-detect ALTFAN after fw. update 2020-08-12 12:19:08 +03:00
Alex Voinea 96435ad084
Move experimental menu to HW setup 2020-08-12 08:48:12 +03:00
DRracer 008d3b0e65
Merge pull request #2792 from wavexx/MK3_fix_high_speed_deceleration
Mk3 fix high speed deceleration
2020-08-06 13:27:52 +02:00
DRracer 89ecf2ce3a
Merge pull request #2791 from wavexx/stack_protect_reentrant_isr
Fix stack smashing in temperature/fsensor ISR
2020-08-06 13:26:33 +02:00
DRracer d0eca4d5c4
Merge pull request #2794 from leptun/PFW-1134-ALTFAN_KILLSWITCH
Minor documentation fixes to altfan PR
2020-08-06 12:53:34 +02:00
Alex Voinea f1a8657093
Minor documentation fixes
Add even more comments


a
2020-08-06 12:20:38 +03:00
DRracer 22a8c18551
Merge pull request #2784 from leptun/PFW-1134-ALTFAN_KILLSWITCH
altfan killswitch
2020-08-06 08:15:42 +02:00
Yuri D'Elia b3af08d94a Fix stack smashing in temperature/fsensor ISR
The temperature and fsensor ISR re-enable interrupts while executing.

However, we still need to protect the epilogue of the ISR so that
the saved return address is not altered while returning.

We hoist the body of the function out of the isr in both cases for
clarity (and to avoid a stray return bypassing the lock/cli), so that
the re-entrant portion is clearly indicated.

This should fix the "STATIC MEMORY OVERWRITTEN" error messages randomly
happening when stepping at high frequency (where either isr is
preempted more frequently).
2020-08-05 17:47:46 +02:00
DRracer f1bde1a039
Merge pull request #2724 from wavexx/max_ambient
Implement MIN/MAX AMBIENT safety checks
2020-08-05 08:52:55 +02:00
Yuri D'Elia a2c7dcbbf8 Fix indentation 2020-08-04 13:14:35 +02:00
Alex Voinea 654a3a0d79
Other requested changes 2020-08-04 10:43:30 +03:00
Alex Voinea e0bf92cd4e
Change bool literal to int 2020-08-04 09:54:57 +03:00
Yuri D'Elia b8e8f182ca Add reference C implementations for MultiU16X8toH16/MultiU24X24toH16
Higher step counts might still overflow the ASM MultiU24X24toH16.

e4595fa24a
2020-08-03 19:03:13 +02:00
Yuri D'Elia 30a806608f Also convert acceleration_rate to uint32_t
acceleration_rate is also unsigned
2020-08-03 19:01:38 +02:00
Yuri D'Elia aebaca5cdc Correct comments regarding acceleration ramp
Backport fixes from upstream Marlin
2020-08-03 18:53:13 +02:00
Yuri D'Elia 8108d50b59 Reintroduce/fix check for step_rate underflow during deceleration
Check for negative results and results under the final_rate
2020-08-03 18:53:13 +02:00
Yuri D'Elia 4654283f54 Restore indentation 2020-08-03 18:16:20 +02:00
Alex Voinea 12be141188 Fix high speed deceleration 2020-08-03 18:16:13 +02:00
Yuri D'Elia a8ce9358e5 Avoid redundant temperature error strings
Factor-out MIN/MAXTEMP [BED/AMB] out of the error message, which is now
built at runtime instead.

Introduce two missing ultralcd functions lcd_setalertstatus and
lcd_updatestatus to handle regular strings.

246272 -> 246084 = 188 bytes saved
2020-08-01 17:47:42 +02:00
Yuri D'Elia e1c79c342d Re-introduce redundant disable_heaters() calls
Partially revert 285b505c73a54e9af01816e3a614de73ad181851 so that
we ensure heaters are disabled ASAP in case of potential bugs
in the max_*_error functions.
2020-08-01 17:47:20 +02:00
Yuri D'Elia a60ed81a35 Implement MIN/MAX AMBIENT safety checks
Take advantage of the NTC thermistor found on the Einsy as an additional
safety measure, following the steps of the other MIN/MAXTEMP errors.

Introduce two configurable params AMBIENT_MINTEMP and AMBIENT_MAXTEMP
in the variant defines and set them for the MK3/MK3S to -30/+100
respectively.

AMBIENT_MINTEMP is primarily intended to catch a defective board
thermistor (to ensure MAXTEMP would be properly triggered) and thus the
trigger temperature is set just above the sensing limit and well below
the operating range.

AMBIENT_MAXTEMP is set at 100C, which is instead 20C above the maximum
recommended operating temperature of the Einsy. The NTC thermistor is
located just above the main power connector on the bottom of the board,
and could also help in detecting a faulty connection which can result in
rapid overheating of the contacts.

As for MAXTEMP, we cut power to the heaters, print fan and motors to
reduce power draw. Resume is not possible except by resetting the
printer, since the user is highly advised to inspect the board for
problems before attempting to continue.
2020-08-01 17:38:10 +02:00
Yuri D'Elia 3336db7954 Add some important notes about thermistor ADC handling 2020-08-01 17:36:43 +02:00
Yuri D'Elia 65f25b0d7e Remove redundant disable_heater() calls in max/min_temp handling
In max/min_temp handlers remove the redundant disable_heater() call.
Handlers already need to call Stop(), which will disable all heaters
as the first step.

Fix comments in order to mention that all heaters get disabled.
Use "MAX/MINTEMP BED" correctly in both the LCD and serial.
2020-08-01 17:36:43 +02:00
Yuri D'Elia 942fca5b66 Remove useless assignment
target_temperature_bed is already reset by disable_heaters() in Stop()
2020-08-01 17:36:43 +02:00
Yuri D'Elia 87bc5a78b6 Remove bogus comment (BED_MINTEMP *is* implemented) 2020-08-01 17:36:43 +02:00
Yuri D'Elia feafc5e5ab Alternative schedule for LA ticks
Remove most of the original complexity from advance_spread.

Instead of accumulating time to be scheduled, plan ahead of time each
eISR tick using the next main interval + an accumulator (eISR_Err),
which keeps everything much simpler.

The distribution of the advance ticks is now using the real LA
frequency, which leaves a bit more time between the last LA tick and
the main stepper isr.

We take advantage of the accumulator to force a LA tick right after the
first main tick, which removes a +/- 1 scheduling error at higher step
rates.

When decompressing, we force 2 steps instead, so that the direction
reversal happens immediately (first tick zeros esteps, second inverts
the sign), removing another +/- 1 error at higher step rates.
2020-07-29 19:14:48 +02:00
Alex Voinea 773c6997ef
Add comments 2020-07-29 17:36:03 +03:00
Alex Voinea ec6a20971e
Add experimental menu to HW_setup 2020-07-29 11:23:24 +03:00
Alex Voinea d8fbd46cd2
M155 2020-07-23 17:28:25 +03:00
Alex Voinea e2856ba4f5
Make the serial number available to the user 2020-07-21 12:52:04 +03:00
Alex Voinea a95feb56d9
ALTFAN override 2020-07-20 19:35:25 +03:00
Yuri D'Elia a08ca19ade Make flow correction optional, disabled by default
If you're using flow to correct for an incorrect source diameter, which
is probably the main usage when using the LCD, then LA shouldn't be
adjusted.

It's still unclear what the effect of M221 in gcode should be regarding
overall extrusion width. If M221 means "thicker lines", then LA should
also be adjusted accordingly.

This stems from the fact that the source diameter/length needs to be
known in order to determine a compression factor which is independent of
the extrusion width, but the FW only ever sees one value currently (the
extrusion length) which combines both.

This makes it impossible for the FW to adjust for one OR the other
scenario, depending on what you expect for M221 to mean.
2020-07-20 14:33:45 +02:00
Yuri D'Elia 9b8f642b28 Account for flow adjustments in LA
The e/D ratio should be calculated using the extrusion length.

As such, purify the e_D_ratio from the current extruder multiplier in
order to account correctly for flow adjustments.
2020-07-19 17:41:38 +02:00
Yuri D'Elia c54474f2db Guard against planning/numerical errors in short segments
Turns out for high-res curved models the numerical error and the
SLOWDOWN handling in the planner can cause enough variance in the
calculated pressure to trigger LA to continuosly, making matters worse.

Clamp LA again, but only during extrusion, so that the runaway error is
limited by the current segment length.
2020-07-16 18:54:00 +02:00
Yuri D'Elia fb5f09da6d Fix incorrect precedence for retraction phase
The logic was inverted, causing the fastest isr to always retract
instead of counter-balance the acceleration properly.
2020-07-16 18:53:53 +02:00
Yuri D'Elia c08f37da96 Use nominal rate for phase calculations
The local interval calculated by advance_spread() might oscillate too
much in narrow intervals.
2020-07-12 17:15:47 +02:00
Yuri D'Elia 78bbfc6237 Fix delay calculations inside babystep()
- Avoid all delays when using DEDGE stepping
- Correctly account for direction change delays
2020-06-24 17:58:43 +02:00
Yuri D'Elia 6ea198a866 Fix DEDGE in sm4.c (fixes xyz calibration) 2020-06-24 17:58:43 +02:00
Yuri D'Elia e6b182aa9f Implement proper step/delay pauses in tmc2130 functions
Add constants for the various required delays in tmc2130.h,
which will come in handy for stepper.cpp as well.

Move the delays in the _set functions and remove the pauses
from the various calling points and macros.

Note that the hard-coded pause wouldn't cut it for the stepper ISR,
but it's fine for other use cases.
2020-06-24 17:58:43 +02:00
Yuri D'Elia 1181beffb1 Enable DEDGE stepping on supported variants 2020-06-24 17:58:43 +02:00
Yuri D'Elia 6ceca9bf85 Implement double-edge stepping
Introduce new wrapper macros to tick the stepper pins.
Default to the original raising-edge stepping mode.

When using the TMC double-edge stepping mode (aka half-wave or
square-wave mode) the _LO macros become no-ops.
2020-06-24 17:58:43 +02:00
Yuri D'Elia 6017600714 Reintroduce the ability to disable TMC interpolation per-axis 2020-06-24 17:58:43 +02:00
Yuri D'Elia 1c026f0e4d Always sync before manipulating the planner position in FWRETRACT
Calling plan_set_*_position should never be done without a sync, since
the current_position can be (and usually is) several steps ahead.

In retract() and inside the autoretract support, call st_synchronize()
prior to calling any of these functions so that we don't corrupt the
position of the backend!

When unretracting, split the Z and E moves in two steps so that the E
unretraction is not slowed down by the Z axis.

Fix the indentation of the affected code.
2020-06-24 17:45:38 +02:00
Yuri D'Elia d53c55ce64 Disable filament checks inside the Move -> Extruder menu 2020-06-24 16:10:32 +02:00
Yuri D'Elia f1efce7e52 Handle LA termination with double/quad stepping properly
Before PR #2591 LA was automatically capped during cruising or
deceleration. However we now rely on reaching the current pressure state
exactly to stop. When dual/quad stepping inside the eISR we might incur
in oscillating behavior if we do not handle it correctly.

This might be the cause behind #2757

This now changes e_step_loops to be a phase-local variable, so we now
reset it each phase too (instead of per-segment).
2020-06-23 16:51:54 +02:00
Yuri D'Elia 50a09824fd Avoid scheduling useless eISR ticks
When switching to a new trapezoid step with the right pressure, cancel
any pending eISR right away.

Similarly do not schedule another eISR if the pressure will be reached
by the end of the eISR.

This was done in the past to preserve the current LA_phase. This is not
needed anymore, since it will be reset at each trapezoid step when LA
is re-initialized.
2020-06-23 15:24:16 +02:00
Yuri D'Elia 1206fc3164 Avoid useless cast 2020-06-22 15:34:34 +02:00
Yuri D'Elia a36efcb347 Remove cumulative error in segments without cruising (take 4)
Avoid sqrt when possible
2020-06-22 15:03:49 +02:00
Yuri D'Elia 173aa2deba Fix bogus timer check preventing fast LA steps to be scheduled
Simplify and fix the broken timer check when scheduling advance ticks.
This dates back to the original LA15 PR, an old bug...
2020-06-22 00:54:50 +02:00
Yuri D'Elia 51a539608c Reset LA_phase at each trapezoid stage
There used to be a single stage where an extruder reversal could occur,
but since PR #2591 reversals can happen up to two times per trapezoid.

Reset LA_phase when ADV_INIT is set, since it is re-inizialized only
when needed a few lines afterward. This improves performance by avoiding
to check the phase continuosly to the end of the trapezoid.

Likewise, always set ADV_INIT during the first cruising step, also to
force a LA_phase reset.
2020-06-22 00:19:47 +02:00
Yuri D'Elia 7c140bc497 Remove cumulative error in segments without cruising (take 3)
Remove another division by precomputing the division directly in
adv_comp.
2020-06-21 16:32:22 +02:00
Yuri D'Elia 753e651af3 Remove cumulative error in segments without cruising (take 2)
Reduce per-trapezoid calculations
2020-06-21 16:32:22 +02:00
Yuri D'Elia 15548958e9 Remove cumulative error in segments without cruising (take 1)
PR #2591 made LA compression always account for retractions instead of
discarding the current compression steps. While this fixed overextrusion
in short segments followed by wipes, it uncovered another issue in how
the compression steps are spread during the trapezoid calculations
leading to gaps in segments followed by retractions (as highlighted by
/some/ prints in #2693).

LA1.5 always computes the required target compression steps for a
segment at nominal speed. Because of how the extra steps are allocated
using multiples of the accelerating frequency, if the segment is
truncated before cruising is reached, an additional cycle of steps can
be inserted before deceleration starts. Deceleration is also not
guaranteed to be symmetric where up to _two_ cycles can be skipped
depending on the stepping cycle, leading to a situation where a
symmetric acceleration/deceleration block will lead up to a cycle of
accumulated compression.

While forcing an the extra step during deceleration is possible by
tweaking the error term (eISR_Err), this doesn't guarantee balance in
all cases. The underlying issue is that the function is aiming a
compression which cannot be reached (nominal speed), and not at the
effective max speed reached in the trapezoid, thus moving the average
result higher over time.

We fix this by calculating the effective maximum speed (and compression)
reached during the trapezoid, which stops compression on the required
cycle irregardless of the error term, balancing the result.

This is the first unoptimized POC: this is not for production: a lot of
calculations are redundand and could work directly in steps/s^2.
2020-06-21 16:32:22 +02:00
Alex Voinea a0cf5714ce
M220 M221 2020-06-19 15:39:16 +03:00
Marek Běl 45e182911d
Merge pull request #2748 from mkbel/detect_superpinda
Detect superPINDA PFW-1107
2020-06-16 14:07:12 +02:00
Marek Bel 9838be8512 Do not compile, if PINDA temperature compensation start point is lower than PINDA_MINTEMP. Document. 2020-06-16 02:03:14 +02:00
Marek Bel d5feed1f6a Refactor: Remove if(true) condition, redundant break statement and decrease indentation. 2020-06-16 01:20:17 +02:00
Marek Bel 40ffea64ab Do not compile temperature compensation code for PINDAv1 if PINDA_THERMISTOR macro is defined.
This saves nearly all of additional FLASH usage of previous commit. It is only 70B worse than if no skipping is done in temperature compensation gcode G76.
2020-06-16 01:09:40 +02:00
Marek Bel d398aa1e3f Skip PINDA_THERMISTOR block in PINDA probe temperature calibration if PINDA_THERMISTOR is not detected.
Costs 1328B of FLASH, something must be wrong.
2020-06-16 00:44:59 +02:00
Marek Bel 23cc22bc22 Move has_temperature_compensation() into temperature.cpp.
No change in FLASH usage.
2020-06-16 00:41:21 +02:00
Marek Bel bdf53387b1 Disable temperature compensation and temperature calibration menu if superPINDA is detected.
Even though functionality was added, 20B of flash memory has been saved.
2020-06-16 00:19:06 +02:00
Marek Bel bbe9e3b4ea Remove temp_cal_active variable.
This saves 18B of FLASH and 1B of RAM memory. This variable was duplicate to EEPROM variable of the same name.
2020-06-11 20:00:55 +02:00
Marek Bel fca4015667 Remove st_current_init() call from lcd_temp_calibration_set().
There is no known purpose of this call.
lcd_temp_calibration_set() is switching on/off pinda temperature compensation from LCD settings menu (this is called "Temp. cal." on LCD).
st_current_init() does nothing on Einsy board, it enables and sets motor current selecting outputs on Rambo board (it used to be called digipot in history)
2020-06-11 19:38:40 +02:00
Marek Běl 750af103ff
Merge pull request #2727 from mkbel/fix_unused_function
Unused function warning fix.
2020-06-08 15:25:11 +02:00
Marek Běl 971504f395
Merge pull request #2728 from mkbel/fix_unused_variable
Fix compiler warning unused variable kill_message.
2020-06-08 15:09:19 +02:00
Marek Bel f6df3f2394 Unused function warning fix.
(cherry picked from commit 54e2b6a829)
Pick only unused function warning fix.
2020-06-08 15:04:26 +02:00
Marek Bel 200696c764 Fix compiler warning unused variable kill_message.
(cherry picked from commit 54e2b6a829)
Pick only unused kill_message.
2020-06-08 14:27:58 +02:00
Marek Bel 5648f3fef0 Fix compiler warning enumeration value 'ONE_TO_FALL' not handled in switch. 2020-06-08 13:07:19 +02:00
DRracer 183b102b6c
Document the RPM condition 2020-06-05 16:37:21 +02:00
Alex Voinea 1bf5635459
Trigger fan error during selftest for altfan 2020-06-05 17:17:33 +03:00
D.R.racer 7e41524101 PC-blend preheat temperatures #define typo
A typo slipped through in PR#2711, not even the compiler caught it
(obviously, it is #define to be stringized):
PCB_PREHEAT... -> PC_PREHEAT
2020-06-03 18:05:37 +02:00
D.R.racer fe72ba7a9d Add PC-blend preheat preset 2020-06-03 17:45:55 +02:00
3d-gussner d1865fc59a
MK3s IR sensor improvement (#2698)
* Update EEPROM_FSENSOR_PCB documentation

* Update IR sensor check

* Rename IR messags and add UNKNOWN state

* Update code to use new messages

* To be continued

* Move fsensor related things from ultralcd.h to fsensor.h

* Use defined Thresholds

* IR sensor auto detection "0.3 or older" and "0.4 or newer" when trigger status changes.
Typo fixes
Doxygen documentation

* Cleanup spaces

* Revert PF-build.sh changes

* re-add space in messages

* revert doxygen snytax

* Remove double _Undef

* Fix indentation and doxygen syntax

* Fix indentation

* Better message handling

* Fix indentation

* Fix indentation

* More indentation fixwa

* Extract common code into manage_inactivity_IR_ANALOG_Check

Saves ~60B of code

* Revert indentation changes on fsensor.cpp

* Keep the selftest IR sensor part disabled

Everything shall happen at runtime

* Fix indentation fsensor_update

* Fix another misleading indentation in fsensor_update

Co-authored-by: Alex Voinea <voinea.dragos.alexandru@gmail.com>
Co-authored-by: D.R.racer <drracer@drracer.eu>
2020-06-03 16:14:56 +02:00
DRracer 233e66900f
Merge pull request #2670 from wavexx/la10c_jerk_tune
Increase E-jerk LA10->15 flattened zone
2020-06-03 15:50:57 +02:00
Alex Voinea 751f810dd7
ALTFAN implementation (#2692)
* ALTFAN implementation

* Use CRITICAL_SECTION macros

* Use uint16_t instead of unsigned int

* Add forgotten CRITICAL_SECTION

* Documentation
2020-06-01 17:58:15 +02:00
DRracer eb44ee0f57
Code size optimization: 2KB down (#2687)
* Combine repeated calls into functions with much less parameters -> 2KB
down.

* Save some bytes by removing unnecessary 1-character strings: "x" -> 'x'
used in SERIAL_xxx printing macros.
This is also saves some CPU cycles

* Fix compilation for MK25S and MK3

* Copy surrounding indentation

* Fix compilation for a rare HW setup

* rename mesh_planXX_buffer_line back to mesh_plan_buffer_line

* Remove active_extruder from remaining plan_buffer_line_destinationXYZE
calls and one more fix of indentation
2020-06-01 17:51:28 +02:00
Alex Voinea c84aef3a28
Handle second serial port correctly 2020-05-27 17:40:14 +03:00
Alex Voinea b1e446ef97
Remember the serial characters during Optiboot initialization 2020-05-27 13:50:02 +03:00
Alex Voinea e985d17bd1
Document code 2020-05-27 10:16:44 +03:00
Alex Voinea f11ab17746
Fix warning 2020-05-27 09:59:17 +03:00
Alex Voinea 4ffa4dd8fd
Fix missing start on MK3/S 2020-05-27 09:44:28 +03:00
odaki 3d979a88a5 Merge remote-tracking branch 'upstream/MK3' into flashair_display_ip 2020-05-20 12:37:07 +09:00
Alex Voinea b1a83c8add
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2020-05-19 16:37:47 +03:00
D.R.racer 2447dbc69f Version changed (3.9.0 build 3421) - sync 2020-05-18 16:56:32 +02:00
D.R.racer 285088a715 Version changed (3.9.0 build 3421) 2020-05-18 16:45:18 +02:00
Yuri D'Elia 000f824e39 Increase E-jerk LA10->15 flattened zone
Increase the flattened response in the e-jerk conversion from the 1-4.5
region to 0.3-4.5 (same slope). This brings a 0.3 LA10 e-jerk to a 3.45
LA15 equivalent.

This will better handle the legacy Pretty PETG/CFPETG v3 profiles.
2020-05-18 01:22:49 +02:00
3d-gussner deff8dcfde
MK3 3 9 0 missing translations (#2646)
* Add and update missing translations
- updated in Firmware/ files the missing `c=xx` column and `r=yy` rows.
- added missing translations to lang/lang_en*.txt

Everyone is developing and adding messages to serial and especially to LCD  PLEASE add `//// c=xx` or `//// c=xx r=yy` comments.
Preparing translations files without that information is a pain in the ... and takes way more time for somebody else
to review to code as it would take you.

* No need to have `MSG_abcde` again in comments `////` in `messages.c`

* German translation

* Missed a space

* Use the same format as somewhere else

* French translation.
I am not a native French speaking person, so please excuse my mistakes I may have done.

* Spanish translation.
I am not a native Spanish speaking person, so please excuse my mistakes I may have done.

* CZ translation

* Fix typos

* Another fix
It is
Dimmwert and not Dim Wert

* Fix issues reported by `lang-check.py`

* Add "difficult" messages containing `%`

* Updated MSG and German translation

* removed a translation as it breaks the language selection

* No need to wait until any-key is pressed

* No need to wait any-key is pressed

* Fixed two LF issues

* Updated PO files
ready to be send to translators

* Add missing italian translations

* Improve some existing italian translations

* More italian fixes

* More italian fixes

* Add exceptions in editorconfig for po files to avoid recoding

* Fix typo
Thanks @DRracer for pointing out

* Italian translation by @wavexx

* Update po/new/*.po files

* Update after merging MK3 branch

* Update French translation and some c=xx comments

Big thanks to @awenelo @carlin57 for helping with the french translations and their comments.

* Update po files after French translation

* Fixed most `lang-check.py` reported translation errors for Czech and German.
Two Czech have to be reviewed as these are too long.
One German is correct as it is shown in c=20 r=2 but is 1 char longer than this to split the message.
One German translation seams to be to long but have to review the actual max length

* Fix `lang-check.py` Spanish translation errors
There have been quite lot TOO long messages,

Can't imagine that nobody every complained about that.

* Fix `lang-check.py` Italian translations errors

* Update not_tran and not_used files after fixing several translations

* Some more error fixes and update of `po` files

* Polish translation

* Czech updated

* Fix typo

* no need to translate `\x00` if it is the same

* Polish: Runouts->Koniec

* Polish: Runouts->Konce f ... hopefully the last change

* Added MK2.5/s auto power mode to eeprom doxygen

* Final updates.

- Compiled all versions with multi-languages
- Compiled all versions with EN_ONLY
- updated all /lang/po/Firmware*.* files

* Add crlf attributes for po files

As done for editorconfig, this similarly forces git to handle
po files consistently in DOS format.

* Further improvent of IT translations

* Updated translation
Added cleanup to PF-build.sh

* remove lang/not_tran* and lang/not_used mistakenly added into the PR

Co-authored-by: DRracer <drracer@seznam.cz>
Co-authored-by: Yuri D'Elia <wavexx@thregr.org>
Co-authored-by: D.R.racer <drracer@drracer.eu>
2020-05-12 22:23:40 +02:00
3d-gussner 127a1790bc Set unknown IR sensor after factory reset as 0.3 or older 2020-05-12 20:15:02 +02:00
odaki dfd60a843d Merge remote-tracking branch 'upstream/MK3' into flashair_display_ip 2020-05-10 10:25:13 +09:00
DRracer 7079606df3
Merge pull request #2639 from wavexx/la15_adj_threshold
Adjustable Linear Advance limits and thresholds
2020-05-06 15:37:30 +02:00
Yuri D'Elia 2f4f4547c6 Also reset LA10C when disabling LA with K0
As pointed out by @leptun, with MMUs the combination of old/new filament
profiles in the same print is a likely scenario as we transition towards
LA1.5. Reset the detection state also with K0.
2020-04-29 22:56:06 +02:00
Yuri D'Elia 5082f2a36e Move reset LA state from G80 to M84
Move la10c_reset into finishAndDisableStepper, which is called in both
via lcd_print_stop() and indirectly via M84, saving some space.

M84 is checked-for to determine a complete file, so it's a superior
candidate to G80 (which some people avoid due to MBL issues).
2020-04-29 22:51:23 +02:00
odaki a1254b3a3c Merge branch 'MK3_3.9.0' into flashair_display_ip 2020-04-29 10:19:51 +09:00
Yuri D'Elia b9ce572559 Reset LA10/15 state also when stopping a print
Based on f22fb2770b by @leptun
2020-04-28 17:35:28 +02:00
Yuri D'Elia 0b666ee733 Parametrize LA limits and threshold values
Allow the LA 1.5 MAX value to be configured in Configuration_adv.h.

Define a customizable LA10<>15 detection threshold in function of the
above limit.

Clamp the result of of the LA10->15 return value to always
respect the new LA_K_MAX.
2020-04-28 17:31:42 +02:00
DRracer 7be713199d Version changed (3.9.0-RC3 build 3401) 2020-04-28 12:06:13 +02:00
DRracer 67e9b4c096
IR fsensor fixes (#2632)
* MK3S IR sensor detection and safe operational range fix
* debug, change of fsensor_IR_check behavior
* more doc + disable debug print voltage
* fix displaying MSG_04_OR_NEWER and MSG_03.... kudos to @ovariludovit
* better handling of fsensor not responding scenario
2020-04-28 10:20:21 +02:00
odaki c34c622b3c Merge branch 'MK3_3.9.0' into flashair_display_ip 2020-04-28 00:14:47 +09:00
DRracer 40c052f482 Version changed (3.9.0-RC2 build 3398) 2020-04-24 20:02:13 +02:00
DRracer baaa372a56
Rephrase texts for fsensor detection and cleanup (#2630)
* Rephrase texts for fsensor detection and cleanup

* fsensor msgs only for MK3S
2020-04-24 19:46:54 +02:00
Alex Voinea 8ef87d76ef
MK2.x: move away from endstops after lcd_selfcheck_pulleys() (#2617)
* Removed duplicate #defines
cleaned up display routine

* Change to raise_z_above()

* Better display handling

* Ditch charswitch, show ... for measuring

* Pull in changes from #5

* Fix printf()s

* revert feedrates

* typo

* MK2.x: move away from endstops after lcd_selfcheck_pulleys()


amend

* Use absolute coordinates

Co-authored-by: vintagepc <53943260+vintagepc@users.noreply.github.com>
2020-04-20 09:55:14 +02:00
DRracer 32fa7b5496
Merge pull request #2473 from vintagepc/#2472-#2356-belt-test-stealth-mode
#2472 #2356 #2484 belt test improvements
2020-04-20 09:36:39 +02:00
Alex Voinea 0e25eaee8f
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2020-04-19 16:02:11 +03:00
3d-gussner 1bac0c1765 Add dummy G21 to prevent UNKOWN warnings in serial
And as Prusa firmware operates ONLY in milimeters it kind of does what G21 is supposed to do.
2020-04-18 16:39:04 +02:00
DRracer 60466c0993
Merge pull request #2610 from wavexx/la15_la10_tune
Increase the LA10->15 response
2020-04-16 16:12:05 +02:00
vintagepc dce453fd4a typo 2020-04-16 07:31:54 -04:00
vintagepc 85a4c44d83 revert feedrates 2020-04-16 07:29:59 -04:00
DRracer 1d4b0a9c47
Merge pull request #2586 from leptun/patch-1
🐛Flip lcd_detect_IRsensor logic
2020-04-15 11:24:38 +02:00
DRracer 7c1bf6a836
Merge pull request #2591 from wavexx/la15_chained_wipes
Fix chained wipes in Linear Advance 1.5
2020-04-15 11:23:45 +02:00
Yuri D'Elia 48c459e208 Increase the LA10->15 response 2020-04-12 02:58:44 +02:00
Yuri D'Elia ae4abdf11f Unify LA for all trapezoid steps
Handle uniformly compression & decompression at any stage of the
trapezoid.

Compared to before, this now enables LA compression also in the cruising
step (handling the converse of a chained wipe), as well as decompression
during acceleration.

Both of these can happen as a result of jerk moves, but are incredibly
rare. This is mostly needed to allow rapid decompression directly at the
acceleration step during travels between a retraction&deretraction.

We also check for the pressure level in a single place, reducing code
size as well as disabling LA earlier when not needed for the rest of the
block.
2020-04-12 01:28:34 +02:00
Yuri D'Elia 13b0e27cd7 Do not overflow during LA acceleration limiting
Perform the check one step earlier, avoiding 32bit overflow for very low
compression factors.

Fixes #2566 (although for K15 to have effect the conversion probably
needs to be adjusted on the low end)
2020-04-09 22:55:47 +02:00
Alex Voinea 207f0f27a6
🐛Flip lcd_detect_IRsensor logic 2020-04-09 16:35:38 +03:00
Yuri D'Elia 02a36c498c Release excess pressure within cruising blocks
LA assumes all the nozzle pressure is released at the end of each
extrusion, which makes calculating the required pressure advance during
travels and retracts not normally necessary.

This is not always true in our planner, since the E axis is explicitly
ignored when not in use, but also due to E-jerk allowing a non-linear
jump in speed. And since the compression factor is currently tied by XYZ
axes and not independently calculated, this can result in a wrong
estimation of final pressure in several conditions.

To avoid overburdening the planner, change the underlying assumptions
about backpressure:

1) Pressure is no longer lost when LA is disabled: if a retract is
followed by an unretract of the same length, the pressure will be likely
maintained entirely. This also holds true during travels, as long as the
retract length can overcome all the backpressure (which is the case in
all but the most noodly materials)

2) Pressure is released as soon as possible during travels: we now
enable LA also during travels, but under the sole condition of undoing
excess pressure.

We do that by checking for backpressure at the start of any segment
without an acceleration phase that doesn't have any E-steps (a result
which can happen due to the above). If pressure is not nominal, we run
the extruder in reverse at maximum jerk as long as the segment allows
us, since proper acceleration would be prohibitive at this stage. As the
pressure difference resulting by the above is still _very_ low, any wipe
or short travel will be able to equalize the nozzle pressure *before*
extrusion is resumed, avoiding ooze.
2020-04-09 00:46:57 +02:00
Yuri D'Elia 919386c957 Remove several globals by using a single target pressure
In the current code we initialize the LA state on-demand already at the
right step, which makes keeping track of the tick position no longer
necessary.

Make the advance ISR almost stateless by removing the last vestiges of
the original implementation and introduce a single target pressure. This
will be needed later in order to trigger the LA isr inside the cruising
phase.
2020-04-09 00:46:57 +02:00
Yuri D'Elia 9ec0ac9c64 Always reset e_steps between blocks
If e_steps are scheduled, but not ticked, they're just lost.
Only carry over the pressure state.
2020-04-09 00:46:57 +02:00
Yuri D'Elia 5d27f3362a Remove empty line 2020-04-09 00:46:57 +02:00
Alex Voinea 4c4b4c489c
🐛♻️ Update the feedrate percentage before drawing the screen 2020-04-07 17:10:27 +03:00
3d-gussner c1d05210ff Cleanup useless `break;` 2020-04-07 11:42:09 +02:00
3d-gussner 65a406a2f3 Bugfix for last PR
I forgot to change also the
- `#ifdef DEBUG_DCODE_3` to `#if defined DEBUG_DCODE3 || defined DEBUG_DCODES`
- `#ifdef DEBUG_DCODE_5` to `#if defined DEBUG_DCODE5 || defined DEBUG_DCODES`
in the `Dcodes.h` file which I added to `Dcodes.cpp`.

Due to this issue the "Debug" version fails during compiling.

Sorry for that.
2020-04-07 11:22:48 +02:00
DRracer c8f67f2279
Merge pull request #2568 from 3d-gussner/MK3_Dcodes_move
D- codes move
2020-04-03 11:12:30 +02:00
DRracer b779d786e6
Merge pull request #2569 from leptun/MK3_fix_selftest_Z_crash2
🐛Raise the nozzle from the bed in case Z axis crashes during homing and selftest
2020-04-03 09:04:59 +02:00
Alex Voinea 9b3f51008b
🎨Change CRLF line ending to LF 2020-04-02 19:32:13 +03:00
3d-gussner 0daa916c8d Merge remote-tracking branch 'upstream/MK3' into MK3_Fix_LCD_stats 2020-04-02 15:14:00 +02:00
3d-gussner dbd07c1d1c Limited LCD output of several uint16 values to 999 2020-04-02 15:11:46 +02:00
3d-gussner a1b8ee67b3
Fix missing (hex) in D5 code (#2560)
* Fix missing (hex) in D5 code

* Make ALL D-codes available for DEBUG mode
until now D3 and D5 needed to be defined separately

* Forgot to modify Marlin_main
2020-04-02 14:56:19 +02:00
Alex Voinea fd1d05ab48
♻️Code optimization 2020-04-02 14:44:44 +03:00
Alex Voinea f8843b25b0
Progress bar for check_file() 2020-04-02 13:21:53 +03:00
Alex Voinea 792bab9bbb
Fix go up 2020-04-01 13:50:22 +03:00
Alex Voinea 8b2b32c85b
Raise on nozzle crash 2020-04-01 13:15:08 +03:00
Alex Voinea b8896ad9c0
First attempt for Z probe checking during selftest on the MK3/S 2020-04-01 12:28:39 +03:00
vintagepc b449e248a1 Fix printf()s 2020-03-31 17:48:56 -04:00
vintagepc 0c383e20b3 Pull in changes from #5 2020-03-31 17:33:08 -04:00
vintagepc f1cba64e56 Merge remote-tracking branch 'upstream/MK3' into #2472-#2356-belt-test-stealth-mode 2020-03-31 17:03:10 -04:00
3d-gussner e481013126
Reset all stats during Shipping prep (#2563)
* Reset all stats during Shipping prep
Last print stats were missing

* keep old indentation

Co-authored-by: D.R.racer <drracer@drracer.eu>
2020-03-30 17:01:46 +02:00
DRracer 8196a5f165
Merge pull request #2565 from 3d-gussner/MK3_EEPROM-fix1
EEPROM_BACKLIGHT_TIMEOUT min is 1 sec
2020-03-30 16:58:22 +02:00
3d-gussner 957bfd89e3 Merge remote-tracking branch 'upstream/MK3' into MK3_Dcodes_move 2020-03-30 16:56:59 +02:00
3d-gussner 6da401be56 Move few D-codes command from Marlin_main to Dcodes
D80, D81 and D106 have been added to `Marlin_main.cpp` but all other D-codes moved to `Dcodes.cpp/.h`
2020-03-30 16:53:58 +02:00
3d-gussner aa9aa14472 Version to 1.0.1 2020-03-30 16:24:20 +02:00
3d-gussner 9abc79d89c EEPROM_BACKLIGHT_TIMEOUT min is 1 sec 2020-03-30 16:16:07 +02:00
DRracer 368ee0857b
Merge pull request #2564 from 3d-gussner/MK3_EEPROM-fix1
Typo in some hex default values
2020-03-30 16:15:26 +02:00
Alex Voinea f13269d8a9
Code cleanup 2020-03-30 16:50:50 +03:00
Alex Voinea 104f81cd27
Fix case sensitive include 2020-03-30 15:42:30 +03:00
Alex Voinea 988ba6d8b0
Fix DEBUG_BUILD 2020-03-30 15:38:01 +03:00
3d-gussner 0f9aa00eaf Typo in some hex default values 2020-03-30 10:36:13 +02:00
DRracer 5106831ba2
Merge pull request #2526 from leptun/MK3_decouple_XYZE_relative_mode
Mk3 decouple XYZE relative modes
2020-03-26 18:58:20 +01:00
DRracer 587b051b1f
Merge pull request #2492 from vintagepc/belt-test-fixes-no-reorg
Belt test improvements (No display alteration)
2020-03-26 18:53:40 +01:00
DRracer b95d7365c8
Merge branch 'MK3' into remove-unnecessary-delay 2020-03-26 18:45:34 +01:00
DRracer a4b8f52269
Merge pull request #2466 from vintagepc/#2464-fix-runout-for-unknown-filament
#2464 fix runout for unknown filament (also fixes #1993, #2301)
2020-03-26 18:43:05 +01:00
DRracer c085ecaa11
Merge pull request #2264 from leptun/MK3_fix_selftest_Z_crash2
PFW-1048: fix selftest Z crash. Use stallGuard when testing Z
2020-03-26 18:22:35 +01:00
Alex Voinea d0c51b9e73
int -> bool 2020-03-26 19:06:35 +02:00
DRracer 65228a046e
Merge pull request #2520 from MRprusa3d/PFW-x001bPR
FS PCB auto-detect
2020-03-26 17:36:18 +01:00
Alex Voinea 4670c42aeb
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2020-03-26 18:17:26 +02:00
D.R.racer 818efb4fa2 updated messages + slight refactoring to save some bytes 2020-03-26 15:07:48 +01:00
D.R.racer 34ac2917ae fix. warning "Macro expansion producing 'defined' has undefined
behavior"
update screen layout comments
2020-03-26 14:40:47 +01:00
3d-gussner 32c95d5455 Merge branch 'MK3' into MK3_Dcodes_case_sensitive 2020-03-26 14:08:55 +01:00
3d-gussner 2ceec597a5 Fix typo 2020-03-26 14:08:35 +01:00
3d-gussner 9b394dcbe6 Update to Version 1.0 2020-03-26 13:55:23 +01:00
3d-gussner 82cd1f9f84 Typo. thanks @leptun 2020-03-25 17:44:43 +01:00
3d-gussner 4c518545f1 Updated the documentation
copy past from Marlin_main.cpp doxygen documentation d-codes
2020-03-25 17:33:10 +01:00
3d-gussner 0d00db1c33 Some D-codes are case sensitive 2020-03-25 17:26:27 +01:00
3d-gussner 95a24320f7 Added language factory reset
and some other minor fixes
2020-03-23 17:10:40 +01:00
3d-gussner 7cd5d83089 Added S/P to Default/FactoryReset
S = Statistics
P = shipping Prepare
2020-03-23 16:54:35 +01:00
3d-gussner 6be66fcfcd fix some typos 2020-03-23 15:47:59 +01:00
Alex Voinea 6979555fab
more comments 2020-03-23 16:30:51 +02:00
3d-gussner bb43fa9878 typo dedine doesn't work 2020-03-23 14:51:40 +01:00
3d-gussner 0067dc0d9d Merge branch 'MK3' into MK3_EEPROM_doc 2020-03-23 14:15:35 +01:00
3d-gussner f4037b9cb4 Fixes after testing 2020-03-23 14:13:24 +01:00
Alex Voinea 5c4b3eea87
Struct comments 2020-03-23 14:57:03 +02:00
DRracer 73349033d5
Merge pull request #2469 from wavexx/fix_current_pos_init
Initialize current_position correctly during startup
2020-03-23 12:26:32 +01:00
3d-gussner fc793b59d7 changed default values for bowden length after test 2020-03-23 12:02:57 +01:00
DRracer 5a6148670a
Merge pull request #2494 from DRracer/create-mod-filetime-sort
Use combined creation/modification file time stamps for sorting
2020-03-23 11:53:52 +01:00
3d-gussner 32bff79fd6 minor changes + added EEPROM_FREE_NRx ...
Some EEPROM allocations do not use the hole allocated space:

- EEPROM_FARM_NUMBER is only numeric 000-999 and only uses 2 bytes to store the Farm number BUT allocated 3 bytes. Added EEPROM_FREE_NR1 as free space that can be used
- EEPROM_CRASH_DET just changes 1 byte to save it status [on/off] but allocated 5 bytes. Added EEPROM_FREE_NR2 to EEPROM_FREE_NR5 as free space that can be used
2020-03-23 11:40:07 +01:00
Alex Voinea ea1a2bb362
Documentation update 2020-03-23 12:37:56 +02:00
DRracer 468b0e210c
Merge pull request #2372 from leptun/MK3_fix_verbosity
Fix SUPPORT_VERBOSITY
2020-03-23 10:53:39 +01:00
DRracer 0f32c46307
Merge pull request #2371 from 3d-gussner/MK3_Fix_Language_Debug
MK3 fix language debug
2020-03-23 10:53:14 +01:00
3d-gussner 0c65505741 Added PRUSA3DFW at 0x0000 2020-03-23 07:23:36 +01:00
3d-gussner 1b0c86cb51 minor fix 2020-03-22 15:23:41 +01:00
3d-gussner 2778fa9aa0 Added author and version of document 2020-03-22 15:22:14 +01:00
3d-gussner b178252eb9 Added Italic and Bold to highlight some settings 2020-03-22 15:18:45 +01:00
3d-gussner 028a27021b All done...
hope not I forgot one. I will re-test all `D3 Axyyyy Cz` before creating a PR.
2020-03-22 14:08:21 +01:00
3d-gussner 2591f8d593 Added and tested more...
... have to take a short break
2020-03-20 12:36:26 +01:00
3d-gussner c8fc5b2fed Simpler tabel syntax 2020-03-20 10:44:12 +01:00
odaki 684b47e417 Update reference URL
There was an official website of Toshiba called "FlashAir Developers '', and
there was information necessary for FlashAir development, but since it closed in September 2019.
Instead, I will point an archive site for developers.
2020-03-15 19:04:02 +09:00
3d-gussner 4d40ed67f6 remove LF 2020-03-12 12:36:48 +01:00
3d-gussner 2818316366 Started EEPROM Table doxygen documentation 2020-03-12 12:34:33 +01:00
MRprusa3d ff479afd88 version for testing / final review 2020-03-10 15:51:48 +01:00
MRprusa3d f71bbfe95e tresholds specification, steady delay 2020-03-10 00:11:17 +01:00
Alex Voinea e914f8e0da
Show "Sorting folders" when folders are being sorted 2020-03-05 13:06:37 +02:00
Alex Voinea 890c137298
Initialize all axis as absolute at the beginning. 2020-03-05 11:29:16 +02:00
Alex Voinea 5fcf18718f
Decouple XYZ relative from E relative. 2020-03-05 11:22:35 +02:00
Alex Voinea 355b003b7f
menu_data_reset() 2020-03-04 22:20:53 +02:00
Alex Voinea 40ebd455f2
Safer menu interrupt call 2020-03-04 22:14:53 +02:00
Alex Voinea 22432b1053
Reset menu state after lcd_sd_refresh 2020-03-04 21:07:51 +02:00
Alex Voinea 5edc1ef297
Fix updir and dir again 2020-03-04 21:03:57 +02:00
Alex Voinea 57c149e7b5
Comment cleanup 2020-03-04 21:01:08 +02:00
Alex Voinea 7b19715c99
Cache sdSort 2020-03-04 20:41:17 +02:00
Alex Voinea f35e553373
Code cleanup 2020-03-04 20:33:43 +02:00
MRprusa3d f09323a78f heaters-checking update 2020-03-03 14:57:45 +01:00
Alex Voinea 8e47cb35a3
Possible fix to longpress in sdcard menu 2020-03-03 15:29:10 +02:00
Alex Voinea d1968f6ff0
Option to refresh/resort SDcard files when flashAir type is selected 2020-03-03 15:17:50 +02:00
Alex Voinea f69a68b966
Fix subdir enter and exit 2020-03-03 14:55:08 +02:00
Alex Voinea 53e130fc6d
Merge branch 'MK3' into MK3_NEW_SD_COMPILATION 2020-03-03 14:14:43 +02:00
MRprusa3d 0eaa4edfee configuration update 2020-03-02 21:18:11 +01:00
MRprusa3d 2a9504b20a !!! for testing only !!!
filament sensor auto-detection
2020-03-02 19:07:23 +01:00
MRprusa3d ec5e54de25 state fixing 2020-03-02 17:52:25 +01:00
vintagepc e06beb61c3 Ditch charswitch, show ... for measuring 2020-02-21 18:14:13 -05:00
Yuri D'Elia 497637ee84 Remove hard-coded X/Y jerk limits 2020-02-18 12:23:42 +01:00
DRracer 2e18a48b87 Version changed (3.9.0-RC1 build 3272) 2020-02-17 16:47:56 +01:00
DRracer f234ef2104 Use combined creation/modification file time stamps for sorting 2020-02-14 09:09:15 +01:00
vintagepc 1aaefffdb0 Change to raise_z_above() 2020-02-13 07:37:27 -05:00
vintagepc 5abee3d3e5 Better display handling 2020-02-11 19:44:26 -05:00
vintagepc 278bb032d7 Change to raise_z_above() 2020-02-11 18:37:26 -05:00
vintagepc a4458fb57b Removed duplicate #defines
cleaned up display routine
2020-02-11 18:33:40 -05:00
vintagepc e4b1a1e9c4
Remove delay for belttest, similar to #2439
There's a separate PR to remove the first delay in the selftest. (#2439). Mirroring that to the belt test function, which I suspect also inherited it.
2020-02-09 21:39:48 -05:00
vintagepc 721b27fcb6
Reorg/cleanup
Removed unused progress variable
reorganized flow to avoid early returns (ensures forced high power mode is disabled regardless of outcome)
2020-02-08 12:33:23 -05:00
vintagepc 1384e783bf
Force high power mode when running belt test 2020-02-07 16:14:33 -05:00
DRracer a10b7f3963
Merge pull request #2470 from leptun/MK3_Adjusted_mintemp
Adjusted hotend, bed and Ambient mintemp values
2020-02-07 08:54:50 +01:00
Yuri D'Elia f1618bfbd6 Initialize current_position correctly during startup
Just after setting up the w2m matrix, call "clamp_to_software_endstops"
on the current_position (initially [0,0,0]) to move it to the effective
minimal position, which is usually [0,0,non-zero] due to MIN_Z and the
negative probe offset.

This is required to calculate correctly the first relative move:
planning X+10 would unexpectedly calculate a Z shift otherwise.
2020-02-06 22:41:47 +01:00
Yuri D'Elia 9e45b5d41e Improve PAT9125 filament / optical quality checks
Tune the "soft" filament recheck to be more in-line with the latest
changes. Relax the thresholds so that a poorly tracking filament
that managed to trigger a recheck can still pass as long as /some/
motion is detected.

Hide the unused fsensor_oq_result() behind the FSENSOR_QUALITY define,
which is likely broken currently anyway.

Cleanup and simplify all the OQ defines.
2020-02-06 18:27:44 +01:00
Yuri D'Elia 853bb79b6b Return correct status from pat9125_update_bs 2020-02-06 16:39:08 +01:00
Yuri D'Elia bd0544fe9e FS: Use two different speeds when checking for runout
When doing a PAT9125 "soft check", use two different speeds between
retraction and extrusion. This increases the chances that we can
track the surface.
2020-02-06 15:27:22 +01:00
Yuri D'Elia 3be859ece9 FS: Improve reliability on speeds with poor optical tracking
Depending on the filament surface and moving speed, the PAT9125 sensor
can stop being able to track movement.

In such cases, instead of triggering false errors and/or relying on
previous states, read and use the exposure data off the sensor and
increase error counts only for poorly exposed images instead, which
is a good indicator of a far-away (or missing!) tracking surface.
2020-02-06 15:27:22 +01:00
Yuri D'Elia cdc17e8da1 Read all 12 bits correctly from PAT9125 DELTA_* registers
Widen ucXL/ucYL/ucXYH types to 16 bits, since the following shifts
will otherwise truncate the results.
2020-02-06 14:39:04 +01:00
Yuri D'Elia 3af35844e1 Remove redundant check (always trigger the fsensor isr)
Since fsensor_st_block_chunk is already called on fsensor_chunk_size
boundaries, there's no need to check a second time.
2020-02-06 14:39:04 +01:00
Yuri D'Elia 1eddc40ed4 Comment existing code 2020-02-06 14:39:04 +01:00
Yuri D'Elia e84f82a675 Rewrite filament sensor PAT9125 error handling
Rewrite the logic behind the "chunking"/error count behind the PAT9125.

Basic idea: check the _direction_ of movement returned by the optical
sensor and compare it to the direction of the stepper. To avoid doing
this continuosly (and because the optical sensor doesn't necessarily
have the accuracy to track small distances), do so in chunks.

Each time a chunk doesn't match the expected direction, increase the
error count.

Several improvements were done to the previous code:

- Increase the chunk window: this ensures that a filament with
  poor response returns an usable direction, while also moving the
  average return values from the sensor in the middle of the 12 bits
  available for maximum effectiveness.
- Since the returned values are more reliable, reduce the error count
  (1.25mm*4 = ~5mm before runout detection)
- Track _both_ positive and negative movement, although only trigger
  errors during extrusion (necessary due to several assumptions made
  in the mmu/unloading code)
- Do not reset the counters for each block: accumulate distances
  correctly, allowing detection of any block lenght.
2020-02-06 14:37:46 +01:00
vintagepc 34f43d7389
Update mmu.cpp
Fix runout if filament is unknown
2020-02-05 21:41:31 -05:00
Yuri D'Elia 5c4235b886 Correctly reset the PAT9125 filament counters
When the error count is cleared, the cumulative deltas as well as the
segment lenght which is kept inside the stepper isr need to be reset.

Introduce a helper function fsensor_reset_err_cnt to clear all the
required variables in one place which can be used in most cases
(the only exceptions being quality measument).

Introduce a new function st_reset_fsensor to also clear the segment
lenght within the isr.
2020-02-05 16:21:27 +01:00
Yuri D'Elia 6fbd632c84 Isolate all PAT9125-specific code, fix build on !MK3 variants
- Hide all prototypes related to PAT9125 to force all callers
  to check for the proper sensor, since the handling differences
  are substantial
- Remove unneeded lenght accounting from the stepper isr as as
  consequence.
- Keep detailed soft failure counts for the MK3 on the "last print
  failures" status screen, but fix build on variants without a PAT9125
  by fixing the lcd stats function.
2020-02-05 16:20:12 +01:00
Yuri D'Elia d47363d85a Update the filament axis resolution when E resolution is changed
The filament sensor "chunk lenght" needs to be updated every time the
E axis resolution is changed in order to trigger at the same distance.

Introduce a new function fsensor_set_axis_steps_per_unit() and use
it consistent during init, in M92 and M350.
2020-02-05 16:20:12 +01:00
Yuri D'Elia ce74b746f1 FS: Trigger a runout with repeated soft-failures (clog?) 2020-02-05 16:20:12 +01:00
Yuri D'Elia 8fb8ff4bf4 Include fsensor recovery stats in the last print stats 2020-02-05 16:20:12 +01:00
Yuri D'Elia e8ce5e140e FS: Detect runout earlier 2020-02-05 16:20:12 +01:00
DRracer 4774b44e21
Merge pull request #2461 from leptun/MK3_FIX_MINTEMP_FIXED
HEATER -> HOTEND
2020-02-04 16:35:07 +01:00
Alex Voinea f1ccfd481a
HEATER -> HOTEND 2020-02-04 17:30:44 +02:00
DRracer d4d1f051ba
Merge pull request #2149 from leptun/MK3_TONE
PFW-1056: Re-enable Tone on timer4
2020-02-04 11:04:15 +01:00
Alex Voinea 3ae5fa70ca
Fix comments 2020-02-03 19:20:43 +02:00
Alex Voinea 1f482adf55
Improved lcd_menu_statistics() implementation 2020-02-03 18:40:46 +02:00
DRracer 007395acb4
Merge pull request #2458 from wavexx/la15_compat
Adjust E-jerk in LA10 compatibility mode
2020-02-03 15:57:21 +01:00
Yuri D'Elia 453f5dd874 Adjust E-jerk in LA10 compatibility mode
When upgrading K values of a LA1.0 print, also adjust E-jerk settings
(<2) if permissible according to current accell limits. The same is also
true when jerk is set mid-print via 'M205 E'.

Existing values are always restored when switching to another
compatibility mode.

TODO: Since this is stateful, we will need to save the current print
mode / acceleration and jerk in the eeprom for this to survive a power
panic (see prusa3d#2456).
2020-02-03 15:42:27 +01:00
Yuri D'Elia 4b85664b27 Raise default extruder jerk to 4.5
This should be the new default for LA1.5 for direct drive printers and
newer PrusaSlicer profiles too (hopefully).
2020-02-03 15:42:27 +01:00
DRracer 796dcd6a3d
Merge pull request #2457 from wavexx/la15_fixes
Linear Advance 1.5 fixes
2020-02-03 15:27:02 +01:00
DRracer 685c8156b6
Merge pull request #2451 from wavexx/fix_printstats_reset
Do not clear last print fail stats prematurely
2020-02-03 11:21:41 +01:00
Yuri D'Elia 47db75d5fd Fix overflow and infloop with LA15 and low step rates
When calculating the advance tick interval, be sure to check for integer
overflow. Very low step rates can result in values exceeding uint16_t
causing premature LA tick delivery.

An overflow resulting in zero would also block in an infinite loop
within advance_spread().

Even though such rates are worthless in terms of compensation and often
result in 0 extra ticks as well, do not disable LA for the block (as
doing so would reset the count for short segments) and do not check for
zero in multiple paces either.

Saturate the interval instead, delaying any further tick to the next
block.
2020-02-02 22:49:39 +01:00
Yuri D'Elia 3bbc143821 Fix build with LA_LIVE_K
Do not check for LA_LIVE_K in messages.c (Configuration_adv.h is not
included here).

Rely on the linker to drop the symbol when LA_LIVE_K is disabled.
2020-02-02 18:02:37 +01:00
DRracer d6522a643c
Update ultralcd.cpp
indent
2020-01-31 16:57:18 +01:00
DRracer fd42361236
Update ultralcd.cpp
do delay(2000) everytime, even if IR_SENSOR_ANALOG
2020-01-31 16:55:40 +01:00
DRracer 10d468cceb
Merge branch 'MK3' into remove-unnecessary-delay 2020-01-31 16:51:27 +01:00
DRracer d30960b8e8
Merge pull request #2431 from MRprusa3d/PFW-x001
selfTest workflow optimalization
2020-01-31 16:49:41 +01:00
3d-gussner a355fdd00d
And another one
sorry
2020-01-31 15:40:07 +01:00
3d-gussner b466dad1d7
Fix copy paste issues D2 D5
Fixed copy paste
2020-01-31 15:27:19 +01:00
Yuri D'Elia 84ecf96be5 Do not clear last print fail stats prematurely
M24 was always cleaning the last print failstats. But because M24 is
used to restore a print after power failure (by setting the seek
offset), it would also reset the stats incorrectly after resuming.

Check for the file index position and reset the stats only when a print
is started from the beginning of the file.

Apply the same logic to M32 and similarly handle the LA10->15 conversion
(do not re-apply the adjustment for a resumed print).
2020-01-31 15:08:24 +01:00
3d-gussner 857f9d8d9e Hard reset and readded change 2020-01-31 14:47:44 +01:00
DRracer d70a147af5
Merge pull request #2436 from leptun/MK3_PSU_DELTA_cleanup
Do not clear axis known position when Z is set to silent
2020-01-31 09:08:14 +01:00
DRracer 0b62ed3325
Merge pull request #2450 from leptun/MK3_FIX_MINTEMP_FIXED
Show correct fixed message
2020-01-31 09:03:11 +01:00
DRracer 1ceadcb162
Merge pull request #2448 from wavexx/save_restore_fix
Save and restore fixes
2020-01-30 16:41:01 +01:00
Alex Voinea 886c2fdc4e
Show correct fixed message 2020-01-30 17:24:32 +02:00
DRracer 1b7677c768
Merge pull request #2394 from wavexx/fsensor_no_recursion
Avoid more recursive behavior in fsensor_update
2020-01-30 14:18:07 +01:00
Yuri D'Elia 1db024f17a Always raise the extruder 25mm during power recovery
Avoids oozed material (drooping more than ~1mm) to scrape and
potentially detach the print.
2020-01-30 13:12:12 +01:00
Yuri D'Elia 571906a494 Do not update saved_target if there's no current_block
There is a chance that current_block can be NULL despite
the queue being non-empty. This can happen early after a block has been
queued, but before the isr has picked it up for processing, and/or when
the current block is at the last step and is being discarded.

Check for current_block directly to avoid this race.
2020-01-30 13:12:12 +01:00
DRracer 48a0532e37
Merge pull request #2447 from leptun/MK3_BED_LEVELING_PWM
Turn off bed while probing during MBL
2020-01-30 11:18:34 +01:00
leptun 8c2902a660
Revert "Mesh bed leveling testing"
This reverts commit 28e812d91f.
2020-01-29 23:07:53 +02:00
Alex Voinea b86aafb56e
Documentation 2020-01-29 23:07:24 +02:00
Alex Voinea 755230e2e7
fix small mistake 2020-01-29 23:07:24 +02:00
Alex Voinea a5198e32a3
Just keep the current state. ON or OFF. No switching allowed 2020-01-29 23:07:24 +02:00
Yuri D'Elia 02d1525445 Display "POWER PANIC DETECTED" when possible
Both during early init and in uvlo_tiny, display "POWER PANIC DETECTED"
if enough charge is left.

This is not worth doing in regular uvlo_, as we want to give full
priority to the X motor
2020-01-29 21:08:56 +01:00
Yuri D'Elia 2b46fdac2d Only trigger a quick reset if there's a pending saved state
Thanks to @leptun
2020-01-29 17:56:26 +01:00
Alex Voinea 99e81812ce
Merge branch 'MK3' into MK3_BED_LEVELING_PWM 2020-01-29 17:56:10 +02:00
Alex Voinea 4fd913ddf3
Remove commented out code 2020-01-29 17:45:47 +02:00
Yuri D'Elia b46dc59fad Refuse to start a print if power is lost before arming uvlo
If power has been lost during startup already a falling edge would be
skipped, causing the print to continue and lose its state without
being able to save again.

Check for a low line after arming the interrupt and simply wait
for reset.
2020-01-29 16:06:54 +01:00
Yuri D'Elia 200cdde1af Setup the UVLO interrupt later during initialization
Do not allow uvlo_tiny() to trigger before the previous print has
already been recovered.

A quick repeated power failure could cause uvlo_tiny to overwrite
the Z position before it has been correctly recovered.
2020-01-28 21:50:12 +01:00
DRracer 3e70b73a1f Remove unnecessary delay in lcd_selftest, which occured there as a result of merge. 2020-01-27 19:02:15 +01:00
Yuri D'Elia 3da20db024 Really poweroff Z motors when PSU_Delta is defined
enable/disable_z behave differently when PSU_Delta is defined.

During powerpanic and kill however we do *really* need to save energy
and poweroff the motors.

Rename enable/disable_z as poweron/poweroff_z and define some aliases so
that we can use the low-level function where needed.
2020-01-27 18:50:17 +01:00
Yuri D'Elia 5d88573711 Save/restore hotend temperatures above 255C in PowerPanic
Use 2 bytes to store extruder temperature during UVLO.

Re-use the storage of EEPROM_UVLO_TINY_Z_MICROSTEPS which has been freed
by previous changes.

Fixes #2303
2020-01-27 14:59:18 +01:00
Yuri D'Elia 50a9fe003a Bump the unparking speed to 50mm/s (same as M600 recovery) 2020-01-27 11:08:28 +01:00
Yuri D'Elia eb2ca78167 Rewrite uvlo handling for accurate Z re/positioning
- In both uvlo_ and uvlo_tiny, calculate Z usteps properly and adjust
  the Z position to a true fullstep before disabling the motor. This
  avoids shifs during recovery.
- In uvlo_tiny, instead of moving up indefinitely, adjust Z just
  once using the smallest move possible (new def UVLO_TINY_Z_AXIS_SHIFT)
- Perform all the uvlo/recovery processing in physical coordinates
  and MBL off: there should be no automatic Z movement!
- Disable heaters in both handlers to conserve more power.
- Add timing information to uvlo_tiny too.
- During recovery, to switch between physical and logical positioning
  introduce a new "PRUSA MBL" gcode as most of the procedure is
  enqueued, and no existing gcode was available.
2020-01-26 17:46:50 +01:00
Yuri D'Elia 11a0e95f60 Re-enable the code that moves the extruder during PP
There is frequently plenty of power left during a PP. Take advantage of
it by moving the extruder to either side of the axis to detach
completely the nozzle from the print.

Re-enable Z during this move to avoid losing the current step.
2020-01-26 17:46:50 +01:00
Yuri D'Elia 0702e0de6e Use world2machine instead of repeating code 2020-01-26 17:46:50 +01:00
Yuri D'Elia ec5cbf73b9 During PP keep the watchdog waiting for longer
When the printer is connected to a USB host during a PP (and the host
does not lose power), the rambo can linger for longer, sometimes for
long enough to recover the print state. Drain some more power.
2020-01-26 17:46:50 +01:00
Yuri D'Elia ec8b5aaa34 Do not attempt to "zero-phase" the microstep counter
If the motors are off-phase, this is more likely to "bump" them to an
incorrect/reverse full-step, doing worse.

We need to ensure the motors are already positioned on a fullstep
during power panic instead.

Remove the PSU_DELTA exception: Z _always_ needs to be powered here.
2020-01-26 17:46:26 +01:00
Yuri D'Elia 5310181970 Cancel a recovering print when using the LCD "Stop"
Also clear the UVLO flag when using lcd_print_stop. This prevents an
aborted print which has been cancelled while unparking (just prior to
recover) to come back again at the next startup.
2020-01-26 17:45:47 +01:00
Alex Voinea 4055977a95
Do not clear axis known position when Z is set to silent
Also removed unused (forgotten) variable.
2020-01-25 11:41:27 +02:00
3d-gussner 6d721c9b82 Merge remote-tracking branch 'upstream/MK3' into MK3-Fix_M120_M121
Fix merge with FW3.9.0-beta
2020-01-23 14:46:48 +01:00
Alex Voinea 2e50954710
Merge branch 'MK3' into MK3_fix_selftest_Z_crash2 2020-01-22 14:56:54 +02:00
MRprusa3d 73527d6069 selfTest workflow optimalization 2020-01-22 04:45:13 +01:00
Yuri D'Elia 7f3d4a8491 Restore the last E axis position correctly after powerpanic
- Initially restore the last E position from the eeprom in any case, not
  just when using absolute mode (although unnecessary: since it will be
  reset later), fixing a possible unitialized position and crash during
  recovery (thanks to @leptun)
- Remove useless extra calls to put the extruder in relative mode:
  the extruder already starts in relative mode and is later switched to
  absolute.
- Replace incorrect calls to STRINGIFY with sprintf_P
- Retract after pressure has been restored in uvlo_tiny, to be
  consistent with a regular uvlo (remove the bogus double unretract
  as a result).
- Set the real E position prior to the panic *after* the retraction,
  using the now-fixed G92.
2020-01-21 17:41:43 +01:00
Yuri D'Elia 4c8f1e8b89 Use eeprom_update_word instead of EEPROM_save_B 2020-01-21 16:36:34 +01:00
Yuri D'Elia 9ac80f73f2 Remove an useless/duplicate Z move
Likely a result of a merge
2020-01-21 16:34:09 +01:00
Yuri D'Elia 8437630122 Inhibit serial processing in uvlo_
Do not process serial commands when re-enabling the global isr.
While printing via USB and a power panic is triggered, *any* extra
command should be ignored.

Abuse the "saved_printing" variable to inhibit serial processing.
2020-01-21 16:29:12 +01:00
Yuri D'Elia e8f05d0668 Heat both nozzle/bed together while recovering a print 2020-01-21 16:26:16 +01:00
Yuri D'Elia 67decb466d Avoid another call to st_get_position_mm
current_position is already filled by planner_abort_hard.
2020-01-21 16:24:19 +01:00
Alex Voinea e6ba9e633c
Adjusted hotend, bed and Ambient mintemp values 2020-01-21 14:50:53 +02:00
odaki a2692665f8 Merge remote-tracking branch 'upstream/MK3' into flashair_display_ip 2020-01-18 22:26:52 +09:00
DRracer 95a2ad533d Version changed (3.9.0 build 3175) 2020-01-16 16:03:34 +01:00
odaki b09761ed71 Remove '/*' from M46 source
I forgot to remove the unintended comment start mark when merge.
It has been deleted.
2020-01-16 21:38:39 +09:00
odaki 24b748c4ac Merge remote-tracking branch 'upstream/MK3' into flashair_display_ip 2020-01-16 21:25:55 +09:00
Alex Voinea 1d17a37250
all axis -> all axes 2020-01-16 09:15:44 +02:00
leptun ccd3885d84
rephrase G28 W 2020-01-15 23:01:09 +02:00
Alex Voinea 6a1eb63a52
Add @todo to M999 2020-01-15 22:41:02 +02:00
Alex Voinea d676542229
Revert code changes 2020-01-15 22:38:00 +02:00
Alex Voinea 47ddc2e902
M204 - better old_new separation 2020-01-15 22:35:34 +02:00
Alex Voinea 622319f86c
Add missing LF 2020-01-15 22:30:53 +02:00
Alex Voinea ea51696a68
Merge Special sections as requested 2020-01-15 22:30:43 +02:00
Alex Voinea aac66d4a4b
Add missing quote 2020-01-15 22:21:23 +02:00
Alex Voinea d95029bbc7
Merge remote-tracking branch '3d-gussner/MK3-Gcode_documentation' into MK3-Gcode_documentation 2020-01-15 20:17:51 +02:00
Alex Voinea cabfc37f15
The other changes 2020-01-15 20:17:26 +02:00
3d-gussner 5ff6c1f22c Merge remote-tracking branch 'upstream/MK3' into MK3-Gcode_documentation 2020-01-15 16:36:08 +01:00
Alex Voinea 4cf4720a15
Even more formatting fixes 2020-01-15 17:27:54 +02:00
Alex Voinea 7118007efe
Adjustments 2020-01-15 15:52:56 +02:00
Alex Voinea 7ea00a7efd
Fix typo in page description 2020-01-15 15:31:28 +02:00
Alex Voinea 8449136520
Separate M117 from the TMC2130 commands 2020-01-15 15:31:14 +02:00
Alex Voinea 4a4d7976d1
Fix PRUSA typo 2020-01-15 15:30:48 +02:00
Alex Voinea 55f3e7acaf
Merge branch 'MK3' into MK3-Gcode_documentation 2020-01-15 15:12:18 +02:00
DRracer 27f6807bd5
Merge pull request #2416 from wavexx/fix_G92_e_reset
Fix incorrect usage of plan_set_e_position() in G92 E*
2020-01-15 12:52:13 +01:00
DRracer 7230b99448
Merge pull request #2393 from wavexx/sync_before_resume
Sync before resume
2020-01-15 12:49:56 +01:00
DRracer 1a8420f3f9
Merge pull request #2383 from wavexx/fix_usb_resume_check
Fix fan_check_error check in usb print resume
2020-01-15 12:48:48 +01:00
DRracer 43870c4028
Merge pull request #2368 from wavexx/unretract_after_lcd_pause
Unretract when resuming a paused print
2020-01-15 12:47:24 +01:00
Yuri D'Elia bab756699f Fix incorrect usage of plan_set_e_position() in G92 E*
To maintain an accurate step count (which is required for correct
position recovery), any call to plan_set_position&co needs to be done
synchronously and from a halted state.

However, G92 E* is currently special-cased to skip the sync (likely to
avoid the associated performance cost), causing an incorrect E step
count and position to be set. This breaks absolute position recovery,
miscalculation of the LA factor and possibly other weird issues.

We rewrite the handling of G92 to always sync but still special-case the
frequent "G92 E0" for performance by using a free bit in the block flags.

To avoid a sync, we relay the request for reset first to the planner
which clears its internal state and then relays the request to the final
stepper isr.
2020-01-14 20:24:14 +01:00
odaki 99545a006c M46 "Show the assigned IP address" activated
According to the reprap wiki, M46 has been assigned to display its assigned IP address, but has been disabled.
Now that Toshiba FlashAir IP address processing is working, I activate the M46 code so that I can read the IP address information via serial.
2020-01-12 12:45:43 +09:00
odaki 2ca1bc0acb Support W-04 firmware 4.0.0.01+
W-04 needs to use  CMD17 instead of CMD48 to retrieve iSDIO register memories.
To supporting both W-03 and W-04 card, I changed the readExt() code to use CMD48 first and use CMD17 if it returned some error.
This method is from the FlashAir developer sample code.
https://flashair-developers.github.io/website/docs/tutorials/arduino/2
2020-01-11 21:47:16 +09:00
DRracer 4c74866864
Merge pull request #1933 from prusa3d/enable_cutter
Enable MMU cutter.
2020-01-09 13:47:44 +01:00
Alex Voinea 32c9cd2307
Merge branch 'MK3' into fix_lcd_stop 2020-01-09 14:17:56 +02:00
DRracer b088500eaf
Merge pull request #1909 from wavexx/MK3_LA15
Linear Advance 1.5 Returns
2020-01-09 11:22:06 +01:00
Alex Voinea 29d0537004
Adjusted progress bar 2020-01-08 21:32:45 +02:00
Alex Voinea e295c83d09
Folder sorting shellSort 2020-01-08 21:16:08 +02:00
3d-gussner 6a7ae6231d Merge remote-tracking branch 'upstream/MK3' into MK3_Dutch 2020-01-08 16:02:00 +01:00
3d-gussner d895890608 Merge remote-tracking branch 'upstream/MK3' into MK3-Fix_M120_M121 2020-01-08 15:59:16 +01:00
3d-gussner f3668cab92 Merge remote-tracking branch 'upstream/MK3' into MK3-Gcode_documentation
Fix merge issues with G90 and G91
2020-01-08 15:47:38 +01:00
Alex Voinea 7028583e9b
Merge branch 'MK3_ShellSort' into MK3_NEW_SD_COMPILATION 2020-01-08 16:27:31 +02:00
Alex Voinea 37dc5fed45
Merge branch 'MK3_revised_filename_scrolling' into MK3_NEW_SD_COMPILATION 2020-01-08 16:26:51 +02:00
DRracer df300a2488
Merge pull request #2403 from leptun/MK3_unknown_Z_mark
Show ? near Z value if the position is unknown
2020-01-08 14:55:37 +01:00
DRracer e15d5e21f5
Merge pull request #2402 from leptun/MK3_sheet_on_status_screen
Do not show sheet on status screen if less than 2 are initialized
2020-01-08 14:42:29 +01:00
DRracer 2f2e415eae
Merge pull request #2382 from wavexx/fix_lcd_stop
Fix lcd "Stop" when used within a pause
2020-01-08 14:40:54 +01:00
DRracer 3ef1c52a0a
Merge pull request #2381 from wavexx/remove_relative_mode
Remove "relative_mode", only use "axis_relative_modes"
2020-01-08 14:39:43 +01:00
Alex Voinea 8b0f0695a8
Merge branch 'MK3_fix_shorter_sheet_name_on_status_screen' into MK3_sheet_on_status_screen 2020-01-08 15:31:33 +02:00
Alex Voinea 9abdf4e535
Show ? near Z value if the position is unknown 2020-01-08 13:46:51 +02:00
Alex Voinea c5324291ad
Do not show sheet on status screen if less than 2 are initialized 2020-01-08 12:48:41 +02:00
Alex Voinea d9e5283526
Fix pause->stop->PrintFromSD scenario 2020-01-07 21:02:13 +02:00
Alex Voinea 1996fc7940
Remove commented-out code 2020-01-07 20:43:56 +02:00
Alex Voinea 4422fc29f8
Set XYZ to absolute and E to relative 2020-01-07 20:42:21 +02:00
Alex Voinea f8a0d5d773
Fix lcd_print_stop function 2020-01-07 19:54:06 +02:00
Alex Voinea df0d781c20
Merge branch 'MK3' into fix_lcd_stop 2020-01-07 19:53:55 +02:00
Alex Voinea 1ba89b9689
Merge branch 'MK3' into MK3_ShellSort 2020-01-07 14:18:31 +02:00
Alex Voinea b05ee33fc9
Merge branch 'MK3' into MK3_BED_LEVELING_PWM 2020-01-07 07:58:32 +02:00
odaki f923427dc1 Show the FlashAir IP address
Displays the FlashAir IP address in the "Support" menu if the card is available.
If no IP address has been assigned yet, "0.0.0.0" will be displayed.
2020-01-04 12:51:20 +09:00
Yuri D'Elia 853991865c Improve raise_z_above to always raise when at Z_MIN
When check_z_endstop is set, Z_MIN_PIN is checkend regardless of the
moving direction to support Z calibration. This prevents the ability
to use _just_ SG when moving upwards.

But since we know the extruder is at Z_MIN, it's always safe to raise
irregardless, so we can dodge the issue.
2020-01-02 18:07:30 +01:00
Yuri D'Elia 5660fcffb0 Do not enqueue a E/Z moves unless requested
Do not unconditionally enqueue a Z move if no move has been requested.
Since Z is calculated using the absolute current (saved) position and
scheduled for later execution, the queue order becomes relevant.
2019-12-30 14:49:07 +01:00
Yuri D'Elia 86696156af Improve K error checking, allow to manually reset the version
Properly check K independently for each version by delegating it to la10c_value()

Handle -1 as a special case to allow manual reset.
2019-12-30 14:31:39 +01:00
Yuri D'Elia 57be14fca6 Complete all pending moves before restoring a saved print 2019-12-30 13:30:06 +01:00
Yuri D'Elia fd0ed1f0ea Move LA reset from G28 to G80, do not reset on 0
In preparation for #2161, use MBL (G80) as a "new print" boundary
instead of just re-homing to ensure the reset is issued only once for
each print.

Similarly, do not reset the autodetection when LA is disabled via M900
K0. This can/will be used during a print if different quality settings
are used for different filling roles.
2019-12-30 11:32:27 +01:00
Yuri D'Elia d78636c308 Do not synchronize on M900
Since the advance factor is computed per-segment in LA15, there's no
need to stop the planner. Allow changing K freely at each segment.

This allows varying quality factors for different filling roles, see:
https://github.com/supermerill/Slic3r/issues/108

During pause/resume/crashdetect or powerpanic K might temporarily be out
of sync when used this way. If this becomes an issue, we might need to
store K for each block, as done for the feedrate.
2019-12-29 23:25:16 +01:00
Yuri D'Elia f5d382f9f4 Remove useless st_synchronize calls when unparking 2019-12-29 22:20:24 +01:00
Yuri D'Elia 186f881600 Avoid calling fsensor_update() one level earlier
Move the common checks between filament sensors out of fsensor_update().

Disable the runout check if a saved state is already present (this check
was missing in the PAT9125 variant) as this is currently not supported.

Note that the CHECK_FSENSOR looks completely redundant besides
e_active().
2019-12-29 22:08:44 +01:00
Yuri D'Elia bd80ee88a0 Set the IN_HANDLER busy state while checking the filament 2019-12-29 21:27:42 +01:00
Yuri D'Elia 97170ed68d Do not call process_commands() within fsensor_update()
Plan moves directly to reduce the required stack size.
2019-12-27 19:37:20 +01:00
Yuri D'Elia fe4c00fb8a Lift the extruder when checking for the filament
This avoids leaving marks on the print
2019-12-27 19:35:08 +01:00
Yuri D'Elia 301d64042b Set fsensor_watch_runout earlier to prevent re-entry
Do not set/clear fsensor_watch_runout within fsensor_oq_meassure_start
which is used outside of fsensor_update where it could have a different
starting value.

Set it within fsensor_stop_and_save_print to immediately prevent
re-entry.
2019-12-27 19:34:36 +01:00
Yuri D'Elia a31319888c Fix fan_check_error check in usb print resume
Also check for fan_check_error == EFCE_OK in addition to EFCE_FIXED.

Reorganize the check in order to fix both #if[n]def FANCHECK cases,
as similarly done in the SDSUPPORT case a few lines below.
2019-12-23 19:12:46 +01:00
Yuri D'Elia 7b29ce29b4 Add a Linear Advance 1.0->1.5 compatibility layer
Allow existing gcode using LA10 to transparently take advantage of LA15
by using a simple linear conversion function based on experimental
results with the MK3 implementation of linear advance.

Autodetect LA10 values based on the first M900 instruction contained in
the print. In order to support printing mixed files without resetting
the printer we also reset the autodetection status when starting a new
SD print and/or when explicitly disabling LA.

Since we cannot reliably detect whether a new print is started when
printing via USB, also reset the detection status when homing in G28,
which is generally performed once at each print. Note that this doesn't
clear the previous K value, it only allows a subsequent M900 to provide
LA10 values when printed after a LA15 file.
2019-12-21 23:22:35 +01:00
Yuri D'Elia c0ae92cd2a Remove "relative_mode", only use "axis_relative_modes"
axis_relative_modes can cleanly handle G90/G91 and M82/M83 without the
need of "relative_mode" entirely.

Change G90/G91 to simply reset all axes according to the requested
state, which avoids to check two variables in get_coordinates(),
fixing the following incorrect handling:

G91   ; all axis relative
M83   ; set extruder absolute
G1 E1 ; should be an absolute move, but still relative
2019-12-20 18:47:30 +01:00
Yuri D'Elia 8d60e4d6db Merge remote-tracking branch 'upstream/MK3' into MK3_LA15 2019-12-18 18:28:41 +01:00
Alex Voinea f071aec747
Fix sheet minimum width on the status screen 2019-12-18 08:52:25 +03:00
Alex Voinea f0f7db57ea
Fist attempt at "saved position SD menu" 2019-12-17 00:45:25 +02:00
Alex Voinea 3ad611ca16
Merge branch 'MK3' into MK3_revised_filename_scrolling 2019-12-16 21:39:27 +02:00
Yuri D'Elia 8d490f941a Make use of the CRITICAL_SECTION macros in lcd_print_stop 2019-12-16 16:39:20 +01:00
Yuri D'Elia 0cc68228f8 Unretract when resuming a paused print 2019-12-16 16:33:11 +01:00
DRracer 955c88cf68
Merge pull request #2370 from wavexx/no_resume_while_resuming
Do not allow to resume a print twice while waiting for the hotend
2019-12-16 16:26:02 +01:00
Yuri D'Elia faa76df2fe Fix the "Stop print" behavior from the LCD
Correctly cleanup the printer state when stopping the current print:

- Disable interrupts while aborting the planner/queue to ensure
  new serial commands are not inserted while aborting
- _Always_ call planner_abort_hard() to interrupt any pending move!
- Clear the saved_target, which might be set when calling stop
  from within a paused state. Create a new function to clear the
  paused state for future use.
- Do not disable/reset the MBL: doing so will destroy the ability to
  restart correctly using M999.
2019-12-16 15:52:37 +01:00
Alex Voinea a8e6020238
Fix VERBOSITY 2019-12-16 15:21:55 +02:00
Yuri D'Elia 348bbbffb0 Do not allow to resume a print twice while waiting for the hotend
Clear isPrintPaused just prior to restore_print_from_ram_and_continue.
2019-12-15 22:22:44 +01:00
DRracer d4fab1a713
Merge pull request #2304 from 3d-gussner/MK3-Fix_M81
Fix M81 Turn off Power Supply...
2019-12-15 11:52:56 +01:00
DRracer c45d4f4bba
Merge pull request #2088 from rhounsell/MK3
Fix for Toshiba FlashAir (or other) SD card initialization
2019-12-15 11:46:56 +01:00
DRracer 44288bfe90
Merge pull request #2309 from leptun/MK3_fix_MMU_pause_time
Fix MMU needs user attention Statistics error
2019-12-15 11:04:57 +01:00
DRracer d6ac9e4638
Merge pull request #2342 from vintagepc/2306-hard-reset-homing-fails
Fix #2306 hard reset homing fails
2019-12-15 10:51:52 +01:00
DRracer c122399020
Merge pull request #2270 from leptun/MK3-PFW-1024
PFW-1024
2019-12-15 10:25:37 +01:00
DRracer d68d9c7fef
Merge pull request #2058 from leptun/MK3_fix_warnings
Fix "LANG_MODE 0" warnings
2019-12-15 09:29:27 +01:00
Alex Voinea 770fcd7c42
Merge branch 'MK3' into MK3-PFW-1024 2019-12-14 10:08:52 +02:00
DRracer 6ab3b20ce1
Merge pull request #2348 from leptun/MK3_fix_kill
Fix kill messages
2019-12-13 18:30:27 +01:00
DRracer 1423de10a9
Merge pull request #2362 from leptun/MK3_Fix_Lang_64K_limit
Fix optiboot erase function after address 0xFFFF. Allows language files greater than 64K
2019-12-13 13:59:23 +01:00
DRracer 30cee7afca
Merge pull request #2353 from wavexx/lcd_pause_fixes
Fix the LCD pause (regression)
2019-12-13 13:53:29 +01:00
DRracer 838cec75ec
Merge pull request #2352 from wavexx/fix_m603_regression
Use lcd_print_stop() in M603, fix octoprint regression
2019-12-13 13:52:40 +01:00
DRracer a1bc4cc5dc
Merge pull request #2332 from leptun/MK3_Octoprint_fIxes
Do not check for fanError if it is not enabled on resume
2019-12-13 13:47:56 +01:00
Alex Voinea 89dfb00b04
Fix optiboot erase function after address 0xFFFF 2019-12-08 08:43:43 +02:00
Yuri D'Elia 0b9123ce24 Fix Live K, allow "Advance K" to be translated 2019-12-05 15:18:24 +01:00
Yuri D'Elia 5122f79a39 Merge remote-tracking branch 'upstream/MK3' into MK3_LA15 2019-12-04 17:27:23 +01:00
Yuri D'Elia 19589f02f1 Remove an unused define 2019-12-04 17:22:21 +01:00
3d-gussner 17e23693eb Fixed stuipid copy paste error 2019-12-04 14:21:43 +01:00
3d-gussner 0cafd10378 minor fix 2019-12-04 13:43:19 +01:00
3d-gussner f7bfca3061 Fix merge issues 2019-12-04 13:39:56 +01:00
3d-gussner 7da1db2f25 Merge remote-tracking branch 'upstream/MK3' into MK3-Gcode_documentation 2019-12-04 13:35:09 +01:00
3d-gussner fb3c65b3dc fixed links to RR Wiki 2019-12-04 12:38:43 +01:00
3d-gussner cdc6beaf6f Added M910 -> M918 2019-12-04 12:25:33 +01:00
3d-gussner a5f3027ee1 D2130 updated
Needs review
2019-12-04 11:38:29 +01:00
Yuri D'Elia 8448b8d413 Keep destination updated in an aborted plan as well
When aborting the plan destination is updated anyway to reflect the latest
position. There's no use in this additional check.
2019-12-03 20:37:13 +01:00
Yuri D'Elia 063d0421ac Call long_pause from the main loop (again)
After calling stop_and_save_print_to_ram, perform the parking moves
within the main loop as done before PR#1899 to avoid planning within
an interrupted move (which would clear the abort flag too soon).
2019-12-03 20:37:13 +01:00
Yuri D'Elia d60230e494 Add some documentation 2019-12-03 20:37:13 +01:00
Yuri D'Elia 792d7ca6dc Turn off heaters just prior to retraction to limit oozing 2019-12-03 20:37:13 +01:00
Yuri D'Elia 4fce74140a Also abort planning in stop_and_save_print_to_ram
Similarly to resume_print_from_ram_and_continue, abort any
planning in mesh_plan_buffer_line already in stop_and_save_print_to_ram
in case it is called for pausing only.
2019-12-03 20:37:09 +01:00
3d-gussner 0ce7c51c1d Added more D-codes to RR Wiki and doxygen
D-1, D80, D81, D106
2019-12-03 20:02:58 +01:00
Yuri D'Elia 454e99dbb5 Use lcd_print_stop() in M603, fix octoprint regression
M603 shouldn't report a fatal error state.
Use lcd_print_stop().

Regression introduced in PR #2274
2019-12-03 16:51:59 +01:00
Alex Voinea 63655a906a
Merge branch 'MK3' into MK3_revised_filename_scrolling 2019-11-30 01:31:48 +02:00
Alex Voinea 56193ea252
Merge branch 'MK3' into MK3_TONE 2019-11-29 23:16:46 +02:00
Alex Voinea e7f2577233
Fix kill messages 2019-11-29 22:49:22 +02:00
Alex Voinea 103e29d38a
Merge branch 'MK3' into MK3_ShellSort 2019-11-29 16:52:20 +02:00
DRracer 15bfb7013d
Merge pull request #2274 from wavexx/fix_mesh_plan_buffer_line
PFW-1028: Fix recovery from filament sensor checks / crash detect / power panic
2019-11-29 15:18:15 +01:00
Alex Voinea 779423f0e7
Move hardcoded values to variants 2019-11-29 15:06:54 +02:00
Alex Voinea a413cfbb9a
Merge branch 'MK3' into MK3-PFW-1024 2019-11-29 13:07:45 +02:00
Yuri D'Elia dbe2ed4150 Fix pause/resume when using M25/M601
Remove the conflicting and mostly useless card.paused flag (the printing
is either paused, or not) and switch to isPrintPaused only which
accounts for both cases (SD/USB) correctly.

Fix M27/getStatus to show the current real status of the SD print.

Synchronize the queue on M601, as required to precisely pause the print
at the correct instruction.

Alias M25 to M601, which when combined with PR #1899 fixes issue #1614.

Guard against incorrect usage in M601, M602 and M603.
2019-11-28 17:37:58 +01:00
Yuri D'Elia 18eaf21baf Halve memory usage of saved feedrate
Truncate the saved feedrate to an uint16_t.
This is more than sufficient for recovery.
2019-11-28 17:16:37 +01:00
Yuri D'Elia 17176c1df2 Save/restore the default feedrate correctly
Since the global feedrate can be similarly modified for moves ahead of
time, save the original feedrate in the planner as we do for
gcode_target.

This avoids having to undo feedmultiply (and machine limits!) from
"nominal_speed" as previously done.

Thanks @leptun
2019-11-28 17:16:37 +01:00
Yuri D'Elia 4f0af648fb Save/restore feedmultiply independently of the feedrate 2019-11-28 17:16:36 +01:00
Yuri D'Elia 6ecff003b7 Fix M600 insertion by the filament sensor
Remove incorrect usage of stop_and_save_print combined with the
fsensor_recovert internal instruction which would result in a
broken sequence of events and/or broken stack.

Re-use the now safe stop/recover functions in the same spot
(fsensor_checkpoint_stream) to effectively cut a hole in the current
gcode stream to insert an M600 instruction, which removes all
recursive behavior without the need of extra state variables.
2019-11-28 17:13:37 +01:00
Yuri D'Elia 4268c2fdae Fix recovery from relative/chunked moves
When starting to replay existing USB/SD commands from a recovery state,
an immediate relative move needs to compensate for a previously
interrupted move. This is almost the norm for the E axis.

Instead of saving the relative status of the move (which needs to
account for the world2machine conversion and is not always available on
a chunked move split by MBL) save directly the calculated target
position for the move in the original plan, which is easy to replay.
2019-11-28 16:42:35 +01:00
Yuri D'Elia faa9e925fe Replace a few loops with set_current_to_destination() 2019-11-28 15:57:21 +01:00
Yuri D'Elia 5fa7c178b5 Do not set current_position in mesh_plan_buffer_line
This is a task which _has_ to be performed by the caller,
such as prepare_move().
2019-11-28 15:57:21 +01:00
Yuri D'Elia 0f6b9b4051 Unroll the stack in restore_print_from_ram_and_continue
While handling moves in a recursive plan, such a filament check,
ensure restore_print_from_ram_and_continue unwinds the stack by
aborting early from any call that waits on the planner.

This currently only handles G1 moves, but hard-coded behavior that can
trigger recursive behavior (such as filament change) will probably have
to be checked too.
2019-11-28 15:57:20 +01:00
Yuri D'Elia 404802b5e6 Clear "sdprinting" state only when all SD moves are complete
Ensure card.printingHasFinished sees all the planned moves before
clearing sdprinting. To do that, we need to ensure all SD commands
exited the command queue.
2019-11-28 15:57:20 +01:00
Alex Voinea 7753750fa7
Change for to while 2019-11-27 17:31:47 +02:00
3d-gussner 660b646b57 RR Wiki for Dcodes
open D-1, D80, D81, D106, D2130
2019-11-27 11:29:55 +01:00
Alex Voinea 11ba616d73
Define for dumping sorting process 2019-11-27 11:03:34 +02:00
3d-gussner 475551431c How does M862.5 P works??? 2019-11-26 20:21:05 +01:00
3d-gussner 84cb373905 More G codes documented in RR wiki
M44, M45, M47, M403, M509, M851, M601, M602, M603, M862
2019-11-26 20:11:55 +01:00
Alex Voinea 66e51aa298
Folder sorting finished 2019-11-26 15:49:45 +02:00
Alex Voinea f5bdbcc0bd
Cleanup file compare statement 2019-11-26 14:10:44 +02:00
Alex Voinea a7f2e640e0
Put folders at the beginning 2019-11-26 13:57:08 +02:00
3d-gussner 5eaf6f0133 Merge branch 'MK3' into MK3-Gcode_documentation
Merge with MK3 branch
2019-11-26 12:48:21 +01:00
Alex Voinea 960f4a88ed
Status bar, lcd optimization, compile warning fix 2019-11-26 13:36:28 +02:00
Alex Voinea f87b5a2be7
SORTING_DUMP 2019-11-26 12:18:11 +02:00
Alex Voinea b803b2a2dd
Another first implementation 2019-11-26 11:29:57 +02:00
DRracer 35ce2896bb
Merge pull request #2339 from leptun/PFW-943
PFW-943: IR sensor gen. II - Updated PR
2019-11-25 06:23:24 +01:00
DRracer abb220ff69
Merge pull request #2323 from Panayiotis-git/MK3_Fix_M603
Add oversighted ‘break’ statement at the M603 command's source
2019-11-25 06:04:41 +01:00
Alex Voinea d40656e3ca
Small changes to rendering 2019-11-24 19:16:22 +02:00
Alex Voinea 273d834b19
Fix card removal 2019-11-22 20:27:24 +02:00
Alex Voinea 2fd192a95d
Set scroll delay to 300ms 2019-11-22 20:14:55 +02:00
Alex Voinea fdab70fa3a
Dir fixes 2019-11-22 14:39:21 +02:00
vintagepc 982c4cbf7b
Candidate fix for homing fail hard reset 2019-11-21 18:51:02 -05:00
Alex Voinea 8a806bceea SDDIR 2019-11-21 21:32:52 +02:00
Alex Voinea 6538262e75 First build that actually works 2019-11-21 19:04:45 +02:00
Alex Voinea 8f901d2613 Temporary fix 2019-11-21 14:58:13 +02:00
Alex Voinea b3a587f5a4 SD first attempt. Broken 2019-11-20 20:25:51 +02:00
Alex Voinea 45b89c5728 Fix typo 2019-11-19 13:55:37 +02:00
Alex Voinea e66574ac5f Updated branch to use TOGGLE 2019-11-19 13:51:10 +02:00
MRprusa3d 6e2793566c
Merge branch 'MK3' into PFW-943 2019-11-18 14:43:46 +01:00
Alex Voinea b077303156 Fix compile error 2019-11-17 11:10:13 +02:00
Alex Voinea 14104e7bf9 Clear error flag when fanError is disabled 2019-11-17 10:44:11 +02:00
Alex Voinea 2e0034d915 Update Toggles and Translations 2019-11-17 09:53:14 +02:00
Alex Voinea 359c447127 Do not check for fanError if it is not enabled on resume
Fix typos
2019-11-16 22:44:34 +02:00
Alex Voinea 07b6173aaa Merge branch 'MK3' into MK3-PFW-1024 2019-11-16 11:28:29 +02:00
DRracer e2e32b455a
Merge pull request #2247 from mkbel/reset_live_Z+offset
Show current Z offset in reset dialog before first layer calibration
2019-11-15 17:52:29 +01:00
DRracer 460f6c3b5e
update message 2019-11-15 17:47:39 +01:00
DRracer 86ea24c364
Merge pull request #2273 from wavexx/do_not_wait_for_disabled_heater
Do not wait forever if the heater on the extruder is disabled
2019-11-15 17:19:11 +01:00
DRracer 715794d854
Merge pull request #2092 from leptun/MK3_Translations
PFW-1062: Mk3 Toggle and Translations
2019-11-15 16:53:17 +01:00
DRracer 3a41405f52
Merge pull request #2146 from vintagepc/MK3-2093-sheet-display
PFW-1061: #2093 - Relocate sheet menu, show sheet on info screen
2019-11-15 16:07:51 +01:00
vintagepc f6c35c5d5f
Removed separate fix for #2089
Per PR fix request
2019-11-15 08:58:58 -05:00
DRracer 8fae50ec79
Merge pull request #2315 from mkbel/finda
PFW-1047: Show FINDA state as N/A if last received response is older than 1s.
2019-11-15 12:53:01 +01:00
DRracer 56251c4f99
Merge pull request #1937 from arons/MK3
added new function belt test under calibration menu
2019-11-15 09:39:42 +01:00
DRracer 9e780f0b2b
remove ESC sequence 2019-11-15 09:26:56 +01:00
Alex Voinea e559a6b67f Merge branch 'MK3' into MK3_BED_LEVELING_PWM 2019-11-13 14:32:57 +02:00
leptun 28e812d91f Mesh bed leveling testing 2019-11-13 14:32:33 +02:00
Panayiotis-git 23cf076242 Add oversighted ‘break’ statement at the M603 command's source 2019-11-12 21:32:39 +02:00
Alex Voinea 11428388c6 MBL toggle and cleanup 2019-11-09 20:58:56 +02:00
Alex Voinea 20a59f5f40 Temp cal. 2019-11-08 19:44:48 +02:00
3d-gussner 422e7fde4a Merge branch 'MK3' into MK3-Gcode_documentation 2019-11-08 18:16:56 +01:00
DRracer c82fa07299
Merge pull request #2195 from leptun/MK3-fix-LFN
Fix short filenames scrolling in sdprint menu and status screen
2019-11-08 16:52:53 +01:00
DRracer 21dd8eadd1
Merge pull request #2188 from mkbel/cut_last_try
Use MMU cutter only as last resort.
2019-11-08 16:49:28 +01:00
DRracer ce5efb107a
Merge pull request #2155 from leptun/MK3_SD_scroll_workaround
SD Scroll workaround
2019-11-08 16:48:38 +01:00
DRracer 4cf2f05d1d
Merge pull request #2057 from leptun/MK3_fix_M350
M350 for all axis - MK3
2019-11-08 16:15:15 +01:00
DRracer a14d7545a5
Update Marlin_main.cpp 2019-11-08 16:06:42 +01:00
DRracer b33c79e6c7
Merge pull request #1899 from wavexx/fix_lcd_pause_function
Fix the LCD pause function
2019-11-08 14:55:13 +01:00
DRracer 42d70f3dea
Merge pull request #1768 from wavexx/unknown_z_improvements
"Unknown z" improvements
2019-11-08 14:52:56 +01:00
Alex Voinea 1de353dd09 Merge branch 'MK3' into MK3_Translations 2019-11-07 17:02:45 +02:00
3d-gussner 5bd995b21b Added more info to doxygen G-Codes 2019-11-06 11:14:06 +01:00
3d-gussner e6eeafd20c More M-Commands ... 2019-11-05 15:47:04 +01:00
3d-gussner ca234a11ed M-Commands to M240 2019-11-05 12:40:51 +01:00
3d-gussner 8114bd5b1c Merge with MK3 and few spaces 2019-11-05 09:05:05 +01:00
3d-gussner 58404b9c9d Merge branch 'MK3' into MK3-Gcode_documentation 2019-11-05 09:04:52 +01:00
DRracer e56cb14bb9
Merge pull request #1739 from draeath/MK3-fix-sdcard-sorting
use modification times for sdcard time sorting. fixes #477
2019-11-04 17:31:38 +01:00
DRracer 3c26f7855b
Merge pull request #1704 from leptun/MK3_Enable_fan_waiting_cooldown
Enable print fan while waiting for cooldown
2019-11-04 16:52:26 +01:00
leptun 459385708e Fix MMU needs user attention Statistics error 2019-11-02 13:15:13 +02:00
leptun cd5ff783cf General fixes and improvements to code 2019-10-31 19:07:20 +02:00
Marek Bel 76c39ce689 Show FINDA state as N/A if last received response is older than 1s. 2019-10-31 17:45:22 +01:00
3d-gussner 4501f9d760 M commands documentation #2 2019-10-31 15:46:23 +01:00
3d-gussner 21dcfb23f4 Follow RepRap Wiki G-codes documentation
M120 is Enable endstops
M121 is disable endstops
I guess this was just a typo issue.
2019-10-31 15:31:08 +01:00
3d-gussner c899320590 Fix M81 Turn off Power Supply...
... as it should be active if PS_ON_PIN is defined and assinged to an actual pin.
2019-10-31 15:08:07 +01:00
leptun 1e09f8c003 Wake on certain events
EEPROM DIM and BRIGHT values swapped!!!
2019-10-30 21:11:19 +02:00
3d-gussner ce8dbb5013 M commands documentation #1 2019-10-30 18:52:25 +01:00
3d-gussner b9dca5f895 other doxygen format changes 2019-10-30 15:52:27 +01:00
3d-gussner d472f0730c Change doxygen format 2019-10-30 15:50:23 +01:00
3d-gussner 986ac95c45 G codes documented ... next M commands 2019-10-30 11:19:51 +01:00
3d-gussner 8f05627747 Update #1 gcodes doxygen documentation
added some RepRap G-codes Wiki external links.
2019-10-25 13:04:04 +02:00
3d-gussner c772fd2cae Merge branch 'MK3' into MK3_Dutch 2019-10-24 16:44:27 +02:00
Marek Bel 023ce01f9d Version 3.8.1 final. 2019-10-24 16:12:46 +02:00
3d-gussner a4211da8f0 Merge branch 'MK3' into MK3_Dutch 2019-10-24 15:39:32 +02:00
XPila b603528bfd
Merge pull request #2291 from DRracer/lang-381-fixes-4
Lang 381 fixes 4
2019-10-23 15:04:39 +02:00
Yuri D'Elia e25befa175 Fix include guard to silence duplicate declaration warnings 2019-10-22 15:49:10 +02:00
Yuri D'Elia 50231b76da Improved handling of unknown Z position
- Introduce raise_z_above to move Z carefully when the current position
  is potentially unknown, using stallguard
- Use raise_z_above for:
  * filament loading/unloading clearance
  * extruder spacing when preheating (to avoid buildplate marks on PEI)
  * before homing to avoid damaging the build plate and to avoid
    repeated Z moves as well

Since raise_z_above is conditional, it will only raise when needed.

Calling raise_z_above when the extruder position is unknown and already
at maximum travel is safe and will prevent further vertical moves.
2019-10-22 15:49:10 +02:00
DRracer d32fd1d893 Better EN for new messages 2019-10-22 09:11:47 +02:00
leptun 4943e17bda Preserve power during PP by turning off backlight 2019-10-19 18:45:31 +03:00
leptun d7b12faa95 Add "Brightness" to Tune menu 2019-10-19 18:45:04 +03:00
leptun 0ed4a23ae7 And another compile fix... 2019-10-18 12:42:55 +03:00
leptun 9fc42526e7 Backlight always on during calibration 2019-10-18 12:18:43 +03:00
leptun 91e94aa0e8 Adjustable timeout 2019-10-18 10:32:41 +03:00
leptun d432c3644d Enable beeping after fan error is fixed 2019-10-18 09:13:19 +03:00