Duex2 Enstops
-
I have the following triggers set up. Everything works as expected except E4. If I switch the sensors plugged into E3 and E4, E4 continues to not trigger.
M581 E0 T0 S1 C0 M581 E1 T1 S1 C0 M581 E2 T2 S1 C0 M581 E3 T5 S0 C1 M581 E4 T6 S0 C1
-
@Eduma said in Duex2 Enstops:
I have the following triggers set up. Everything works as expected except E4. If I switch the sensors plugged into E3 and E4, E4 continues to not trigger.
M581 E0 T0 S1 C0 M581 E1 T1 S1 C0 M581 E2 T2 S1 C0 M581 E3 T5 S0 C1 M581 E4 T6 S0 C1
I notice the trigger numbers are 0, 1, 2, 5, 6 as opposed to 0, 1, 2, 3, 4.
Do you have trigger files for each of those numbers?
Frederick
-
Yes i have a unique trigger file for each.
-
Replaced the Duex 2 with a Duex 5 and it apears to now work correctly.
Maybe some one with more knowledge of the firmware can confirm but i suspect that the Duex2 does not have the E4-E6 configured out of the box.
-
bump
I still have not figured out how to utilize the extra end stops on the Duex 2.
-
Hi,
I cannot help you because I only have Duex5 boards.
If the Duex2 boards actually have 5 functioning end stop inputs they ought to work just like the Duex5.
Frederick
-
Hi, can you send M122 with the Duex2 connected?
When you say indicated lights and voltages are as expected, what do you mean exactly?
Do the endstop lights change when the switches are triggered?
How is the Duex wired to the Duet?
Also post your entire config.g.
Are these new boards?
-
Sorry for the delay in responding.
The indicator lights change as expected when triggered. I measured the voltage in each trigger circuit and they measure as expected.
The Duex is connected to the Duet with the supplied 50 pin ribbon cable.
As mentioned I installed a Duex 5 without making changes and everything worked as expected.
M122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05.1 running on Duet WiFi 1.02 or later + DueX2 Board ID: 08DLM-996RU-N85T0-6J9FL-3SD6T-1SSVP Used output buffers: 1 of 24 (8 max) === RTOS === Static ram: 25712 Dynamic ram: 93832 of which 232 recycled Exception stack ram used: 312 Never used ram: 10984 Tasks: NETWORK(ready,628) HEAT(blocked,1256) DUEX(suspended,160) MAIN(running,3736) IDLE(ready,160) Owned mutexes: === Platform === Last reset 00:02:49 ago, cause: power up Last software reset time unknown, reason: User, spinning module GCodes, available RAM 10984 bytes (slot 3) Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0441f000 BFAR 0xe000ed38 SP 0xffffffff Task 0x4e49414d Error status: 0 Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest block write time: 0.0ms, max retries 0 MCU temperature: min 31.5, current 37.6, max 37.8 Supply voltage: min 24.1, current 24.2, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Driver 0: standstill, SG min/max not available Driver 1: standstill, SG min/max not available Driver 2: standstill, SG min/max not available Driver 3: standstill, SG min/max not available Driver 4: standstill, SG min/max not available Driver 5: standstill, SG min/max not available Driver 6: standstill, SG min/max not available Date/time: 2020-08-10 08:55:50 Cache data hit count 510112386 Slowest loop: 11.44ms; fastest: 0.07ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === Hiccups: 0, FreeDm: 160, MinFreeDm: 160, MaxWait: 0ms Bed compensation in use: none, comp offset 0.000 === DDARing === Scheduled moves: 0, completed moves: 0, StepErrors: 0, LaErrors: 0, Underruns: 0, 0 === Heat === Bed heaters = -1 -1 -1 -1, chamberHeaters = -1 -1 === GCodes === Segments left: 0 Stack records: 2 allocated, 0 in use Movement lock held by null http is idle in state(s) 0 telnet is idle in state(s) 0 file is idle in state(s) 0 serial is idle in state(s) 0 aux is idle in state(s) 0 daemon is idle in state(s) 0 queue is idle in state(s) 0 autopause is idle in state(s) 0 Code queue is empty. === Network === Slowest loop: 21.43ms; fastest: 0.00ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) Telnet(0) HTTP sessions: 1 of 8 - WiFi - Network state is running WiFi module is providing access point Failed messages: pending 0, notready 0, noresp 0 WiFi firmware version 1.23 WiFi MAC address ee:fa:bc:5b:49:04 WiFi Vcc 3.36, reset reason Turned on by main processor WiFi flash size 4194304, free heap 24840 WiFi IP address 11.22.33.44 Connected clients 1 Socket states: 0 0 0 0 0 0 0 0
config.g
;Configuration file for Duet WiFi ;Version 1 6/19/2020 ;__________________________________________________________________________________________ ;__________DISABLE ALL FANS__________ M106 P0 I-1 M106 P1 I-1 M106 P2 I-1 M106 P3 I-1 M106 P4 I-1 M106 P5 I-1 M106 P6 I-1 M106 P7 I-1 ;__________TURN OFF ALL FAN OUTPUTS__________ M42 P20 S0 M42 P21 S0 M42 P22 S0 M42 P23 S0 M42 P24 S0 M42 P25 S0 M42 P26 S0 M42 P27 S0 ;__________DISABLE ALL HEATERS__________ M307 H0 A-1 C-1 D-1 M307 H1 A-1 C-1 D-1 M307 H2 A-1 C-1 D-1 M307 H3 A-1 C-1 D-1 M307 H4 A-1 C-1 D-1 M307 H5 A-1 C-1 D-1 M307 H6 A-1 C-1 D-1 M307 H7 A-1 C-1 D-1 ;__________TURN OFF ALL HEATER OUTPUTS__________ M42 P0 S0 M42 P1 S0 M42 P2 S0 M42 P3 S0 M42 P4 S0 M42 P5 S0 M42 P6 S0 M42 P7 S0 M42 P1 S1 ;TURN WHITE LIGHT ON ;__________General preferences__________ G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P1 ; SET FIRMWARE COMPATABILITY TO REPRAP M669 K1 X-1:-1:0:0 Y-1:1:0:0 Z0:0:1:0 U0:0:0:1 ;Select CoreXY mode ;__________Network__________ M552 S0 ;WIFI ON G4 S1 ;WAIT 1 SECOND M552 S2 ;ENABLE NETWORK AS HOST ;M552 S1 ;ENABLE NETWORK AS CLIENT G4 S1 ;WAIT 1 SECOND ; __________Drives__________ M569 P0 S1 ;Drive 0 goes forwards M569 P1 S1 ;Drive 1 goes forwards M569 P2 S0 ;Drive 2 goes backwards M92 X80 Y80 Z414.4 ;SET STEPS PER MM 16X MICRO STEPS M350 X16 Y16 Z16 I1 ;SETP MICRO STEPPING M566 X1000 Y1000 Z2000 ;(jerk) Set maximum instantaneous speed changes (mm/min) M203 X18000 Y18000 Z6000 ;Set maximum speeds (mm/min) M201 X1500 Y1500 Z1500 ;Set max accelerations (mm/s^2) M906 X1600 Y1600 Z1600 I30 ;Set motor currents (mA) and motor idle factor in per cent M84 S5 ;Set idle timeout ; __________Axis Limits__________ M208 X0 Y0 Z0 S1 ;Set axis minima M208 X330 Y300 Z105 S0 ;Set axis maxima ; __________Endstops__________ M574 X2 Y2 Z2 S1 ;Set active high endstops ; __________Tools__________ M563 P0 S"TOOL 0" D0 ;DEFINE TOOL 0 G10 P0 X0 Y0 Z0 ;SET TOOL 0 AXIS OFFSET M563 P1 S"TOOL 1" D1 ;DEFINE TOOL 1 G10 P1 X52 Y0 Z0 ;SET TOOL 1 AXIS OFFSET ;__________BED__________ M140 H-1 ;DISABLE BED HEAT ;__________ESTOP I/O__________ M581 E0 T0 S1 C0 ;WHEN DRIVE 0 HOME SENSOR IF LOW EXECUTE E-STOP ;__________DOOR I/O__________ M581 E1 T1 S1 C0 ;WHEN DRIVE 6 HOME SENSOR IS LOW EXECUTE PAUSE M582 T1 ;__________EXHAUST CHECK__________ M581 E2 T2 S1 C0 ;CHECK EXHAUST SWITCH AT ALL TIME IF OPEN RUNTRIGGER2.G M582 T2 ;__________ENABLE COLD EXTRUDE__________ M302 P1 ;ALLOW COLD EXTRUDE ;__________LOW LEVEL__________ M581 E3 T5 S1 C0 ;DEFINE TRIGGER 5 M581 E4 T6 S1 C0 ;DEFINE TRIGGER 6
-
@Eduma There doesn't seem to be any configuration reason why the Duex5 would work, and not the Duex2. Therefore if this is a genuine Duet board purchased from an authorized reseller within the last 6 months, I authorize a warranty exchange. Please contact your seller and initiate a warranty claim. Include a link to this forum thread.
-
Curious if the Duex 2 endstops function as actual endstops for an axis.
-
I will do some additional testing with the same duex2 and advise. I will then reach out to filastruder if needed for a return.
-
I tried to trigger E4-E6 on a separate Duex2 in a different machine and it will not trigger. I suspect that the firmware is not looking at the input since there is no stepper drive at these postions.
Am I correct that in firmware 2.x you can not remap a home sensor to a different axis?
-
Thanks for testing. It would then appear that it's not a hardware issue at all.
@Eduma said in Duex2 Enstops:
Am I correct that in firmware 2.x you can not remap a home sensor to a different axis?
Kind of, but I don't think it affects their usage as triggers.
Using M584 to map drivers to axes does not affect endstop inputs. In RRF2, endstop inputs XYZ are pre-allocated, after that they are allocated in the order in which axes are created. So if you create just one extra axes (e.g. U), it will use the E0 endstop input. If more than one axis is created in a single M584 command, endstop inputs are allocated to the new axes in axis creation order (see previous item). For example, M584 C5 U6 would allocate endstop input E0 to the U axis and E1 to the C axis.
RRF3 does have more flexibility in how things are mapped, so if you wanted to test, you could create a very basic config using the online configurator for RRF3, update your firmware to 3.0 and then 3.1.1 and test your triggers. If it works, then you could migrate over, if it doesn't work, then you can reflash to 2.05.1 and use your previous config if you wish.
I'll ask DC42 again about the Duex2 endstops being used as triggers.