Commit Graph

1226 Commits

Author SHA1 Message Date
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
odaki ebc987bd23 Merge branch 'MK3' into flashair_display_ip 2020-09-28 21:19:44 +09:00
Alex Voinea d9fa44c142
Document M155 command 2020-09-23 09:14:35 +03:00
odaki 4c7100985e Merge branch 'MK3_3.9.1' into flashair_display_ip 2020-09-22 11:59:05 +09: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
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
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
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
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 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 d53c55ce64 Disable filament checks inside the Move -> Extruder menu 2020-06-24 16:10:32 +02:00
Alex Voinea a0cf5714ce
M220 M221 2020-06-19 15:39:16 +03: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 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 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
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
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 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
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
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 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 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 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
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 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 5d27f3362a Remove empty line 2020-04-09 00:46:57 +02:00
3d-gussner c1d05210ff Cleanup useless `break;` 2020-04-07 11:42:09 +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
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 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
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
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
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 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
DRracer 65228a046e
Merge pull request #2520 from MRprusa3d/PFW-x001bPR
FS PCB auto-detect
2020-03-26 17:36:18 +01: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 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
Alex Voinea 6979555fab
more comments 2020-03-23 16:30:51 +02:00
3d-gussner 0067dc0d9d Merge branch 'MK3' into MK3_EEPROM_doc 2020-03-23 14:15:35 +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
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
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 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
MRprusa3d f09323a78f heaters-checking update 2020-03-03 14:57:45 +01: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
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 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 8fb8ff4bf4 Include fsensor recovery stats in the last print stats 2020-02-05 16:20:12 +01: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 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
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 1ceadcb162
Merge pull request #2448 from wavexx/save_restore_fix
Save and restore fixes
2020-01-30 16:41:01 +01: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
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