Commit Graph

466 Commits

Author SHA1 Message Date
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
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
Scott Lahteine
ccddc280be Apply three more commits 2015-04-12 22:47:44 -07:00
Scott Lahteine
27cb90da8b IsStopped / IsRunning inline 2015-04-08 00:56:19 -07:00
Scott Lahteine
e502144eda Fixup formatting of last commit 2015-04-06 21:28:14 -07:00
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.
2015-04-05 22:27:14 +01:00
Scott Lahteine
b0f198c153 heater_index above its use 2015-04-04 06:18:08 -07:00
Scott Lahteine
60f8e0386f More thermal runaway states 2015-04-04 05:45:36 -07:00
Scott Lahteine
f9dbd73652 Fix tr_target_temperature type - float! 2015-04-04 05:25:53 -07:00
Scott Lahteine
a3e129e091 Merge pull request #1801 from thinkyhead/fixup_probing
Minor optimizations
2015-04-03 22:30:01 -07:00
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.
2015-04-03 23:09:31 -06:00
Scott Lahteine
fc3c76fc16 Fix #1800 2015-04-03 22:04:42 -07:00
Scott Lahteine
9ba55baa5b Track target temperature separately for each heater 2015-04-03 19:42:40 -07:00
Scott Lahteine
528e32a1d4 Fix timeout in thermal_runaway when temperature is set higher 2015-04-03 19:34:55 -07:00
Scott Lahteine
b98ebd517e disable / enable_all_steppers functions 2015-04-03 19:25:22 -07:00
Scott Lahteine
c756b4cf07 Comment tweak 2015-04-02 06:11:03 -07:00
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
2015-04-02 05:10:14 -07:00
AnHardt
488666832b Remove the previously introduced () 2015-04-01 13:40:05 +02:00
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.
2015-04-01 02:56:14 +02:00
AnHardt
85f8a26ba4 Fix MIN&MAX temperatures again
replaced GE0 with th matching GEX in the second row.
added some ()
2015-04-01 00:48:04 +02:00
Scott Lahteine
571652c49b Fix LCD click
- Make the default LCD click sound more pleasant
- Fix warnings about bed temperature runaway
2015-03-31 01:41:24 -07:00
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.
2015-03-30 01:58:46 +02:00
Scott Lahteine
ba871e46bf Fix compiler warnings
- Patched up for most included configurations
2015-03-27 20:29:05 -07:00
Scott Lahteine
df02b992b0 Fix redundant_temperatrure_raw setting 2015-03-27 16:37:22 -07:00
Scott Lahteine
ce485175eb Give all temp arrays 4 indices 2015-03-27 16:11:28 -07:00
Scott Lahteine
410f64782a Always 4 temp sensors 2015-03-26 16:22:21 -07:00
Scott Lahteine
ad05a726c1 Merge pull request #1691 from AnHardt/PID_dt
Move definition of PIDdT back to temperature.h
2015-03-25 21:22:39 -07:00
AnHardt
f680e509c4 Enclosed error-messages for TEMP_SENSOR_1_AS_REDUNDANT in PSTR() 2015-03-25 23:26:06 +01:00
AnHardt
ac81b4084f Make variables and function static. 2015-03-25 21:37:15 +01:00
AnHardt
01cc97a3c3 Corected condition for PIDdT 2015-03-25 12:08:23 +01:00
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'
2015-03-25 11:51:41 +01:00
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.
2015-03-25 11:08:24 +01:00
Scott Lahteine
0d81abe1c9 Merge branch 'Development' into config_testing
Latest upstream commits
2015-03-23 21:13:04 -07:00
Scott Lahteine
fc53e43de6 Don't test raw temp for MAX6675
- Remove test of raw temp for thermistor 0 when using MAX6675
- Longer `raw_temp_value` array for `TEMP_SENSOR_1_AS_REDUNDANT`
2015-03-23 20:55:48 -07:00
Scott Lahteine
1fac388664 Revert measurement loop 2015-03-23 15:18:22 -07:00
Scott Lahteine
6bdee87be3 Cleanup temperature code
- Get rid of unused temp states in the ISR, resulting in more frequent
temperature reading with fewer sensors
- Shrink code slightly in min/max testing
2015-03-23 00:27:29 -07:00
Scott Lahteine
15eb5d35a2 Merge branch 'Development' into config_testing
Latest upstream commits
2015-03-21 15:42:45 -07:00
Scott Lahteine
3703694e30 Fix temperature min/max test
- Base tests on all thermistors/thermocouples, not just heater 0
2015-03-21 14:23:43 -07:00
Scott Lahteine
63d5d28085 Merge branch 'Development' into config_testing
Latest upstream changes
2015-03-20 04:15:18 -07:00
Scott Lahteine
670006b919 Remove invariant code from Configurations
- Add `Conditionals.h` with calculated configuration values
- Add `SanityCheck.h` with checks for configuration errors
- Remove equivalent code from all configurations
- Move error checks from some sources to `SanityCheck.h` also
- Fix initialization of count_direction in stepper.cpp
2015-03-19 22:22:23 -07:00
AnHardt
47c1ea72af Merge https://github.com/kieranc/Marlin into PIDdebug
Conflicts:
	Marlin/temperature.cpp

