RepRapFirmware 3.6.0-alpha.4+3 available for testing
-
-
@balajiramani it wasn't relayed to the endstop adjustments. The code to segment automatically-generated moves didn't always work.
-
@dc42
got this error
Error: Movement halted because a step timing error occurred (code 3). Please reset the controller.here is M122
=== Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.6.0-alpha.4+3 (2024-08-28 10:03:49) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: 44BBP-1N6KL-K65J0-409N2-1BW1Z-RD9N1 Used output buffers: 3 of 40 (40 max) === RTOS === Static ram: 92328 Dynamic ram: 91792 of which 12 recycled Never used RAM 37808, free system stack 121 words Tasks: NETWORK(2,nWait 7,11.6%,183) HEAT(3,nWait 6,0.0%,325) Move(4,invalid,0.1%,247) TMC(4,nWait 6,0.9%,65) CanReceiv(6,nWait 1,0.1%,771) CanSender(5,nWait 7,0.0%,327) CanClock(7,delaying,0.0%,348) MAIN(1,running,86.4%,639) IDLE(0,ready,0.1%,29) AIN(4,delaying,0.8%,255), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 19:56:34 ago, cause: software Last software reset at 2024-08-03 12:45, reason: HardFault imprec, Gcodes spinning, available RAM 12036, slot 0 Software reset code 0x4063 HFSR 0x40000000 CFSR 0x00000400 ICSR 0x00489803 BFAR 0xe000ed38 SP 0x200120a0 Task NETW Freestk 544 ok Stack: 00000000 000aff28 200014ec 2000dfe0 ffffffff 0009e9c7 00012156 210f0000 00012179 2000dfe0 00000000 000afea8 00000083 e000e000 2001e880 a5a5a5a5 000121ed 200355f8 00000000 563bc5f2 00031c25 2001e880 2001ce00 00000001 200355f8 00000000 00033dd7 Error status: 0x04 Aux0 errors 0,0,0 MCU temperature: min 22.3, current 30.3, max 31.2 Supply voltage: min 24.3, current 24.4, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/4, heap memory allocated/used/recyclable 2048/420/316, gc cycles 0 Events: 0 queued, 0 completed Date/time: 2024-09-03 09:16:25 Slowest loop: 246.24ms; fastest: 0.09ms === Storage === Free file entries: 18 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 12.1ms, write time 94.0ms, max retries 0 === Move === Segments created 667, maxWait 66447882ms, bed comp in use: mesh, height map offset 0.000, hiccups added 0 (0.00/278.36ms), max steps late 1, ebfmin 0.00, ebfmax 0.00 Pos req/act/dcf: 34659.00/34449/0.28 -5056.00/-4998/-0.90 15480.00/15286/0.68 no step interrupt scheduled Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 33, reads 42543, writes 20, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 33, reads 42543, writes 20, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 37, reads 42540, writes 22, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 37, reads 42540, writes 22, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 25, reads 42551, writes 12, timeouts 0, DMA errors 0, CC errors 0 Driver 5: not present Driver 6: not present === DDARing 0 === Scheduled moves 113330, completed 113290, LaErrors 0, Underruns [0, 0, 0] === DDARing 1 === Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0] === Heat === Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.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) 3 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 doing "M106 P5 S0.1" in state(s) 0 0, running macro 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 1, axes/extruders owned 0x0000807 Queue 0 has 'M106 P5 S0.1' for move 113291 Queue 0 has 'M106 P5 S0.1' for move 113293 Queue 0 has 'M106 P5 S0.1' for move 113299 Queue 0 has 'M106 P5 S0.1' for move 113300 Queue 0 has 'M106 P5 S0.1' for move 113303 Queue 0 has 'M106 P5 S0.1' for move 113308 Queue 0 has 'M106 P5 S0.1' for move 113309 Queue 0 has 'M106 P5 S0.1' for move 113311 Queue 0 has 'M106 P5 S0.1' for move 113312 Queue 0 has 'M106 P5 S0.1' for move 113314 Queue 0 has 'M106 P5 S0.1' for move 113317 Queue 0 has 'M106 P5 S0.1' for move 113325 Queue 0 has 'M106 P5 S0.1' for move 113328 Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 755848, received 2872555, lost 0, ignored 0, errs 0, boc 0 Longest wait 5ms for reply type 4014, peak Tx sync delay 282, free buffers 26 (min 25), ts 358975/358974/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 223.95ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(1) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 2 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 c4:5b:be:ce:9c:81 Module reset reason: Power up, Vcc 3.36, flash size 2097152, free heap 36344 WiFi IP address 192.168.1.131 Signal strength -52dBm, channel 6, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 5 0 3 0 0 0 0 0
-
@Aurimas see the above links for alpha 5+1
-
I just tested 3.6.0-alpha.5+1 on our 5meter printer. The "homing jolt" on our CAN-connected Servo Drives is strong enough to make the servo drives go into fault mode Reducing the homing speed by 50% did help, but it still produces a loud "clonk"
Everything else is working as expected
Setup: Duet MB6HC+ 3xEXP1XD+ EXP3HCMy small printer is flawlessly printing since an on our under 3.6.0-alpha.5+1
Setup: Duet MB6HC+ 3xEXP1HCL+TOOL1RRfour screw bed tramming and mesh probing with the SZP seems to be working as expected, I only had to reduce the pressure advance value by 50%.
I have noticed some short movement pauses during printing, these were also present in RRF 3.5.2, maybe increasing the movement queue length can help here? -
@MaxGyver thanks for your report. Fixing the homing jolt is one of the remaining things we need to do before we release beta 1.
You can lengthen the movement queue yourself using the M595 command.
-
@dc42 I'm starting to get random tool drops when picking up and when parking tools, maybe once every 20 or so toolchanges. Attached are what I believe to be pertinent files... It happens with all tools and has never happened prior to this alpha and have hundreds of hours on the printer. No other code changes were made other than the alpha update.
9/5/2024, 8:21:22 PM M122 === Diagnostics === RepRapFirmware for Duet 3 MB6HC version 3.6.0-alpha.4 (2024-08-13 15:11:47) running on Duet 3 MB6HC v1.02 or 1.02a (standalone mode) Board ID: 08DJM-9P63L-DJ3T8-6J1F2-3SS6J-KA6VB Used output buffers: 3 of 40 (29 max) === RTOS === Static ram: 133840 Dynamic ram: 128776 of which 24 recycled Never used RAM 53240, free system stack 120 words Tasks: NETWORK(1,ready,33.0%,171) ETHERNET(5,nWait 7,0.2%,316) HEAT(3,nWait 6,0.0%,323) Move(4,nWait 6,1.8%,209) TMC(4,nWait 6,8.5%,53) CanReceiv(6,nWait 1,0.1%,769) CanSender(5,nWait 7,0.1%,325) CanClock(7,delaying,0.0%,348) MAIN(1,running,56.1%,103) IDLE(0,ready,0.0%,29), total 100.0% Owned mutexes: === Platform === Last reset 01:14:12 ago, cause: power up Last software reset at 2024-08-16 08:29, reason: User, Gcodes spinning, available RAM 62232, slot 0 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0044a000 BFAR 0x00000000 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 MCU temperature: min 10.2, current 31.1, max 31.2 Supply voltage: min 24.1, current 24.2, max 24.5, under voltage events: 0, over voltage events: 0, power good: yes 12V rail voltage: min 11.9, current 12.2, max 12.5, under voltage events: 0 Heap OK, handles allocated/used 99/4, heap memory allocated/used/recyclable 2048/304/256, gc cycles 0 Events: 0 queued, 0 completed Date/time: 2024-09-05 20:21:21 Slowest loop: 219.48ms; fastest: 0.07ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 25.0MBytes/sec SD card longest read time 42.0ms, write time 10.7ms, max retries 1 === Move === Segments created 534, maxWait 908262ms, bed comp in use: mesh, height map offset 0.000, hiccups added 0 (0.00ms), max steps late 0, ebfmin 0.00, ebfmax 0.00, mcet 0.024 Pos req/act/dcf: 0.00/1/-0.93 0.00/-1/0.98 157600.00/157599/1.00 0.00/0/0.00 no step interrupt scheduled Driver 0: standstill, SG min 0, mspos 532, reads 42260, writes 26 timeouts 0 Driver 1: standstill, SG min 0, mspos 452, reads 42260, writes 26 timeouts 0 Driver 2: standstill, SG min 0, mspos 672, reads 42260, writes 26 timeouts 0 Driver 3: standstill, SG min 0, mspos 136, reads 42257, writes 30 timeouts 0 Driver 4: standstill, SG min 0, mspos 600, reads 42257, writes 30 timeouts 0 Driver 5: standstill, SG min 0, mspos 760, reads 42257, writes 30 timeouts 0 === DDARing 0 === Scheduled moves 142683, completed 142683, LaErrors 0, Underruns [0, 0, 0] === DDARing 1 === Scheduled moves 0, completed 0, LaErrors 0, Underruns [0, 0, 0] === Heat === Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 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 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 317944, received 356576, lost 0, ignored 0, errs 959, boc 0 Longest wait 2ms for reply type 6031, peak Tx sync delay 61219, free buffers 50 (min 49), ts 22265/22264/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 176.15ms; fastest: 0.03ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 = Ethernet = Interface state: active Error counts: 0 0 0 1 0 0 Socket states: 5 2 2 2 2 0 0 0 === WiFi === Interface state: disabled Module is disabled Failed messages: pending 0, notrdy 0, noresp 0 Socket states: 0 0 0 0 0 0 0 0 === Multicast handler === Responder is inactive, messages received 0, responses 0[tfree3.g](/assets/uploads/files/1725582328191-tfree3.g) [tool_unlock.g](/assets/uploads/files/1725582328225-tool_unlock.g) [tpost3.g](/assets/uploads/files/1725582328253-tpost3.g) [tpre3.g](/assets/uploads/files/1725582328279-tpre3.g) [TOOL-PICKUP (1).g](/assets/uploads/files/1725582328303-tool-pickup-1.g)
TOOL-PICKUP.g
M98 P"/macros/tool_lock.g" ; Lock the toolM98 P"/macros/tool_lock.g" ;G92 E0 if state.currentTool = 0 M150 E0 U0 R0 B0 W255 S2 F0 P255 ; TURN ON LED elif state.currentTool = 1 M150 E1 U0 R0 B0 W255 S2 F0 P255 ; TURN ON LED elif state.currentTool = 2 M150 E2 U0 R0 B0 W255 S2 F0 P255 ; TURN ON LED elif state.currentTool = 3 M150 E3 U0 R0 B0 W255 S2 F0 P255 ; TURN ON LED if state.currentTool = 0 M116 P0 S6 elif state.currentTool = 1 M116 P1 S6 elif state.currentTool = 2 M116 P2 S6 elif state.currentTool = 3 M116 P3 S6 G4 S2 M302 P0 ; Prevent Cold Extrudes, just in case temp setpoints are at 0 G1 E12 F800 ; Unretract to nozzle G1 E6 F200 ; Pebble Purge M106 S255 ; Cooling 100% G4 S3 ; Wait 3 seconds G53 G1 Y305 F30000 ; Retract the entire tool and wipe Backwards. G1 R2 Z0 F24000 ; Restore prior Z position before tool change was initiated. ; Note: tool tip position is automatically saved to slot 2 upon the start of a tool change. ; Restore Z first so we don't crash the tool on retraction. G1 R0 Y0 F24000 ; Retract tool by restoring Y position next now accounting for new tool offset. ; Restoring Y next ensures the tool is fully removed from parking post. G1 R0 X0 F24000 ; Restore X position now accounting for new tool offset. M106 R2 ; restore print cooling fan speed
tpre3.g
; Runs after freeing the previous tool if the next tool is T3 ; Note: tool offsets are not applied at this point! G90 ; Ensure the machine is in absolute mode before issuing movements. M150 E3 U0 R255 B0 W0 S2 F0 P255 ; TURN ON LED G1 X0.0 Y295 F24000 ; Rapid to the approach position without any current tool. G60 S0 ; Save this position as the reference point from which to later apply new tool offsets.
tpost3.g
; runs after firmware thinks Tool3 is selected ; Note: tool offsets are applied at this point! ; Note that commands prefixed with G53 will NOT apply the tool offset. G90 ; Return to absolute M150 E3 U255 R255 B0 W0 S2 F0 P255 ; TURN ON LED G53 G1 Y325 F18000 ; Rapid move to a safe Y-line when no tool is locked. G53 G1 Y337 F1000 ; Move to the pickup position with tool-1. M116 P3 S4 ; Ensure hot end is to temperature prior to pulling away from tool post. M98 P"/macros/TOOL-PICKUP.g" ; Lock the toolM98 P"/macros/tool_lock.g"
tfree3.g
; tfree3.g ; Runs at the start of a toolchange if the current tool is tool-3. ; Note: tool offsets are applied at this point unless we preempt commands with G53! ; ################# Tool 3 Free Prep ################## G91 ;Relative to move bed down G1 Z.2 F18000 ;Move the bed further from the nozzle prior to any tool moves. G90 ;Return to absolute ; ################# Tool 3 Free ####################### G53 G1 X0.0 Y275 F24000 ;Rapid to the back of the post. Stay away from the tool rack so we don't collide with tools. ;This position must be chosen such that the most protruding y face of the current tool ;(while on the carriage) does not collide with the most protruding y face of any parked tool. G1 E-12 F400 ;Retract 18mm of filament to minimize oozing ;G53 G1 Y337.5 F18000 ; Controlled move to the park position with tool-0. (park_x, park_y) G53 G1 Y335 F24000 ; Controlled move to the park position with tool-0. (park_x, park_y) M98 P"/macros/tool_unlock.g" ;Unlock the tool M150 E3 U0 R0 B0 W255 S2 F0 P0 ; TURN OFF LED G53 G1 Y300 F18000 ;Retract the pin. M106 P6 S0 ;Turn off part cooling fan
-
@dc42 If it occurs when picking the tool up the twist lock doesn't fully engage then the tool either falls off as it pulls away from the parking posts or flops around when printing. When dropped off it's as if the twist lock doesn't fully disengage then the tool moves with the carriage then drops as the carriage pulls away from the parking posts.
Printer is Jubilee with (4) tools MB6HC with (4) Fly-RRF's driving the extruders.
-
@edsped What version of RRF did you have installed before you tried 3.6.0-alpha.4? I'd recommend that you do the following:
- Switch back to whatever you had before and run for a while to confirm that your toolchanging is still ok. You would be surprised how often a mechanical issue shows up when you make a change to the firmware (maybe because folks do more, or something else changes).
- You install the latest alpha5+1 version (see: https://forum.duet3d.com/post/344094) and test again with that.
If the old version of RRF works and the latest alpha still does not work, please post your config.g file and your tool_lock.g file.
-
@gloomyandy I'm thinking the same thing or the stepper is failing. The issues happen so fast and infrequently that I don't actually see it happen, only the after effects. I did see one park attempt where it looked like it attempted to pick up the tool about 2cm in front of the tool plate. I have pretty high travel speeds for my tool changes and will try lowering them first and will revert back to 3.5.2 if I still have issues and will go from there. I do have to say in the 3+ years I've been running this machine I've never had tool drop issues.
-
@edsped If you stick with 3.6 make sure you are using the most recent release (see the link I provided above), this contains a number of fixes so that may impact your tests. You may also want to try disabling input shaping to see if that has any impact on your high speed moves as IS in 3.6 is very different to that used in 3.5 (as a result you may also need to retune your motor current if you are getting missed steps).
-
@gloomyandy Timing was on my side this morning... Started a print and went for cup of coffee and came back to the carriage air printing, tool was never picked up and it doesn't appear that the twist lock was ever actuated. Attached video starts at the print being paused while tool 4 was supposed to be attached and printing. Clearly the tool wasn't picked up as it should have been. When I cancelled the print the carriage went to the return position and didn't appear to fully park the tool as the two plates never made contact and the twist lock was never actuated. I'm not sure if this is something in the tool lock or unlock macro or something else, again it's an issue I've never seen before and those macros haven't been "tweaked" in ages. Twist lock moves freely and I can't do anything to make it bind FWIW...
-
@edsped What version of RRF were you using for this test?
-
@gloomyandy 3.5.1 Will revert at some point this weekend or today. The issue with the tool change is that it's so random. I can have hundreds of flawless tool changes other times they'll happen in short periods and of course it's never when I'm looking. As an aside I mostly do single tool prints and sometimes will have a flawless pickup and the tool lock will not fully disengage at the end of the print and will drop the tool as the carriage retracts from the tool posts. Other times the lock will not fully engage during pickup and will drop the tool as it retracts or the tool plate won't be tight to the carriage during print and the tool will kind of flop. My initial thought was mechanical binding in the pin mechanism but the mechanism operates freely. Other thought maybe bad connector or an issue with the stepper that drives the pin that just happens to coincide with the firmware change. I have a print that I need the higher quality for so will get through it and revert and print a bunch of parts that I've been printing to see how it goes. Upside is that it will also give me a baseline to compare print quality between firmwares.
-
@edsped So just to check you got the tool change failure with 3.5.1?
-
@gloomyandy Sorry to be unclear... No issues with 3.5.1 prior to updating to 3.6.0 Alpha. I've not reverted to 3.5.1 yet so can't say for certain it's a 3.6.0 thing yet only circumstantially for now. Will revert to 3.5.1 later to see if it's firmware or other issue.
-
@gloomyandy reverted to 3.5.1 and am ~50 tool changes in without issue... Will continue to run throughout the morning and will follow up. I'm thinking it may just be wise to zip up my configuration files and link to them if there's no issues when running 3.5.1. One thing for sure is print quality improvement is definitely noticeable..
-
@edsped Before you do that I suggest that you test with the latest version of 3.6 (after running 3.5.1 for a while to be sure that you do not get any further problems when changing tools).
-
@gloomyandy Will do, switching back to 3.6.5 alpha from this link and will let you know. Ran over 100 tool changes without issue on 3.5.1. I'm going to stick with the 3.5.1 DWC and not use one of the earlier alphas that was released..
-
@gloomyandy Follow up several prints and a couple of hundred tool changes on 3.5.1, reverted to the latest 3.6.0 A5, (2) prints in and a tool is dropped while pulling away from the parking post. Config.g below
; Jubilee CoreXY ToolChanging Printer - Config File ; This file intended for Duet 3 hardware, main board plus Tool Boards ; Name and network ; This is configured from the connected Raspberry Pi or here if in stand alone ; mode ; Connect to PanelDue 7i M575 P1 S0 B57600 ;------------------------NETWORKING IF NOT HANDLED BY SBC------------------------------ ; Networking ;M540 PBE:43:37:31:51:31 M550 P"Jubilee" ; Name used in ui and for mDNS http://Jubilee.local M552 P0.0.0.0 S1 ; configure Ethernet adapter M586 P0 S1 ; configure HTTP ;M552 S1 P192.168.1.19 ; Use Ethernet with a static IP, 0.0.0.0 for dhcp ;M553 P255.255.255.0 ; Netmask ;M554 192.168.1.1 ; Gateway ; General setup ;------------------------------------------------------------------------------- M550 P"Printster" ; Set Machine Name G4 S2 ; Pause for 2 seconds to allow CAN boards to initiate M111 S0 ; Debug off M929 P"eventlog.txt" S0 ; Start logging to file eventlog.txt (turned logging off) ; General Preferences M555 P2 ; Set Marlin-style output G21 ; Set dimensions to millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Stepper mapping ;------------------------------------------------------------------------------- ; Connected to the MB6HC as the table below. ; Note: first row is numbered left to right and second row right to left ; _________________________________ ; | X(Right) | Y(Left) | U(lock) | ; | Z(Back) | Z(Right) | Z(Left) | M584 X0 Y1 ; X and Y for CoreXY M584 U2 ; U for toolchanger lock M584 Z3:4:5 ; Z has three drivers for kinematic bed suspension. ;*********************RRF-36 Stepper Mapping ****************************************** M584 E20.0:21.0:22.0:23.0 ; "AMY" "BETTY" "CHLOE" "DAISY" Extruder drive mapping M569 P0 S0 ; Drive 0 | X stepper M569 P1 S0 ; Drive 1 | Y Stepper M906 X{0.6*sqrt(2)*2500} ; LDO XY 2500mA RMS the TMC5160 driver on duet3 M906 Y{0.6*sqrt(2)*2500} ; generates a sinusoidal coil current so we can ; multply by sqrt(2) to get peak used for M906 ; Do not exceed 90% without heatsinking the XY ; steppers. M569 P2 S0 ; Drive 2 | U Tool Changer Lock 670mA M906 U{0.7*sqrt(2)*670} I60 ; 70% of 670mA RMS idle 60% ; Note that the idle will be shared for all drivers M569 P3 S0 ; Drive 3 | Front Left Z M569 P4 S0 ; Drive 4 | Front Right Z M569 P5 S0 ; Drive 5 | Back Z M906 Z{0.6*sqrt(2)*2500} ; 70% of 2500mA RMS ;********************RRF-36 Tool steppers on expansion board**************************** M569 P20.0 S0 D2 ; Drive 0 "AMY" direction | Extruder 0 in Spreadcycle Mode M569 P21.0 S0 D2 ; Drive 1 "BETTY" direction | Extruder 1 in Spreadcycle Mode M569 P22.0 S0 D2 ; Drive 2 "CHLOE" direction | Extruder 2 in Spreadcycle Mode M569 P23.0 S0 D2 ; Drive 3 "DAISY" direction | Extruder 3 in Spreadcycle Mode ;======================SET MAXIMUM PRINTING SPEEDS============================================ M204 P5000 T5000 ; Kinematics ;------------------------------------------------------------------------------- M669 K1 ; CoreXY mode ; Kinematic bed ball locations. ; Locations are extracted from CAD model assuming lower left build plate corner ; is (0, 0) on a 305x305mm plate. M671 X297.5:2.5:150 Y313.5:313.5:-16.5 S10 ; Front Left: (297.5, 313.5) ; Front Right: (2.5, 313.5) ; Back: (150, -16.5) ; Up to 10mm correction ; Axis and motor configuration ;------------------------------------------------------------------------------- M350 X1 Y1 Z1 U1 ; Disable microstepping to simplify calculations M92 X{1/(0.9*16/180)} ; step angle * tooth count / 180 M92 Y{1/(0.9*16/180)} ; The 2mm tooth spacing cancel out with diam to radius M92 Z{360/0.9/4} ; 0.9 deg stepper / lead (4mm) of screw M92 U{13.76/1.8} ; gear ration / step angle for tool lock geared motor. ; Enable microstepping all step per unit will be multiplied by the new step def M350 X32 Y32 I1 ; 16x microstepping for CoreXY axes. Use interpolation. M350 U4 I1 ; 4x for toolchanger lock. Use interpolation. M350 Z16 I1 ; 16x microstepping for Z axes. Use interpolation. M350 E16 I1 ; 16x microstepping for Extruder axes. Use interpolation. ; Speed and acceleration ;------------------------------------------------------------------------------- M201 X8000 Y8000 ; Accelerations (mm/s^2) M201 Z100 ; LDO ZZZ Acceleration M201 U800 ; LDO U Accelerations (mm/s^2) M203 X24000 Y24000 Z800 U9000 ; Maximum axis speeds (mm/min) M566 X2000 Y2000 Z100 U50 P1 ; Maximum jerk speeds (mm/min) ;********************RRF-36 motor configuration *************************************** M906 E800:800:800:800 I10 ; Motor currents for all E (mA). M201 E18000:18000:18000:18000 ; E600:600:600 E Acceleration (mm/s^2) M203 E7200:7200:7200:7200 ; Maximum axis speeds (mm/min) was 3600 M566 E3000:3000:3000:3000 ; Maximum jerk speeds (mm/min) M92 E719:719:719:719 ;E Steps VZ-Hextrudort - 0.9 deg/step Tool0:Tool1:Tool3 ; Endstops and probes ;------------------------------------------------------------------------------- ; Connected to the MB6HC as the table below. ; | U | Z | ; | X | ; | Y | M574 U1 S1 P"^io4.in" ; homing position U1 = low-end, type S1 = switch M574 X1 S1 P"^io1.in" ; homing position X1 = low-end, type S1 = switch M574 Y1 S1 P"^io2.in" ; homing position Y1 = low-end, type S1 = switch M574 Z0 ; we will use the switch as a Z probe not endstop M558 P8 C"io3.in" H3 F360 T6000 ; H = dive height F probe speed T travel speed G31 K0 X0 Y0 Z-2 ; Set the limit switch position as the "Control Point." ; Note: the switch free (unclicked) position is 7.2mm, ; but the operating position (clicked) is 6.4 +/- 0.2mm. ; A 1mm offset (i.e: 7.2-6.2 = 1mm) would be the ; Z to worst-case free position, but we add an extra 1mm ; such that XY travel moves across the bed when z=0 ; do *not* scrape or shear the limit switch. ; Set axis software limits and min/max switch-triggering positions. ; Adjusted such that (0,0) lies at the lower left corner of a 300x300mm square ; in the 305mmx305mm build plate. M208 X-13.75:313.75 Y-44:341 Z0:295 M208 U0:200 ; Set Elastic Lock (U axis) max rotation angle ; Heaters and temperature sensors ;---------------------------------------------------------------------------------------------------- ; Bed M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; Keenovo thermistor M950 H0 C"out0" T0 ; H = Heater 0 ; C is output for heater itself ; T = Temperature sensor M143 H0 S130 ; Set maximum temperature for bed to 130C M307 H0 A589.8 C589.8 D2.2 V24.1 B0 ; Keenovo 750w 230v built in thermistor ; mandala rose bed M140 H0 ; Assign H0 to the bed ;**********************FLY-RRF 36 Extruder configurations********************************************** ;---------------------Tool 0 aka "AMY" With CAN Address 20.0 ------------------------------------------ ;Heater Thermistor M308 S1 P"20.TEMP0" Y"thermistor" T100000 B4725 C7.06e-8 A"Amy" ;"T1" Semtec Thermistor defined ;M308 S6 P"20.temp1" Y"thermistor" A"Amy Fly RRF" T100000 B4092 ; Cooling Fans M950 F0 C"20.out1" ; Fan 0, part cooler fan on Tool 0 M106 P0 C"Amy" ; Set Fan Name M950 F1 C"20.out2" ; Fan 1, hotend fan on Tool 0 M950 H1 C"20.out0" T1 ; Heater 1 "H1" uses the Out0 pin and Temp0 M570 H1 P15 T20 R5 ; An anomaly on "H1" must persist for 15 seconds, and must be greater or less than 20C from the setpoint, to raise a heater fault. M143 H1 S280 ; Maximum H1 (Extruder 1) heater temperature M106 P1 S1.0 T45 H1 ; Tool 0 Hotend Fan to start cooling at 45C Monitoring Heater 1 (H1) M563 P0 S"Amy" D0 H1 F0 ; Define tool 0 "AMY" using H1 heater, F0 cooling ;G10 P0 X0.188 Y32.637 Z-0.345 ; Set tool 0 offset from the bed FOR INITIAL SETUP ONLY SEE VALUES IN CONFIG OVERRIDE G10 P0 S0 R0 ; Set tool 1 operating (S) and standby temperatures (R) (-273 = "off") M572 D0 S0.04 ; Set pressure advance on Extruder Drive 1 ;Turn on tool Lights M950 E0 C"20.rgbled" T2 U2 ; Strip number, Pin ID, type, Max # of LED'S ;M150 E0 U0 R0 B0 W255 S1 F1 P255 ; for RGBW LED Only ;M150 E0 U0 R0 B0 W255 S1 F0 P255 ; for RGBW LED Only M955 P20.0 I52 ; Enable accelerometer on Amy ;---------------------End of Tool 0 aka "AMY" ----------------------------------------------------------- ;---------------------Tool aka "BETTY" With CAN Address 21.0 ------------------------------------------ ;Heater Thermistor M308 S2 P"21.TEMP0" Y"thermistor" T100000 B4725 C7.06e-8 A"Betty" ;"T1" Semtec Thermistor defined ;M308 S7 P"21.temp1" Y"thermistor" A"Betty Fly RRF" T100000 B4092 ; Cooling Fans M950 F2 C"21.out1" ; Fan 2, part cooler fan on Tool 1 M106 P2 C"Betty" ; Set Fan Name M950 F3 C"21.out2" ; Fan 3, hotend fan on Tool 1 M950 H2 C"21.out0" T2 ; Heater 2 "H2" uses the Out0 pin and Temp0 M570 H2 P15 T20 R5 ; An anomaly on "H2" must persist for 15 seconds, and must be greater or less than 20C from the setpoint, to raise a heater fault. M143 H2 S280 ; Maximum H2 (Extruder 1) heater temperature M106 P3 S1.0 T45 H2 ; Tool 1 Hotend Fan to start cooling at 45C Monitoring Heater 2 (H2) M563 P1 S"Betty" D1 H2 F2 ; Define tool 1 "BETTY" using H2 heater, F2 cooling ;G10 P1 X0.188 Y32.637 Z-0.345 ; Set tool 1 offset from the bed FOR INITIAL SETUP ONLY SEE VALUES IN CONFIG OVERRIDE G10 P1 S0 R0 ; Set tool 1 operating (S) and standby temperatures (R) (-273 = "off") M572 D1 S0.04 ; Set pressure advance on Extruder Drive 2 ;Turn on tool Lights M950 E1 C"21.rgbled" T2 U2 ; Strip number, Pin ID, type, Max # of LED'S ;M150 E1 U0 R0 B0 W255 S1 F1 P255 ; for RGBW LED Only ;M150 E1 U0 R0 B0 W255 S1 F0 P255 ; for RGBW LED Only M955 P21.0 I52 ; Enable accelerometer on Betty ;-------------------------------End of Tool 0 aka "BETTY". ------------------------------------- ;---------------------Tool aka "CHLOE" With CAN Address 22.0 ------------------------------------------ ;Heater Thermistor M308 S3 P"22.TEMP0" Y"thermistor" T100000 B4725 C7.06e-8 A"Chloe" ;"T1" Semtec Thermistor defined ;M308 S8 P"22.temp1" Y"thermistor" A"Chloe Fly RRF" T100000 B4092 ; Cooling Fans M950 F4 C"22.out1" ; Fan4, part cooler fan on Tool 2 M106 P4 C"Chloe" ; Set Fan Name M950 F5 C"22.out2" ; Fan 5, hotend fan on Tool 2 M950 H3 C"22.out0" T3 ; Heater 3 "H3" uses the Out0 pin and Temp0 M570 H3 P15 T20 R5 ; An anomaly on "H3" must persist for 15 seconds, and must be greater or less than 20C from the setpoint, to raise a heater fault. M143 H3 S280 ; Maximum H3 (Extruder 2) heater temperature M106 P5 S1.0 T45 H3 ; Tool 3 Hotend Fan to start cooling at 45C Monitoring Heater 3 (H3) M563 P2 S"Chloe" D2 H3 F4 ; Define tool 2 "CHLOE" using H3 heater, F4 cooling ;G10 P2 X0.188 Y32.637 Z-0.345 ; Set tool 1 offset from the bed FOR INITIAL SETUP ONLY SEE VALUES IN CONFIG OVERRIDE G10 P2 S0 R0 ; Set tool 1 operating (S) and standby temperatures (R) (-273 = "off") M572 D2 S0.04 ; Set pressure advance on Extruder Drive 2 ;Turn on tool Lights M950 E2 C"22.rgbled" T2 U2 ; Strip number, Pin ID, type, Max # of LED'S ;M150 E2 U0 R0 B0 W255 S1 F1 P255 ; for RGBW LED Only ;M150 E2 U0 R0 B0 W255 S1 F0 P255 ; for RGBW LED Only M955 P22.0 I52 ; Enable accelerometer on CHLOE ;-------------------------------End of Tool 0 aka "CHLOE". ------------------------------------- ;---------------------Tool aka "DAISY" With CAN Address 22.0 ------------------------------------------ ;Heater Thermistor M308 S4 P"23.TEMP0" Y"thermistor" T100000 B4725 C7.06e-8 A"Daisy" ;"T3" Semtec Thermistor defined ;M308 S9 P"23.temp1" Y"thermistor" A"Daisy Fly RRF" T100000 B4092 ; Cooling Fans M950 F6 C"23.out1" ; Fan4, part cooler fan on Tool 3 M106 P6 C"Daisy" ; Set Fan Name M950 F7 C"23.out2" ; Fan 7, hotend fan on Tool 4 M950 H4 C"23.out0" T4 ; Heater 4 "H4" uses the Out0 pin and Temp0 M570 H4 P15 T20 R5 ; An anomaly on "H4" must persist for 15 seconds, and must be greater or less than 20C from the setpoint, to raise a heater fault. M143 H4 S280 ; Maximum H4 (Extruder 2) heater temperature M106 P7 S1.0 T45 H4 ; Tool 4 Hotend Fan to start cooling at 45C Monitoring Heater 4 (H4) M563 P3 S"Daisy" D3 H4 F6 ; Define tool 4 "DAISY" using H4 heater, F4 cooling ;G10 P3 X0.188 Y32.637 Z-0.345 ; Set tool 4 offset from the bed FOR INITIAL SETUP ONLY SEE VALUES IN CONFIG OVERRIDE G10 P3 S0 R0 ; Set tool 4 operating (S) and standby temperatures (R) (-273 = "off") M572 D3 S0.04 ; Set pressure advance on Extruder Drive 4 ;Turn on tool Lights M950 E3 C"23.rgbled" T2 U2 ; Strip number, Pin ID, type, Max # of LED'S ;M150 E3 U0 R0 B0 W255 S1 F1 P255 ; for RGBW LED Only ;M150 E3 U0 R0 B0 W255 S1 F0 P255 ; for RGBW LED Only M955 P23.0 I52 ; Enable accelerometer on DAISY ;-------------------------------End of Tool 0 aka "DAISY". ------------------------------------- ;*******************************END OF RRF-36 TOOLS ********************************************** M593 P"ZVD" F55 L0.25 S0.1 ; Set Dynamic Acceleration Adjustment M376 H10 ; bed compensation taper M98 P"config-user.g" ; Load custom user config M501 ; Load saved parameters from non-volatile memory