The bug responsible for this has been located see for details Affects Marlin 2.1.2.2 and Marlin 2.1.2.3 when using Z_MULTI_ENDSTOPS The issue was not in bugfix 2.1.x Has been fixed in 2.1.2.4by Dust - Firmware - Marlin
I just found the bug in 2.1.2.2 and 2.1.2.3 that breaks Z_MULTI_ENDSTOPS Seeby Dust - Firmware - Marlin
Click on the "one eg" link It takes you to the online page for MarlinSerial.cpp and to the line is it onby Dust - Firmware - Marlin
SERIAL_PORT_2 is referenced 155 times in 60 different files on current marlin bugfix 2.1.x one eg Ie $ grep -lr SERIAL_PORT_2 * buildroot/tests/LPC1768 buildroot/tests/STM32F103RC_btt_USB_maple buildroot/tests/STM32F103RC_meeb_maple buildroot/tests/STM32F103RE_btt_USB buildroot/tests/mks_tinybee buildroot/tests/STM32F103RE_btt buildroot/tests/mks_robin_nano_v1v2_maple buildroot/tests/mega256by Dust - Firmware - Marlin
no, by default Gcode is designed to respond to inputs on that uart you send a gcode to uart 0, it reply's on uart 0 you send a gcode to uart 1, it reply's on uart 1 You have to use PORT_REDIRECT to bypass this standard behaviour Take a look at how M118 is implemented Marlin/src/gcode/host/M118.cpp Allows you to send a message to any portby Dust - Firmware - Marlin
Marlin serial is a complicated thing... Most serial ports are setup by enabling the UART ie #define SERIAL_PORT {0-3 for a mega2560) #define SERIAL_PORT_2 {0-3 for a mega2560) #define SERIAL_PORT_3 {0-3 for a mega2560) On the Einsy-Rambo 0 is wired to the Atmega32u2 for usb 1 is wired to J19 2 is wired to P3 3 is wired to P2 So all marlin needs is #define {next unused serial port eg} SERIAby Dust - Firmware - Marlin
G0 and G1 are both queued, not executed real time. If you want them to be executed you need to insert M400's before the temperature changeby Dust - Printing
Use 2.1.2.3 2.1.2.2 has lots of issuesby Dust - Firmware - Marlin
you have #define DEFAULT_MAX_FEEDRATE { 250, 250, 5, 22 } but your notes say #define DEFAULT_MAX_FEEDRATE { 250, 250, 2, 22 } This is he max speed of Z, which seems to be what is broken. Also note this is settable via eeprom, so changing this in Configuration.h will not work as it now uses the values in eeprom #define EEPROM_INIT_NOW will reset eeprom to the firmware defaultby Dust - Firmware - Marlin
Could you at least try to look around the firmware and google before asking questions? Auto start Or you must have a button. custom buttonsby Dust - Firmware - Marlin
Its worse than this... Marlin is a step and direction controller, This is the very soul of the firmware (for lack of a better term) it always uses step and direction pins, even when a SPI or UART interface is available, the interface is only used for configuring and monitoring the driver From the TMC5160A datasheat, page 45 Attention: The encoder interface is not available in Step&Directby Dust - Software
Adjust #define X_BED_SIZE 200 #define Y_BED_SIZE 200 // Travel limits (linear=mm, rotational=°) after homing, corresponding to endstop positions. #define X_MIN_POS -50 #define Y_MIN_POS -50 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE this will take 50mm off of all edgesby Dust - Firmware - Marlin
The code within the HAS_DRIVER(TMC5160) block in Marlin/src/module/stepper/trinamic.cpp is a template starts with template void tmc_init(TMCMarlin<TMC5160Stepper, AXIS_LETTER, DRIVER_ID, AXIS_ID> &st, const uint16_t mA, const uint16_t microsteps, const uint32_t hyb_thrs, const bool stealth, const chopper_timing_t &chop_init, const bool interpolate, float hold_multiplier) { So aby Dust - Firmware - Marlin
there is a gcode, the gcode and the screen UI update the variable feedrate_percentage This defaults to 100% and is always being applied, so when you change it to a different percentage it speeds up or slows downby Dust - Firmware - Marlin
Its a simple percentage multiplier of the F valueby Dust - Firmware - Marlin
TMC_INIT is a macro that calls tmc_int as defined for each stepper driver typeby Dust - Firmware - Marlin
Thats just the power on test, As long as it gets 5v it will do that on power upby Dust - Firmware - Marlin
I just tested your config on both Marlin 2.1.2.2 and Marlin 2.1.x Deploy and retract works as expected, NOTE: the bltouch will not trigger reliably under Marlin 2.1.2.2, but will in Marlin 2.1.x. I only tested deploy and retractby Dust - Firmware - Marlin
Your config shows your using 02010202 Don't use Marlin 2.1.2.2 from it is very buggy, If you must use this version use Marlin 2.1.x which is 2.1.2.2 with several nasty bugs fixed. But I would use bugfix,2.1.x although 2.1.2.2 was only recently released, its is 2 years behind bugfixby Dust - Firmware - Marlin
Sorry, I'm blind apparently "bltouch brown connected to the blue wire", so blue is ground "The center red wire to the black wire" so black is 5v "yellow wire to the red wire" so red is signal That seems correct then. Check your red to bltouch yellow, this is the control signal that the deploy and retract signals comes over.by Dust - Firmware - Marlin
Yea your board is not setup for this it is setup for // // Limit Switches // #define X_STOP_PIN PA14 #define Y_STOP_PIN PA15 #define Z_MIN_PIN PB13 #define Z_MAX_PIN PB12 so Ideally you need to change #define X_STOP_PIN PA14 to #define X_MIN_PINby Dust - Firmware - Marlin
In this mode X1 uses X-Min endstop and X2 uses X-Max endstopby Dust - Firmware - Marlin
you dont have X2_DRIVER_TYPE definedby Dust - Firmware - Marlin
Search for #if HAS_DRIVER(TMC5160)by Dust - Firmware - Marlin
really? pictures that shows connectors that do not seem to be the real bltouch but some sort of extension cable. but no details of what colour is connected to what... In your second picture The red (which should normally be a 5v) Is connected to the signal pin The black (which should normally be a gnd) Is connected to the 5v pin The blue (which would normally be a signal) is connected toby Dust - Firmware - Marlin
I don't know what your issue is. I downloaded stock Marlin bugfix 2.1.x today , made 3 changes to the Configuration.h #define BLTOUCH #define Z_SAFE_HOMING #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER compiled and uploaded this to my RAMPS 1.4 on a Mega2560 (ramps 1.4 is the default motherboard) plugged in a bltouch into the D11 servo plug, jumpered the vcc-5v jumper and it workeby Dust - Firmware - Marlin
The bltouch consist of two parts, the control (emulates a servo) and the endstop trigger. There are no reported issues with the control side of the bltouch You provide only half the information... Where is the bltouch plugged into? both sets of wires, but the 3 pin plug is the servo control. From the partial config your have //#define Z_PROBE_SERVO_NR 0 So it defaults to the servo pin D11 (by Dust - Firmware - Marlin
The error message is basically saying it cannot talk to the boot loader One thing to note is that serial ports are locked to the first program that opens them, so make sure that all other programs are closed. Ie restart windows and only run vscodeby Dust - Firmware - Marlin
5mm ID is designed to fit on 5mm OD shaftby Dust - General
Marlin cannot do this All Dual (or more) stepper modes in marlin simply apply the step pulse to multiple stepper drivers instead of one. Ie Dual steppers requires the same steps/mm what you want would require a lot more math.... The only way I can see to do this in Marlin is a horrible kluge. Ie Setup the Z2 as I axis, has all its own parameters. Then pass your gcode through a script thatby Dust - Firmware - Marlin