The only serial port you have enabled is the TFT connector (ie #define SERIAL_PORT 1) This board has 3 serial ports -1 this is the USB cable 1 this is the TFT port 3 this is the WIFI port remove the // from //#define SERIAL_PORT_2 -1 to enable the USB port Or of your not actually using the tft port change #define SERIAL_PORT 1 to #define SERIAL_PORT -1by Dust - Firmware - Marlin
Marlin 2.1.2.2 also has lots of issue Use Marlin 2.1.2.4by Dust - Reprappers
I will add a note. This should only be done if your gantry moves an incorrect distance Printing out something and measuring it is not a good way to get an accurate steps/mm, only a rough estimate. Incorrect E or Z steps/mm will mess this up, as will a number of other settings or plastic shrinkageby Dust - Firmware - Marlin
Ie your talking about DEFAULT_AXIS_STEPS_PER_UNIT used in code like this xyze_float_t default_steps = DEFAULT_AXIS_STEPS_PER_UNIT Ie the steps are floats, that is numbers that have decimal places This is fine, and common practice. example from standard configs { 80.08, 80.17, 400, 101.30 } { 80, 80, 100, 97.5 } { 76.190476, 76.190476, 1600, 164 }by Dust - Firmware - Marlin
The line #define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN this line says you plugged the CRTouch into the Z_MIN endstop plug Did you do this or did you plug it into the 5 pin bltouch plug? If you plugged it into the 5 pin bltouch port you need to comment out //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PINby Dust - Firmware - Marlin
You have enabled MPCTEMP but you dont seem to have updated any any the following to match your hardware. #define MPC_HEATER_POWER { 40.0f } // (W) Heat cartridge powers. #define MPC_INCLUDE_FAN // Model the fan speed? // Measured physical constants from M306 #define MPC_BLOCK_HEAT_CAPACITY { 16.86 } // (J/K) Heat block heat capaby Dust - Firmware - Marlin
Where are E0 stepper pins?by Dust - Tech-Talk
When developing a new machine the resources are 1/3 for hardware and 2/3 for the new firmware features. The 'issue' with Marlin is that any dual modes simply applies the step pules to multiple IO pins There is no provision at all for different steps for what is effectively 1 axesby Dust - Printing
configs say you have a BOARD_RAMPS_14_EFB This is the most common board there is. It build and uploads fine from vscode. The normal cause of "won't connect to my board," is you have something else holing the serial port open, often its CURA. On windows machines it pays to reboot the computer to ensure you have no other programs running and only start vscodeby Dust - Firmware - Marlin
you get errors likee C:\Users\MyCC\Documents\ArduinoData\packages\arduino\hardware\avr\1.8.6\cores\arduino/main.cpp:43: undefined reference to `setup' C:\Users\MyCC\Documents\ArduinoData\packages\arduino\hardware\avr\1.8.6\cores\arduino/main.cpp:46: undefined reference to `loop' when you try and build Just Configuration.h and Configuration_adv.h without the rest of the codeby Dust - Firmware - Marlin
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