Commit Graph

3674 Commits

Author SHA1 Message Date
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