-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfan_stall_detection.cfg
89 lines (76 loc) · 3.22 KB
/
fan_stall_detection.cfg
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
[gcode_button HEF_FAN]
pin: !can0:LIMIT_3
press_gcode: _HEF_ALARM_SET
release_gcode: _HEF_ALARM_CLEAR
[delayed_gcode _HEF_ALARM]
gcode:
M118 HEF FAN Stopped
#PAUSE_PRINT
#TURN_OFF_HEATERS
[gcode_macro _HEF_ALARM_COUNTS]
variable_hefalarm_maxchecks: 10
variable_hefalarm_threshold: 4
variable_hefalarm_enable: True
## should not be the need to edit anything below this line
variable_hefalarmset_count: 0
variable_hefalarmclear_count: 0
variable_hefalarm_checks: 0
variable_verbose: True
gcode:
SET_GCODE_VARIABLE MACRO=_HEF_ALARM_COUNTS VARIABLE=hefalarmset_count VALUE=0
SET_GCODE_VARIABLE MACRO=_HEF_ALARM_COUNTS VARIABLE=hefalarmclear_count VALUE=0
SET_GCODE_VARIABLE MACRO=_HEF_ALARM_COUNTS VARIABLE=hefalarm_checks VALUE=0
M118 HEF Alarm inittiated
[delayed_gcode _HEF_ALARM_INIT]
initial_duration: 1
gcode:
_HEF_ALARM_COUNTS
UPDATE_DELAYED_GCODE ID=_HEF_ALARM_CHECK DURATION=5
[gcode_macro _HEF_ALARM_SET]
gcode:
M118 HEF_ALARM_SET
[gcode_macro _HEF_ALARM_CLEAR]
gcode:
M118 HEF_ALARM_CLEAR
[delayed_gcode _HEF_ALARM_CHECK]
gcode:
{% set hefvariables = printer["gcode_macro _HEF_ALARM_COUNTS"] %}
# UPDATE_DELAYED_GCODE ID=_HEF_ALARM_CHECK DURATION=1
{% if hefvariables.verbose == True %}
M118 HEF alarm check started
{% endif %}
SET_GCODE_VARIABLE MACRO=_HEF_ALARM_COUNTS VARIABLE=hefalarm_checks VALUE={hefvariables.hefalarm_checks + 1}
#button is pressed
{% if printer["gcode_button HEF_FAN"].state == "PRESSED" %}
SET_GCODE_VARIABLE MACRO=_HEF_ALARM_COUNTS VARIABLE=hefalarmset_count VALUE={hefvariables.hefalarmset_count + 1}
SET_GCODE_VARIABLE MACRO=_HEF_ALARM_COUNTS VARIABLE=hefalarmclear_count VALUE=0
{% if hefvariables.verbose == True %}
M118 HEF alarm check ALARM Pressed increasing alarm set count
M118 HEF alarm check set count increased from {hefvariables.hefalarmset_count} to {hefvariables.hefalarmset_count+1}
M118 HEF alarm check check number {hefvariables.hefalarm_checks + 1}
{% endif %}
#button is not pressed
{% elif hefvariables.hefalarmset_count != 0 %}
SET_GCODE_VARIABLE MACRO=_HEF_ALARM_COUNTS VARIABLE=hefalarmclear_count VALUE={hefvariables.hefalarmclear_count + 1}
{% if hefvariables.verbose == True %}
M118 HEF alarm check ALARM not pressed increasing alarm clear count
M118 HEF alarm check clear count increased from {hefvariables.hefalarmclear_count} to {hefvariables.hefalarmclear_count+1}
M118 HEF alarm check check number {hefvariables.hefalarm_checks + 1}
{% endif %}
{% endif %}
#checks if the max check were reached, if they are clear set check
{% if (hefvariables.hefalarmclear_count > hefvariables.hefalarm_maxchecks ) and (hefvariables.hefalarmset_count != 0)%}
{% if hefvariables.verbose == True %}
M118 HEF alarm check max checks reached, clearing set count
{% endif %}
_HEF_ALARM_COUNTS
#check if there were more than the required alarms
{% elif hefvariables.hefalarmset_count >= hefvariables.hefalarm_threshold %}
{% if hefvariables.verbose == True %}
M118 HEF alarm check threshold reached, triggering fan error script
{% endif %}
#trigger fan error macro
UPDATE_DELAYED_GCODE id=_HEF_ALARM DURATION=1
#reset counters
_HEF_ALARM_COUNTS
{% endif %}