304 Commits (67ca6c7bfe83f7bdf757b2842abe6d926e7cd721)

Author SHA1 Message Date
Scott Lahteine 3fd31976c3 Reduce code in stepper.cpp with macros 9 years ago
Scott Lahteine ff13070b59 Use _BV macros, patch up others 9 years ago
Scott Lahteine 373e8a1ad4 Fixes for COREXY and COREXZ coordinates 9 years ago
Naruto-kyun 2932602643 Update stepper.cpp
Forgot Z2_MIN_PIN
9 years ago
Richard Wackerbarth 7a670e3911 Improve planner & stepper PR #263 9 years ago
Scott Lahteine 644c376e84 Use binary OR with endstop bits 9 years ago
Scott Lahteine 9bdab4f3a8 Clean up "else" and other spacing 9 years ago
Scott Lahteine 0c7f7ebcfb Styling adjustments (PR#2668 & PR#2670)
Keep "astyled" reformatting
9 years ago
Scott Lahteine 9f462f0cf5 Hack to address stuttering caused by ISR not finishing in time
(PR #138)

When the ISR does not finish in time, the timer will
wrap in the computation of the next interrupt time.

This hack replaces the correct (past) time with a time not far in the future.
9 years ago
Christian Lefrançois a7822e3ff7 Some renaming of Z_PROBE to Z_MIN_PROBE (PR#91)
* Fix a couple of renames omission and macro expansion errors.
9 years ago
Richard Wackerbarth 29b456ae07 Suppress some compiler warnings 10 years ago
AnHardt e2d69f66b2 Make Z_PROBE a Z_MIN_PROBE (PR#65)
Currently we use the probe exclusively as a device to find the build platform(bed).
For the currently supported setups this means, we use it as a additional min-endstop.
A triggered when not deployed probe disturbs the homing process for max-endstops.

Rename ENDSTOPPULLUP_ZPROBE to ENDSTOPPULLUP_ZMIN_PROBE
Rename Z_PROBE_ENDSTOP_INVERTING to Z_MIN_PROBE_ENDSTOP_INVERTING
Rename Z_PROBE_ENDSTOP to Z_MIN_PROBE_ENDSTOP
Rename DISABLE_Z_PROBE_ENDSTOP to DISABLE_Z_MIN_PROBE_ENDSTOP
Rename Z_PROBE_REPEATABILITY_TEST to Z_MIN_PROBE_REPEATABILITY_TEST
Rename Z_PROBE_ENDSTOP to Z_MIN_PROBE_ENDSTOP
Adjust comments accordingly
Remove Z_MAX  check for the probe in update_endstops().

Using an delta related idea of @clefranc from #61,
extended to the general change for all setups.

Tested with Prusa i3, max-z-endstop and permanently triggered z-probe.
Worked for @clefranc's delta.
10 years ago
AnHardt 6a6e863a47 Resolve #2581 by adding a missed ';' (PR#67) 10 years ago
Scott Lahteine 46453905d6 Apply remaining ENABLED/DISABLED conditionals 10 years ago
Richard Wackerbarth 4b9d5cd352 Use lowercase names for serial instances 10 years ago
Scott Lahteine c35fb88094 Overridable Options - Part 8 (PR#2560)
Apply `ENABLED` / `DISABLED` macros to stepper-related files.
10 years ago
AnHardt 27d7d2ccab Correct bracketing for COREXY-XZ 10 years ago
Scott Lahteine 278aa15301 Add COUNT macro and apply 10 years ago
Scott Lahteine 000a6fce46 Extract update_endstops from stepper ISR (PR#2474) 10 years ago
Scott Lahteine 9f53e2f0c9 Implement COREXZ in stepper.cpp and planner.cpp 10 years ago
Richard Wackerbarth e83575537a Compiler defines USBCON for USB devices (PR#2433) 10 years ago
Scott Lahteine 87a872e103 Use st_get_position_mm where possible (PR#2411) 10 years ago
Scott Lahteine d135b15bb8 Init all endstop bits to 0 (PR#2332) 10 years ago
AnHardt 0d9d21d15f Add a semicolon to make Z_DUAL_STEPPER_DRIVERS compile again. 10 years ago
Wurstnase 9c09967803 Merge pull request #2149 from Wurstnase/enstop_bits
faster compare
10 years ago
wurstnase 0f3f7d6835 clean up double endstops 10 years ago
Scott Lahteine d76a01194d Slight size reduction by adding idle() 10 years ago
wurstnase 94120740d8 faster compare
!(~(ab)&0x3) and ab == 0x3 are equal
10 years ago
Scott Lahteine f919a2fed1 Merge pull request #2134 from AnHardt/preheat-all
Shift call of start_watching_heater() into setTargetHotend()
10 years ago
wurstnase ff98b8632b new endstop bits 10 years ago
AnHardt bc0764894a Shift call of start_watching_heater() into setTargetHotend()
to warrant watching is set or reset.

Make setTargetBed() in _lcd_preheat() dependant of TEMP_SENSOR_BED.
Use disable_all_heaters() in lcd_cooldown() and abort_on_endstop_hit.
10 years ago
wurstnase 21ff773832 rework out_bits 10 years ago
Scott Lahteine c54a2ea042 Adjust spacing in Marlin_main.cpp and stepper.* 10 years ago
Scott Lahteine 072625ccad Update headings in Marlin_main.cpp and stepper.cpp 10 years ago
Wurstnase 1d5677cc3b add missing Z-bits 10 years ago
Wurstnase df12e68e7d add missing Z_PROBE-bit 10 years ago
Wurstnase b55f32f8a1 replace some bools
this PR replaces some bools with one char. this will safe 3 bytes and should also be sometimes a little bit faster.
10 years ago
Wurstnase 073e4af7e2 We don't need the old standard one. The STEP_ADD and STEP_IF_COUNTER are also good for non-Toshiba stepper driver. 10 years ago
Wurstnase 79a44a9de3 stepper.cpp macros rework
delete some tabs
10 years ago
Chris Palmer 483384aaa4 Fixed faulty comment merge 10 years ago
Chris Palmer cc6b7cf3ce Fixed some comment spellings. 10 years ago
Chris Palmer e4595fa24a Fixed jump in speed when using high accelerations on axes with lots of steps.
I.e., when acceleration * steps per mm > 2,000,000.
This was done by changing MultiU24X24toH16 to take a 32b bit operand.
Removed the claim that stepper.cpp uses the Leib algorithm.
10 years ago
Scott Lahteine 53be0f3399 Babystep delay 2us 10 years ago
Scott Lahteine 7336e6df07 Always define old_z, not always z2 10 years ago
Scott Lahteine 5dd87d2e74 Enable all old_z_*_endstop vars for Z_DUAL_ENDSTOPS
- Potentially addressing #1911
10 years ago
Scott Lahteine ccddc280be Apply three more commits 10 years ago
Scott Lahteine 8857b9e921 Use the extruder argument in plan_buffer_line 10 years ago
Scott Lahteine d867c18535 Fix compile error with Z_DUAL_ENDSTOPS 10 years ago
Scott Lahteine b98ebd517e disable / enable_all_steppers functions 10 years ago
Scott Lahteine c0ca26cd50 Merge branch 'Development' into fixup_probing
Latest upstream commits
10 years ago
Scott Lahteine 0e8182bbf2 Additional pin tests, cleanup 10 years ago
Chris Roadfeldt a57862e29f Cleaning up code in prep for merge with upstream. 10 years ago
Chris Roadfeldt a508d835db Changed Z_PROBE_AND_ENDSTOP to Z_PROBE_ENDSTOP.
Updated documentation in Configuration.h.
Cleaned up and commented some code relating to Z_PROBE_ENDSTOP.
Separated Z_MIN_ENDSTOP and Z_PROBE_ENDSTOP completely.
10 years ago
Chris Roadfeldt 45ece5afb1 Merge remote-tracking branch 'MarlinFirmware/Development' into Development 10 years ago
Chris Roadfeldt 17707e7479 Fixed Z_PROBE_PIN pullup bug.
Documented some additional areas that should be addressed if Z_PROBE is
fully separated from Z_MIN or Z_MAX.
Fixed a documentation error in sanity checks. Servos start at 0 not 1.
10 years ago
Scott Lahteine 3348b3bf0c Allow SD_FINISHED_RELEASECOMMAND to be undefined 10 years ago
Chris Roadfeldt ec1d9c0b8f Use Z_PROBE_ENDSTOP_INVERTING when checking pin status. 10 years ago
Chris Roadfeldt e08f8eed05 Revert 06f767d..cba5692
This rolls back to commit 06f767d608.
10 years ago
Chris Roadfeldt cba5692673 Merge remote-tracking branch 'MarlinFirmware/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
10 years ago
Scott Lahteine baa6787393 Merge pull request #1740 from thinkyhead/fixup_homing
Apply leveling for DELTA
10 years ago
croadfeldt 06f767d608 Merge remote-tracking branch 'upstream/development' into development 10 years ago
Scott Lahteine d73b169de3 Apply leveling for DELTA,
- Fix `prepare_move` function not calling `adjust_delta`
- Add more shorthand for plan_buffer_line.
- Fix wrong `federate` usage, assuming they are all mm/m
- Minor `stepper.cpp` cleanup
10 years ago
AnHardt 2b959a7752 Some additional {} to make the compiler happy. 10 years ago
Chris Roadfeldt 324c14943b Bug fixes for Z_PROBE_AND_ENDSTOP.
Code cleanup for Z_PROBE_AND_ENDSTOP.
Added Z_PROBE_PIN to pins_RAMPS_13.h
10 years ago
Scott Lahteine afff968e88 ARRAY_BY_EXTRUDERS, shorthand to sync planner
- Add some documentation to planner and stepper headers
- Patch up RAMBO pins with undefs
- Add `sync_plan_position` inline to set current XYZE
- Swap indices in `extruder_offset` to fix initialization values
10 years ago
Chris Roadfeldt 92eb8109ab Fix declaration of old_z_probe_endstop. 10 years ago
Chris Roadfeldt 9f3ff14008 Enabled separate Z Probe and Z Axis endstop use at same time.
Typo fixes in comments in existing code.
10 years ago
Scott Lahteine ba871e46bf Fix compiler warnings
- Patched up for most included configurations
10 years ago
Scott Lahteine ffe0df4b36 Latest upstream commits 10 years ago
Scott Lahteine 55739a4efe Fix Z_APPLY_STEP 10 years ago
Scott Lahteine 19d418cd6a Fix up the code to eliminate warnings 10 years ago
Scott Lahteine 267d6bef15 Eliminate most warnings
- Fix a bug reading `code_value` for `M503 Sn`
- Hide and remove unused variables
10 years ago
alexborro 0ce3576685 New Feature: Z_DUAL_ENDSTOPS
Z_DUAL_ENDSTOPS is a feature to enable the use of 2 endstops for both Z
steppers - Let's call them Z stepper and Z2 stepper.
That way the machine is capable to align the bed during home, since both
Z steppers are homed.
There is also an implementation of M666 (software endstops adjustment)
to this feature.
After Z homing, this adjustment is applied to just one of the steppers
in order to align the bed.
One just need to home the Z axis and measure the distance difference
between both Z axis and apply the math: Z adjust = Z - Z2.
If the Z stepper axis is closer to the bed, the measure Z > Z2 (yes, it
is.. think about it) and the Z adjust would be positive.
Play a little bit with small adjustments (0.5mm) and check the
behaviour.
The M119 (endstops report) will start reporting the Z2 Endstop as well.
10 years ago
Scott Lahteine 34a41648ab Merge branch 'Development' into planner_oh_planner
Latest upstream commits
10 years ago
Scott Lahteine 582cd780cd Fix compile error with `*_DUAL_STEPPER_DRIVERS`
- Patch up macros in stepper.cpp
10 years ago
Scott Lahteine 13fbf42d95 Cleanup of planner code
- Use named axis indexes, `X_AXIS` etc.
- Replace `block.steps_A` with block.steps[A]`
- Replace `A_segment_time` with `segment_time[A]`
- Add `A_AXIS`, `B_AXIS` for `COREXY` axes
- Conditional compile based on `EXTRUDERS`
- Add BLOCK_MOD macro for planner block indexes
- Apply coding standards to `planner.h` and `planner.cpp`
- Small optimizations of planner code
- Update `stepper.cpp` for new `block` struct
- Replace `memcpy` with loops, let the compiler unroll them
- Make `movesplanned` into an inline function
10 years ago
Scott Lahteine 2176a22d42 Fix count_direction initializer
- Addressing #1625
10 years ago
alexborro e650d4044e Fix "Stop Print" function in the LCD menu
When one hit "Stop Print" option in LCD menu, the command buffer was not
cleared. The printer keep moving until the buffer has been emptied.
Actually I could not clear the command buffer as well.. I don't know
why, it doesnt work as expected.
I need to implement a routine inside Stepper ISR to handle such
situation.
10 years ago
wurstnase 05333f61b7 fix macro 10 years ago
alexborro cb676cdf39 Fix CoreXY homing bug introduced by PR #1606
The Check Endstop logic must be:

if (current_block->steps_x != current_block->steps_y || (TEST(out_bits,
X_AXIS) == TEST(out_bits, Y_AXIS)))
if (TEST(out_bits, X_HEAD))

not

if (TEST(out_bits, X_HEAD) && (current_block->steps_x !=
current_block->steps_y || (TEST(out_bits, X_AXIS) == TEST(out_bits,
Y_AXIS))))

Same applies for Y axis.
10 years ago
Scott Lahteine 4eabd80025 Fix babystep for extruder_duplication 10 years ago
Scott Lahteine c37f7d15c9 - Rename WRITE_E_STEP for consistency
- Add BIT and TEST macros
- Add _APPLY_ macros to stepper.cpp to help with consolidation
- Consolidate code in stepper.cpp using macros
- Apply standards in stepper.cpp
- Use >= 0 instead of > -1 as a better semantic
- Replace DUAL_Y_CARRIAGE with Y_DUAL_STEPPER_DRIVERS
10 years ago
domonoky d813090d90 Merge remote-tracking branch 'remotes/upstream/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
10 years ago
Scott Lahteine d085725c86 More sanity-checking for ABL
- Moved sanity-checks to Marlin_main.cpp
- Applied to other configuration files
- Fixed formatting of ABL output
- Passing verbose level to probe_pt
- Miscellaneous cleanup
- Put CONFIG_STEPPERS_TOSHIBA into Configuration.h
10 years ago
Scott Lahteine dfb38874f8 Some suggested changes for #1555 10 years ago
domonoky 4a7aca2736 Merge remote-tracking branch 'remotes/upstream/Development' into Development 10 years ago
alexborro 715104e477 Fix Endstop check for CoreXY bots.
The X_Axis could not home to min while Y_Max endstop was trigged.
10 years ago
domonoky 443e7edef4 - Add support for L6470 Drivers.
- Both TMC, L6470 and pin-driven drivers work.
- All can be mixed and matched as needed.
10 years ago
domonoky 5727cb3ed4 Cleanup TMC Stepper a bit. 10 years ago
domonoky 38500165ea First attempt at adding TMC Driver support. May need some cleanup. 10 years ago
domonoky b55995aae8 Introduce a layer of macro indirection to all stepper pins. This allows other stepper drivers to redefine them, so they can use SPI/I2C instead of direct pin manipulation. 10 years ago
daid 266ff227cf Merge pull request #1510 from docdawning/Development
Trivial spelling correction
10 years ago
DocDawning dfd4e74a5c Trivial spelling correction 10 years ago
alexborro afc737ca0c Fix CoreXY Homing Routine.
Fixed how stepper ISR figure it out when the head (extruder) is going to
Min or Max direction.
Added Homing to Max Endstops.
10 years ago
MagoKimbra 986e723eeb Add 4th extruder 10 years ago
Scott Lahteine 9040446780 Merge pull request #1395 from AnHardt/iss1394
removed function step_wait() from stepper.cpp
10 years ago
Scott Lahteine 15a00a5a7c Add 1µs delay in other appropriate spots 10 years ago
AnHardt 23cb899c5a removed function step_wait() from stepper.cpp
removed function step_wait() from stepper.cpp because its used nowhere.
10 years ago
Scott Lahteine d9d4a78e0f Add proper delay in stepper.cpp
Issue #1385 describes a delay that the compiler is optimizing out and
this solution.
10 years ago
Bo Herrmannsen edfcf3b527 Toshiba Stepper Driver support
Tosh stepper drivers need to be driven slower, so the stepper code
was interleaved to separate the pin HIGH from the pin LOW. This adds
enough instructions to make it work, without needing nops.
10 years ago
Scott Lahteine f989bd5435 Simple code cleanup. Rename "homeing" to homing. 10 years ago
daid 2acd3792fc Merge branch 'Marlin_v1' of github.com:ErikZalm/Marlin into Marlin_v1 11 years ago
daid 8b4c4aa5c3 Add feature to check&retry CRC read errors on SD. 11 years ago
Cameron Lai 97ead2eccb Fix for microstepping pin mapping, not using Teensy pin mapping, but Arduino's default pin mapping so Arduino library can be used 11 years ago
Cameron Lai d85411f13a Revert "Fix for stepper microstepping"
This reverts commit eea3ba5588.
11 years ago
Cameron Lai 7c7f2d094e Revert "Fix for reading microstepping resolution"
This reverts commit 2715f6ddbf.
11 years ago
Cameron Lai 2715f6ddbf Fix for reading microstepping resolution 11 years ago
Cameron Lai eea3ba5588 Fix for stepper microstepping 11 years ago
daid 380144c20f Add Ultiboard2 electronics. With PWM current settings. For the few people that have this new board as experiment in their UM-Original. 11 years ago
Erik van der Zalm 457d8a0acb Fixed merge conflicts 11 years ago
bkubicek b832f5b9f6 added delta tower babystepping. Its untested, but hopefully florian horsch will be able to try.
also, removed some trouble for compilation with corexy.
I think that babystepping is only possible in z for a delta tower.
not sure if it would be usefull to step individual motors on a delta, i don't own one
11 years ago
bkubicek d147a057ac Add the socalled "Babystepping" feature.
It is a realtime control over the head position via the LCD menu system that works _while_ printing.
Using it, one can e.g. tune the z-position in realtime, while printing the first layer.
Also, lost steps can be manually added/removed, but thats not the prime feature.
Stuff is placed into the Tune->Babystep *

It is not possible to have realtime control via gcode sending due to the buffering, so I did not include a gcode yet. However, it could be added, but it movements will not be realtime then.

Historically, a very similar thing was implemented for the "Kaamermaker" project, while Joris was babysitting his offspring, hence the name.

say goodby to fuddling around with the z-axis.
11 years ago
Alex Borro 253dfc4bc1 Bed Auto Leveling feature
Check the Readme for instruction how to enable and configure the feature
11 years ago
Richard Miles ed1ab42186 Added Y_DUAL_STEPPER_DRIVERS
Enables two stepper drivers to be used for the Y axis (useful for
Shapeoko style machines)
Each Y driver can be stepped in either the same way or in opposite
directions, accounting for different hardware setups (leadscrew vs. belt
driven)
11 years ago
Richard Miles f4a59e4ce5 Revert "Added Y_DUAL_STEPPER_DRIVERS"
This reverts commit 7ee275b620.
11 years ago
Richard Miles 7ee275b620 Added Y_DUAL_STEPPER_DRIVERS
Enables two stepper drivers to be used for the Y axis (useful for
Shapeoko style machines)
Each Y driver can be stepped either the same way or in opposite
directions, accounting for different hardware setups (leadscrew vs. belt
driven)
11 years ago
Robert F-C 9547fb9dfb Add duplication and auto-park mode for dual x-carriage support. 12 years ago
hg42@gmx.net 2ca983568d separate INVERTING for MIN and MAX endstops (6 #defines instead of 3) 12 years ago
Robert F-C d7390e13d9 Support dual x-carriage printers
Dual x-carriage designs offer some substantial improvements for dual
extruder printing.
12 years ago
Erik van der Zalm bd96d22bfb Merge branch 'Marlin_v1' into thinkyhead
Conflicts:
	Marlin/Configuration.h
	Marlin/Configuration_adv.h
	Marlin/Marlin.h
	Marlin/Marlin_main.cpp
	Marlin/Servo.cpp
	Marlin/language.h
	Marlin/pins.h
	Marlin/planner.cpp
	Marlin/ultralcd_implementation_hitachi_HD44780.h
	README.md
12 years ago
Erik van der Zalm ff6fa09ecf Moved corexy implementation from stepper to planner
(Thanks iquizzle)
12 years ago
Scott Lahteine 5dabc95409 Apply all changes from latest Marlin_V1
Diffed and merged, preserving my updates
12 years ago
Robert F-C 40eb07bad4 Revert and extend previous change pin check change
Reviert previous change of #if BLAH_PIN > 0 to #if defined(BLAH_PIN) &&
BLAH_PIN > -1. Unfortunately some times pin 0 is used. For my sins I've
gone through and replaced all unsafe checks of #if BLAH_PIN > -1 with
the safe version.
12 years ago
Scott Lahteine a200521eab Added CUSTOM_MENDEL_NAME option to Configuration.h and language.h
Also cosmetic comment changes and spelling corrections in printed
messages
12 years ago
Robert F-C 289c02eda4 Remove unnecessary pin initialization in stepper.cpp
(duplicates initialization in Marlin_main.cpp)
12 years ago
daid 92782f9252 Merge pull request #1 from illuminarti/Fix_E_Speed
Fix step rate bug (especially for retraction)
12 years ago
daid303 921273baa0 Added optional feature to stop printing when an endstop is hit. Made the Z display on the LCD in 3.2 format instead of 3.1. Added LCD message when and endstop is hit. 12 years ago
daid303 9b160972a1 Merge branch 'Marlin_v1' of github.com:ErikZalm/Marlin into Marlin_v1 12 years ago
daid303 e036750bdf Use the disable macros on initialization. Which fixes a bug when there is no pin defined for stepper enabled (motherboard 4) 12 years ago
Johann Rocholl 6cba11f087 Stop redefining MOTHERBOARD and #define AT90USB instead. Also put #ifndef AT90USB around the HardwareSerial_h trick, so now Printrboard / Brainwave support compiles on Arduino 1.0.2 as well. 12 years ago
daid303 4e26ecc940 The Partial release message (which does not really tell you anything) overwrites the final print time on the LCD, which is a real shame. So I removed the message. 12 years ago
daid303 6a9bee27cc Changed the naming of some LCD functions, so the names match better what the function does. Also moved around some prototypes for general cleanup. 12 years ago
daid303 94ea26ff46 Some minor changes on code style. And a bugfix where the counters for positioning in the stepper where wrong depending on compiler settings. (Caused strange values to reported back with M114 and endstop triggers). Also fixed compiling with FWRETRACT enabled. 12 years ago
daid303 97fa2a9c30 Few simple fixes that save RAM, as static strings are stored in RAM by default. 12 years ago
Erik vd Zalm dbbf050005 More rambo fixes 12 years ago
Erik vd Zalm f934d0ef5b Merge remote-tracking branch 'tonokip/Marlin_v1' into Marlin_v1
Conflicts:
	Marlin/Configuration.h
12 years ago
daid303 72586eb30a Solved few warnings. 12 years ago
tonokip 1c1fddc7ac Added support for the Rambo reprap electronics board. Added Mcodes to set
motor current and microstepping pins.
13 years ago
stohn de0448343f added KILL_PIN support / cleaned up manage_inactivity function definition 13 years ago
Enchiridion 50cde90324 Added support for dual Z axis stepper drivers 13 years ago
ErikZalm 686011a548 Fixed typo 13 years ago
Erik van der Zalm cd57bf305b Merge git://github.com/daid/Marlin into Marlin_v1
Added invert step pins to corexy code
13 years ago
Erik van der Zalm ea2c19f978 Added CoreXY support (Thanks Ilan Moyer) 13 years ago
Erik van der Zalm aa65fe22ed decoupled axes sucessfully at least on pure x or y jog 13 years ago
daid 12de8fff81 Support step motor controllers with active low step pins. 13 years ago
Erik van der Zalm b67dacdc8f Fixed AD595 define 13 years ago
Bernhard 0e5e249ab5 added individual pullup setting option to have finer control in case there is a special z-min sensor, for example 13 years ago
Erik van der Zalm 6a5a34e0ff Small cleanup 13 years ago
sefi c27081aa4a Fix to allow M120/M121 13 years ago
Erik van der Zalm 67cf105bc6 Fixed AUTOTEMP (M109 S215 B260 F1 starts autotemp)
Changed SLOWDOWN. IF this does not work ok OLD_SLOWDOWN is the old algo.
13 years ago