Commit graph

120 commits

Author SHA1 Message Date
etagle
a11eb50a3e Refactor and optimize Stepper/Planner
Better encapsulation and considerably reduce stepper jitter
2018-05-20 06:23:58 -05:00
etagle
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
Giuliano
e1d9046efc [2.0.x] Temperature reading fix (#10774) 2018-05-19 15:39:36 -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
083ec9963e Tweaks to heater / lcd conditions 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
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
Scott Lahteine
f5aaa2d6c0 Fix some compiler warnings 2018-05-12 05:28:12 -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
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
Scott Lahteine
81b632c255 Additional temp-oriented improvements 2018-05-02 08:43:22 -05:00
nightdemonx
e911635fb1 Add thermocouple with AD8495 support 2018-05-02 08:43:16 -05:00
Scott Lahteine
5ac226aa93 Further cleanup of inline delays 2018-04-27 19:22:22 -05:00
Chris Pepper
2242b98248 [LPC176x] Emergency Parser Feature (#10516) 2018-04-25 06:44:26 -05:00
Scott Lahteine
9789c1c719 Fix current_temperature_chamber compile error
Fix #10505
2018-04-24 07:55:58 -05:00
Eduardo José Tagle
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
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
Scott Lahteine
1c36606886 Fix MSG_HEATING_FAILED_LCD_BED macro evaluation 2018-04-04 19:01:22 -05:00
Marcio Teixeira
8bc93c6f2b Improve heating/cooling LCD messages (#10293) 2018-04-04 18:29:27 -05:00
Karl Andersson
7cbbc2af7a [2.0.x] Optional heater signal inversion (#10260) 2018-04-02 19:37:41 -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
AnHardt
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
Scott Lahteine
c6ff39cc14 Spacing cleanup 2018-03-17 16:49:08 -05:00
Scott Lahteine
ffbf63e6af Add HAS_TEMP_SENSOR conditional 2018-03-07 01:53:50 -06:00
Scott Lahteine
649f375494
Fix: M112 calling kill from interrupt (#9923)
Fix #9906
2018-03-03 23:14:01 -06:00
Scott Lahteine
83d7e95de0
Add MSG_THERMAL_RUNAWAY_BED (#9691) 2018-02-18 02:23:55 -06:00
Scott Lahteine
e698998343 More reliable PROBING_HEATERS_OFF with BED_LIMIT_SWITCHING 2018-02-08 21:10:11 -06:00
Scott Lahteine
b5e92f4f90
[2.0.x] Enable / disable PSU automatically (#9503) 2018-02-06 00:22:30 -06:00
Scott Lahteine
2bea1bda56 Move more strings to PROGMEM 2018-01-24 00:06:06 -06:00
Scott Lahteine
750cc02b3a
Use delay() in serial temp report 2018-01-20 14:13:17 -06:00
Scott Lahteine
a408209d24 More reliable temperature serial report? 2018-01-15 00:43:51 -06:00
Thomas Moore
f7efac57b7 Multi-host support 2018-01-10 00:14:47 -06:00
revilor
0e93506985 Fix for issue #9005, #8942 - Bed PID autotuning (#9036) 2018-01-04 03:26:14 -06: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
fdc5e72720 A single setting to validate filament width 2017-12-19 21:33:25 -06:00
Scott Lahteine
de5ca96654 More parity with 1.1.x, plus whitespace 2017-12-19 18:36:16 -06:00
Dave Johnson
0d531d9655 Missing HAS_HEAT_BED conditional
Fixes issue found in #8779
2017-12-15 11:33:37 -08:00
Scott Lahteine
cf2193c07f Comment, fix filament width sensor 2017-12-13 02:32:34 -06:00
Scott Lahteine
4fa65a5c25 TCNT0 => HAL_timer_get_current_count
Fix #8710
2017-12-08 22:35:28 -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
Scott Lahteine
27c5692b13 Syntax tweaks 2017-11-25 18:13:36 -06:00
Roxy-3D
d29cb646e3
Fix erroneous reference to temperature in time calculations
Travis is having problems at:  https://github.com/MarlinFirmware/Marlin/pull/8560   

So...   doing a direct commit to get things correct.   Bugfix_v1.1.x does not have this bug.  Nothing needs to be done to that branch.
2017-11-25 10:40:56 -06:00
Vitaliy Sapyanov
e2724c68ab Update pins_RURAMPS4D.h
Add and bugfix pins
2017-11-20 15:36:13 -06: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
Bob-the-Kuhn
7eea000f4b E0 auto fan fixes 2017-11-16 18:42:56 -06:00
Scott Lahteine
b2dda096fe Fix FILAMENT_LCD_DISPLAY for disabled state 2017-11-16 16:57:48 -06:00
RowanMeara
6131533157 Change dithering behavior to intended. 2017-11-14 00:47:07 -08:00
Scott Lahteine
91baca6abb Patches for compiler warnings/errors 2017-11-13 04:43:47 -06:00
Scott Lahteine
36426af564
Merge pull request #8356 from tcm0116/2.0.x-M600
[2.0.x] Normalize load/unload length in M600
2017-11-10 19:44:08 -06:00
Scott Lahteine
1ed86adf9c Cleanup around updatePID 2017-11-10 19:27:34 -06:00
Scott Lahteine
cba9c1cf9e Add pre-calculated planner.e_factor 2017-11-10 03:14:24 -06:00
Scott Lahteine
8fea26aa9d Fix PID_autotune watch temp increase value 2017-11-07 15:51:48 -06:00
Scott Lahteine
2f9e42feb9 M303 thermal runaway protection 2017-11-03 03:57:46 -05:00
Scott Lahteine
eae0aea1e0 Fix M303 thermal protection 2017-10-29 04:30:50 -05:00
Scott Lahteine
ca66574062 ADC sensor fix inspired by 'Evgen2' on Twitter 2017-10-14 02:28:13 -05:00
Thomas Moore
0cb00f52d9 Cleanup warnings 2017-09-30 16:47:17 -05:00
Phr3d13
10c1b442ca Fixes for Anet10 and gt2560
Fixes for 2 "... not declared in this scope" compiler errors.
2017-09-27 07:34:02 -05:00
Scott Lahteine
37eb6d1732 Babystepping code tweak 2017-09-26 23:43:05 -05:00
Dave Johnson
f58ba3a64e Improve AVR arch detection
Replace ARDUINO_ARCH_AVR with __AVR__ to better detect architecture for non-Arduino dev environments.  Resolves compile failure in PIO for 8-bit Teensduino targets

More info:
https://forum.pjrc.com/threads/33234-Using-Teensyduino-Selecting-Teensy-3-2-3-1-board-has-incorrect-platform-define
http://www.atmel.com/webdoc/avrlibcreferencemanual/using_tools_1using_avr_gcc_mach_opt.html
2017-09-23 21:36:40 -07:00
Scott Lahteine
2e20c53c9d Move endstop debug to Endstops 2017-09-21 16:27:11 -05:00
Scott Lahteine
a10451ceed Move Volumetric methods to Planner 2017-09-21 16:27:11 -05:00
Scott Lahteine
df0432c7c8 Move M155 to cpp, auto-report to Temperature 2017-09-21 16:26:56 -05:00
Scott Lahteine
9c21191f74 Rename SPI class to avoid conflict (good?) 2017-09-21 16:26:49 -05:00
Scott Lahteine
4f1eadf41f FILAMENT_WIDTH_SENSOR feature 2017-09-21 16:26:48 -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.cpp (Browse further)