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
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
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