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.
- 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
Added option to set Travel Acceleration (non printing moves).
The M204 options was a non sense (S for printing moves and T for retract
moves).
It has been changed to:
P = Printing moves
R = Retract only (no X, Y, Z) moves
T = Travel (non
printing) moves
I will add this info o G-Code wiki in reprap.org. I also advise to put
this info in Marlin next version changelog.
With this change a mechanical or optical switch may be used to check the
availability of the filament and when the filament runs out an M600
(filament change) command is issued. This is only done while printing
with an SD card.
This feature was requested several times (issue #679), but the requests
were not accepted since it was believed that this situation should be
handled at host side. However during an SD print the control is totally
on firmware and I think that during an SD print it should be handled by
the firmware.
The original code was posted at reprap forum
(http://forums.reprap.org/read.php?1,297350) by Lazymonk. I have only
corrected some bugs of the code and improved it by adding definitions to
the configuration.h in order to make it more standardized.
- 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
* "G1 X1 ; test" was not executing "G1 X1" due to never leaving comment mode.
* "M117 Hello \;)" printed "Hello \" to the display due to not replacing serial_char properly.
Tested with the following commands:
* M117 Hello ; test => displays "Hello" on display, ignores "test"
* G1 X1 ; foo => moves 1mm in X, ignores "foo"
* ; test => completely ignored, not even acknowledged
* M117 Hello \;) => displays "Hello ;)" on display
* M117 Hello \\;) => displays "Hello \" on display, ignores ")"