Like this?
Best posts made by SonnyD1
-
RE: Input Shaping
@jay_s_uk Apparently that was the issue. I bought a USB 3.0 cable and made it up and now its working. Don't know what to do with that data yet but thats a different issue. I'm making progress thanks to the help. Thank you.
-
RE: IDEX U Axis calibration
@droftarts adding a code example for the G10 showing the offsets and explaining how one get them. I’m any case, I’m complete I think.
-
RE: Configuring Multiple Probes/Endstops
@droftarts They are both named correctly IAW your instructions. Here are the files:
; deployprobe0.g ; called to deploy a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:40 GMT-0400 (Eastern Daylight Time) M280 P0 S10 ; deploy BLTouch
; retractprobe0.g ; called to retract a physical Z probe ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:41 GMT-0400 (Eastern Daylight Time) M280 P0 S90 ; retract BLTouch
I might have a bad crimp. I'm going to redo the connection.
@droftarts said in Configuring Multiple Probes/Endstops:
What reading for the Z probe is reported in DWC?
Where do I find this? Dashboard?
UPDATE: I found the issue. Conducting further tests to confirm. I must have had a bad crimp/connection. I made a whole new wire and now it deploys on command. The connectors on the Roto toolboard are so tiny that crimps are kinda tough. So much as a couple frayed wires and ya lose continuity.
-
RE: I am at a loss
@Phaedrux so that was one thing I just figured out. I unplugged one motor and homed Y. I repeated this for each motor and discovered how the obvious escapes me sometimes. The motors are mirrored so obviously one would be backwards. Fixed that now moving on. Still trying to get a complete homing cycle. Thank you very much for the reply.
-
RE: WIFI Antenna Mounting
@Phaedrux Yes I found it. I had two wires swapped on the U axis endstop. Thank you very much. I'm still not up and running but its progress. WIFI Module fires right up now.
-
RE: Warning: Driver 1 warning: over temperature warning
@moth4017 so I lowered it to 1900. Repeated the G32 that was triggering the error and it completed this time. I'm pretty sure that will be enough current. If not, now I know I will have to add additional cooling to the boards. I may end up doing that anyway. Thank you for the help but I think you've solved my issue for now.
-
RE: Warning: Driver 1 warning: over temperature warning
@Phaedrux Ok so my board is mounted horizontally with 10mm of air on the bottom side. I am going to raise that amount as much as I can and add a 24v blower wired to "Always on" that will blow across the bottom of the board on the drivers. Also, I turned down the current to 65%. I don't plan on speed printing with this printer so I will run some tests to see if that's enough. Based on your advice these items will resolve my issue. It will take some time to complete the hardware adjustments so for now I will consider this issue solved until I can run some additional tests. That is, unless you disagree?
-
RE: IDEX U Axis calibration
@droftarts ; Tools
M563 P0 D0 H1 F0 ; define tool 0 that used low end X carriage
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
M563 P1 D1 H2 F2 X3 ; define tool 1 that used high end U carriage
G10 P1 X0 Y1.6 Z.34 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C -
RE: Standby Temperature
@Phaedrux Yup that fixed it. So my M568 lines now read as:
M568 P0 S{first_layer_temperature[0]} R{first_layer_temperature[0] -15} A2 ; set E0 active/standby temp
M568 P1 S{first_layer_temperature[0]} R{first_layer_temperature[0] -15} A1 ; set E1 active/standby tempThank you for your help everyone. I'm still having other issues with my startup code but I will address those in another post. I don't want to flood this post. I consider this particular issue resolved.
Latest posts made by SonnyD1
-
RE: X / U Offset
@droftarts That is outstanding. I'm glad I could help. I'm the one that set this IDEX up in the beginning but I couldn't remember how. All it took was a clogged nozzle resulting in a nozzle change to throw all my work out of whack. I couldn't remember how I did it in the first place thus this post. As usual, you've managed to rescue me. I have a much better understanding of the offset and will hopefully retain it better. Thank you!
-
RE: X / U Offset
@droftarts I read that but I missed the M208 part. I was focusing on the G10 which is why I asked. That didn't sound right. So my current M208 Maximum reads M208 X290 Y305 U360.3 Z300 S0. If I am .4mm to far to the right then my new M208 Maximum should read M208 X290 Y305 U360.7 Z300 S0??? I would shift the U (T1) to the right (X+) by the .4mm right? I'll make that change and print the test again. It would be better to clarify the documentation a bit.
***UPDATE: That new M208 value put it right on. Moving it more to the right (X+)is so confusion to me but it is actually correct with X and U in perfect alignment now. Thank you very much for your help.
-
RE: X / U Offset
@droftarts @Phaedrux is this something you could help me with please? Sorry for being a PITA. TYIA!
-
RE: U Axis not homing
@Phaedrux configtool.json.docx It wouldn't let me post it so I put it in a word doc and attached it. Hopefully that works for you.
-
RE: U Axis not homing
@Phaedrux I have a configtool.json. Are they the same thing or am I missing something.
-
RE: U Axis not homing
Here is my new homeall.g: It seems to be working. I have some speed issues to work out but I think I can handle them. Its pretty safe to say that the configurator needs some work. Is there anything else I need to change in the homeu.g?
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:40 GMT-0400 (Eastern Daylight Time) ; increase Z G91 ; relative positioning G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home XY var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm var uTravel = move.axes[3].max - move.axes[3].min + 5 ; calculate how far U can travel plus 5mm G91 ; relative positioning G1 H1 X{-var.xTravel} Y{-var.yTravel} U{var.uTravel} F4000 ; coarse home in the -X, -Y and U directions G1 H2 X5 Y5 U-5 F6000 ; move back 5mm G1 H1 X{-var.xTravel} Y{-var.yTravel} U{var.uTravel} F1000 ; fine home in the -X and -Y directions G90 ; absolute positioning ; home Z var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0] var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1] G1 X{var.xCenter} Y{var.yCenter} F6000 ; go to bed centre G30 ; probe the bed ;M98 P"homeU.g" ; home U axis
-
RE: U Axis not homing
@gloomyandy The U home switch is all the way to the right of the bed with the zero being all the way to the left. Isn't the 0,0 considered the low end? I have another perfectly functional IDEX and the U endstop is on the right and configured on the high end. When I home all, the X homes, then the Y, then they they simultaneously home again, then the z will home. The U axis (T1 extruder) never moves.
After further digging, I see several issues. There isn't any U axis commands in the homeall.g. Additionally. The homeu.g sends the U in the negative instead of the positive. There are several things I know how to fix. I may save you all some trouble. I'll get back with ya when I hit a roadblock. -
U Axis not homing
I've finally complete the commissioning process on another IDEX build. The last thing I do is a home all. The U Axis did not move. The stepper worked properly during the commissioning process but doesn't home. I am including my config, M122 results, homeall.g, and homeu.g.
If there is anything else that is needed IOT troubleshoot this, please do not hesitate to ask. Thank you in advance for your help.; Configuration file for RepRapFirmware on Duet 3 Mini 5+ WiFi ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:36 GMT-0400 (Eastern Daylight Time) ; General G90 ; absolute coordinates M83 ; relative extruder moves M550 P"M3ID V2" ; set hostname ; Accessories M575 P1 S0 B57600 ; configure PanelDue support ; Network M552 S1 ; configure WiFi adapter M586 P0 S1 ; configure HTTP ; Wait a moment for the CAN expansion boards to become available G4 S2 ; Accelerometers M955 P121.0 I20 ; configure accelerometer on board #121 M955 P122.0 I20 ; configure accelerometer on board #122 ; Smart Drivers M569 P0.1 S0 D2 ; driver 0.1 goes backwards (X axis) M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Y axis) M569 P0.3 S0 D2 ; driver 0.3 goes backwards (Z axis) M569 P0.4 S0 D2 ; driver 0.4 goes backwards (U axis) M569 P121.0 S1 D2 ; driver 121.0 goes forwards (extruder 0) M569 P122.0 S1 D2 ; driver 122.0 goes forwards (extruder 1) ; Motor Idle Current Reduction M906 I30 ; set motor current idle factor M84 S30 ; set motor current idle timeout ; Axes M584 X0.1 Y0.2 Z0.3 U0.4 ; set axis mapping M350 X16 Y16 Z16 U16 I1 ; configure 16X microstepping with interpolation M906 X1750 Y1750 Z800 U1750 ; set axis driver currents M92 X80 Y80 Z400 U80 ; configure steps per mm M208 X-6:220 Y-9:250 Z0:200 U0:229 ; set minimum and maximum axis limits M566 X900 Y900 Z12 U900 ; set maximum instantaneous speed changes (mm/min) M203 X6000 Y6000 Z180 U6000 ; set maximum speeds (mm/min) M201 X500 Y500 Z20 U500 ; set accelerations (mm/s^2) ; Extruders M584 E121.0:122.0 ; set extruder mapping M350 E16:16 I1 ; configure microstepping with interpolation M906 E424:424 ; set extruder driver currents M92 E2682:2682 ; configure steps per mm M566 E150:150 ; set maximum instantaneous speed changes (mm/min) M203 E3600:3600 ; set maximum speeds (mm/min) M201 E3000:3000 ; set accelerations (mm/s^2) ; Kinematics M669 K0 ; configure Cartesian kinematics ; BLtouch M558 K0 P9 C"121.io0.in" H5 F120 T6000 A2 ; configure BLTouch probe via slot #0 G31 P500 X0 Y24 Z0.7 ; set Z probe trigger value, offset and trigger height M950 S0 C"121.io0.out" ; create servo #0 for BLtouch M376 H10 ; Scanning Z probe M558 K1 P11 C"121.i2c.ldc1612" F36000 T36000 ; configure SZP probe M308 A"SZP coil" S10 Y"thermistor" P"121.temp0" ; thermistor on coil ; Endstops M574 X1 P"io1.in" S1 ; configure X axis low end endstop M574 Y1 P"io2.in" S1 ; configure Y axis low end endstop M574 Z2 S1 P"io3.in" ; configure Z axis high end endstop M574 U2 P"io4.in" S1 ; configure U axis high end endstop ; Mesh Bed Compensation M557 X25:175 Y25:175 S40:40 ; define grid for mesh bed compensation ; Sensors M308 S0 P"temp0" Y"thermistor" A"Heated Bed" T100000 B4725 C7.06e-8 ; configure sensor #0 M308 S1 P"121.temp1" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #1 M308 S2 P"122.temp0" Y"thermistor" A"Nozzle" T100000 B4725 C7.06e-8 ; configure sensor #2 ; Heaters M950 H0 C"out2" T0 ; create heater #0 (Bed) M143 H0 P0 T0 C0 S120 A0 ; configure heater monitor #0 for heater #0 (Bed) M307 H0 R0.167 K0.222:0.000 D26.05 E1.35 S1.00 B0 ; configure model of heater #0 (Bed) M950 H1 C"121.out0" T1 ; create heater #1 (T0) M143 H1 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #1 (T0) M307 H1 R4.287 K0.528:0.232 D2.33 E1.35 S1.00 B0 V24.1 ; configure model of heater #1 (T0) M950 H2 C"122.out0" T2 ; create heater #2 (T1) M143 H2 P0 T1 C0 S300 A0 ; configure heater monitor #0 for heater #2 (T1) M307 H2 R4.334 K0.514:0.239 D2.21 E1.35 S1.00 B0 V24.0 ; configure model of heater #2 (T1) ; Heated beds M140 P0 H0 ; configure heated bed #0 ; Fans M950 F0 C"121.out2" ; create fan #0 T0 Heat Sink Fan M106 P0 C"T0 Heatsink Fan" S0 B0.1 H1 T45 ; configure fan #0 T0 Heat Sink Fan M950 F1 C"121.out1" ; create fan #1 T0 Part Cooling fan M106 P1 C"T0 Part Cooling Fan" S0 L25 X255 B0.1 ; configure fan #1 T0 Part Cooling Fan M950 F2 C"122.out2" ; create fan #2 T1 Heat Sink Fan M106 P2 C"T1 Heatsink Fan" S0 B0.1 H2 T45 ; configure fan #2 T1 Heat Sink Fan M950 F3 C"122.out1" ; create fan #3 T1 Part Cooling Fan M106 P3 C"T1 Part Cooling Fan" S0 L25 X255 B0.1 ; configure fan #3 T1 Part Cooling Fan ; Tools M563 P0 D0 H1 F1 ; create tool #0 T0 M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C M563 P1 D1 H2 F3 ; create tool #1 T1 M568 P1 R0 S0 ; set initial tool #1 active and standby temperatures to 0C ; Miscellaneous T0 ; select first tool
M122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.2 (2024-06-11 17:14:16) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: ZBVGS-QP6KL-K65J0-409N0-NK02Z-HT6JA Used output buffers: 3 of 40 (36 max) === RTOS === Static ram: 103368 Dynamic ram: 123728 of which 0 recycled Never used RAM 11392, free system stack 144 words Tasks: NETWORK(2,nWait 7,10.6%,217) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,350) Move(4,nWait 6,0.0%,294) CanReceiv(6,nWait 1,0.1%,796) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,0.6%,67) MAIN(1,running,88.0%,665) IDLE(0,ready,0.0%,29) AIN(4,delaying,0.6%,259), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 04:46:54 ago, cause: power up Last software reset at 2024-09-06 22:36, reason: User, Gcodes spinning, available RAM 14504, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00000000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU revision 3, ADC conversions started 17214546, completed 17214546, timed out 0, errs 0 MCU temperature: min 22.8, current 30.7, max 33.0 Supply voltage: min 24.1, current 24.2, max 24.3, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/72/72, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 0, ifcnt 10, reads 54024, writes 10, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 54018, writes 16, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 54018, writes 16, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 54017, writes 16, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 0, ifcnt 16, reads 54018, writes 16, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present Date/time: 2024-09-15 15:29:50 Cache data hit count 4294967295 Slowest loop: 10.44ms; fastest: 0.14ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 10.3ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 3, maxWait 3725232ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 17, completed 17, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.0 === GCodes === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x000080f Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 154970, received 688573, lost 0, errs 0, boc 0 Longest wait 1ms for reply type 6034, peak Tx sync delay 12, free buffers 26 (min 25), ts 86072/86071/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 8.44ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address e8:68:e7:e1:4e:33 Module reset reason: Power up, Vcc 3.34, flash size 2097152, free heap 39696 WiFi IP address 192.168.1.163 Signal strength -47dBm, channel 2, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:40 GMT-0400 (Eastern Daylight Time) ; increase Z G91 ; relative positioning G1 H2 Z5 F6000 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home XY var xTravel = move.axes[0].max - move.axes[0].min + 5 ; calculate how far X can travel plus 5mm var yTravel = move.axes[1].max - move.axes[1].min + 5 ; calculate how far Y can travel plus 5mm G91 ; relative positioning G1 H1 X{-var.xTravel} Y{-var.yTravel} F600 ; coarse home in the -X and -Y directions G1 H2 X5 Y5 F6000 ; move back 5mm G1 H1 X{-var.xTravel} Y{-var.yTravel} F300 ; fine home in the -X and -Y directions G90 ; absolute positioning ; home Z var xCenter = move.compensation.probeGrid.mins[0] + (move.compensation.probeGrid.maxs[0] - move.compensation.probeGrid.mins[0]) / 2 - sensors.probes[0].offsets[0] var yCenter = move.compensation.probeGrid.mins[1] + (move.compensation.probeGrid.maxs[1] - move.compensation.probeGrid.mins[1]) / 2 - sensors.probes[0].offsets[1] G1 X{var.xCenter} Y{var.yCenter} F6000 ; go to bed centre G30 ; probe the bed M98 P"homeU.g" ; home U axis
; homeu.g ; called to home the U axis ; ; generated by RepRapFirmware Configuration Tool v3.5.4 on Sat Aug 10 2024 17:00:40 GMT-0400 (Eastern Daylight Time) ; increase Z G91 ; relative positioning G1 H2 Z5 ; move Z relative to current position to avoid dragging nozzle over the bed G90 ; absolute positioning ; home U G91 ; relative positioning var maxTravel = move.axes[3].max - move.axes[3].min + 5 ; calculate how far U can travel plus 5mm G1 H1 U{-var.maxTravel} F600 ; coarse home in the -U direction G1 U5 F6000 ; move back 5mm G1 H1 U{-var.maxTravel} F300 ; fine home in the -U direction G90 ; absolute positioning ; decrease Z again G91 ; relative positioning G1 H2 Z-5 F6000 ; move Z relative to current position G90 ; absolute positioning
-
X / U Offset
I have a .4mm offset between my X (T0) and U (T1) on my IDEX. The U axis (T1) prints .4 to the right (X+) according to my tests. I have read the documentation for calibrating an IDEX as well as G10 and M563 commands in the dictionary. I'm hoping someone can help me clarify what I need to change to adjust for that offset in my G10.
; Configuration file for Duet WiFi (firmware version 3.4.5) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.15 on Sun Feb 19 2023 17:01:06 GMT-0500 (Eastern Standard Time) ; General preferences G21 ; work in milimeters G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"IDEX" ; set printer name M111 S0 ; debug off ; Network ;M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S0 ; disable Telnet M575 P1 B57600 S1 ; enable support for PanelDue ; Drives M569 P0 S1 ; physical drive 0 goes forwards - X stepper M569 P1 S1 ; physical drive 1 goes forwards - Z stepper (LEFT) M569 P2 S1 ; physical drive 2 goes forwards - Z stepper (RIGHT) M569 P3 S1 ; physical drive 3 goes forwards - E0 stepper M569 P6 S1 ; physical drive 6 goes forwards - Y stepper (LEFT) M569 P7 S0 ; physical drive 7 goes backwards - Y stepper (RIGHT) M569 P8 S1 ; physical drive 8 gows forwards - U stepper M569 P9 S1 ; physical drive 9 goes forwards - E1 stepper M584 X0 Y6:7 Z1:2 U8 E3:9 ; set drive mapping M350 X16 Y16 Z16 U16 E16:16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z800.00 U80.00 E408.21:408.21 ; set steps per mm - ESTEPS M205 X12.00 Y12.00 Z1.00 U12.00 E2.00:2.00 ; set maximum instantaneous speed changes (mm/s^2) - JERK M203 X12000.00 Y12000.00 Z360.00 U12000.00 E3600.00:3600.00 ; set maximum speeds (mm/min) M201 X2000.00 Y2000.00 Z20.00 U2000.00 E250.00:250.00 ; set maximum ACCELERATIONS (mm/s^2) M204 P200 T2000 ; set print & travel ACCELERATIONS (mm/s^2) M906 X1750 Y1750 Z1750 U1750 E600:600 I30 ; set motor currents (mA) and motor idle factor in per cent M593 P"mzv" F60 S.7 ; set INPUT SHAPER M572 D0:1 S0.080 ; set PRESSURE ADVANCE for T0 & T1 M84 S30 ; Set idle timeout ; Axis Limits M208 X-26 Y0 U0 Z0 S1 ; set axis minima M208 X290 Y305 U360.3 Z300 S0 ; set axis maxima ; Endstops M574 X1 S1 P"e1stop" ; configure switch-type (e.g. microswitch) endstop for low end on X via pin e1stop M574 U2 S1 P"duex.e6stop" ; configure switch-type (e.g. microswitch) endstop for high end on U via pin exp.e6stop M574 Y1 S1 P"duex.e5stop" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin exp.e5stop M574 Z1 S2 ; configure Z-probe endstop for low end on Z ;M591 D0 P1 C"xstop" S1 ; configure filament monitor (simple switch) for E0 ;M591 D1 P1 C"duex.e4stop" S0 ; configure filament monitor (simple switch) for E1 ; Emergency Stop M950 J1 C"e0stop" ; identify pin number for emergency stop M581 P1 T0 S1 R0 ; invoke trigger 0 when an inactive-to-active edge is detected on input 0 or input 3 and a file is being printed from SD card ; BLTouch M950 S0 C"duex.pwm1" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch, connected to zprobe.in and the dive height + speeds G31 P500 X-31 Y-14.5 Z3.42 ; set Z probe trigger value, offset and trigger height. If you have to move the nozzle closer to the bed, increase the G31 Z value by the amount of baby stepping used. If you have to move the nozzle farther away from the bed, decrease the G31 Z value by the amount of baby stepping used. M557 X35:259 Y25:290 P5:5 ; define mesh grid M376 H10 ; taper off bed compensation over 10mm ; Heaters M308 S0 P"duex.e4temp" Y"thermistor" T100000 B3950 ; configure sensor 0 as thermistor on pin duex.e4temp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 R0.901 K0.249:0.000 D1.86 E1.35 S1.00 B0 ; enable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 R4.899 K0.886:0.346 D1.80 E1.35 S1.00 B0 V24.0 ; disable bang-bang mode for heater and set PWM limit M143 H1 S300 ; set temperature limit for heater 1 to 300C M308 S2 P"duex.e3temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 2 as thermistor on pin duex.e3temp M950 H2 C"duex.e6heat" T2 ; create nozzle heater output on duex.e6heat and map it to sensor 2 M307 H2 R4.493 K0.675:0.344 D2.01 E1.35 S1.00 B0 V24.1 ; disable bang-bang mode for heater and set PWM limit M143 H2 S300 ; set temperature limit for heater 2 to 300C ; Fans M950 F0 C"fan2" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 ; set fan 1 value. Thermostatic control is turned on at 45c M950 F2 C"duex.fan3" Q500 ; create fan 2 on pin duex.fan3 and set its frequency M106 P2 S0 H-1 ; set fan 2 value. Thermostatic control is turned off M950 F3 C"duex.fan4" Q500 ; create fan 3 on pin duex.fan4 and set its frequency M106 P3 S1 H2 T45 ; set fan 3 value. Thermostatic control is turned on at 45c ; Tools M563 P0 D0 H1 F0 ; define tool 0 that used low end X carriage G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C M563 P1 D1 H2 F2 X3 ; define tool 1 that used high end U carriage G10 P1 X0 Y1.3 Z.13 ; set tool 1 axis offsets G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C ; Configure Accelerometer ;M955 P0 I50 C"spi.cs4+spi.cs3" ; IDEX ; Create a tool that prints 2 copies of the object using both carriages ;M563 P1 D0:1 H1:2 X0:3 F0:2 ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U ;G10 P1 X50 Y0 U-50 S0 R0 ; set tool offsets and temperatures ;M567 P1 E1:1 ; set mix ratio 100% on both extruders ; Miscellaneous T0 ; select first tool M98 P"startwifi.g"