Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

Wait for temperature to stabilize before signalling heating has finished #67

Open
wants to merge 38 commits into
base: 2_2_x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9ccac81
Merge remote-tracking branch 'intelligent-agent/develop' into develop
darylbond Jan 3, 2018
be2e32a
Update index.rst
Jan 4, 2018
88ea35d
added import of Printer to PruFirmware.py to allow indexing of axes
darylbond Jan 5, 2018
a1cc1ff
Merge pull request #52 from darylbond/missing-printer
goeland86 Jan 5, 2018
5d8ab93
Merge remote-tracking branch 'intelligent-agent/develop' into develop
darylbond Jan 5, 2018
b35fd56
modify SD printing to operate without buffering of the file before fe…
darylbond Jan 5, 2018
6847a09
add ok to end of heating routine
darylbond Jan 6, 2018
dada4f0
Update index.rst
Jan 4, 2018
43d1a04
added import of Printer to PruFirmware.py to allow indexing of axes
darylbond Jan 5, 2018
fed85e5
Merge remote-tracking branch 'intelligent-agent/develop' into octopri…
darylbond Jan 6, 2018
9a2ced9
Merge pull request #55 from darylbond/octoprint_interop
Jan 6, 2018
92789ea
Better instructions for Fan settings
jenschr Jan 7, 2018
c4bfa4b
Merge pull request #57 from jenschr/patch-1
Jan 8, 2018
e812dec
Fan control scheme based on operational units defined in the config. …
darylbond Jan 10, 2018
fc6f82e
Fan control scheme based on operational units defined in the config. …
darylbond Jan 10, 2018
374c4ef
Merge remote-tracking branch 'origin/fan_control' into fan_control
darylbond Jan 10, 2018
c50f805
Working (minimal testing) implementation of nested config, with confi…
darylbond Jan 11, 2018
2bf8b07
First pass at migrating heating control to the user defined control s…
darylbond Jan 12, 2018
7c7daa3
Added Safety units to the control scheme. Each safety unit is connect…
darylbond Jan 12, 2018
47bb53c
corrected implementation of checking for slow temperature rise
darylbond Jan 12, 2018
68b3198
Merge pull request #54 from darylbond/sd_print
goeland86 Jan 13, 2018
4abf5f9
give feedback to user about any issues with generating the temperatur…
darylbond Jan 14, 2018
455e3e6
removed testing files that were added by mistake
darylbond Jan 14, 2018
80c9980
Getting alarms to work with heating. Added delay time to slow temp ri…
darylbond Jan 14, 2018
10967bc
getting temperature based errors to work with measurement jitter
darylbond Jan 14, 2018
85401de
added pathway for G- and M-codes to be passed through the temperature…
darylbond Jan 18, 2018
89bafc2
update documentation and comments
darylbond Jan 19, 2018
5562d74
changed import so that any fault throws an error that is caught in Re…
darylbond Jan 19, 2018
c6e2697
fixed double log entries when re-running config
darylbond Jan 19, 2018
ef057d2
fixed double log entries when re-running config
darylbond Jan 19, 2018
08b5420
really fixed it this time
darylbond Jan 19, 2018
8186c39
Update default.cfg
darylbond Jan 21, 2018
0bf2760
added on-off regime to PID control as a fix for temp overshoot. Fixed…
darylbond Jan 21, 2018
c056c80
fix error in OnOffControl where off_value was overwritten
darylbond Jan 21, 2018
41d063f
Merge pull request #58 from darylbond/fan_control
Jan 21, 2018
e095146
Merge remote-tracking branch 'intelligent-agent/develop' into develop
darylbond Jan 23, 2018
bc3af4b
ensure that heating has stabilized before flagging it as finished
darylbond Jan 23, 2018
8fb218c
add time over which to check for stable heating as a parameter in hea…
darylbond Jan 24, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
522 changes: 369 additions & 153 deletions configs/default.cfg

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ There are several different projects that contribute to this platform.

**Kamikaze** the predecessor to Umikaze, based on Debian

**MagnaScreen** a compact, high-definition touch screen
**Manga Screen** a compact, high-definition touch screen

**Toggle** software to build interactive applications with MagnaScreen

Expand Down
11 changes: 9 additions & 2 deletions docs/replicape/configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -634,8 +634,9 @@ code, so yours will be different than what you see here.
...
connect-therm-H-fan-1 = False
...

add-fan-0-to-M106 = False
# For your part cooling fan, you'll want to set this to True for the correct Fan-input so your slicer can control it.
# If your part-cooling fan is connected to the Fan0 input, use this:
add-fan-0-to-M106 = True
...

# If you want coolers to
Expand All @@ -645,6 +646,12 @@ code, so yours will be different than what you see here.
# If you want the fan-thermistor connections to have a
# different temperature:
# therm-e-fan-0-target_temp = 70

# if you have a Titan Aero (or any other all-metal) hotend, you'll want the fan on the hotend to turn on
# automatically above 50C. To make the fan connected to the Fan1 input turn on when the hotend reaches 60C
# (provided that the hotend is connected to "thermistor extruder 1", also referred to as E).
connect-therm-E-fan-1 = True
therm-e-fan-1-target_temp = 50

.. _ConfigHeaters:

Expand Down
16 changes: 15 additions & 1 deletion redeem/Alarm.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ class Alarm:
IMPOSSIBLE_MOVE_ATTEMPTED = 9
STEPPER_FAULT = 10 # Error on a stepper
ALARM_TEST = 11 # Testsignal, used during start-up
HEATER_RISING_SLOW = 12 # Temperature is rising too slow
CONFIG_ERROR = 13 # error when importing config

printer = None
executor = None
Expand All @@ -56,6 +58,8 @@ def __init__(self, alarm_type, message, short_message=None):
Alarm.executor.queue.put(self)
else:
logging.error("Enable to enqueue alarm!")

self.printer.alarms.append(self)

def execute(self):
""" Execute the alarm """
Expand Down Expand Up @@ -84,6 +88,11 @@ def execute(self):
self.inform_listeners()
Alarm.action_command("pause")
Alarm.action_command("alarm_heater_falling_fast", self.message)
elif self.type == Alarm.HEATER_RISING_SLOW:
self.disable_heaters()
self.inform_listeners()
Alarm.action_command("pause")
Alarm.action_command("alarm_heater_rising_slow", self.message)
elif self.type == Alarm.STEPPER_FAULT:
self.inform_listeners()
Alarm.action_command("pause")
Expand All @@ -109,6 +118,11 @@ def execute(self):
elif self.type == Alarm.ALARM_TEST:
logging.info("Alarm: Operational")
Alarm.action_command("alarm_operational", self.message)
elif self.type == Alarm.CONFIG_ERROR:
self.stop_print()
Alarm.action_command("pause")
self.inform_listeners()
Alarm.action_command("alarm_config_error", self.message)
else:
logging.warning("An Alarm of unknown type was sounded!")

Expand All @@ -123,7 +137,7 @@ def stop_print(self):
def disable_heaters(self):
logging.warning("Disabling heaters")
for _, heater in iteritems(self.printer.heaters):
heater.extruder_error = True
heater.heater_error = True

def inform_listeners(self):
""" Inform all listeners (comm channels) of the occured error """
Expand Down
Loading