Duet Software Framework



  • I have one of the new Duet 3 main boards connected to a raspberry pi v4. The boards seem to connect but when I try to update my config.g file an error Failed to create directory 0:/sys occurs. I attach the control server and we server log files and would be grateful for some help!

    [1_1568965693024_duetwebserver.log](Uploading 100%) [0_1568965693024_controlserver.log](Uploading 100%)



  • I'm not sure the files uploaded properly so am pasting the control server file.

    pi@raspberrypi:/opt/dsf/sd/sys $ sudo /opt/dsf/bin/DuetControlServer
    Duet Control Server v1.0.3.3
    Written by Christian Hammacher for Duet3D
    Licensed under the terms of the GNU Public License Version 3

    Loading settings... Done!
    Initialising object model... Done!
    Connecting to RepRapFirmware... Done!
    Creating IPC socket... Done!

    [info] Sent M500, remaining space 748 (2028 total), needed 20
    [err] Failed to create directory 0:/sys
    [err] Failed to create folder 0:/sys while trying to open file 0:/sys/config-override.g
    [info] Completed M500
    [info] Resetting controller
    [info] Connection to Duet established
    [info] Controller has been reset
    [info] Executing system macro file '/opt/dsf/sd/sys/config.g' on channel Daemon
    [crit] Abnormal program termination: SPI task terminated
    [crit] DuetAPI.Commands.CodeParserException: Duplicate P parameter
    at DuetAPI.Commands.Code.Parse(TextReader reader, Code result, Boolean& enforcingAbsolutePosition) in /home/christian/duet/DuetSoftwareFramework/src/DuetAPI/Commands/Code/Parser.cs:line 328
    at DuetControlServer.FileExecution.BaseFile.ReadCode() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/FileExecution/BaseFile.cs:line 106
    at DuetControlServer.FileExecution.MacroFile.ReadCode() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/FileExecution/MacroFile.cs:line 183
    at DuetControlServer.SPI.ChannelInformation.ProcessRequests() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/SPI/Channel.cs:line 232
    at DuetControlServer.SPI.Interface.Run() in /home/christian/duet/DuetSoftwareFramework/src/DuetControlServer/SPI/Interface.cs:line 447



  • please do ls -la /opt/dsf/sd and post?



  • @bearer thanks for your response. I'm attaching the output as requested plus ditto for the sys directory which for some reason shows the config.g file owned by root. I have also attached the config file which I am using to test with as the parser seems to complain about a duplicate P parameter which I haven't spotted so far.
    total 24
    drwxr-xr-x 6 pi pi 4096 Sep 16 14:36 .
    drwxr-xr-x 6 pi pi 4096 Sep 16 14:36 ..
    drwxr-xr-x 2 pi pi 4096 Aug 29 10:31 filaments
    drwxr-xr-x 2 pi pi 4096 Aug 29 10:31 gcodes
    drwxr-xr-x 3 pi pi 4096 Sep 19 11:21 macros
    drwxr-xr-x 2 pi pi 4096 Sep 20 08:21 sys
    lrwxrwxrwx 1 pi pi 7 Aug 29 10:31 www -> ../dwc2

    total 680
    drwxr-xr-x 2 pi pi 4096 Sep 20 08:21 .
    drwxr-xr-x 6 pi pi 4096 Sep 16 14:36 ..
    -rw-r--r-- 1 pi pi 1709 Sep 19 17:27 bed.g
    -rw-r--r-- 1 pi pi 59 Sep 19 17:27 cancel.g
    -rw-r--r-- 1 root root 2304 Sep 20 08:21 config.g
    -rw-r--r-- 1 pi pi 2304 Sep 19 17:45 config.g.bak
    -rw-r--r-- 1 pi pi 342 Sep 20 08:18 config-override.g
    -rw-r--r-- 1 pi pi 458436 Sep 19 17:33 Duet3Firmware_MB6HC.bin
    -rw-r--r-- 1 pi pi 33804 Sep 13 13:25 Duet3iap_spi_MB6HC.bin
    lrwxrwxrwx 1 pi pi 24 Sep 13 13:25 Duet3iap_spi_MBP05.bin -> ./Duet3iap_spi_MB6HC.bin
    -rw-r--r-- 1 pi pi 1079 Sep 19 17:37 dwc2settings.json
    -rw-r--r-- 1 pi pi 886 Sep 19 17:28 homeall.g
    -rw-r--r-- 1 pi pi 474 Sep 19 17:28 homex.g
    -rw-r--r-- 1 pi pi 760 Sep 19 17:28 homey.g
    -rw-r--r-- 1 pi pi 441 Sep 19 17:28 homez.g
    -rw-r--r-- 1 pi pi 60476 Sep 19 17:28 iap4e.bin
    -rw-r--r-- 1 pi pi 60748 Sep 19 17:28 iap4s.bin
    -rw-r--r-- 1 pi pi 221 Sep 19 17:28 pause.g
    -rw-r--r-- 1 pi pi 206 Sep 19 17:28 resume.g
    -rw-r--r-- 1 pi pi 54 Sep 19 17:28 sleep.g
    -rw-r--r-- 1 pi pi 86 Sep 19 17:28 stop.g
    -rw-r--r-- 1 pi pi 136 Sep 19 17:28 tfree0.g
    -rw-r--r-- 1 pi pi 196 Sep 19 17:28 tpost0.g
    -rw-r--r-- 1 pi pi 139 Sep 19 17:28 tpre0.g

    ; Configuration file for Workbee

    ; Network
    M550 P Peter's WorkBee; Set machine name
    M552 S1
    M564 H0
    ; General preferences
    M111 S0 ; Debugging off
    M453 ; CNC mode
    G21 ; Work in millimetres
    G90 ; Send absolute coordinates...
    M83 ; ...but relative extruder moves
    M555 P2 ; Set firmware compatibility to look like Marlin
    ; Automatic saving after power loss is not enabled

    ; Endstops
    ;M558 P5 H5 F100 T2500 ; Set Z probe type to switch and the dive height + speeds
    ;G31 P600 X0 Y0 Z39.55 ; Set Z probe trigger value, offset and trigger height
    ;M557 X15:530 Y15:500 S20 ; Define mesh grid

    ; Drives & Axis
    ;
    ; Define axis X on drive 0, axis Y on drives 1 and 3, axis Z on drive 2 and dummy axis U on drive 9
    ; Show only axis X, Y and Z
    M584 X0 Y1:4 Z2 U9 E4:5:6 P3

    ;
    ; Set stepper drives parameters for all the used ones
    M569 P0 S1 ; Drive 0 goes forwards
    M569 P1 S0 ; Drive 1 goes backwards
    M569 P2 S1 ; Drive 2 goes forwards
    M569 P3 S0 ; Drive 3 goes backwards
    M350 X16 Y16 Z16 U16 ; Configure microstepping with interpolation
    M906 X2400 Y2400 Z2400 U2400 I30 ; Set motor currents (mA) and motor idle factor in per cent

    M84 S30 ; Set idle timeout
    ;
    ; Set axis dynamic parameters
    M92 X400 Y400 Z400 U400 ; Set steps per mm
    M566 X400 Y400 Z12 U400 ; Set maximum instantaneous speed changes (mm/min)
    M203 X2500 Y2500 Z2500 U2500 ; Set maximum speeds (mm/min)
    M201 X150 Y150 Z150 U150 ; Set accelerations (mm/s^2)
    ;
    ; Set axis travel distances
    M208 X0 Y0 Z0 U0 S1 ; Set axis minima
    M208 X550 Y520 Z94 U520 S0 ; Set axis maxima
    ;
    ; Set axis endstops
    ;M574 X1 Y1 Z2 U1 S1 ; Set active high endstops
    M574 X1 S1 P"io0.in"

    M581 X Y Z U S0 T0 C0 ; Enable endstop triggers while machining

    ; Heaters
    M140 H-1 ; Disable heated bed

    ; Tools; Custom settings
    M564 H0 ; Enable jog commands when not homed
    M140 H-1 ; Disable heated bed
    M501 ; Load Stored Parameters
    ;M563 P1 S"XYZ-Probe" ; Define XYZ Touch Probe Tool



  • @pd said in Duet Software Framework:

    M550 P Peter's WorkBee; Set machine name

    try
    M550 P"Peter's WorkBee"; Set machine name



  • @bearer said
    try
    M550 P"Peter's WorkBee"; Set machine name

    Many thanks that worked


  • administrators

    @pd also M550 should not be used at all right now. If you want to set the hostname, have a look here:

    https://duet3d.dozuki.com/Wiki/SBC_Setup_for_Duet_3#Section_Changing_the_SBC_hostname

    however it needs to be a valid network hostname so no spaces and no punctuation.



  • As of 1.0.3.3 M550 controls the displayed name in DWC, but indeed it can only be set to the same name as the current hostname; however it defaults to "My Duet"

    9/20/2019, 12:12:51 PM	M550 P"Duet3"
    9/20/2019, 12:12:37 PM	M550 PDUET3
    9/20/2019, 12:12:22 PM	M550 PTEST
    Error: Machine name must consist of the same letters and digits as configured by the Linux hostname
    9/20/2019, 12:12:14 PM	Connected to 10.10.0.195
    

  • administrators

    @bearer yep, so best to leave it commented out until a future version when we can use DWC to set the hostname



  • @T3P3Tony Yes apologies I should have mentioned that. The next error message I received said the name set by M550 had to be exactly the same as the host name. Is this a function of RRF 3 or the duet framework setup?


  • administrators

    @pd its the way that printer names and hostnames are related right now. For now please comment out M550 and then set your hostname to whatever you want to be the network name and printer name.



  • @T3P3Tony said in Duet Software Framework:

    For now please comment out M550 and then set your hostname to whatever you want to be the network name and printer name.

    @bearer said in Duet Software Framework:

    however it defaults to "My Duet"

    ?


  • administrators

    @bearer weird - my does not it shows the hostname


  • administrators



  • @T3P3Tony said in Duet Software Framework:

    @bearer weird - my does not it shows the hostname

    After downloading the DuetPi.img to test, it comes up as "My Duet" with the hostname "duet3"
    41f02750-2fb5-4e81-a7c5-fa8088d47fcf-image.png

    pi@duet3:/opt $ hostname
    duet3
    

    But the name in Duet Web Control does change to "duet3" after creating an empty config.g which seems odd that a value should have effectively two defaults at different stages of booting.

    pi@duet3:/opt/dsf/sd/sys $ touch config.g
    

    96ca9baf-a481-4ce7-a959-ef3c7fd25337-image.png


  • administrators

    one is the default for the DWC application. the other is what DSF will set once it has booted.



  • I get that, but I don't think many user will differentiate between having an empty config file and the defaults attached to DSF and a missing config file and the defaults attached to DWC.


  • administrators

    @bearer well an empty config.g is not a state i would expect the system to be in except on initial setup. at which point, whatever is shown in DWC is not as important.


Log in to reply