Commit Graph

129 Commits

Author SHA1 Message Date
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
2015-03-20 20:42:49 -07:00
Scott Lahteine
2176a22d42 Fix count_direction initializer
- Addressing #1625
2015-03-20 05:45:05 -07:00
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.
2015-03-19 14:16:18 -03:00
wurstnase
05333f61b7 fix macro 2015-03-17 12:50:44 +01:00
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.
2015-03-16 16:31:25 -03:00
Scott Lahteine
4eabd80025 Fix babystep for extruder_duplication 2015-03-14 18:31:25 -07:00
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
2015-03-14 04:28:22 -07:00
domonoky
d813090d90 Merge remote-tracking branch 'remotes/upstream/Development' into Development
Conflicts:
	Marlin/Marlin_main.cpp
	Marlin/stepper.cpp
2015-03-10 10:46:37 +01:00
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
2015-03-06 22:14:34 -08:00
Scott Lahteine
dfb38874f8 Some suggested changes for #1555 2015-03-03 00:48:20 -08:00
domonoky
4a7aca2736 Merge remote-tracking branch 'remotes/upstream/Development' into Development 2015-03-02 17:52:12 +01:00
alexborro
715104e477 Fix Endstop check for CoreXY bots.
The X_Axis could not home to min while Y_Max endstop was trigged.
2015-03-02 13:36:58 -03:00
domonoky
443e7edef4 - Add support for L6470 Drivers.
- Both TMC, L6470 and pin-driven drivers work.
- All can be mixed and matched as needed.
2015-02-27 12:43:23 +01:00
domonoky
5727cb3ed4 Cleanup TMC Stepper a bit. 2015-02-26 12:57:46 +01:00
domonoky
38500165ea First attempt at adding TMC Driver support. May need some cleanup. 2015-02-23 17:45:29 +01:00
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. 2015-02-23 16:12:35 +01:00
daid
266ff227cf Merge pull request #1510 from docdawning/Development
Trivial spelling correction
2015-02-17 20:59:32 +01:00
DocDawning
dfd4e74a5c Trivial spelling correction 2015-02-17 12:37:05 -07:00
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.
2015-02-13 14:38:05 -02:00
MagoKimbra
986e723eeb Add 4th extruder 2015-01-24 13:37:58 +01:00
Scott Lahteine
9040446780 Merge pull request #1395 from AnHardt/iss1394
removed function step_wait() from stepper.cpp
2015-01-23 06:58:10 -08:00
Scott Lahteine
15a00a5a7c Add 1µs delay in other appropriate spots 2015-01-23 03:24:45 -08:00
AnHardt
23cb899c5a removed function step_wait() from stepper.cpp
removed function step_wait() from stepper.cpp because its used nowhere.
2015-01-21 16:30:45 +01:00
Scott Lahteine
d9d4a78e0f Add proper delay in stepper.cpp
Issue #1385 describes a delay that the compiler is optimizing out and
this solution.
2015-01-21 01:51:29 -08:00
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.
2014-12-03 15:01:52 +01:00
Scott Lahteine
f989bd5435 Simple code cleanup. Rename "homeing" to homing. 2014-10-05 13:20:53 -07:00
daid
2acd3792fc Merge branch 'Marlin_v1' of github.com:ErikZalm/Marlin into Marlin_v1 2014-05-01 12:03:47 +02:00
daid
8b4c4aa5c3 Add feature to check&retry CRC read errors on SD. 2014-05-01 12:03:41 +02:00
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 2014-04-25 12:57:11 +08:00
Cameron Lai
d85411f13a Revert "Fix for stepper microstepping"
This reverts commit eea3ba5588.
2014-04-25 12:41:56 +08:00
Cameron Lai
7c7f2d094e Revert "Fix for reading microstepping resolution"
This reverts commit 2715f6ddbf.
2014-04-25 12:41:48 +08:00
Cameron Lai
2715f6ddbf Fix for reading microstepping resolution 2014-04-24 17:48:33 +08:00
Cameron Lai
eea3ba5588 Fix for stepper microstepping 2014-04-24 12:56:06 +08:00
daid
380144c20f Add Ultiboard2 electronics. With PWM current settings. For the few people that have this new board as experiment in their UM-Original. 2014-01-06 11:05:02 +01:00
Erik van der Zalm
457d8a0acb Fixed merge conflicts 2013-10-20 09:50:27 +02:00
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
2013-10-07 09:14:04 +02:00
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.
2013-10-06 21:14:51 +02:00
Alex Borro
253dfc4bc1 Bed Auto Leveling feature
Check the Readme for instruction how to enable and configure the feature
2013-09-29 13:20:06 -03:00
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)
2013-09-17 19:19:20 +01:00
Richard Miles
f4a59e4ce5 Revert "Added Y_DUAL_STEPPER_DRIVERS"
This reverts commit 7ee275b620.
2013-09-17 19:05:49 +01:00
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)
2013-09-17 19:02:00 +01:00
Robert F-C
9547fb9dfb Add duplication and auto-park mode for dual x-carriage support. 2013-08-08 00:10:26 +10:00
hg42@gmx.net
2ca983568d separate INVERTING for MIN and MAX endstops (6 #defines instead of 3) 2013-08-01 15:06:39 +02:00
Robert F-C
d7390e13d9 Support dual x-carriage printers
Dual x-carriage designs offer some substantial improvements for dual
extruder printing.
2013-07-17 22:44:45 +10:00
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
2013-06-09 22:26:47 +02:00
Erik van der Zalm
ff6fa09ecf Moved corexy implementation from stepper to planner
(Thanks iquizzle)
2013-06-09 13:10:06 +02:00
Scott Lahteine
5dabc95409 Apply all changes from latest Marlin_V1
Diffed and merged, preserving my updates
2013-06-06 15:49:25 -07:00
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.
2013-05-22 21:33:23 +10:00
Scott Lahteine
a200521eab Added CUSTOM_MENDEL_NAME option to Configuration.h and language.h
Also cosmetic comment changes and spelling corrections in printed
messages
2013-05-02 09:22:58 -07:00
Robert F-C
289c02eda4 Remove unnecessary pin initialization in stepper.cpp
(duplicates initialization in Marlin_main.cpp)
2013-04-30 01:11:23 +10:00