Marlin_Firmware/Marlin
AnHardt f3eee02596 Introduce endstop interrupts
If ENDSTOP_INTERRUPTS_FEATURE is enabled this tries to set up interrupt routines
for all used endstop pins. If this worked without errors, `endstops.update()` is called
only if one of the endstops changed its state.

The new interrupt routines do not really check the endstops and react upon them. All what they
do, is to set a flag if it makes sense to call the endstop test we are used to.

This can be used on:
* ARM (DUE) based boards - all pins can raise interrupts,
* RAMPS - all 6 endstop pins plus some other on EXT-2 can raise interrupts,
* RAMPS based boards - as long the designers did not change the pins for the endstops or at least left enough,
* all boards, if there are enough pins that can raise interrupts, and you are willing/able to swap with pins dedicated to other purpose.
2016-11-15 12:07:41 +01:00
..
example_configurations Introduce endstop interrupts 2016-11-15 12:07:41 +01:00
blinkm.cpp
blinkm.h
boards.h Update boards.h 2016-11-12 12:24:47 +01:00
buzzer.h fixed warning: ISO C++ forbids compound-literals 2016-10-22 11:23:16 -05:00
cardreader.cpp Add a ZERO macro to clear arrays 2016-10-22 10:07:18 -05:00
cardreader.h Fix bug in CardReader::stopSDPrint 2016-08-12 03:21:10 -07:00
circularqueue.h Patch up CircularQueue 2016-08-02 18:57:15 -07:00
Conditionals_LCD.h Fix BLTOUCH string and SERVO_DELAY 2016-09-21 01:45:23 -05:00
Conditionals_post.h Extended capabilities report in M115 2016-11-09 02:32:58 -06:00
Conditionals.h Make Conditionals.h a catch-all for old configs 2016-07-30 04:25:30 -07:00
Configuration_adv.h Merge pull request #5188 from thinkyhead/rc_extended_host_support 2016-11-12 15:38:06 -06:00
configuration_store.cpp Make LCD preheat vars an array to reduce code size 2016-10-28 20:57:36 -05:00
configuration_store.h Print error for M500 with disabled EEPROM 2016-10-28 18:53:48 -05:00
Configuration.h Introduce endstop interrupts 2016-11-15 12:07:41 +01:00
dac_mcp4728.cpp Fix DAC current code 2016-10-17 15:17:57 -05:00
dac_mcp4728.h Fix DAC current code 2016-10-17 15:17:57 -05:00
digipot_mcp4451.cpp Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
dogm_bitmaps.h Updates u8glib's bmp2hex converter 2016-07-19 03:16:30 +01:00
dogm_font_data_6x9_marlin.h
dogm_font_data_HD44780_C.h
dogm_font_data_HD44780_J.h
dogm_font_data_HD44780_W.h
dogm_font_data_ISO10646_1_tr.h Add Turkish Language 2016-11-05 21:06:16 -05:00
dogm_font_data_ISO10646_1.h
dogm_font_data_ISO10646_5_Cyrillic.h
dogm_font_data_ISO10646_CN.h
dogm_font_data_ISO10646_Greek.h
dogm_font_data_ISO10646_Kana.h
dogm_font_data_Marlin_symbols.h
duration_t.h Handle hours >= 100 2016-09-01 23:54:48 -05:00
endstop_interrupts.h Introduce endstop interrupts 2016-11-15 12:07:41 +01:00
endstops.cpp const arguments to test_dual_z_endstops 2016-10-29 16:01:27 -05:00
endstops.h const arguments to test_dual_z_endstops 2016-10-29 16:01:27 -05:00
enum.h Make dual_x_carriage_mode an enumeration 2016-11-02 21:38:49 -05:00
fastio.h Merge pull request #4894 from thinkyhead/rc_mightyboard_rev_e 2016-10-31 08:01:41 -05:00
language_an.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_bg.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_ca.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_cn.h Follow up the PR #5167 (Add Turkish Language), etc 2016-11-06 23:59:02 +09:00
language_cz.h Translated BLTOUCH and DAC strings 2016-10-22 19:12:21 +02:00
language_da.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_de.h Correct grammar and translation in language_de.h 2016-10-19 14:56:46 +02:00
language_el-gr.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_el.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_en.h Move DAC section from inside of the changing filament section 2016-10-10 01:17:46 +09:00
language_es.h Follow up the PR #5167 (Add Turkish Language), etc 2016-11-06 23:59:02 +09:00
language_eu.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_fi.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_fr.h Fix for the PR #5066 (Updated french translation) 2016-10-23 06:09:56 +09:00
language_gl.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_hr.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_it.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_kana_utf8.h Update Japanese translation 2016-10-10 01:52:51 +09:00
language_kana.h Update Japanese translation 2016-10-10 01:52:51 +09:00
language_nl.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_pl.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_pt_utf8.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_pt-br_utf8.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_pt-br.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_pt.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_ru.h max_jerk array, DEFAULT_XYJERK => DEFAULT_[XY]JERK 2016-10-02 06:34:56 -05:00
language_test.h Keep SIMULATE_ROMFONT only language.h 2016-08-15 19:11:31 -07:00
language_tr.h Update Turkish translation 2016-11-07 04:59:18 +09:00
language.h Extended capabilities report in M115 2016-11-09 02:32:58 -06:00
M100_Free_Mem_Chk.cpp
macros.h Store Mix factors as reciprocals and multiply 2016-11-12 15:19:18 -06:00
Makefile Additional path - followup to #4743 2016-09-07 15:08:12 -05:00
Marlin_main.cpp Introduce endstop interrupts 2016-11-15 12:07:41 +01:00
Marlin.h Centralize click-handling in the LCD loop 2016-10-28 20:57:21 -05:00
Marlin.ino Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
MarlinConfig.h Merge pull request #4419 from AnHardt/sd2pinmap 2016-07-28 17:38:46 -07:00
MarlinSerial.cpp Centralize click-handling in the LCD loop 2016-10-28 20:57:21 -05:00
MarlinSerial.h Optimize, reduce size of MarlinSerial 2016-08-19 16:53:20 -05:00
mesh_bed_leveling.cpp Add a ZERO macro to clear arrays 2016-10-22 10:07:18 -05:00
mesh_bed_leveling.h Save CPU by multiplying by pre-compiled values 2016-08-06 23:24:07 -07:00
nozzle.h Nozzle::clean() no longer requires HAS_BED_PROBE 2016-07-19 15:07:02 -07:00
pins_3DRAG.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_5DPRINT.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_99.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_A4JP.h No FAN0_PIN 2016-10-31 08:08:03 -05:00
pins_AZTEEG_X1.h
pins_AZTEEG_X3_PRO.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_AZTEEG_X3.h Follow-up the PR #5087 (Fixed SERVO pins on Azteeg X3), etc 2016-10-27 06:46:03 +09:00
pins_BAM_DICE_DUE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_BQ_ZUM_MEGA_3D.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_BRAINWAVE_PRO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_BRAINWAVE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_CHEAPTRONIC.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_CNCONTROLS_11.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_CNCONTROLS_12.h Predefine auto fan pins in some pins files 2016-10-26 18:38:32 -05:00
pins_ELEFU_3.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_FELIX2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN3_MONOLITHIC.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN3_PLUS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN6_DELUXE.h
pins_GEN6.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN7_12.h Label analog pins in a similar way 2016-10-05 06:13:30 -05:00
pins_GEN7_13.h
pins_GEN7_14.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_GEN7_CUSTOM.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_K8200.h
pins_K8400.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_LEAPFROG.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGACONTROLLER.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGATRONICS_2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MEGATRONICS_3.h Update pins_MEGATRONICS_3.h 2016-11-12 12:26:07 +01:00
pins_MEGATRONICS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MELZI_MAKR3D.h
pins_MELZI.h
pins_MIGHTYBOARD_REVE.h Developer note in pins_MIGHTYBOARD_REVE.h 2016-10-31 08:22:39 -05:00
pins_MINIRAMBO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MINITRONICS.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MKS_13.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_MKS_BASE.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_OMCA_A.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_OMCA.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_PRINTRBOARD_REVF.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_PRINTRBOARD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMBO.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMPS_13.h pins_RAMPS_14.h => pins_RAMPS.h 2016-07-30 04:17:21 -07:00
pins_RAMPS_OLD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RAMPS.h Follow-up the PR #5087 (Fixed SERVO pins on Azteeg X3), etc 2016-10-27 06:46:03 +09:00
pins_RIGIDBOARD_V2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RIGIDBOARD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_RUMBA.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SAINSMART_2IN1.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SANGUINOLOLU_11.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SANGUINOLOLU_12.h
pins_SAV_MKI.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_SETHI.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_STB_11.h
pins_TEENSY2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_TEENSYLU.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAIN_2.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAKER_OLD.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins_ULTIMAKER.h Follow-up the PR #4955, etc 2016-10-10 14:22:43 +09:00
pins.h Update pins.h 2016-11-12 12:25:45 +01:00
pinsDebug.h Follow-up the PR #5133 (M355 Case light) 2016-11-02 00:31:50 +09:00
planner_bezier.cpp Improve planner kinematics, fix delta ABL 2016-10-09 13:32:46 -05:00
planner_bezier.h Append units to feedrate variables 2016-07-17 13:29:41 -07:00
planner.cpp Store Mix factors as reciprocals and multiply 2016-11-12 15:19:18 -06:00
planner.h BugFix for incorrect E-speed calculation 2016-11-01 08:08:47 +01:00
platformio.ini Move platformio directories out of source tree 2016-10-08 13:45:26 -04:00
point_t.h Adds missing documentation to the point_t structure 2016-07-22 15:19:20 +01:00
printcounter.cpp Renamed timestamp_t to duration_t 2016-07-24 03:16:02 +01:00
printcounter.h Adds filamentUsed and longestPrint stats to PrintCounter 2016-07-16 12:12:27 +01:00
qr_solve.cpp Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
qr_solve.h Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
SanityCheck.h Sanity check that auto fan pins can do PWM 2016-10-26 18:38:32 -05:00
Sd2Card.cpp Use fastio for literal pins 2016-09-25 06:33:38 -05:00
Sd2Card.h repair-software-spi 2016-07-31 15:50:42 +02:00
SdBaseFile.cpp Clear dir_t size, not pointer size 2016-10-25 22:59:40 -05:00
SdBaseFile.h
SdFatConfig.h repair-software-spi 2016-07-31 15:50:42 +02:00
SdFatStructs.h
SdFatUtil.cpp
SdFatUtil.h Cleanup SdFatUtil.h 2016-08-11 12:47:06 -07:00
SdFile.cpp
SdFile.h
SdInfo.h
SdVolume.cpp
SdVolume.h
servo.cpp Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
servo.h
speed_lookuptable.h
stepper_dac.cpp DAC patches 2016-10-10 14:08:04 -05:00
stepper_dac.h Cleanup of code style 2016-10-07 15:57:24 -05:00
stepper_indirection.cpp Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
stepper_indirection.h Unify config in a single include without nested includes 2016-07-25 23:04:19 -07:00
stepper.cpp Introduce endstop interrupts 2016-11-15 12:07:41 +01:00
stepper.h Minor babystep cleanup patches 2016-11-03 23:31:45 -05:00
stopwatch.cpp Updates Stopwatch class to use internal state enum 2016-07-19 14:30:44 +01:00
stopwatch.h Updates Stopwatch class to use internal state enum 2016-07-19 14:30:44 +01:00
temperature.cpp Minor babystep cleanup patches 2016-11-03 23:31:45 -05:00
temperature.h Minor babystep cleanup patches 2016-11-03 23:31:45 -05:00
thermistornames.h
thermistortables.h
twibus.cpp Allow send to i2c address 0 (broadcast) 2016-11-08 17:54:55 -06:00
twibus.h M155=>M260, M156=>M261 2016-11-08 17:54:54 -06:00
types.h Adds types.h 2016-07-30 02:55:52 +01:00
ultralcd_impl_DOGM.h Add Turkish Language 2016-11-05 21:06:16 -05:00
ultralcd_impl_HD44780.h Merge pull request #4894 from thinkyhead/rc_mightyboard_rev_e 2016-10-31 08:01:41 -05:00
ultralcd_st7920_u8glib_rrd.h
ultralcd.cpp Give instant feedback for filament change 2016-11-07 03:48:16 -06:00
ultralcd.h Reduce code for invariant lcd_detected 2016-11-03 23:31:45 -05:00
utf_mapper.h Make MAPPER_NON the fall back mapper 2016-07-12 19:59:14 +02:00
utility.cpp Move number-to-string function to utility.* 2016-08-20 18:33:11 -05:00
utility.h Move number-to-string function to utility.* 2016-08-20 18:33:11 -05:00
vector_3.cpp Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
vector_3.h Enable ABL by type, support bilinear on cartesian 2016-09-25 23:35:37 -05:00
Version.h Update distribution date and readme 2016-07-30 21:27:29 +09:00
watchdog.cpp
watchdog.h