424 Commits (a31e32969f8c16986a568a87168628b3c3ca069e)

Author SHA1 Message Date
Scott Lahteine cdd77d23bb Neaten up temperature member data 9 years ago
Scott Lahteine d4c68279c8 Add "P" parameter to M302 9 years ago
Scott Lahteine 11dcbae7a2 Only a single E axis. Can tool-change reseed position[E_AXIS]? 9 years ago
Scott Lahteine 182c8d7f8f Dyze High Temp Thermistor Support 9 years ago
Scott Lahteine ee0983ab57 Further reduction when HOTENDS == 1 9 years ago
Scott Lahteine b72238f406 Invariant get_pid_output with HOTENDS < 2 9 years ago
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.
9 years ago
Scott Lahteine bd491818d6 Reduce storage requirements for strings, make some PGM 9 years ago
Scott Lahteine 7b2fadd598 Apply some fixes from Andreas
Derived from
https://github.com/AnHardt/Marlin/commit/6e8ede8c694fa4d9e3c769840b09d56
7f8d8e0dd
9 years ago
Scott Lahteine dcb8ec32ee Fix compile error with watch_bed_next_ms 9 years ago
Scott Lahteine ee5be92206 Fix broken DISABLE_HEATER macro 9 years ago
Scott Lahteine e2d4919c01 Merge pull request #3991 from thinkyhead/rc_axis_units
Rename some vars to clarify their relationship to acceleration
9 years ago
Scott Lahteine 72c6f2923f axis_steps_per_unit => axis_steps_per_mm 9 years ago
Scott Lahteine 3c68be79dc Throw an error in PID_autotune for E < -1 9 years ago
Scott Lahteine cd441ce652 SINGLENOZZLE: EXTRUDERS versus HOTENDS 9 years ago
Scott Lahteine 3fd9b331f0 Merge pull request #3924 from thinkyhead/rc_statics_temperature
Apply static to Temperature class
9 years ago
Scott Lahteine 78fb02a5ad Apply static to Temperature class 9 years ago
Scott Lahteine fad7680605 Slower SPI speed for MAX31855 9 years ago
Scott Lahteine 0c7c45063b PID_ADD_EXTRUSION_RATE based on MarlinKimbra 9 years ago
Scott Lahteine 8218558953 Update comments, rename next_ping_ms, followup to #3797 9 years ago
Scott Lahteine 58339aea5f Merge pull request #3769 from jbrazio/bugfix/iteration-invokes-undef-behavior
Bugfix: iteration invokes undefined behavior
9 years ago
Scott Lahteine 2f14934c65 Fix checkExtruderAutoFans
Make sure to only set the fan state once when extruders share a fan
9 years ago
João Brázio ecd490ed49
Bugfix: iteration invokes undefined behavior 9 years ago
Scott Lahteine 4d6bb52b26 Don't try to enable unused auto fans
Addressing #3743
9 years ago
Scott Lahteine 9b92bb8f31 Set the initial state based on target temperature 9 years ago
Scott Lahteine 6b13c430ae The TRReset state is not needed with fall-through 9 years ago
Scott Lahteine c2522ce1f5 Fallthru in thermal runaway test when TRState changes 9 years ago
esenapaj 9186be7b83 Fix compilation error in debugging code
Fix compilation error in Thermal Runaway debugging code
9 years ago
Scott Lahteine 084f6b5b44 Temperature singleton class 9 years ago
Scott Lahteine 85e732d5fd Fix BABYSTEPPING, add it to Travis test 9 years ago
Scott Lahteine 60c6efb75c Merge pull request #3653 from thinkyhead/rc_bed_temp_watch_merge
Introduce temp watch protection for the bed
9 years ago
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
9 years ago
Scott Lahteine 96f51f400f Planner singleton class 9 years ago
Scott Lahteine 5e4e535ce8 Stepper and Endstops as singleton objects 9 years ago
Scott Lahteine 3db5a75f30 Merge pull request #3568 from thinkyhead/rc_various_fixes
General code cleanup, improved naming, etc.
9 years ago
Scott Lahteine 8a2587f017 Read size for MAX6675 from sizeof(max6675_temp) 9 years ago
Scott Lahteine ba84d8d091 Allow setting PIDTEMP and PIDTEMPBED together or apart 9 years ago
Scott Lahteine a26d70e932 Apply indentation to gcode_M303, PID_autotune 9 years ago
Scott Lahteine ba66336503 Output error for disabled M303 9 years ago
Scott Lahteine 8429ae6beb Merge pull request #3525 from thinkyhead/rc_fix_pid_params_per_extruder
Fix broken PID_PARAMS_PER_EXTRUDER
9 years ago
Scott Lahteine d4a848c72a Fix broken PID_PARAMS_PER_EXTRUDER
As noted by @FalloutBe in #3519
9 years ago
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
9 years ago
Scott Lahteine c5a8755cc0 Fix a messed up ELAPSED instance 9 years ago
Scott Lahteine 386140f361 Test time difference in safe way 9 years ago
Scott Lahteine d7cbb2eec9 Merge pull request #3403 from jbrazio/feature/stopwatch
Print job timer rework
9 years ago
Scott Lahteine 865dcf3fb4 Fix FILAMENT_WIDTH_SENSOR measurement
Only measure and store filament width when E is going forward.
9 years ago
João Brázio eb61051556 Rework the print job timer to use the stopwatch class 9 years ago
Scott Lahteine d24f14a799 Add HAS_TEMP_HOTEND define 9 years ago
Scott Lahteine 1a79b13b7a FILAMENT_SENSOR -> FILAMENT_WIDTH_SENSOR 9 years ago
Scott Lahteine ab412a2153 PIDTEMPBED on #endif 9 years ago
Scott Lahteine 5955a3063f Sanity check PIDTEMPBED plus BED_LIMIT_SWITCHING 9 years ago
Scott Lahteine 0da744b7b0 Further cleanup of comments, partial Doxygen-style
Following up on #3231
9 years ago
jbrazio 5e5d250832 Added gplv3 header to all Marlin files 9 years ago
Scott Lahteine 04fa9d4f47 Make Autotune options into Menu Edit Items 9 years ago
WPBack e3f583a3be Fixes for PID AutoTune from menu
Fixes for #3189

