Commit graph

173 commits

Author SHA1 Message Date
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
daid 92782f9252 Merge pull request #1 from illuminarti/Fix_E_Speed
Fix step rate bug (especially for retraction)
2013-03-15 09:07:34 +01:00
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. 2013-01-08 11:53:18 +01:00
daid303 9b160972a1 Merge branch 'Marlin_v1' of github.com:ErikZalm/Marlin into Marlin_v1 2012-12-09 23:46:42 +01:00
daid303 e036750bdf Use the disable macros on initialization. Which fixes a bug when there is no pin defined for stepper enabled (motherboard 4) 2012-12-09 23:46:25 +01:00
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. 2012-12-09 01:32:09 -08:00
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. 2012-12-05 19:32:26 +01:00
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. 2012-12-03 12:52:00 +01:00
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. 2012-12-03 12:13:20 +01:00
daid303 97fa2a9c30 Few simple fixes that save RAM, as static strings are stored in RAM by default. 2012-11-28 10:30:34 +01:00
Erik vd Zalm dbbf050005 More rambo fixes 2012-11-21 20:53:56 +01:00
Erik vd Zalm f934d0ef5b Merge remote-tracking branch 'tonokip/Marlin_v1' into Marlin_v1
Conflicts:
	Marlin/Configuration.h
2012-11-21 20:36:30 +01:00
daid303 72586eb30a Solved few warnings. 2012-11-12 09:29:12 +01:00
tonokip 1c1fddc7ac Added support for the Rambo reprap electronics board. Added Mcodes to set
motor current and microstepping pins.
2012-08-30 00:16:57 -07:00
stohn de0448343f added KILL_PIN support / cleaned up manage_inactivity function definition 2012-08-21 14:48:29 +02:00
Enchiridion 50cde90324 Added support for dual Z axis stepper drivers 2012-08-04 00:32:26 -06:00
ErikZalm 686011a548 Fixed typo 2012-07-14 17:25:35 +03:00
Erik van der Zalm cd57bf305b Merge git://github.com/daid/Marlin into Marlin_v1
Added invert step pins to corexy code
2012-07-14 15:07:14 +02:00
Erik van der Zalm ea2c19f978 Added CoreXY support (Thanks Ilan Moyer) 2012-07-14 14:21:53 +02:00
Erik van der Zalm aa65fe22ed decoupled axes sucessfully at least on pure x or y jog 2012-07-14 13:43:19 +02:00
daid 12de8fff81 Support step motor controllers with active low step pins. 2012-06-29 16:27:47 +02:00
Erik van der Zalm b67dacdc8f Fixed AD595 define 2012-06-11 17:33:42 +02:00
Bernhard 0e5e249ab5 added individual pullup setting option to have finer control in case there is a special z-min sensor, for example 2012-06-02 13:47:50 +02:00
Erik van der Zalm 6a5a34e0ff Small cleanup 2012-04-30 13:37:49 +02:00
sefi c27081aa4a Fix to allow M120/M121 2012-04-28 17:35:51 +03:00
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.
2012-04-15 19:17:33 +02:00
Erik van der Zalm 910f4e77a2 Added 20MHz support. 2012-03-11 12:25:04 +01:00
ErikZalm 7cefad3744 Merge pull request #106 from bgamari/Marlin_v1
Make F_CPU dependence of stepper.cpp more explicit
2012-03-11 01:48:30 -08:00
Erik van der Zalm 87ff2f8867 Added CONTROLLERFAN. (Controlling a fan to cool down the steppper drivers) 2012-03-11 10:44:10 +01:00
Ben Gamari 96509494f0 stepper: Clarify comment on timer-counter configuration 2012-03-07 18:11:01 -05:00
Erik van der Zalm aac7aa3bf0 Queued fan control. Issue #90 2012-03-04 13:05:26 +01:00
Erik van der Zalm 072011a3ef Added current_block = NULL to quickStop() 2012-03-03 20:40:46 +01:00
Blair Thompson 046a8e0039 Added more defines to the language.h file so that nowe most of the text strings are now configured via this file. Still got some hunting down to do to complete this task. 2012-03-03 15:51:47 +00:00
Erik van der Zalm b4833d55c2 Fixed HOME_POS in combination with G28 X0 or G28 Y0 2012-02-28 18:20:03 +01:00
daid 2a77c84c8f Updated SERIAL define to MYSERIAL, because Arduino 1.0 defines SERIAL as 0. 2012-02-11 16:02:47 +01:00
Erik van der Zalm 9173a5713b Teensylu support. 2012-02-09 19:27:45 +01:00
Erik van der Zalm 292ddd2edb Fix Z_LATE_ENABLE 2012-02-06 17:38:16 +01:00
Erik van der Zalm abb7e63906 fixed z-disable bug. 2012-02-05 21:14:55 +01:00
Erik van der Zalm e45e5c68bb Added support for Gen3+ (Pins file only)
Added late z enable. (blddk request)
Only calculate look ahead if >2 moves in buffer.
Removed some FORCE_INLINE to save memory.

