Commit Graph

86 Commits

Author SHA1 Message Date
11ac75edcb Use PGM_P for PSTR pointers (#11977) 2018-09-30 23:44:33 -05:00
d89d8fe852 Fix Busy State in temperature.cpp
Fix #11954
2018-09-29 17:03:35 -05:00
e4389f7d23 Standard methods to wait for heating (#11949) 2018-09-29 01:44:47 -05:00
1718eff54a Code changes supporting up to 6 extruders 2018-09-16 22:32:53 -05:00
b220a825a7 Fix raw_filwidth_value error 2018-09-12 04:31:55 -05:00
530a13ab6c [2.0.x] SECURITYFIX missing max temp error when PID is used (#11717) 2018-09-05 01:41:45 -05:00
c64199941e Compile only selected PIO environment (#11519) 2018-08-14 03:28:52 -05:00
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
22ebbc091f Tweak some SoftPWM code 2018-07-25 18:09:31 -05:00
1367df2875 Replace double with float, optimize calculation 2018-07-04 22:28:56 -05:00
3fd1f32b73 Fix ADC key and chamber temp 2018-06-10 20:11:40 -05:00
3701869e6c Add HAL_timer_start for AVR, use stepper timer to time pulses 2018-06-09 22:30:13 -05:00
853a9056ac Long thermistor tables need special consideration 2018-05-28 06:28:34 -05:00
1ce97f1f6d Faster (bisect) search in thermistor tables (#10883) 2018-05-27 23:27:51 -05:00
d557c84a71 [2.0.x] Error for FAST_PWM_FAN with 32 bit CPU (#10798) 2018-05-20 11:37:55 -05:00
569df3fc0c Fix interrupt-based endstop detection
- Also implemented real endstop reading on interrupt.
2018-05-20 07:10:24 -05:00
a11eb50a3e Refactor and optimize Stepper/Planner
Better encapsulation and considerably reduce stepper jitter
2018-05-20 06:23:58 -05:00
0566badcef Add memory barrier, optimal interrupt on-off
Disabling an ISR on ARM has 3 instructions of latency. A Memory barrier is REQUIRED to ensure proper and predictable disabling. Memory barriers are expensive, so avoid disabling if already disabled (See https://mcuoneclipse.com/2015/10/16/nvic-disabling-interrupts-on-arm-cortex-m-and-the-need-for-a-memory-barrier-instruction/)
2018-05-20 02:39:34 -05:00
e1d9046efc [2.0.x] Temperature reading fix (#10774) 2018-05-19 15:39:36 -05:00
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
083ec9963e Tweaks to heater / lcd conditions 2018-05-13 04:52:56 -05:00
8f8c6a9bc4 Move get_axis_position_mm to Planner (#10718) 2018-05-12 09:59:11 -05:00
a1062eec5b Better handling of DELAY_NS and DELAY_US (#10716)
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
2018-05-12 08:34:04 -05:00
f5aaa2d6c0 Fix some compiler warnings 2018-05-12 05:28:12 -05:00
625035a9ce Fix M301 access to lpq_len (#10714)
Co-Authored-By: Zwaubel
2018-05-12 02:13:40 -05:00
325bbbc8c2 [2.0.x] Enable AD595 and AD8495 in concert (#10693)
* Allow both AD595 and AD8495 in concert
* General temperature code tweaks
2018-05-11 01:01:51 -05:00
81b632c255 Additional temp-oriented improvements 2018-05-02 08:43:22 -05:00
e911635fb1 Add thermocouple with AD8495 support 2018-05-02 08:43:16 -05:00
5ac226aa93 Further cleanup of inline delays 2018-04-27 19:22:22 -05:00
2242b98248 [LPC176x] Emergency Parser Feature (#10516) 2018-04-25 06:44:26 -05:00
9789c1c719 Fix current_temperature_chamber compile error
Fix #10505
2018-04-24 07:55:58 -05:00
0c428a66d9 Proper AVR preemptive interrupt handling (#10496)
Also simplify logic on all ARM-based interrupts. Now, it is REQUIRED to properly configure interrupt priority. USART should have highest priority, followed by Stepper, and then all others.
2018-04-23 22:05:07 -05:00
cb46cb8480 Add HAS_HEATED_BED conditional (#10495) 2018-04-23 17:13:01 -05:00
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
1c36606886 Fix MSG_HEATING_FAILED_LCD_BED macro evaluation 2018-04-04 19:01:22 -05:00
8bc93c6f2b Improve heating/cooling LCD messages (#10293) 2018-04-04 18:29:27 -05:00
7cbbc2af7a [2.0.x] Optional heater signal inversion (#10260) 2018-04-02 19:37:41 -05:00
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
837ac2fdbd [2.0.x] Fix_Autotune_THERMAL_PROTECTION_BED_off (#10166)
- Fix Autotune Thermal Protection
- Make 2 constants in autotune configurable
2018-03-20 16:48:36 -05:00
c6ff39cc14 Spacing cleanup 2018-03-17 16:49:08 -05:00
ffbf63e6af Add HAS_TEMP_SENSOR conditional 2018-03-07 01:53:50 -06:00
649f375494 Fix: M112 calling kill from interrupt (#9923)
Fix #9906
2018-03-03 23:14:01 -06:00
83d7e95de0 Add MSG_THERMAL_RUNAWAY_BED (#9691) 2018-02-18 02:23:55 -06:00
e698998343 More reliable PROBING_HEATERS_OFF with BED_LIMIT_SWITCHING 2018-02-08 21:10:11 -06:00
b5e92f4f90 [2.0.x] Enable / disable PSU automatically (#9503) 2018-02-06 00:22:30 -06:00
2bea1bda56 Move more strings to PROGMEM 2018-01-24 00:06:06 -06:00
750cc02b3a Use delay() in serial temp report 2018-01-20 14:13:17 -06:00
a408209d24 More reliable temperature serial report? 2018-01-15 00:43:51 -06:00
f7efac57b7 Multi-host support 2018-01-10 00:14:47 -06:00
0e93506985 Fix for issue #9005, #8942 - Bed PID autotuning (#9036) 2018-01-04 03:26:14 -06:00