Scott Lahteine
11dcbae7a2
Only a single E axis. Can tool-change reseed position[E_AXIS]?
2016-07-11 22:27:24 -07:00
Scott Lahteine
182c8d7f8f
Dyze High Temp Thermistor Support
2016-07-10 17:59:05 -07:00
Scott Lahteine
ee0983ab57
Further reduction when HOTENDS == 1
2016-07-10 16:54:30 -07:00
Scott Lahteine
b72238f406
Invariant get_pid_output with HOTENDS < 2
2016-07-10 16:33:51 -07:00
AnHardt
a129078927
Add an emergency-command parser to MarlinSerial (supporting M108)
...
Add an emergency-command parser to MarlinSerial's RX interrupt.
The parser tries to find and execute M108,M112,M410 before the commands disappear in the RX-buffer.
To avoid false positives for M117, comments and commands followed by filenames (M23, M28, M30, M32, M33) are filtered.
This enables Marlin to receive and react on the Emergency command at all times - regardless of whether the buffers are full or not. It remains to convince hosts to send the commands. To inform the hosts about the new feature a new entry in the M115-report was made. "`EMERGENCY_CODES:M112,M108,M410;`".
The parser is fast. It only ever needs two switch decisions and one assignment of the new state for every character.
One problem remains. If the host has sent an incomplete line before sending an emergency command the emergency command could be omitted when the parser is in `state_IGNORE`.
In that case the host should send "\ncommand\n"
Also introduces M108 to break the waiting for the heaters in M109, M190 and M303.
Rename `cancel_heatup` to `wait_for_heatup` to better see the purpose.
2016-07-07 16:37:22 -07:00
Scott Lahteine
bd491818d6
Reduce storage requirements for strings, make some PGM
2016-06-27 20:36:18 -07:00
Scott Lahteine
7b2fadd598
Apply some fixes from Andreas
...
Derived from
https://github.com/AnHardt/Marlin/commit/6e8ede8c694fa4d9e3c769840b09d56
7f8d8e0dd
2016-06-22 17:35:59 -07:00
Scott Lahteine
dcb8ec32ee
Fix compile error with watch_bed_next_ms
2016-06-21 02:13:41 -07:00
Scott Lahteine
ee5be92206
Fix broken DISABLE_HEATER macro
2016-06-13 20:57:58 -07:00
Scott Lahteine
e2d4919c01
Merge pull request #3991 from thinkyhead/rc_axis_units
...
Rename some vars to clarify their relationship to acceleration
2016-06-09 20:57:01 -07:00
Scott Lahteine
72c6f2923f
axis_steps_per_unit => axis_steps_per_mm
2016-06-09 17:04:51 -07:00
Scott Lahteine
3c68be79dc
Throw an error in PID_autotune for E < -1
2016-06-09 16:41:53 -07:00
Scott Lahteine
cd441ce652
SINGLENOZZLE: EXTRUDERS versus HOTENDS
2016-06-03 17:38:03 -07:00
Scott Lahteine
3fd9b331f0
Merge pull request #3924 from thinkyhead/rc_statics_temperature
...
Apply static to Temperature class
2016-06-02 17:13:17 -07:00
Scott Lahteine
78fb02a5ad
Apply static to Temperature class
2016-05-30 16:50:51 -07:00
Scott Lahteine
fad7680605
Slower SPI speed for MAX31855
2016-05-25 18:15:36 -07:00
Scott Lahteine
0c7c45063b
PID_ADD_EXTRUSION_RATE based on MarlinKimbra
2016-05-20 16:15:05 -07:00
Scott Lahteine
8218558953
Update comments, rename next_ping_ms, followup to #3797
2016-05-19 16:44:57 -07:00
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