Signed-off-by: Erik van der Zalm <erik@vdzalm.eu>
2012-02-05 12:42:15 +01:00
Bernhard 57f9359a41 simplified the includes, makefile now works with arduino23 2011-12-22 14:55:45 +01:00
Bernhard 3c1a4aac2b header file simplification 2011-12-22 12:38:50 +01:00
Erik van der Zalm 84d9cf7339 merging 2011-12-12 20:35:46 +01:00
Erik van der Zalm e017228569 Merged multiple extruder support.
Soft PWM. (Sanguinololu can also have PID temperature control)
Interrupt save WRITE for addresses > 0x0FF
2011-12-12 19:34:37 +01:00
Bernhard 82c99625fa instant stop of sd prints from the panel. 2011-12-11 22:10:06 +01:00
Bernhard b1d84d879b st_synchronize back to normal.. 2011-12-09 16:13:58 +01:00
Bernhard 61c943b4bf fixed the st_synchronize. it would have continued if there is only the last move of the buffer being stepped. 2011-12-09 12:32:31 +01:00
Bernhard 754d2d69b2 z homing sound fix, for now until the actual cause is found.. 2011-12-07 23:08:13 +01:00
Denis B 4fd75dc813 Working version of multiple extruders (up to 3)
- The temperature control is pretty much complete
  (not sure what to do w/ autotemp though)
  Changed the pins assignment to clearly separate bed and extruder heaters
  and temp sensors, changed a bit how termistor tables are handled.
- The steppers control is rudimentary
  (only chanages what pins it uses depending on the active_extruder var,
   but that's enough for switching extruder in the start.gcode in the
   the profiles)
- Tested only w/ RAMPS 1.4
2011-12-06 00:09:16 -05:00
Erik van der Zalm 89e832c295 Update endstops only for homing. (use less resources when not used) 2011-12-04 21:03:02 +01:00
Erik van der Zalm b99c49ec3b Add option to only check endstop when homing 2011-12-04 20:17:21 +01:00
Erik van der Zalm 95a0b28acb Merge branch 'Marlin_v1', remote-tracking branch 'origin/Marlin_v1' into Marlin_v1 2011-12-04 19:54:43 +01:00
Erik van der Zalm af22e9cd38 Some advance modifications 2011-12-04 19:54:07 +01:00
Bernhard 7714b98da7 solved some compiler warnings that are now visible in arduino 1.0.
Found a couple of unused variables, that I commented.
Tried to solve the program memory warning message, and failed.
2011-12-04 12:40:18 +01:00
Erik van der Zalm 6b86f15686 More 2nd extruder implementation. (Not usable)
Advance (not tested)
2011-12-02 17:45:05 +01:00
Bernhard 311627141b Merge branch 'smallopt' into Marlin_v1
Conflicts:
	Marlin/temperature.h
2011-11-28 21:36:01 +01:00
Erik van der Zalm f75f426dfa Removed interrupt nesting in the stepper ISR.
Add serial checkRx in stepper ISR.
Copied HardwareSerial to MarlinSerial (Needed for checkRx).
2011-11-27 21:12:55 +01:00
Bernhard b128d25f27 overlooked some inlines.. 2011-11-27 16:45:00 +01:00