Setting a temp is still missing
9 years ago
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.
9 years ago
Scott Lahteine 06332f20be Merge pull request #3113 from jbrazio/bugfix/3061-stop-print-time-counter
Stop print timer with M105/M109
9 years ago
Scott Lahteine 4bbea5124d Support for multiple PWM fans 9 years ago
Scott Lahteine 2ef49a9d53 Wrap DEFAULT_Ki, DEFAULT_Kd, PID_dT
Addition to #3140
9 years ago
Scott Lahteine 1c384930f3 Merge pull request #3140 from thinkyhead/rc_fix_macro_expansion
Wrap macros to prevent bad expansions
9 years ago
Scott Lahteine 30c3a21d1f Merge pull request #3112 from thinkyhead/rc_support_MAX31855 9 years ago
Scott Lahteine f9ded2a7c4 Wrap macros to prevent bad expansions 9 years ago
jbrazio a645860431 All print timer related activity now uses print_job_start(), print_job_timer() or print_job_stop() 9 years ago
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.
9 years ago
Scott Lahteine 27f244ba2c Support MAX31855 as Temperature Sensor -3 9 years ago
jbrazio 986b508ff7 Print timer now stops when it sees the last extruder temperature being shutdown 9 years ago
Scott Lahteine ff13070b59 Use _BV macros, patch up others 9 years ago
Scott Lahteine 209f5f21e0 Use macros where possible
Apply `constrain`, `NOMORE`, `NOLESS` and `CRITICAL_SECTION` macros
wherever possible.
9 years ago
Scott Lahteine 3a3d358df9 Fix Printrboard with LCD (redo)
Based on #2860 - rebased for RCBugFix
9 years ago
Blue-Marlin 0631541166 Fix disable_all_heaters() for MAX6675 9 years ago
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
9 years ago
Richard Wackerbarth 956418c674 Kc is also a multi-PID parameter 9 years ago
Scott Lahteine dbd4c17096 Init Kp, Ki, Kd to 0 9 years ago
Scott Lahteine b4af4441c5 Clean up watchdog impl. 9 years ago
Scott Lahteine 9bdab4f3a8 Clean up "else" and other spacing 9 years ago
Richard Wackerbarth 25d636c9e0 Compiler issues (PR#2696) 9 years ago
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
9 years ago
Scott Lahteine 0c7f7ebcfb Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
9 years ago
Scott Lahteine bc50db9cf6 Implement PID_ADD_EXTRUSION_RATE 9 years ago
Scott Lahteine 51e89a269c Overridable Options - Part 9 (PR#2561)
Apply `ENABLED` / `DISABLED` macros to temperature-related files.
10 years ago
AnHardt d17f7ebc8a Multiply WATCH_TEMP_PERIOD by 1000UL (PR#2535)
instead of 1000.  Else we get errors with times over 32 seconds.
10 years ago
Scott Lahteine e4c01f1c7e Simplify init with ARRAY_BY_EXTRUDERS1 macro (PR#2507) 10 years ago
Scott Lahteine 77e80ef367 Require extruders for thermal code 10 years ago
Scott Lahteine 3bde4f4855 Require temp sensor for bed thermal protection 10 years ago
ayberkozgur 7268d46508 Always calculate extruder temperature PID d term (PR#2432) 10 years ago
Scott Lahteine a274769f4f Clean up spacing and comments
Also clean up some trailing spaces in a few other sources
10 years ago
Scott Lahteine 1d94d098bf Formatting tweaks as part of fixing issue 1497 10 years ago
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
10 years ago
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.
10 years ago
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
10 years ago
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.
10 years ago
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.
10 years ago
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().
10 years ago
Scott Lahteine 063881b5bd Fix a couple of doubled semicolons 10 years ago
Scott Lahteine 00716d0ca0 Small start_watching_heater adjustment 10 years ago
AnHardt 4422365a53 Merge branch 'Development' of https://github.com/MarlinFirmware/Marlin into _temp_error 10 years ago
AnHardt 4113762062 Merge pull request #2130 from AnHardt/kill2
Add a string parameter to kill()
10 years ago
AnHardt 120d4c7a8c Merge remote-tracking branch 'origin/kill2' into _temp_error 10 years ago
AnHardt cb6e82dc60 Change from kill() to kill(const char *)
in temperature.cpp
10 years ago
AnHardt 9d13942278 Use new kill() with parameter. 10 years ago
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.
10 years ago
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)"
10 years ago
AnHardt 97ca1b3f4d Name magic value 20 to MAX_OVERSHOOT_PID_AUTOTUNE
to make it better findable.
10 years ago
Scott Lahteine f65833931d Formatting tweaks 10 years ago
Scott Lahteine d693e0f378 Use WATCH_TEMP_INCREASE + TEMP_HYSTERESIS + 1 as difference limit 10 years ago
Scott Lahteine 6697a8f375 Watch the heater a little longer 10 years ago
Scott Lahteine 5693a6e3c9 Fix heating error message 10 years ago
Scott Lahteine 8332a15899 Fix testing of runaway options in temperature.cpp 10 years ago
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
10 years ago
Scott Lahteine 9b3d4380d3 Only watch the heater that was set 10 years ago
Scott Lahteine 28c87ec81b Disable all heaters on temp error 10 years ago
Scott Lahteine 54deb9eea3 Enable WATCH_TEMP_PERIOD by default 10 years ago
Scott Lahteine deedb00c18 Document WATCH_TEMP_PERIOD 10 years ago
Scott Lahteine a120bf3fe4 Latest upstream commits 10 years ago
Scott Lahteine ae53b3cdc3 Fix the M303 S-1 report text 10 years ago
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
10 years ago
paclema 581685a231 Added new PID autotune info, to make easy copy & paste results to marlin 10 years ago
Scott Lahteine 09d60e0128 Naming and code comments 10 years ago
Scott Lahteine 257a907456 Fix typo in next_bed_check_ms 10 years ago
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
10 years ago
Scott Lahteine ccddc280be Apply three more commits 10 years ago
Scott Lahteine 27cb90da8b IsStopped / IsRunning inline 10 years ago
Scott Lahteine e502144eda Fixup formatting of last commit 10 years ago
Richard Miles 1a5293c2ce Prevents MINTEMP / MAXTEMP when no heaters present
This commit checks whether or not HEATER_0 is in use, and if not, skips
the MIN / MAX temperature checks.
10 years ago
Scott Lahteine b0f198c153 heater_index above its use 10 years ago
Scott Lahteine 60f8e0386f More thermal runaway states 10 years ago
Scott Lahteine f9dbd73652 Fix tr_target_temperature type - float! 10 years ago
Scott Lahteine a3e129e091 Merge pull request #1801 from thinkyhead/fixup_probing
Minor optimizations
10 years ago
Natealus a6ba40ae48 Compiling error temperature.cpp with multiple extruders defined
It wouldn't compile because of this line in temperature.cpp it turns out
it was just a stray ( that didn't line up with the previous lines so I
just made it in line with the rest and it compiled fine.
10 years ago
Scott Lahteine fc3c76fc16 Fix #1800 10 years ago
Scott Lahteine 9ba55baa5b Track target temperature separately for each heater 10 years ago
Scott Lahteine 528e32a1d4 Fix timeout in thermal_runaway when temperature is set higher 10 years ago
Scott Lahteine b98ebd517e disable / enable_all_steppers functions 10 years ago
Scott Lahteine c756b4cf07 Comment tweak 10 years ago
Scott Lahteine e96df67630 Clarify thermal_runaway_protection
- Add comments documenting `thermal_runaway_protection`
- Add an enum for the thermal runaway states
- Add macros for temperature helper functions
- Fix a glitch with the z probe sled in homeaxis
10 years ago
AnHardt 488666832b Remove the previously introduced () 10 years ago
AnHardt 3f2e863206 Improve conditions for HAS_TEMP
and use them in temperuture.h

Flattened the if structure - the preprocessor is doing the work - not the Arduino. Arduino.
10 years ago
AnHardt 85f8a26ba4 Fix MIN&MAX temperatures again
replaced GE0 with th matching GEX in the second row.
added some ()
10 years ago
Scott Lahteine 571652c49b Fix LCD click
- Make the default LCD click sound more pleasant
- Fix warnings about bed temperature runaway
10 years ago
AnHardt 7b2550a604 Times can't be negative.
cardreader.cpp needs temperature.h for autotempShutdown() when
AUTOTEMP is defined but warns about unused variables.
Unpublished variables by putting them in to temperature.cpp.
10 years ago
Scott Lahteine ba871e46bf Fix compiler warnings
- Patched up for most included configurations
10 years ago
Scott Lahteine df02b992b0 Fix redundant_temperatrure_raw setting 10 years ago
Scott Lahteine ce485175eb Give all temp arrays 4 indices 10 years ago
Scott Lahteine 410f64782a Always 4 temp sensors 10 years ago
Scott Lahteine ad05a726c1 Merge pull request #1691 from AnHardt/PID_dt
Move definition of PIDdT back to temperature.h
10 years ago
AnHardt f680e509c4 Enclosed error-messages for TEMP_SENSOR_1_AS_REDUNDANT in PSTR() 10 years ago
AnHardt ac81b4084f Make variables and function static. 10 years ago
AnHardt 01cc97a3c3 Corected condition for PIDdT 10 years ago
AnHardt 94330705c7 Move definition of PIDdT back to temperature.h
make it unconditional
remove all definitions in the 'Configuration.h's
remove form 'Conditionals.h'
10 years ago
AnHardt dd0067afa6 Fix MAX6675 again and introduce set_current_temp_raw()
to make the temperature-code work again with Arduino 1.0.6.

Sorry could not make an extra block on base level.
10 years ago