Cleaned merge conflict.

Codeposition had changed.
Variable pid_input had vanished.

Signed-off-by: AnHardt <github@kitelab.de>
2015-03-20 00:07:36 +01:00
AnHardt
28b1c37dea Fix for #1612 2015-03-15 21:35:33 +01:00
Scott Lahteine
bb4cb1b15a Merge pull request #1606 from thinkyhead/cleanup_stepper
Cleanup of stepper.cpp
2015-03-15 06:05:08 -07:00
Scott Lahteine
c37f7d15c9 - Rename WRITE_E_STEP for consistency
- Add BIT and TEST macros
- Add _APPLY_ macros to stepper.cpp to help with consolidation
- Consolidate code in stepper.cpp using macros
- Apply standards in stepper.cpp
- Use >= 0 instead of > -1 as a better semantic
- Replace DUAL_Y_CARRIAGE with Y_DUAL_STEPPER_DRIVERS
2015-03-14 04:28:22 -07:00
Scott Lahteine
cb57fc727d Declare pid_output for PIDBEDTEMP 2015-03-13 20:19:51 -07:00
Scott Lahteine
3d6deb9bdf Simplify manage_heater
- Make separate get_pid_output(e) and get_pid_output_bed() function
- Reduce size of manage_heater function
- Hopefully work around linker errors
2015-03-13 19:49:41 -07:00
Scott Lahteine
e3ca9137b5 Fix missing temp_error declarations
- Fix for #1591 replacing #1595
2015-03-11 16:38:42 -07:00
AnHardt
3024f6c706 Undubble MSG_MIN &MSG MAX 2015-03-06 00:25:44 +01:00
Scott Lahteine
dfb38874f8 Some suggested changes for #1555 2015-03-03 00:48:20 -08:00
Scott Lahteine
1a7b0d9a37 Redo HAS_* macros to fix define error 2015-02-26 01:14:59 -08:00
Scott Lahteine
864dddc878 Macros to the top, a few HAS_* macros 2015-02-26 00:33:30 -08:00
Scott Lahteine
fd1ea9d56f Move literal strings to language files 2015-02-24 23:03:08 -08:00
Scott Lahteine
aa9c1f1bed Better name for ADC macro 2015-02-24 05:38:10 -08:00
Scott Lahteine
9c9726d469 Cleanup of temperature code
- Reduce calls to millis()
- General cleanup of manage_heaters
- General cleanup of pid autotune
- Formatting here & there
- Macros to clean up and shrink ISR code (reduced by ~364 lines)
2015-02-24 04:46:11 -08:00
Scott Lahteine
e3fd3e8fa4 Fix typos in checkExtruderAutoFans 2015-02-20 00:08:59 -08:00
Natealus
ea9e49b20d ARRAY_BY_EXTRUDERS 4th hotend PID parameters 2015-02-12 00:56:47 -07:00
kieranc
0a19109476 Enable PID debugging for heated bed 2015-02-10 14:11:44 +01:00
Natealus
f4b0a40abb Additional fixes to temperature.cpp and found another missing line
Looks like INVERT_E3_DIR was missing in the configuration.h also as I
did a test compile with 4 extruders and Azteeg X3 Pro defined. So I also
added those lines too. Additional formatting to make the comments line
up better in that section.
2015-02-08 15:43:58 -07:00
Natealus
697ee2dc50 Compiling errors with 4 Extruders defined
Here were a few changes that I had to make/add lines for the 4th hotend.
A compiling problem in the Temperature.cpp and missing lines in
configuration.h and configuration_adv.h. I added these lines in all of
the example configs too.
2015-02-08 01:05:05 -07:00
MagoKimbra
3021f7f743 Fix PID_dT
Add PID_dT in temeprature.cpp
2015-01-25 17:56:14 +01:00
MagoKimbra
ef5959a705 Fix Temperature
Githun insert this line when i merge with actual Branch development...
2015-01-24 13:49:29 +01:00
MagoKimbra
3d4ee6c868 Merge branch '4th-extruders' of https://github.com/MagoKimbra/Marlin into 4th-extruders
Conflicts:
	Marlin/temperature.cpp
