Scott Lahteine
58339aea5f
Merge pull request #3769 from jbrazio/bugfix/iteration-invokes-undef-behavior
...
Bugfix: iteration invokes undefined behavior
2016-05-15 20:36:25 -07:00
Scott Lahteine
2f14934c65
Fix checkExtruderAutoFans
...
Make sure to only set the fan state once when extruders share a fan
2016-05-15 18:54:37 -07:00
João Brázio
ecd490ed49
Bugfix: iteration invokes undefined behavior
2016-05-15 22:45:08 +01:00
Scott Lahteine
4d6bb52b26
Don't try to enable unused auto fans
...
Addressing #3743
2016-05-14 14:46:14 -07:00
Scott Lahteine
9b92bb8f31
Set the initial state based on target temperature
2016-05-08 17:25:44 -07:00
Scott Lahteine
6b13c430ae
The TRReset state is not needed with fall-through
2016-05-08 17:01:46 -07:00
Scott Lahteine
c2522ce1f5
Fallthru in thermal runaway test when TRState changes
2016-05-08 16:51:33 -07:00
esenapaj
9186be7b83
Fix compilation error in debugging code
...
Fix compilation error in Thermal Runaway debugging code
2016-05-09 01:57:21 +09:00
Scott Lahteine
084f6b5b44
Temperature singleton class
2016-05-04 19:42:12 -07:00
Scott Lahteine
85e732d5fd
Fix BABYSTEPPING, add it to Travis test
2016-05-02 20:01:00 -07:00
Scott Lahteine
60c6efb75c
Merge pull request #3653 from thinkyhead/rc_bed_temp_watch_merge
...
Introduce temp watch protection for the bed
2016-05-01 13:58:28 -07:00
gralco
908229dbb3
Introduce temp watch protection for the bed
...
When setting the bed temp via M140/M190 if the thermistor does not read an increase of WATCH_BED_TEMP_INCREASE degrees by WATCH_BED_TEMP_PERIOD seconds then it will throw "Error:Heating failed, system stopped! Heater_ID: bed" and call the kill() function.
Conflicts:
Marlin/Configuration_adv.h
2016-05-01 13:12:51 -07:00
Scott Lahteine
96f51f400f
Planner singleton class
2016-04-30 17:26:50 -07:00
Scott Lahteine
5e4e535ce8
Stepper and Endstops as singleton objects
2016-04-30 17:26:50 -07:00
Scott Lahteine
3db5a75f30
Merge pull request #3568 from thinkyhead/rc_various_fixes
...
General code cleanup, improved naming, etc.
2016-04-19 20:53:38 -07:00
Scott Lahteine
8a2587f017
Read size for MAX6675 from sizeof(max6675_temp)
2016-04-19 19:57:32 -07:00
Scott Lahteine
ba84d8d091
Allow setting PIDTEMP and PIDTEMPBED together or apart
2016-04-19 18:09:29 -07:00
Scott Lahteine
a26d70e932
Apply indentation to gcode_M303, PID_autotune
2016-04-18 19:04:45 -07:00
Scott Lahteine
ba66336503
Output error for disabled M303
2016-04-18 19:03:45 -07:00
Scott Lahteine
8429ae6beb
Merge pull request #3525 from thinkyhead/rc_fix_pid_params_per_extruder
...
Fix broken PID_PARAMS_PER_EXTRUDER
2016-04-16 19:49:42 -07:00
Scott Lahteine
d4a848c72a
Fix broken PID_PARAMS_PER_EXTRUDER
...
As noted by @FalloutBe in #3519
2016-04-16 19:19:40 -07:00
esenapaj
832e1c1f2a
Follow-up and fix for the PR #3453(ELAPSED / PENDING for rollover-safe time checking)
...
・Add more "UL" suffix
・Restore removed "UL" suffix
2016-04-17 07:50:02 +09:00
Scott Lahteine
c5a8755cc0
Fix a messed up ELAPSED instance
2016-04-11 18:48:27 -07:00
Scott Lahteine
386140f361
Test time difference in safe way
2016-04-10 18:09:31 -07:00
Scott Lahteine
d7cbb2eec9
Merge pull request #3403 from jbrazio/feature/stopwatch
...
Print job timer rework
2016-04-07 19:18:03 -07:00
Scott Lahteine
865dcf3fb4
Fix FILAMENT_WIDTH_SENSOR measurement
...
Only measure and store filament width when E is going forward.
2016-04-06 19:48:04 -07:00
João Brázio
eb61051556
Rework the print job timer to use the stopwatch class
2016-04-06 04:34:03 +01:00
Scott Lahteine
d24f14a799
Add HAS_TEMP_HOTEND define
2016-04-03 16:18:49 -07:00
Scott Lahteine
1a79b13b7a
FILAMENT_SENSOR -> FILAMENT_WIDTH_SENSOR
2016-03-29 20:54:31 -07:00
Scott Lahteine
ab412a2153
PIDTEMPBED on #endif
2016-03-25 23:50:28 -07:00
Scott Lahteine
5955a3063f
Sanity check PIDTEMPBED plus BED_LIMIT_SWITCHING
2016-03-25 23:50:28 -07:00
Scott Lahteine
0da744b7b0
Further cleanup of comments, partial Doxygen-style
...
Following up on #3231
2016-03-25 00:45:56 -07:00
jbrazio
5e5d250832
Added gplv3 header to all Marlin files
2016-03-24 18:01:20 +00:00
Scott Lahteine
04fa9d4f47
Make Autotune options into Menu Edit Items
2016-03-24 02:00:08 -07:00
WPBack
e3f583a3be
Fixes for PID AutoTune from menu
...
Fixes for #3189
Setting a temp is still missing
2016-03-24 01:47:30 -07:00
WPBack
3b3e8a02b5
Initial implementation of PID Autotune Menu Items
...
Adds the parameter U to M303. If U1 is included , it will use the
PID-values from the auto-tune.
2016-03-24 01:46:37 -07:00
Scott Lahteine
06332f20be
Merge pull request #3113 from jbrazio/bugfix/3061-stop-print-time-counter
...
Stop print timer with M105/M109
2016-03-20 17:05:07 -07:00
Scott Lahteine
4bbea5124d
Support for multiple PWM fans
2016-03-19 03:10:18 -07:00
Scott Lahteine
2ef49a9d53
Wrap DEFAULT_Ki, DEFAULT_Kd, PID_dT
...
Addition to #3140
2016-03-15 03:49:44 -07:00
Scott Lahteine
1c384930f3
Merge pull request #3140 from thinkyhead/rc_fix_macro_expansion
...
Wrap macros to prevent bad expansions
2016-03-15 00:25:34 -07:00
Scott Lahteine
30c3a21d1f
Merge pull request #3112 from thinkyhead/rc_support_MAX31855
2016-03-13 03:30:48 -07:00
Scott Lahteine
f9ded2a7c4
Wrap macros to prevent bad expansions
2016-03-12 22:38:55 -08:00
jbrazio
a645860431
All print timer related activity now uses print_job_start(), print_job_timer() or print_job_stop()
2016-03-12 07:16:39 +00:00
Scott Lahteine
81aab828e2
Fix a "Heating failed" error
...
Addressing #3085 . If the target_temperature is set directly it never invokes or disables the timer set in `start_watching_heater`, so after _stopping a print_ or turning off _all heaters_ you could get a “Heating failed” error.
2016-03-11 05:07:48 -08:00
Scott Lahteine
27f244ba2c
Support MAX31855 as Temperature Sensor -3
2016-03-10 02:49:54 -08:00
jbrazio
986b508ff7
Print timer now stops when it sees the last extruder temperature being shutdown
2016-03-08 18:11:02 +00:00
Scott Lahteine
ff13070b59
Use _BV macros, patch up others
2016-03-06 05:51:55 -08:00
Scott Lahteine
209f5f21e0
Use macros where possible
...
Apply `constrain`, `NOMORE`, `NOLESS` and `CRITICAL_SECTION` macros
wherever possible.
2016-03-06 05:51:55 -08:00
Scott Lahteine
3a3d358df9
Fix Printrboard with LCD (redo)
...
Based on #2860 - rebased for RCBugFix
2016-03-05 22:13:00 -08:00
Blue-Marlin
0631541166
Fix disable_all_heaters() for MAX6675
2016-03-02 14:17:23 +01:00
AnHardt
57da1b8497
Host parseble output for M109, M190 and M303
...
Make the output of M105 more similar to Repetier.
Make the text-print pert of M105 an extra function to make it reusable. `print_heaterstates()`
Use `print_heaterstates()` in M019, M190 and M303
2015-12-07 15:37:53 -06:00
Richard Wackerbarth
956418c674
Kc is also a multi-PID parameter
2015-11-23 06:08:01 -06:00
Scott Lahteine
dbd4c17096
Init Kp, Ki, Kd to 0
2015-11-12 00:03:22 -06:00
Scott Lahteine
b4af4441c5
Clean up watchdog impl.
2015-11-12 00:03:22 -06:00
Scott Lahteine
9bdab4f3a8
Clean up "else" and other spacing
2015-11-12 00:03:21 -06:00
Richard Wackerbarth
25d636c9e0
Compiler issues (PR#2696)
2015-11-11 23:52:11 -06:00
AnHardt
47401ec97b
MSG_EXTRUDER_SWITCHED_OFF was renamed to MSG_REDUNDANCY
...
in language.h, but was not renamed here. If TEMP_SENSOR_1 is enabled as redundant then
an error is thrown that MSG_EXTRUDER_SWITCHED_OFF is not defined.
Originaly by @12dstring
2015-10-08 10:45:11 -05:00
Scott Lahteine
0c7f7ebcfb
Styling adjustments (PR#2668 & PR#2670)
...
Keep "astyled" reformatting
2015-10-03 22:02:45 -05:00
Scott Lahteine
bc50db9cf6
Implement PID_ADD_EXTRUSION_RATE
2015-09-12 07:53:20 -05:00
Scott Lahteine
51e89a269c
Overridable Options - Part 9 (PR#2561)
...
Apply `ENABLED` / `DISABLED` macros to temperature-related files.
2015-07-31 01:05:55 -05:00
AnHardt
d17f7ebc8a
Multiply WATCH_TEMP_PERIOD by 1000UL (PR#2535)
...
instead of 1000. Else we get errors with times over 32 seconds.
2015-07-27 20:30:53 -05:00
Scott Lahteine
e4c01f1c7e
Simplify init with ARRAY_BY_EXTRUDERS1 macro (PR#2507)
2015-07-26 20:40:27 -05:00
Scott Lahteine
77e80ef367
Require extruders for thermal code
2015-07-16 16:36:30 -05:00
Scott Lahteine
3bde4f4855
Require temp sensor for bed thermal protection
2015-07-16 16:36:30 -05:00
ayberkozgur
7268d46508
Always calculate extruder temperature PID d term (PR#2432)
2015-07-13 13:22:26 -05:00
Scott Lahteine
a274769f4f
Clean up spacing and comments
...
Also clean up some trailing spaces in a few other sources
2015-06-15 20:20:31 -05:00
Scott Lahteine
1d94d098bf
Formatting tweaks as part of fixing issue 1497
2015-06-14 19:57:27 -05:00
Scott Lahteine
e602c28ad9
Set auto fan pins to OUTPUT during init
...
Fixes the problem of these pins being left in INPUT state, as described
in #1497
2015-06-14 19:57:27 -05:00
MagoKimbra
eb81982fcd
Fix error next command in autotune (PR#2274)
...
Now send only temperature for T or B, but not send OK.
Host interprets the line to show the right temperature, but not in
response to M105 then stop and send commands until it ends the autotune.
2015-06-12 07:10:38 -05:00
AnHardt
b1404a0743
fix thermal protection state machine target temp. V2
...
If the target temperature is changed then it would always stay in the reset state.
Thanks to @tonokip.
Replaces #2119
2015-06-02 12:26:21 +02:00
Jonathan Bastien-Filiatrault
e86f2342c0
Separate the maximum integral power for the bed from PID_INTEGRAL_DRIVE_MAX / PID_MAX.
...
My PID_INTEGRAL_DRIVE_MAX was at 96, which was insufficient for my bed
to reach its intended temperature. The head requires a low maximum power since
I run on 24 volts and it has a somewhat low thermal mass.
2015-05-28 11:48:04 -04:00
AnHardt
da246f5cb1
Activate BED_MINTEMP error.
...
And call _temp_error() directly for ERR_MAXTEMP_BED to avoid the only one time use of bed_max_temp_error().
Includes #2156 .
2015-05-25 13:23:19 +02:00
AnHardt
959da98d8e
Call kill() only once when triggered by a temperature error
...
to avoid stack overflow when called from interrupt.
Some clean up for calls of disable_all_heaters().
'disable_all_heaters()' is called in kill() and again when 'killed' is already set inside _temp_error().
2015-05-25 12:44:03 +02:00
Scott Lahteine
063881b5bd
Fix a couple of doubled semicolons
2015-05-21 18:15:29 -07:00
Scott Lahteine
00716d0ca0
Small start_watching_heater adjustment
2015-05-21 16:44:49 -07:00
AnHardt
4422365a53
Merge branch 'Development' of https://github.com/MarlinFirmware/Marlin into _temp_error
2015-05-20 23:34:39 +02:00
AnHardt
4113762062
Merge pull request #2130 from AnHardt/kill2
...
Add a string parameter to kill()
2015-05-20 23:32:51 +02:00
AnHardt
120d4c7a8c
Merge remote-tracking branch 'origin/kill2' into _temp_error
2015-05-20 21:25:32 +02:00
AnHardt
cb6e82dc60
Change from kill() to kill(const char *)
...
in temperature.cpp
2015-05-20 21:22:48 +02:00
AnHardt
9d13942278
Use new kill() with parameter.
2015-05-20 21:18:52 +02:00
AnHardt
2990c6c45f
Use new kill_() for _temp_error()
...
instead of stop(). We really want to require a reset and no chance to set a new temperature.
2015-05-20 14:03:14 +02:00
AnHardt
70163dafb9
Use _temp_error() for all errors thrown by different mechanisms
...
Now ending in an endless loop.
Tidy up the output format.
We now get:
ERRORTEXT ", system stopped! Heater_ID: " HEATERID
Where ERRORTEXT can be:
"Heating failed"
"Thermal Runaway"
"MAXTEMP triggered"
"MINTEMP triggered"
and soon
"Thermal Jump"
HEATERID can be
0, 1, 2 ,3 , "bed"
This messages are always followed by the common:
"Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
2015-05-18 20:26:25 +02:00
AnHardt
97ca1b3f4d
Name magic value 20 to MAX_OVERSHOOT_PID_AUTOTUNE
...
to make it better findable.
2015-05-18 14:15:29 +02:00
Scott Lahteine
f65833931d
Formatting tweaks
2015-05-13 02:02:19 -07:00
Scott Lahteine
d693e0f378
Use WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1 as difference limit
2015-05-12 18:30:38 -07:00
Scott Lahteine
6697a8f375
Watch the heater a little longer
2015-05-12 18:22:47 -07:00
Scott Lahteine
5693a6e3c9
Fix heating error message
2015-05-12 18:17:13 -07:00
Scott Lahteine
8332a15899
Fix testing of runaway options in temperature.cpp
2015-05-10 23:03:24 -07:00
Scott Lahteine
2445ae3d3a
Combine thermal runaway and watch-period
...
- Make thermal protection for all hotends and/or bed into simple
switches
- Now enable `WATCH_TEMP_PERIOD` when `THERMAL_PROTECTION_HOTENDS` is
enabled
- Move detailed thermal parameters to `Configuration_adv.h`
- Add sanity checks to warn about old configurations
- Change `WATCH_TEMP_PERIOD` to seconds instead of milliseconds
2015-05-10 22:52:01 -07:00
Scott Lahteine
9b3d4380d3
Only watch the heater that was set
2015-05-10 20:26:45 -07:00
Scott Lahteine
28c87ec81b
Disable all heaters on temp error
2015-05-08 23:17:25 -07:00
Scott Lahteine
54deb9eea3
Enable WATCH_TEMP_PERIOD by default
2015-05-08 22:36:02 -07:00
Scott Lahteine
deedb00c18
Document WATCH_TEMP_PERIOD
2015-05-08 22:25:51 -07:00
Scott Lahteine
a120bf3fe4
Latest upstream commits
2015-04-27 22:40:19 -07:00
Scott Lahteine
ae53b3cdc3
Fix the M303 S-1 report text
2015-04-27 22:25:00 -07:00
Scott Lahteine
0fca084ea6
Make EEPROM reproducible in GCode
...
With these changes the output of `M503 S0` is all you need to restore
the EEPROM. Building on this it is straightforward to save and restore
the EEPROM state using the SD card or external GCode file.
- Added `M145` to set “heatup states” for the LCD menu
- Added `M420` to toggle Mesh Bed Leveling
- Added `M421` to set a single Mesh coordinate
- Extended `Config_PrintSettings` with added M codes
- Cleaned up some comments here and there
2015-04-26 20:56:33 -07:00
paclema
581685a231
Added new PID autotune info, to make easy copy & paste results to marlin
2015-04-17 11:15:09 +02:00
Scott Lahteine
09d60e0128
Naming and code comments
2015-04-13 17:17:36 -07:00
Scott Lahteine
257a907456
Fix typo in next_bed_check_ms
2015-04-12 23:17:28 -07:00
Scott Lahteine
e4b1e8651b
next_ vars faster than previous_
...
- Change some `previous_` time vars to `next_` so an add only happens
at intervals
- Fix `HEATER_0_USES_MAX6675` polling too frequently, or not at all
2015-04-12 23:06:50 -07:00