Commit Graph

4267 Commits

Author SHA1 Message Date
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
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
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 0aae433bda Update po files after all these changes 2021-01-26 11:08:57 +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