Commit graph

135 commits

Author SHA1 Message Date
Andy Shaw 624986d423 Ensure ADC conversion is complete before reading (#11336)
The current Marlin implementation relies on a timer interrupt to start the ADC conversion and read it. However in some circumstances the interrupt can be delayed resulting in insufficient time being available for the ADC conversion. This results in a bad reading and false temperature fluctuations. These changes make sure that the conversion is complete (by checking the ADC hardware via the HAL) before reading a value.

See: https://github.com/MarlinFirmware/Marlin/issues/11323
2018-07-26 03:59:19 -05:00
etagle 1367df2875 Replace double with float, optimize calculation 2018-07-04 22:28:56 -05:00
Scott Lahteine f2c3b0d476 Use bit flags for homed/known 2018-06-11 22:05:16 -05:00
Scott Lahteine 0ca9db7051 Correct HOTENDS for SWITCHING_EXTRUDER 2018-05-27 23:22:48 -05:00
Scott Lahteine 99ecdf59af Smarter MIN, MAX, ABS macros
Use macros that explicitly avoid double-evaluation and can be used for any datatype, replacing `min`, `max`, `abs`, `fabs`, `labs`, and `FABS`.

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-13 04:52:56 -05:00
Scott Lahteine 8f8c6a9bc4
Move get_axis_position_mm to Planner (#10718) 2018-05-12 09:59:11 -05:00
Scott Lahteine 625035a9ce
Fix M301 access to lpq_len (#10714)
Co-Authored-By: Zwaubel
2018-05-12 02:13:40 -05:00
Scott Lahteine 81b632c255 Additional temp-oriented improvements 2018-05-02 08:43:22 -05:00
Scott Lahteine 9789c1c719 Fix current_temperature_chamber compile error
Fix #10505
2018-04-24 07:55:58 -05:00
Scott Lahteine cb46cb8480
Add HAS_HEATED_BED conditional (#10495) 2018-04-23 17:13:01 -05:00
Lenbok 0e8242180d Chamber temperature monitoring and auto fan control.
This is an initial cut for feedback, updated for 2.0.x.

Chamber temperature is currently reported along with hot end and bed
temperatures to serial. The format is just like that used for hot end
and bed temperatures, but using 'C' prefix. As there is no heater,
target is always 0. Is this appropriate, is there a better way to report
chamber temperatures?

Chamber temperatures are not reported on the LCD in any way.

When auto chamber fan is enabled, it currently just uses the same
temperature threshold as the other auto controlled fans.

As the chamber temperature is not connected to any heater, it doesn't
undergo mintemp/maxtemp monitoring. This would need to change in the
future if chamber heating became a feature.
2018-04-06 23:09:06 -05:00
Eduardo José Tagle 97e8a6ebd9 Various fixes for DUE... (#10152)
- Watchdog reset during SD Card initialization.
- Move `DebugMonitor` to `DebugMonitor_Due.cpp`.
- Since the watchdog is enabled on boot do extra resets during init.
- Have `thermalManager` do watchdog reset before its ISR starts to prevent reset.
- Ensure that timers are stopped before reprogramming them to address tone issues.
- Improve SAM3XE reset when reflashed through the native port.
2018-03-21 19:04:45 -05:00
Scott Lahteine ffbf63e6af Add HAS_TEMP_SENSOR conditional 2018-03-07 01:53:50 -06:00
Scott Lahteine 2057177184 Make enums into implicit char 2018-03-06 23:39:56 -06:00
Scott Lahteine 7280fa1e31 Patch Power class 2018-02-10 15:41:18 -06:00
Scott Lahteine b5e92f4f90
[2.0.x] Enable / disable PSU automatically (#9503) 2018-02-06 00:22:30 -06:00
Scott Lahteine 61bf8478a2 Add hotEnough methods 2018-01-22 04:38:37 -06:00
Scott Lahteine d5bf9e74c4
Merge pull request #8996 from p3p/pr_bf2_more_adc_filter
[2.0.x] PID control fix and more LPC1768 ADC filtering
2018-01-15 05:14:25 -06:00
Thomas Moore f7efac57b7 Multi-host support 2018-01-10 00:14:47 -06:00
Christopher Pepper 14dcad6bbc LPC1768: Increase ADC median filter from 3 values to 23
Clarify the HAL_adc_get_result method to make sure correct values enter the filters

HAL: Fix the PID control loop for non-AVR platforms
2018-01-07 22:15:20 +00:00
Scott Lahteine 4af3d436b2 M303 pid autotune cleanup, commentary 2018-01-03 21:30:45 -06:00
Scott Lahteine 5e01ee8adf Temperature updates for parity with 1.1.x 2018-01-01 18:29:08 -06:00
Scott Lahteine cf2193c07f Comment, fix filament width sensor 2017-12-13 02:32:34 -06:00
Richard Wackerbarth c1184552ac Change K1 to required option PID_K1 2017-12-05 19:59:59 -06:00
Scott Lahteine 45c2388a58 Apply const to thermal_runaway_protection args 2017-12-01 19:42:44 -06:00
Unknown 33912fa7e8 Update Temperature::setPwmFrequency prototype to match source
Introduced with #8446
2017-11-20 01:50:41 -08:00
Bob-the-Kuhn c14000775b PWM fixes, slow down fan update
include LPC1768 syntax for M42

couple more pin_t changes

consistency

change M42 to R, P format

Revert "change M42 to R, P format"

This reverts commit 01f12f579ec9ccc1bb9126e68d2c86449e9b7edf.
2017-11-18 07:05:50 -06:00
Scott Lahteine 1ed86adf9c Cleanup around updatePID 2017-11-10 19:27:34 -06:00
Scott Lahteine 2f9e42feb9 M303 thermal runaway protection 2017-11-03 03:57:46 -05:00
Thomas Moore 325233b454 Fix automatic stepper assignment for X/Y/Z dual stepper drivers (#8130) 2017-10-28 19:45:07 -05:00
Roxy-3D 6cb26c98c8 Fix Baby Stepping on 32-Bit platforms (#8001)
Also, Max7219 debug code was used for this effort.   It has been
improved and hardened.
2017-10-16 16:29:37 -05:00
Scott Lahteine df0432c7c8 Move M155 to cpp, auto-report to Temperature 2017-09-21 16:26:56 -05:00
Scott Lahteine 71aefc2e22 Move heater output to Temperature class 2017-09-21 16:26:47 -05:00
Scott Lahteine 3d8a0ab4b2 Module updates 2017-09-21 16:26:42 -05:00
Scott Lahteine 0c9231fd04 Move 'module' files 2017-09-12 14:51:05 -05:00
Renamed from Marlin/temperature.h (Browse further)