New firmware 1.21RC4
-
dc42:
You mentioned in the RC3 thread that you wanted to change G30 for multi-probing and possible to move back to the dive height:
I am looking at this now. It would be easier if I change the behaviour of G30 with no P parameter so that after probing it moves the probe up to the dive height, just as it does when there is a P parameter. Can anyone see a reason why I shouldn't make this change?
As far as I can tell, after a simple [c]G30[/c] triggers, RRF now moves my bed down (by 7mm = dive height). Since my next command in homez.g is a [c]G1 Z3 F100[/c], the bed reverse direction and moves closer to the nozzle - at a faster speed, which is a bit nerve racking the first time
I have changed the code so that G30 by itself can do multi tap. Only G30 S-1 and S-2 now do single tap only.
[…]
Another possibility I have considered is to keep G30 behaving as now (but possibly with a speed override), but to make G30 P0 Z-9999 S1 do "1-factor calibration" on all machine architectures, i.e. set the Z height. Then in homez.g you would do G30 followed by G30 P0 Z-9999. The G30 with P parameter would support multi tap.The release notes didn't mention any of this, and neither does the gcode-wiki. Would you mind clarifying this please?
-
I have updated the release notes to include the changed G30 behaviour.
-
Hi all,
I updated from 1.2 to 1.2.1 RC4 (direct). Updated the Duet Wifi firmware, the web server and the web control interface.
Cartesian printer.I had issues with homing ('Error: G0/G1: insufficient axes homed') and found the answer in this thread - thought I'd read through all the 1.2.1 release notes but obviously not
Anyway after adding the S2 to my G1 commands I ran a home test.
X and Y worked as expected but Z tried its damnedest to smash through my glass bed! Have I missed something or is something else wrong?
[[language]] ; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool on Wed Mar 07 2018 10:07:16 GMT+0000 (GMT) G91 ; relative positioning G1 S2 Z5 F6000 ; lift Z relative to current position G1 S1 X-205 F6000 ; move quickly to X axis endstop and stop there (first pass) G1 X5 F6000 ; go back a few mm G1 S1 X-205 F600 ; move slowly to X axis endstop once more (second pass) G1 S2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
[[language]] ; homey.g ; called to home the Y axis ; ; generated by RepRapFirmware Configuration Tool on Wed Mar 07 2018 10:07:16 GMT+0000 (GMT) G91 ; relative positioning G1 S2 Z5 F6000 ; lift Z relative to current position G1 S1 Y-205 F6000 ; move quickly to Y axis endstop and stop there (first pass) G1 Y5 F6000 ; go back a few mm G1 S1 Y-205 F600 ; move slowly to Y axis endstop once more (second pass) G1 S2 Z-5 F6000 ; lower Z again G90 ; absolute positioning
[[language]] ; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool on Wed Mar 07 2018 10:07:16 GMT+0000 (GMT) G91 ; relative positioning G1 Z5 F6000 ; lift Z relative to current position G1 S1 Z-180 F6000 ; move Z down until the switch triggers G92 Z0 ; set Z position to trigger height ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
[[language]] ; homeall.g ; called to home all axes ; ; generated by RepRapFirmware Configuration Tool on Wed Mar 07 2018 10:07:16 GMT+0000 (GMT) G91 ; relative positioning G1 S2 Z5 F6000 ; lift Z relative to current position G1 S1 X-205 Y-205 F6000 ; move quickly to X and Y axis endstops and stop there (first pass) G1 X5 Y5 F6000 ; go back a few mm G1 S1 X-205 Y-205 F600 ; move slowly to X and Y axis endstops once more (second pass) G1 S2 Z-180 F6000 S1 ; move Z down stopping at the endstop G90 ; absolute positioning G92 Z0 ; set new Z position ;G1 Z5 F100 ; uncomment this line to lift the nozzle after homing
-
1. What are you using to home Z: a homing switch, or a Z probe?
2. What M574 command or commands do you have in config.g?
-
1. What are you using to home Z: a homing switch, or a Z probe?
2. What M574 command or commands do you have in config.g?
I was just looking at this - I noticed in the 'Machine Properties' interface the Z switch seems be reversed..
1. A homing switch
2…
[[language]] ; Endstops M574 X1 Y1 Z1 S0 ; Set active low endstops M558 P0 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds G31 P500 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height
-
If they are two-wire switches then it's safer to use the normally-closed contacts (the outer two on the microswitch) and set them to active high (S1) in M574. The problem with using active low is that if the wire becomes detached, the endstop will never show as triggered. This may be what has happened.
-
In the machine properties interface I can see endstop hit = 'yes'. If I then tap the switch it turns to 'no'
So the switch is functioning as expected but it appears that during the upgrade something has reversed..?
Or am I misunderstanding something?I've literally finished a print, done this upgrade and then applied the S2 changes to G1, that's all…
-
Strange, nothing has been intentionally changed in that area. How have you wired your switches - which contacts are you using? Do you definitely have only one M574 command in config.g?
-
They're two wire switches connected to the two left pins on the duet board header (with the wifi part bottom left). Is that not right then?
Here's my entire config.g. Its pretty much straight from the configurator as I'm new to all this so not comfortable changing much yet…
[[language]] ; Configuration file for Duet WiFi (firmware version 1.20 or newer) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool on Wed Mar 07 2018 10:07:16 GMT+0000 (GMT) ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P1 ; Set firmware compatibility to look like RepRapFirmare ; Network M550 Pxxxxxxxx ; Set machine name M551 Pxxxxxxxx ; Set password M552 S1 ; Enable network M587 S"xxxxxxxxxx" P"xxxxxxxxxx" I192.168.0.9 J192.168.0.9 K255.255.255.0 ; Configure access point and IP addresses. You can delete this line once connected M586 P0 S1 ; Enable HTTP M586 P1 S0 ; Disable FTP M586 P2 S0 ; Disable Telnet ; Drives M569 P0 S0 ; Drive 0 goes backwards M569 P1 S1 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X80 Y80 Z400 E103 ; Set steps per mm M566 X480 Y480 Z12 E120 ; Set maximum instantaneous speed changes (mm/min) M203 X14400 Y14400 Z1200 E3000 ; Set maximum speeds (mm/min) M201 X800 Y800 Z100 E5000 ; Set accelerations (mm/s^2) M906 X855 Y855 Z855 E1125 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; Set axis minima M208 X200 Y200 Z175 S0 ; Set axis maxima ; Endstops M574 X1 Y1 Z1 S0 ; Set active low endstops M558 P0 H5 F120 T6000 ; Set Z probe type to switch and the dive height + speeds G31 P500 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height M557 X25:175 Y25:175 S20 ; Define mesh grid ; Heaters M301 H0 S1.00 P10 I0.1 D200 T0.4 W180 B30 ; Use PID on bed heater (may require further tuning) M305 P0 T100000 B3988 C0 R4700 ; Set thermistor + ADC parameters for heater 0 M143 H0 S120 ; Set temperature limit for heater 0 to 120C M305 P1 T100000 B4725 C0 R4700 ; Set thermistor + ADC parameters for heater 1 M143 H1 S280 ; Set temperature limit for heater 1 to 280C ; Fans M106 P0 S0 I0 F500 H-1 ; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off M106 P1 S1 I0 F500 H T45 ; Set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on M106 P2 S1 I0 F500 H T45 ; Set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on ; Tools M563 P0 D0 H1 ; Define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; Automatic saving after power loss is not enabled ; Custom settings are not configured ; Miscellaneous T0 ; Select first tool
-
Ok, so if I downgrade back to 1.2.0 everything works as expected and I can see the Endstops hit = No for all axes
Then I upgrade to 1.2.1 (rc4 or 5) and all axes show Endstops hit = yes.Should this be happening? Have I done something wrong?
EDIT: I'll move this into the RC5 discussions in case its relevant
-
The Machine Properties page of DWC doesn't show the correct endstop state when you use active low endstops with firmware 1.21RC5. When it says "endstop hit" it means the input is HIGH, else it means the input is low.
M119 does show the correct states.