2015-01-24 13:41:15 +01:00
MagoKimbra
986e723eeb Add 4th extruder 2015-01-24 13:37:58 +01:00
Scott Lahteine
f16bdd2ff2 Borrow from Ultimaker to fix MAX6675 SPI conflict
Changes to temperature.cpp from Ultimaker fork, intended to address
#1226 and #1227
2015-01-24 03:49:15 -08:00
MagoKimbra
0ebf896070 Add 4th extruder 2015-01-23 23:13:06 +01:00
Mark Hindess
0ce252ba7a This ifdef is for bed code so should use bed constants for testing.
Without this fix, the code wont compile with extruder but without bed
runaway protection defined.
2015-01-23 16:30:13 +00:00
daid
53f971095d Revert "Reduce PROGMEM warnings" 2015-01-16 16:48:22 +01:00
galexander1
d4880a9e60 Revert "Move Sd library out into library" 2015-01-15 18:52:10 -05:00
Bo Herrmannsen
4b51b5a46d Merge pull request #1357 from odewdney/SDlib
Move Sd library out into library
2015-01-15 10:56:07 +01:00
odewdney
f84ff4ba7d Move SD Fat library out of main src 2015-01-13 13:31:55 +00:00
Bo Herrmannsen
ab074dac17 Merge pull request #1344 from grob6000/independent_pid
Independent PID parameters for each extruder
2015-01-13 12:10:37 +01:00
Bo Herrmannsen
d4a665694a Merge pull request #1350 from odewdney/Development
Reduce PROGMEM warnings
2015-01-13 11:26:50 +01:00
odewdney
538859669d Removing compiler warnings for progmem 2015-01-11 18:14:21 +00:00
grob6000
bf2c923db5 Make multiple PID parameters a config option
* Adds config parameter `PID_PARAMS_PER_EXTRUDER` - allows single PID
parameters to be used where this would be preferable (e.g. dual
identical extruders)
* When disabled, will use `float Kp, Ki, Kd, Kc;` as before.
Preprocessor macros used to switch between.
* ultralcd.cpp defines extra menus for extra parameters only where
required
* M301 reports `e:xx` only if independent pid parameters enabled
* EEPROM structure still leaves space for 3 extruders worth, when undef
will save single parameter to all extruder positions, but only read the
first
* Switching off saves approx 330 B with no LCD enabled, 2634B with LCD
(RRD) enabled: this is significant.
* LCD modifications should be tested.
2015-01-11 13:50:17 +11:00
grob6000
37c7e8300f Independent PID parameters for each extruder
* Variables Kp, Ki, Kd, Kc now arrays of size EXTRUDERS
* M301 gains (optional, default=0) E parameter to define which
extruder's settings to modify. Tested, works with Repetier Host's EEPROM
config window, albeit only reads/updates settings for E0.
* All Kp, Ki, Kd, Kc parameters saved in EEPROM (version now v14), up to
3 extruders supported (same as Marlin in general)
2015-01-10 16:35:12 +11:00
Dino Del Favero
038fccd7a1 I have added some code in the "temperature.cpp" for have the possibility of control the time of the states with the heater drived by relays, with this feature now it is possible use PID function in conjunction with relay to control the temperature. I have made some tests and the temperature stay always in the range of +-1°C from the setted temp.
There is the possibility of turn on this features adding "#define SLOW_PWM_HEATERS" in Configuration.h
2015-01-06 18:32:17 +01:00
Philippe L
30248214c7 temp runaway: proper cast to prevent any overflow. 2015-01-04 14:23:31 +01:00
Alexander Hirzel
ae12ad0d6c Fix typo, PID_BED_POWER -> MAX_BED_POWER 2015-01-02 01:38:03 -05:00
alexborro
80b17ab573 Merge pull request #1285 from drf5n/PID_CI_v2
temperature.cpp: Fix typo of MAX_BED_PID to MAX_BED_POWER.
2015-01-01 22:56:21 -02:00
David Forrest
625860f086 temperature.cpp: Fix typo of PID_MAX to MAX_BED_POWER for the bed. 2015-01-01 19:24:42 -05:00
David Forrest
6583bb781d temperature.cpp: Fix typo of MAX_BED_PID to MAX_BED_POWER. 2015-01-01 19:11:42 -05:00
Bo Herrmannsen
0d957872a0 Merge pull request #1234 from gregrebholz/issue_1069
Fixes #1069.  Added "auto fan" checks to PID_autotune.
2014-12-28 10:12:08 +01:00
David Forrest
984177c40c temperature.cpp:Add PID Conditional integration on heated bed. 2014-12-27 15:26:09 -05:00
David Forrest
c9b8435749 heater.c: Limit PID I term with conditional integration. 2014-12-27 15:26:09 -05:00
Greg Rebholz
7ecb7cbd46 Added "auto fan" checks to PID_autotune 2014-12-23 23:50:00 -05:00
Denis Chertykov
b086394178 Fix syntax errors in #ifdef. 2014-12-20 19:33:43 +03:00
Scott Lahteine
f83d0f2a68 Defines for electronics boards
Added boards.h which contains defines for all the board numbers, plus
some shorthand macros for less typing.
2014-12-18 13:59:31 -08:00
Erik van der Zalm
058e446531 Merge pull request #1037 from filipmu/Filament-Sensor
Support for a filament diameter sensor
2014-10-11 22:56:01 +02:00
Filip Mulier
62db9848d3 Improvements and bug fixes in sensor delay buffer for filament sensor code
Improvement to avoid reinitializing delay buffer with every print. Fixed
issues in buffer indexing and memory out of bounds due to floating point
imprecision.  Simplified the code by avoiding conversion to standard
diameter and 1cu mm extrusion, which caused complications in determining
mm extruded.
2014-08-16 06:50:13 -05:00
Filip Mulier
85649a4549 Real-time filament diameter measurement and control
This feature allows the printer to read the filament diameter
automatically and adjust the printer in real time.  Added code to read
an analog voltage that represents a filament diameter measurement.  This
measurement is delayed in a ring buffer to compensate for sensors that
are a distance away from the extruder.  The measurement is used to
adjust the volumetric_multiplier for the extruder.  Some additional g
codes (M404, M405, M406, M407) are used to set parameters and turn
on/off the control. g code M221 is updated.  Pins for RAMPS1.4, RAMBO,
and Printrboard are identified for analog input.  The configuration file
is updated with relevant user parameters.
2014-08-06 19:30:57 -05:00