424 Commits (a31e32969f8c16986a568a87168628b3c3ca069e)

Author SHA1 Message Date
Scott Lahteine e44294bb4d Make HOTEND_LOOP more consistent, let compiler optimize it 8 years ago
Bob-the-Kuhn 0369f97ec1 guaranteed BLTouch detection
To guarantee that the 5mS pulse from a BLTouch is recognized you need to
have the endstops.update() routine run twice in that 5mS period.

At 200 steps per mm, my system has problems  below a feedrate of 120 mm
per minute.

Two things were done to guarantee the two updates within 5mS:
1) In interrupt mode, a check was added to the temperature ISR.  If the
endstop interrupt flag/counter is active then it'll kick off the endstop
update routine every 1mS until the flag/counter is zero.  This
flag/counter is decremented by the temperature ISR AND by the stepper
ISR.

2) In poling mode, code was added to the stepper ISR that will make sure
the ISR runs about every 1.5mS.  The "extra" ISR runs only check the
endstops.  This was done by grabbing the intended ISR delay and, if it's
over 2.0mS, splitting the intended delay into multiple smaller delays.
The first delay can be up to 2.0mS, the next ones 1.5mS (as needed) and
the last no less than 0.5mS.

=========================================

BLTouch error state recovery

If BLTouch already active when deploying the probe then try to reset it
& clear the probe.

If that doesn't fix it then declare an error.

Also added BLTouch init routine to startup section
8 years ago
esenapaj 069c6b38dd Remove unnecessary tabs and spaces 8 years ago
Sebastianv650 912704a0d8 Enable ISRs inside temperature ISR
to capture chars at UART at 250000 baud.
8 years ago
Scott Lahteine 00662b8635 Minor babystep cleanup patches 8 years ago
Scott Lahteine 24f6612551 Reduce and optimize endstop_monitor code 8 years ago
Bob-the-Kuhn c7f1f0dae6 Add endstop monitor & make pins report pretty 8 years ago
Scott Lahteine 9cbedab91b Use DPM where possible 8 years ago
Scott Lahteine b6aa894893 Rename auto fan pins and add auto fan flags 8 years ago
Benoit Miller 2aa12d78dc Only issue MAXTEMP when heating 8 years ago
esenapaj 70e287ca8c Extend measuring range of thermocouple for MAX31855 8 years ago
Scott Lahteine f888597197 Reduce, clean up code for mintemp/maxtemp tests 8 years ago
Scott Lahteine ad64723354 Move MAX_EXTRUDERS to pins.h 8 years ago
esenapaj 385bd8a4a3 Fix freezing and MINTEMP Error with MAX31855 thermocouple 8 years ago
Scott Lahteine d41f2bdbd8 Merge pull request #4991 from thinkyhead/rc_max31855_fix
Patches for Stepper DAC and MAX31855
8 years ago
Scott Lahteine 149b8d9e4b Handle MAX31855 error conditions 8 years ago
Scott Lahteine 1e551c0688 Revert "Squashed - Removal of PID functional range" 8 years ago
Scott Lahteine 3752d9aca8 Fix timer comments 8 years ago
Scott Lahteine 00261cbfcb Merge pull request #4933 from thinkyhead/rc_drop_pid_func_range
Squashed - Removal of PID functional range
8 years ago
Scott Lahteine c63cb45268 Fix thermal runaway timeout 8 years ago
Scott Lahteine d80a79eb77 Use right-shift instead of / 2, why not? 8 years ago
Rerouter 02fe9cf558 Removal of functional range constraint
Also lined up the >> 1 and / 2 mentioned earlier in the unconstrained I term issue,
8 years ago
Scott Lahteine 761593b74b Cleanup some vars, use of min/max 8 years ago
Rerouter 1a2f1d4974 Update temperature.cpp 8 years ago
Scott Lahteine 16461900c2 Fix for HEATERS_PARALLEL 8 years ago
Scott Lahteine 076f3a8284 unsigned char => uint8_t 8 years ago
Scott Lahteine 6ac9d895ca Tweak Filament Width variables 8 years ago
Scott Lahteine e9bfca5870 Additional comments for Temperature::isr 8 years ago
Scott Lahteine 37ac540a26 Fix unsigned/signed comparison in fanPin loop 8 years ago
Scott Lahteine 27b80b1dd1 Merge pull request #4667 from thinkyhead/rc_M211_sw_endstop_switch
M211: Enable/Disable Software Endstops
8 years ago
Scott Lahteine 2f223b8c79 Use ABC and XYZ for "3" 8 years ago
Scott Lahteine 01d4703429 PREVENT_DANGEROUS_EXTRUDE => PREVENT_COLD_EXTRUSION
Also improve the documentation of this and related options, and set
EXTRUDE_MINTEMP to 170 everywhere.
8 years ago
Scott Lahteine 3a0a94b21a Always init configured fan pins 8 years ago
Scott Lahteine c63003ed3e Use matching auto-fan flags 8 years ago
Scott Lahteine 3475fd7b0f Init PWM-able auto fan pins with `SET_OUTPUT` 8 years ago
Scott Lahteine abf9696db1 Loop fan-pins based on array size 8 years ago
Scott Lahteine e88575c8ec Init next_auto_fan_check_ms to zero 8 years ago
Scott Lahteine b63d70b186 Fix serial output for MBL, M303 8 years ago
Scott Lahteine b7b5b50a84 Throw bed min temp error only if heating 8 years ago
Scott Lahteine d3ba878f70 Drop intermediate float in HEATER_0_USES_MAX6675 test 8 years ago
Scott Lahteine 3e8f9ecd1c Extend min/max_temp_error for the bed 8 years ago
AnHardt aa9b52b2e7 MISO is an input 8 years ago
AnHardt 9ab94bd2c1 fix-babysrepping 9 years ago
Scott Lahteine 63fd1f49a6 PID_EXTRUSION_SCALING, disabled by default 9 years ago
AnHardt e4942d2163 Switch SD2cadrLib to fastio
Replace all fastDigitalRead/Write() with READ/WRITE()

Define SCK_PIN, MISO_PIN, MOSI_PIN in pins.h if not already defined in the pins_*.h files.

Remove these conditional pin definitions from the pin-files. They are now always defined.

Define separate sets of SPI-pins for AT90USB with and without Teensy support in fastio.h.
Likely this was the main reason for all that confusion about the AT90USB-SPI pins.
9 years ago
Scott Lahteine 2d378fac1b No need to include thermistortables.h in Configuration.h 9 years ago
Scott Lahteine d8f2876753 Replace some float division with multiplication 9 years ago
Scott Lahteine f8b5749235 Replace division in planner with multiplication 9 years ago
João Brázio 3ebad4e020 Moves all global enums to a central file 9 years ago
esenapaj c2c8ab4698 Follow-up the PR #4278 (Fixups for PID_ADD_EXTRUSION_RATE and HOTENDS==1) 9 years ago
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