Commit Graph

234 Commits

Author SHA1 Message Date
DRracer
0ed6b537a8
Merge branch 'MK3' into MK3_3.9.3 2021-01-07 13:27:51 +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
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
Alex Voinea
4abf1f436a Gracefully dump the queue + fixes to fancheck 2020-11-09 21:49:56 +02:00
DRracer
772844678f
Merge pull request #2809 from leptun/PFW-1134-ALTFAN_KILLSWITCH
Pfw 1134
2020-08-20 15:42:03 +02:00
Alex Voinea
6b853a4cc3
Auto-detect ALTFAN after fw. update 2020-08-12 12:19:08 +03: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
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
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
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
Alex Voinea
a95feb56d9
ALTFAN override 2020-07-20 19:35:25 +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
23cc22bc22 Move has_temperature_compensation() into temperature.cpp.
No change in FLASH usage.
2020-06-16 00:41:21 +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
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
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
34ac2917ae fix. warning "Macro expansion producing 'defined' has undefined
behavior"
update screen layout comments
2020-03-26 14:40:47 +01:00
MRprusa3d
f09323a78f heaters-checking update 2020-03-03 14:57:45 +01:00
Alex Voinea
f1ccfd481a
HEATER -> HOTEND 2020-02-04 17:30:44 +02:00
Alex Voinea
886c2fdc4e
Show correct fixed message 2020-01-30 17:24:32 +02:00
Alex Voinea
b05ee33fc9
Merge branch 'MK3' into MK3_BED_LEVELING_PWM 2020-01-07 07:58:32 +02:00
Alex Voinea
e7f2577233
Fix kill messages 2019-11-29 22:49:22 +02:00
MRprusa3d
6e2793566c
Merge branch 'MK3' into PFW-943 2019-11-18 14:43:46 +01:00
Alex Voinea
e559a6b67f Merge branch 'MK3' into MK3_BED_LEVELING_PWM 2019-11-13 14:32:57 +02:00
leptun
d432c3644d Enable beeping after fan error is fixed 2019-10-18 09:13:19 +03:00
leptun
ea8d9ae49d Merge branch 'MK3' into MK3_Octoprint_fIxes 2019-10-18 08:45:22 +03:00
leptun
ace1d7049a Reenable command processing when issue is fixed if printer not active 2019-10-17 17:49:15 +03:00
leptun
7650e2b60c Handle disable_heater() 2019-10-06 12:43:03 +03:00
leptun
b39f09b68e Merge branch 'MK3' into MM_lay1_cal 2019-10-01 19:20:50 +03:00
leptun
61c7479579 Code cleanup: Move texts to messages.c/h 2019-09-30 20:16:01 +03:00
leptun
ff9a6c8177 Prevent fan error while checking fan functionality 2019-09-26 20:52:29 +03:00
leptun
fd01942db8 FAN Error fix - Initial 2019-09-19 20:48:59 +03:00
Marek Bel
027b6238fd Mark code unused when PINDA_THERMISTOR is defined by macro. Saves 1B of RAM and 4B of FLASH memory. 2019-09-17 20:26:03 +02:00
MRprusa3d
0e1d559f03
Merge branch 'MK3' into PFW-943 2019-09-16 15:29:28 +02:00
MRprusa3d
011468598e IR sensor gen. II
disconnected PCB detection
2019-09-16 00:43:37 +02:00
Marek Bel
269aef1696 Remove unused code guarded by WATCH_TEMP_PERIOD macro as most of the functionality is duplicate to what is implemented in temp_runaway_check(). This will release us from porting setWatch() to unified preheat menu and maintaining it. 2019-08-27 20:05:10 +02:00
NotaRobotexe
64115fb146 fixed redundant OK messages in serial 2019-07-24 18:08:14 +02:00
NotaRobotexe
756ce51b5e
Merge branch 'MK3' into octoprint_fix 2019-07-17 20:06:06 +02:00
NotaRobotexe
b8fec59f21 octoprint fan error fix 2019-07-17 19:59:31 +02:00
NotaRobotexe
e6255e8451 octoprint fan error work 2019-07-16 19:18:31 +02:00
DRracer
0422713b29
Merge pull request #2005 from prusa3d/MK3_3.7.2
Mk3 3.7.2
2019-07-16 08:50:38 +02:00
NotaRobotexe
8fb30f886a octoprint stop fix 2019-07-15 14:30:21 +02:00
Marek Běl
d3dd0ad271
Merge pull request #1952 from NotaRobotexe/sound
new sound
2019-07-10 18:06:32 +02:00
DRracer
a16de83535 heatbed audible noise suppression using short fast PWM pulses with
variable duty
2019-07-08 16:42:21 +02:00
NotaRobotexe
b5168bd6c2 fan error fix 2019-06-24 17:30:56 +02:00
Marek Bel
24cec4091b Merge branch 'MK3' into sound 2019-06-17 17:28:19 +02:00
Marek Bel
e393d91b12 Use first letter capital camel case for enum class members. 2019-06-12 16:20:21 +02:00
Marek Bel
49f172a7b9 Convert uint8_t cycle control varibles changed in previous commit to uint_least8_t to be potentially more portable. 2019-06-12 15:01:57 +02:00
DRracer
b15bbaf177 for cycles' variables: int -> uint8_t where appropriate, part1 2019-06-12 14:58:15 +02:00
NotaRobotexe
bb980e2fca sound edit, delete mute mode, add blind mode 2019-06-10 15:03:52 +02:00
DRracer
83578c3389 documentation + minor code cleanup based on code review 2019-06-06 15:50:13 +02:00
DRracer
09fee4e64d remove fan error simulation automaton 2019-05-31 11:30:30 +02:00
DRracer
6755791778 Fix repeated fan error checking 2019-05-31 11:29:11 +02:00
DRracer
253087a4c5 Code cleanup 2019-05-27 16:18:21 +02:00
DRracer
4d020d99f6 Code cleanup 2019-05-27 14:57:02 +02:00
DRracer
9cb0bc7bcf Fix MINTEMP errors and fsensor runout 2019-05-24 08:46:44 +02:00
Ondrej Tuma
63235625ab pause printer by flag 2019-05-23 13:13:11 +02:00
Marek Běl
084c6f2700
Merge pull request #1805 from DRracer/MK3
PFW-844
2019-05-10 13:41:59 +00:00
DRracer
0124fbf9ee Fix: display target extruder temperature on the main screen when doing
PID calibration
2019-05-07 16:15:42 +02:00
Robert Pelnar
85806a0f38 variable bed pwm frequency fix (input value is 7bit, not 8bit) 2019-05-07 15:35:34 +02:00
Robert Pelnar
58683da2fb Variable bed PWM resolution/frequency (adjusted to 5bits/32Hz) 2019-05-06 18:07:42 +02:00
Marek Bel
8fadbf1b44 Do not call watchdog reset from updateTemperaturesFromRawValues(). 2019-04-29 16:41:38 +02:00
MRprusa3d
b5f196406e (preliminary) fix @ preHeatError II 2019-04-10 00:29:58 +02:00
MRprusa3d
aa0edd09f5 (preliminary) fix @ (bed) preHeatError 2019-04-03 22:48:58 +02:00
PavelSindler
f0cc313fed debug gcodes (fans, bed analysis) moved to Dcodes, HOST_KEEPALIVE_FEATURE simplified 2019-03-06 19:56:48 +01:00
PavelSindler
85c208f9f4
Merge branch 'MK3' into bad_load_cut 2019-03-01 14:55:55 +01:00
PavelSindler
22c0d6e230
Merge pull request #1577 from mkbel/add_cut
Add MMU cut filament
2019-03-01 14:53:12 +01:00
Marek Bel
49b1d1cb93 Move prototype to header file. 2019-02-26 18:50:15 +01:00
Marek Bel
5a5a482a59 Rename preprocessor macro K1 to PID_K1 to avoid future conflict with MMU command. 2019-02-26 13:59:44 +01:00
Laurentiu
4835b9b220 7x7 points mesh bed leveling 2019-02-14 10:57:58 +02:00
PavelSindler
e432e258dc extr fan RPM measuring fix 2019-02-06 22:56:10 +01:00
PavelSindler
2fe8e0670a MK2 build fail fixed 2019-02-06 16:15:19 +01:00
PavelSindler
1ba046395e fan measurements fix: keep fanSpeedSoftPwm = 255 during measurements, selftest changes 2019-02-06 12:37:18 +01:00
PavelSindler
62e253edd0 fanSpeed -> fanSpeedSoftPwm (fixes fan speed menu) 2019-02-05 18:21:44 +01:00
PavelSindler
f9298b37b8 fan check hotfix (selftest, measuring RPM, fan errors) 2019-02-05 04:02:38 +01:00
PavelSindler
ea20529945 merge changes from upstream 2019-02-04 15:23:39 +01:00
MRprusa3d
5a2df47077 minTemp
better stability for delay-cutting
2019-02-04 14:54:25 +01:00
Robert Pelnar
3244c37435 Conditional translation for fan control (FAN_SOFT_PWM), temporary disabled lcd backlight control 2019-02-04 01:32:04 +01:00
PavelSindler
6bf8611afa mintemp: delay cutting lines removed 2019-02-04 01:19:58 +01:00
PavelSindler
97aaf919a3 Merge remote-tracking branch 'upstream/MK3' into dev 2019-02-01 18:12:59 +01:00
PavelSindler
1742dbdb9e Merge remote-tracking branch 'my_dev/MK3' into dev 2019-01-28 16:21:57 +01:00
PavelSindler
2ea34d21e7
Revert "Revert "Mk3 bed fast pwm"" 2019-01-28 14:20:31 +01:00
PavelSindler
7889305702 merging changes from upstream 2019-01-28 11:00:42 +01:00
PavelSindler
41f103c28f
Revert "Mk3 bed fast pwm" 2019-01-28 10:53:51 +01:00
Robert Pelnar
eea755496b Conditional translation for SYSTEM_TIMER_2 because we want to have posibility to switch between old/new implementation.
Timing functions (millis, micros and delay) replaced in whole source, defined in Marlin.h.
This commit enables original implementation (SYSTEM_TIMER_2 undefined)
Verified with passed complete wizard process.
2019-01-27 22:48:51 +01:00
Robert Pelnar
9a1e914637 fix - bed heating durring selftest 2019-01-27 18:14:01 +01:00
Robert Pelnar
434a723151 Timing functions 'micros' and 'delay' replaced in whole source with 'micros2' and 'delay2' 2019-01-27 17:37:27 +01:00
Robert Pelnar
fc0b55b213 Timing functions micros2 and delay2 + fix of delay_keep_alive(). 2019-01-27 17:23:53 +01:00
PavelSindler
ab2a25cd3f Revert "Fast PWM for bed - newer set HEATER_BED_PIN to 1"
This reverts commit 50bcfae183.
2019-01-25 18:38:46 +01:00
PavelSindler
31236e411e Revert "Fast PWM for bed - set pwm value from soft_pwm_bed variable."
This reverts commit e612eb2a17.
2019-01-25 18:38:36 +01:00