Hello everyone,
Just bumping this up—can anyone help with my Y-axis homing process issue? Any guidance would be greatly appreciated!
Thank you!
Hello everyone,
Just bumping this up—can anyone help with my Y-axis homing process issue? Any guidance would be greatly appreciated!
Thank you!
Hello everyone,
I need some advice and help regarding the homing process of the Y-axis for my 3D printer. My setup involves two independent Y-motors, each with its own end stop for homing. Here’s a brief overview of the current homing process:
This setup works well for me, but I would like to enhance it by adding a feature that reports if the adjustment made by the second motor is larger than 0.5 mm. This would help in identifying when the motion system may require adjustment.
Here is the script I have so far. The commented-out portion is my attempt to calculate the deviation (dd
), but it isn’t working correctly.
if state.status == "off"
M80 ; Turn on power
G4 S3
M98 P"0:/sys/led/homeall.g"
M98 P"tfree3.g"
T0 P0
M280 P0 S0 ; Take probe holder out of the way
M204 T2000
;=== Move X & U ===
G91
G1 H2 Z20 F18000
G1 H2 X10 U-10 F18000
;=== Home with Y End Stops ===
G90
G1 H1 Y-500 F3000
G91
G1 Y5 F1200
G1 H1 Y-10 F240
G92 Y0
G4 P260
var ll = move.axes[1].machinePosition
;=== Home with Right end stop ===
M584 Y0.1
M574 Y1 S1 P"io1.in"
G1 H4 Y-5 F240
;=== Home with Left end stop ===
M584 Y0.4
M574 Y1 S1 P"io2.in"
G1 H4 Y-5 F240
G4 P260
var rr = move.axes[1].machinePosition
var dd = var.rr - var.ll
;if abs(var.dd) > 0.5
;echo "RR is "^{var.rr}^" mm"
;echo "LL is "^{var.ll}^" mm"
;echo "DD is "^{var.dd}^" mm"
G92 Y-999
M584 Y0.1:0.4
M574 Y1 S1 P"io1.in+io2.in" ; configure endstop
G90
G1 Y150 F18000
; Lower Z
if !exists(param.L)
G91
G1 H2 Z-20 F18000
G90
; Reset parameters
M400 ; make sure everything has stopped before we make changes
G90 ; absolute positioning
M913 Y100 ; return current to 100%
M204 T5000 ; return the accelerations
Thank you,
Nazar
@dc42, thank you for your prompt reply, I highly apreciate it!
Macro runs automatically after machine’s restart
Printer is now online.
Done!
WiFi is disabled.
Executing runonce.g...
Network stopped
Error: Failed to configure access point parameters: SPI timeout
Error: Failed to configure access point parameters: SPI timeout
Turn off the current WiFi mode before selecting a new one
Done!
Error: Cannot delete file 0:/sys/runonce.g because it is open
Error: Cannot delete file 0:/sys/runonce.g because it is open
RepRapFirmware for Duet 3 MB6HC is up and running.
Calling Macro through Pronterface
>>> M98 P"0:/sys/networktest.g"
SENDING:M98 P"0:/SYS/NETWORKTEST.G"
WiFi module stopped
Error: Failed to configure access point parameters: SPI timeout
Error: Failed to configure access point parameters: SPI timeout
Turn off the current WiFi mode before selecting a new one
- Connection was not established -
WiFi module was automatically switched to Access Point Mode
Send M292 to continue
Calling Macro through Pronterface but before turning off WiFi and Ethernet
>>> m552i0s0
SENDING:M552I0S0
>>> m552i1s-1
SENDING:M552I1S-1
WiFi module stopped
>>> M98 P"0:/sys/networktest.g"
SENDING:M98 P"0:/SYS/NETWORKTEST.G"
Error: Failed to configure access point parameters: SPI timeout
Error: Failed to configure access point parameters: SPI timeout
Turn off the current WiFi mode before selecting a new one
- Connection was not established -
WiFi module was automatically switched to Access Point Mode
Send M292 to continue
Disconnected.
Unfortunately neither worked.
@droftarts Thank you for your reply and trying to help!
Here is a console screenshot from Pronterface:
All responses from turning machine ON. Unfortunately we can see that macro doesn't work.
Disconnected.
Connecting...
Printer is now online.
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Done!
WiFi is disabled.
Executing runonce.g...
Network stopped
Error: Failed to configure access point parameters: SPI timeout
Error: Failed to configure access point parameters: SPI timeout
Turn off the current WiFi mode before selecting a new one
Done!
Error: Cannot delete file 0:/sys/runonce.g because it is open
Error: Cannot delete file 0:/sys/runonce.g because it is open
RepRapFirmware for Duet 3 MB6HC is up and running.
>>> m552i0
SENDING:M552I0
Ethernet is disabled, configured IP address: 0.0.0.0, actual IP address: 0.0.0.0
>>> m552i1
SENDING:M552I1
WiFi module is being started
>>> m552i1
SENDING:M552I1
WiFi module is being started
Sending the same commands manually through Pronterface:
SENDING:M552I0
Ethernet is disabled, configured IP address: 0.0.0.0, actual IP address: 0.0.0.0
>>> m552i1
SENDING:M552I1
WiFi module is being started
>>> m552i1
SENDING:M552I1
WiFi module is being started
>>> M552 I0 S0
SENDING:M552 I0 S0
>>> M552 I1 S-1
SENDING:M552 I1 S-1
WiFi module stopped
>>> M552 I1 S0
SENDING:M552 I1 S0
WiFi module started
>>> M589 S"Printer" P"1234567890" I192.168.0.1
SENDING:M589 S"Printer" P"1234567890" I192.168.0.1
>>> M552 I1 S2
SENDING:M552 I1 S2
WiFi module is providing access point Printer, IP address 192.168.0.1
Sending commands manually works.
Macro that is used to test the network:
;echo >"0:/macros/report.txt" "Start"
var it = 0
;while network.interfaces[0].actualIP = "0.0.0.0" && iterations <= 30
while network.interfaces[0].actualIP = "0.0.0.0" && network.interfaces[1].actualIP = "0.0.0.0" && iterations < 30
set var.it = var.it + 1
;echo >>"0:/macros/report.txt" "1st Loop Iteration: "^var.it
G4 S1
;echo >>"0:/macros/report.txt" "1st Loop Out"
;if network.interfaces[0].actualIP != "0.0.0.0"
if network.interfaces[0].actualIP != "0.0.0.0" || network.interfaces[1].actualIP != "0.0.0.0"
;echo >>"0:/macros/report.txt" "IF - Network Connected"
M99
abort
else
;echo >>"0:/macros/report.txt" "Else - Network not Connected"
M98 P"0:/sys/led/statusoff.g"
M98 P"0:/sys/led/dimmwhite.g"
M98 P"0:/sys/led/red.g"
;echo >>"0:/macros/report.txt" " "
;echo >>"0:/macros/report.txt" "After LED"
;echo >>"0:/macros/report.txt" " "
M552 I0 S0 ; disable Ethernet (no pause after needed)
;echo >>"0:/macros/report.txt" "Result: "^result
M552 I1 S-1 ; turn off WiFi
;echo >>"0:/macros/report.txt" "Result: "^result
G4 S2 ; pause
M552 I1 S0 ; turn on WiFi to idle
;echo >>"0:/macros/report.txt" "Result: "^result
G4 S2 ; pause
M589 S"Printer" P"1234567890" I192.168.0.1 ; configure AP
;echo >>"0:/macros/report.txt" "Result: "^result
G4 S2 ; pause
M552 I1 S2 ; turn on WiFi in AP mode
;echo >>"0:/macros/report.txt" "Result: "^result
M291 S2 R"Connection was not established" P"WiFi module was automatically switched to Access Point Mode"
Thank you for all the help! I hope to resolve this ASAP.
Dear @droftarts,
Thank you for your reply and advice regarding the M552 commands order, I have changed the script accordingly and rerun the test. Unfortunately, it didn't work, so I have added echo to see where it failed. It failed at the same place as before at the M589 command line.
Thank you for your advice regarding the wait time to obtain the IP address, I set it to 0.1 sec on purpose to speed up the process of testing.
echo >"0:/macros/report.txt" "Start"
var it = 0
while network.interfaces[0].actualIP = "0.0.0.0" && iterations <= 30
set var.it = var.it + 1
echo >>"0:/macros/report.txt" "1st Loop Iteration: "^var.it
G4 S.1
echo >>"0:/macros/report.txt" "1st Loop Out"
if network.interfaces[0].actualIP != "0.0.0.0"
echo >>"0:/macros/report.txt" "IF - Network Connected"
M99
abort
else
echo >>"0:/macros/report.txt" "Else - Network not Connected"
M98 P"0:/sys/led/statusoff.g"
M98 P"0:/sys/led/dimmwhite.g"
M98 P"0:/sys/led/red.g"
echo >>"0:/macros/report.txt" " "
echo >>"0:/macros/report.txt" "After LED"
echo >>"0:/macros/report.txt" " "
M552 I0 S0 ; disable Ethernet (no pause after needed)
echo >>"0:/macros/report.txt" "Result: "^result
M552 I1 S-1 ; turn off WiFi
echo >>"0:/macros/report.txt" "Result: "^result
G4 S2 ; pause
M552 I1 S0 ; turn on WiFi to idle
echo >>"0:/macros/report.txt" "Result: "^result
G4 S2 ; pause
M589 S"Printer" P"1234567890" I192.168.0.1 ; configure AP
echo >>"0:/macros/report.txt" "Result: "^result
G4 S2 ; pause
M552 I1 S2 ; turn on WiFi in AP mode
echo >>"0:/macros/report.txt" "Result: "^result
M291 S2 R"Connection was not established" P"WiFi module was automatically switched to Access Point Mode"
Start
1st Loop Iteration: 1
1st Loop Iteration: 2
1st Loop Iteration: 3
1st Loop Iteration: 4
1st Loop Iteration: 5
1st Loop Iteration: 6
1st Loop Iteration: 7
1st Loop Iteration: 8
1st Loop Iteration: 9
1st Loop Iteration: 10
1st Loop Iteration: 11
1st Loop Iteration: 12
1st Loop Iteration: 13
1st Loop Iteration: 14
1st Loop Iteration: 15
1st Loop Iteration: 16
1st Loop Iteration: 17
1st Loop Iteration: 18
1st Loop Iteration: 19
1st Loop Iteration: 20
1st Loop Iteration: 21
1st Loop Iteration: 22
1st Loop Iteration: 23
1st Loop Iteration: 24
1st Loop Iteration: 25
1st Loop Iteration: 26
1st Loop Iteration: 27
1st Loop Iteration: 28
1st Loop Iteration: 29
1st Loop Iteration: 30
1st Loop Iteration: 31
1st Loop Out
Else - Network not Connected
After LED
Result: 0
Result: 0
Result: 0
Result: 2
Result: 0
Dear Tony,
Thank you for your reply, I have added echo commands to the script and ran it as a separate macro from DWC, the machine was not able to send the M589 command, the WiFi module did not switch to AP mode as was commanded and I have manually restarted it.
During the test machine was connected through WiFi and I was testing network.interfaces[0] (Ethernet)
Please let me know if there is any other test I should perform.
Thank you for your help!
The Macro:
echo >"0:/macros/report.txt" "Start"
var it = 0
;while network.interfaces[0].actualIP = "0.0.0.0" && network.interfaces[1].actualIP = "0.0.0.0" && iterations < 30
while network.interfaces[0].actualIP = "0.0.0.0" && iterations <= 30
set var.it = var.it + 1
echo >>"0:/macros/report.txt" "1st Loop Iteration: "^var.it
G4 S.1
echo >>"0:/macros/report.txt" "1st Loop Out"
;if network.interfaces[0].actualIP != "0.0.0.0" || network.interfaces[1].actualIP != "0.0.0.0"
if network.interfaces[0].actualIP != "0.0.0.0"
echo >>"0:/macros/report.txt" "IF - Network Connected"
M99
abort
else
echo >>"0:/macros/report.txt" "Else - Network not Connected"
echo >>"0:/macros/report.txt" " "
echo >>"0:/macros/report.txt" "After IF"
echo >>"0:/macros/report.txt" " "
M98 P"0:/sys/led/statusoff.g"
M98 P"0:/sys/led/dimmwhite.g"
M98 P"0:/sys/led/red.g"
M552 I1 S-1
echo >>"0:/macros/report.txt" "Line 35 "^result
M552 I1 S0
echo >>"0:/macros/report.txt" "Line 37 "^result
M552 I1 S2
echo >>"0:/macros/report.txt" "Line 39 "^result
M552 I0 S0
echo >>"0:/macros/report.txt" "Line 44 "^result
G4 S1
M552 I1 S-1
echo >>"0:/macros/report.txt" "Line 48 "^result
G4 S2
M552 I1 S0
echo >>"0:/macros/report.txt" "Line 52 "^result
G4 S1
M589 S"Printer" P"1234567890" I192.168.0.1
echo >>"0:/macros/report.txt" "Line 56 "^result
G4 S1
M552 I1 S2
echo >>"0:/macros/report.txt" "Line 60 "^result
M291 S2 R"Connection was not established" P"WiFi module was automatically switched to Access Point Mode"
report.txt:
Start
1st Loop Iteration: 1
1st Loop Iteration: 2
1st Loop Iteration: 3
1st Loop Iteration: 4
1st Loop Iteration: 5
1st Loop Iteration: 6
1st Loop Iteration: 7
1st Loop Iteration: 8
1st Loop Iteration: 9
1st Loop Iteration: 10
1st Loop Iteration: 11
1st Loop Iteration: 12
1st Loop Iteration: 13
1st Loop Iteration: 14
1st Loop Iteration: 15
1st Loop Iteration: 16
1st Loop Iteration: 17
1st Loop Iteration: 18
1st Loop Iteration: 19
1st Loop Iteration: 20
1st Loop Iteration: 21
1st Loop Iteration: 22
1st Loop Iteration: 23
1st Loop Iteration: 24
1st Loop Iteration: 25
1st Loop Iteration: 26
1st Loop Iteration: 27
1st Loop Iteration: 28
1st Loop Iteration: 29
1st Loop Iteration: 30
1st Loop Iteration: 31
1st Loop Out
Else - Network not Connected
After IF
Line 35 0
Line 37 0
Line 39 0
Line 44 0
Line 48 0
Line 52 0
Line 56 2
Line 60 0
Hello,
I am hoping to get some assistance with creating a macro for my Duet 3 mainboard. The macro should do the following:
This Macro is called from config.g through runonce.g:
echo >"0:/sys/runonce.g" "M98 P""0:/sys/networktest.g"""
However, when attempting to run this macro, I am encountering an error message that says "SPI timeout".
I would greatly appreciate any help or guidance on how to properly write this macro and resolve the SPI timeout error at line 17 (M589).
Thank you
while network.interfaces[0].actualIP = "0.0.0.0" && network.interfaces[1].actualIP = "0.0.0.0" && iterations < 30
G4 S1
if network.interfaces[0].actualIP != "0.0.0.0" || network.interfaces[1].actualIP != "0.0.0.0"
M99
abort
M552 I0 S0
G4 S1
M552 I1 S-1
G4 S2
M552 I1 S0
G4 S1
M589 S"Printer" P"1234567890" I192.168.0.1
G4 S1
M552 I1 S2
M291 S2 R"Connection was not established" P"WiFi module was automatically switched to Access Point Mode"
Hello,
I have been having issues with my IDEX machine when I print using both heads (multi-materials)
The problem is that the Z position is not consistent. I understand that there must be something wrong with my tool change macros, but I just can't find what. I would appreciate the help.
tpre1.g
M98 P"0:/user/tooloffset.g"
tpost0.g
;M204 T5000
; Lower Z to 10mm if lower than that for safety
if move.axes[2].machinePosition < 10 && state.status != "processing" && state.status != "pausing" && state.status != "resuming"
G90
G1 F18000 Z10
G90
G1 Y-70 X-999 U999 F18000
M98 P"0:/user/toolchangeretraction.g" E1
G91
G1 X30 F12000
G1 X-30
G1 X30
G1 X-30
G90
M106 R2
G1 R2 Z0
;M204 T5000
tpost1.g
;M204 T5000
; Lower Z to 10mm if lower than that for safety
if move.axes[2].machinePosition < 10 && state.status != "processing" && state.status != "pausing" && state.status != "resuming"
G90
G1 F18000 Z10
G90
G1 Y-70 X-999 U999 F18000
M98 P"0:/user/toolchangeretraction.g" E1
G91
G1 X-30 F12000
G1 X30
G1 X-30
G1 X30
G90
M106 R2
G1 R2 Z0
;M204 T5000
tfree0.g and tfree1.g are identical
G90
;M204 T2000
M98 P"0:/user/toolchangeretraction.g" R1
G60 S2
M106 S0
; Move Z to 10mm if lower than that for safety
if move.axes[2].machinePosition < 10 && state.status != "processing" && state.status != "pausing" && state.status != "resuming"
G90
G1 F18000 Z10
G90
G1 X-999 U999 F18000
;M204 T5000
0:/user/tooloffset.g
; Set tool offsets
G10 P1 U0.4166641 Y-2.2636795 Z0
0:/user/toolchangeretraction.g
; ToolChange Retraction Disabled
Hello,
I would like to revisit a topic that was raised and closed back in 2016. I would like to clarify about the current support for HTTPS.
Upon reviewing the documentation, it's indicated that there is an option to select between HTTP and HTTPS protocols. However, despite my efforts, I've found myself unable to switch to HTTPS. Could anyone provide clarity on whether this functionality is now fully supported and, if so, guide me on how to activate HTTPS for our operations?
Additionally, there's mention of TLS support. The documentation hints at this feature not being fully implemented yet. Could someone update me on the current status of TLS support as for now?
I appreciate any updates you can provide regarding HTTPS and TLS support. Thank you.
Kind regards,
Nazar
Hello,
I have an old Duet 6HC V1.01 and I purchased your WiFi module and then discovered that it is only compatible with newer boards. Since the main processor is the same I suppose it is relatively easy to wire it to alternative pins and configure custom firmware, isn't it?
I would greatly appreciate any guidance or insights from the community on how to approach this.
Thank you in advance for your time and assistance.
Hello everyone,
I've been facing persistent issues with my Duet 2 WiFi board and I'm hoping to get some guidance.
Problem Description:
What I've Tried:
From my perspective, it feels like the board may be running out of RAM or facing a similar resource constraint.
I would sincerely appreciate any insights or suggestions on what the underlying issue might be. Thank you in advance for your time and expertise.
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.0-rc.1 (2023-08-31 16:16:15) running on Duet WiFi 1.02 or later
Board ID: 0JD0M-9X6JA-JUNSS-6JTDA-3SN6L-KALVT
Used output buffers: 26 of 26 (26 max)
Error in macro line 34 while starting up: Driver 5 does not support x64 microstepping with interpolation
Driver 6 does not support x64 microstepping with interpolation
Driver 7 does not support x64 microstepping with interpolation
=== RTOS ===
Static ram: 23076
Dynamic ram: 77604 of which 0 recycled
Never used RAM 9608, free system stack 184 words
Tasks: NETWORK(2,nWait,10.6%,221) HEAT(3,nWait,0.1%,329) Move(4,nWait,0.0%,364) MAIN(1,running,85.7%,743) IDLE(0,ready,3.6%,29), total 100.0%
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 00:00:35 ago, cause: software
Last software reset at 2023-10-03 16:40, reason: HeatTaskStuck, Platform spinning, available RAM 7556, slot 1
Software reset code 0x4140 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f80f BFAR 0xe000ed38 SP 0x200046c0 Task MAIN Freestk 3301 ok
Stack: 00000000 2000412c 10000000 e000e000 004e99ba 0045e8af 0045e020 61000000 0045e011 41caf940 ffffffff 00000000 0003673b 00000000 20001158 ffffffff 20010ff8 00000000 0045e0d7 20004770 20004794 00000002 0045b531 0000003e 00446335 2000479c 00430ee1
Error status: 0x00
Aux0 errors 0,0,0
MCU temperature: min 29.1, current 30.4, max 30.6
Supply voltage: min 21.0, current 24.2, max 26.1, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/8, heap memory allocated/used/recyclable 2048/592/312, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: ok, SG min n/a
Driver 1: ok, SG min n/a
Driver 2: ok, SG min n/a
Driver 3: ok, SG min n/a
Driver 4: ok, SG min n/a
Driver 5:
Driver 6:
Driver 7:
Driver 8:
Driver 9:
Driver 10:
Driver 11:
Date/time: 2023-10-03 16:40:55
Cache data hit count 1287819209
Slowest loop: 8.65ms; fastest: 0.21ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 9
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.7ms, write time 4.5ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, 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 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 2 -1 -1 -1, chamber heaters 3 -1 -1 -1, ordering errs 0
Heater 0 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by 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
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Q0 segments left 0
Code queue 0 is empty
=== Filament sensors ===
Extruder 0 sensor: no filament
Extruder 1 sensor: no filament
=== Network ===
Slowest loop: 7.81ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(0) HTTP(1) 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.1beta4
MAC address e8:db:84:a7:99:15
Module reset reason: Turned on by main processor, Vcc 3.38, flash size 2097152, free heap 39596
WiFi IP address 192.168.31.132
Signal strength -54dBm, channel 2, mode 802.11n, reconnections 0
Clock register 00002002
Socket states: 0 0 3 0 0 0 0 0
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.0-rc.1 (2023-08-31 16:16:15) running on Duet WiFi 1.02 or later + DueX5
Board ID: 0JD2M-958DA-F64T0-6J1DD-3SJ6J-KQW72
Used output buffers: 3 of 26 (20 max)
=== RTOS ===
Static ram: 23076
Dynamic ram: 78104 of which 0 recycled
Never used RAM 9108, free system stack 184 words
Tasks: NETWORK(2,nWait,41.0%,221) HEAT(3,nWait,0.1%,286) Move(4,nWait,0.0%,364) DUEX(5,nWait,0.0%,26) MAIN(1,running,58.0%,739) IDLE(0,ready,0.9%,29), total 100.0%
Owned mutexes: SD0(NETWORK)
=== Platform ===
Last reset 00:01:35 ago, cause: software
Last software reset at 2023-10-03 15:22, reason: StuckInSpinLoop, Gcodes spinning, available RAM 9108, slot 2
Software reset code 0x4083 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f80f BFAR 0xe000ed38 SP 0x200026b8 Task NETW Freestk 4294966919 ok
Stack: 2000afb8 2000afc8 20002744 0047442c 00429df9 0043e02d 0043a820 210f0000 0045e0d7 20008c88 2000afc8 2000afc8 00000000 20008c88 0043e0ef 00000000 2000afcc 00000001 2000274c 00000101 00000000 00000000 00000000 00000000 00000000 00000000 2000ce74
Error status: 0x00
Aux0 errors 0,0,0
MCU temperature: min 41.4, current 42.2, max 42.5
Supply voltage: min 24.0, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes
Heap OK, handles allocated/used 99/6, heap memory allocated/used/recyclable 2048/416/336, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min n/a
Driver 1: standstill, SG min n/a
Driver 2: standstill, SG min n/a
Driver 3: standstill, SG min n/a
Driver 4: standstill, SG min n/a
Driver 5: standstill, SG min n/a
Driver 6: standstill, SG min n/a
Driver 7: standstill, SG min n/a
Driver 8: standstill, SG min n/a
Driver 9: standstill, SG min n/a
Driver 10:
Driver 11:
Date/time: 2023-10-03 15:24:49
Cache data hit count 3105460338
Slowest loop: 11.05ms; fastest: 0.20ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 7
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.7ms, write time 4.6ms, max retries 0
=== Move ===
DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, 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 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 2 -1 -1 -1, chamber heaters 3 -1 -1 -1, ordering errs 0
Heater 0 is on, I-accum = 0.0
=== GCodes ===
Movement locks held by 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
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Q0 segments left 0
Code queue 0 is empty
=== Filament sensors ===
Extruder 0 sensor: no filament
Extruder 1 sensor: ok
=== DueX ===
Read count 1, 0.63 reads/min
=== Network ===
Slowest loop: 97.67ms; fastest: 0.00ms
Responder states: HTTP(2) HTTP(0) HTTP(0) HTTP(2) 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.1beta4
MAC address b4:8a:0a:f7:0a:cd
Module reset reason: Turned on by main processor, Vcc 3.34, flash size 2097152, free heap 30508
WiFi IP address 192.168.31.184
Signal strength -51dBm, channel 2, mode 802.11n, reconnections 0
Clock register 00002002
Socket states: 3 0 0 3 0 0 0 0
@dc42 Thank you so much for your advice, G1 H4 works for my application
@deckingman Thank you for bringing a point and end stop recommendation, I am using Omron D2F micro switches (with no arm for increased accuracy). The result I have are controversial, I am getting standard deviation the data set approximately 0.1129 mm, which is much higher that I was expecting, the test code is attached bellow:
echo >"0:/macros/accuracy.g" "EndStop Test Start"
echo >>"0:/macros/accuracy.g" " "
G28 X
G90
G1 Z50 F18000
while iterations <100
M400
G91
G1 X2 F600
G1 H4 X-10 F240
var dd = move.axes[0].min - move.axes[0].machinePosition
echo "X "^{var.dd}
echo >>"0:/macros/accuracy.g" ""^{var.dd}
My machine is able to conductively probe the aluminum build plate with a nozzle, I have run the script attached bellow an got similarly large standard divination of 0.0967mm
echo >"0:/macros/accuracy.g" "Nozzle Test Start"
echo >>"0:/macros/accuracy.g" " "
M42 P4 S1 ; Turn on relay, engage probing (ESD Warning)
M208 Z-3.5 S1 ; set axis minima
G1 X-999 U999 Y0 Z5 F18000
G1 Z-99
G91
G38.4 K0 X10
M400
G92 X0
while iterations <100
M400
G91
G1 X-1 F600
G38.4 K0 X2
var dd = move.axes[0].machinePosition
echo "X "^{var.dd}
echo >>"0:/macros/accuracy.g" ""^{var.dd}
G1 Z10 F18000
M208 Z0 S1 ; set axis minima
G90
G28 X
I have rigidity mounted the same end stop to the toolhead, run the script below, and got deviation from mean 0.002mm, again this is with same end stop, just mounted to toolhead and measured with Z - Axis
G30 P0 X0 Y0 Z-99999
G30 P1 X0 Y0 Z-99999
G30 P2 X0 Y0 Z-99999
G30 P3 X0 Y0 Z-99999
G30 P4 X0 Y0 Z-99999
G30 P5 X0 Y0 Z-99999
G30 P6 X0 Y0 Z-99999
G30 P7 X0 Y0 Z-99999
G30 P8 X0 Y0 Z-99999
G30 P9 X0 Y0 Z-99999
G30 P10 X0 Y0 Z-99999
G30 P11 X0 Y0 Z-99999
G30 P12 X0 Y0 Z-99999
G30 P13 X0 Y0 Z-99999
G30 P14 X0 Y0 Z-99999
G30 P15 X0 Y0 Z-99999
G30 P16 X0 Y0 Z-99999
G30 P17 X0 Y0 Z-99999
G30 P18 X0 Y0 Z-99999
G30 P19 X0 Y0 Z-99999
G30 P20 X0 Y0 Z-99999
G30 P21 X0 Y0 Z-99999
G30 P22 X0 Y0 Z-99999
G30 P23 X0 Y0 Z-99999
G30 P24 X0 Y0 Z-99999
G30 P25 X0 Y0 Z-99999
G30 P26 X0 Y0 Z-99999
G30 P27 X0 Y0 Z-99999
G30 P28 X0 Y0 Z-99999
G30 P29 X0 Y0 Z-99999
G30 P30 X0 Y0 Z-99999 S-1
Results:
G32 bed probe heights: 0.020 0.020 0.016 0.020 0.016 0.015 0.016 0.020 0.016 0.019 0.015 0.015 0.016 0.016 0.021 0.017 0.016 0.016 0.016 0.016 0.015 0.020 0.020 0.015 0.016 0.015 0.015 0.016 0.016 0.015 0.015, mean 0.017, deviation from mean 0.002
When I run test using G38.2 with the same end stop attached to the toolhead I get much larger divinations of 0.2657mm, code is attached below:
echo >"0:/macros/accuracy.txt" "Z probe with G38 Test Start"
echo >>"0:/macros/accuracy.txt" " "
G1 X0 U999 Y0 Z20 F18000
M42 P4 S1 ; Turn on relay, engage probing (ESD Warning)
G91
G38.2 K0 Z-30
M400
G92 Z0
while iterations <100
M400
G91
G1 Z2 F600
G38.2 K0 Z-3
var dd = move.axes[2].machinePosition
echo "X "^{var.dd}
echo >>"0:/macros/accuracy.txt" ""^{var.dd}
G1 Z50 F18000
G90
@deckingman what do you think?
I have a theory that large deviations can be caused by reading them with G38 or G1 H2 followed by move.axes[2].machinePosition variable, meaning we measure not a triggered position but the position after it was triggered and stopped somewhere @dc42 what do you think?
@dc42 Thank you, I will test it tomorrow
@deckingman Thank you for the reference, I use high quality end stops, I want to look for missed steps
@dc42 thank you for your recommendation, I have read about both commands and I do not think they are suitable because G1 H3 will reset the axis limit, and G1 H4 will update the current position, but I do not need to change the position, I need to read the deviation between machine's position and triggered position to then report it to the user.
Please let me know if there is solution for that.
Hello,
In previous versions of RRF, there was a feature to Switch ATX Power OFF after a Heater Fault if no action was taken for a certain period of time. I have seen that it was planned to be re-introduced in RRF 3.5.
Was it already implemented If want is there a way to get a similar behavior with conditional Gcode?
Hello, is there a way to cancel a print if any error during homing or mesh bed leveling arises within homeall.g?
For example when
"Error: G30: Probe already triggered at start of probing move"
I was not able to find it in Events or Object Model
Hello,
I want to create a script to test repeatability of X and U axis movements and check for missed steps by stepper motors
Machine will move axis and then should come to an endstop and save the position by triggering it. Position value should be stored and Max deviation should be found to check if any steps were skipped.
My draft is attached below:
G28
M574 X1 S1 P"duex.e4stop" ;Free Up "E0stop" Pin by Assigning to unused pin
M574 U2 S1 P"duex.e5stop" ;Free Up "E1stop" Pin by Assigning to unused pin
M558 K1 P8 C"E0stop" H5 F6000 T30000
M558 K2 P8 C"E1stop" H5 F6000 T30000
while iterations <=3
G1 F18000 X0 Y0 U999
G1 X-999
G1 X150
G1 X-999
G1 U999
G1 U-150
G1 U999
G1 Y170 X-200 U200
G38.4 K1 X-215
echo move.axes[0].userPosition
G38.4 K2 U215
echo move.axes[3].userPosition
M574 X1 S1 P"E0stop"
M574 U2 S1 P"E1stop"
Please let me know if there is a simpler solution?
I want to add a max deviation analysis but do not know if it is possible?
I wanted to add another while loop inside existing one to move the axis to move few times, but it did not work, please let me know if it is possible as well?
Example attached bellow:
while iterations <=3
G1 F18000 X0 Y0 U999
while iterations <=3
G1 X-999
G1 X150
G1 X-999
G1 U999
G1 U-150
G1 U999
G1 Y170 X-200 U200
G38.4 K1 X-215
echo move.axes[0].userPosition
G38.4 K2 U215
echo move.axes[3].userPosition
M574 X1 S1 P"E0stop"
M574 U2 S1 P"E1stop"
Hello,
Is there a way to restore the tool temperature that was saved during pause.g, like for example with a fan with M116 Rn or a tool with T Rn?
I want to reduce the temperature by 100 deg C during pause.g and restore it in resume.g but I do not want to create any global variables for that.
Thanks