Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login

    Error: M950: exactly one of FHJPSR must be given

    Scheduled Pinned Locked Moved Solved
    Duet Web Control
    4
    5
    170
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • amjm22undefined
      amjm22
      last edited by

      Error: M950: exactly one of FHJPSR must be given

      Board: Duet 3 Mini 5+ (Mini5plus)
      DSF Version: 3.4.6
      Firmware: RepRapFirmware for Duet 3 Mini 5+ 3.4.6 (2023-07-21)
      Here is my config file.

      Can you please assist? config (2).g

      infiniteloopundefined dc42undefined droftartsundefined 3 Replies Last reply Reply Quote 0
      • infiniteloopundefined
        infiniteloop @amjm22
        last edited by

        @amjm22 When opening your config.g in a browser, it is an unreadable string. In the forum editor, you can use the "</>" tag to create a box to which you then can paste the config like this:

        ; Configuration file for RepRapFirmware on Duet 3 Mini 5+ WiFi
        ; executed by the firmware on start-up
        ;
        ; generated by RepRapFirmware Configuration Tool v3.5.0-rc.3+2 on Wed Mar 20 2024 06:10:00 GMT-0400 (Eastern Daylight Time)
        
        ; General
        M550 P"TheMachine" ; set hostname
        
        ; Network
        M586 P0 S1 ; configure HTTP
        M586 P1 S1 ; configure FTP
        M586 P2 S1 ; configure Telnet
        
        ; LED Strips
        M950 E0 C"io1.out" T1 ; configure LED strip #0
        
        ; Smart Drivers
        M569 P0.0 S1 D2 ; driver 0.0 goes forwards (X axis)
        M569 P0.1 S1 D2 ; driver 0.1 goes forwards (Y axis)
        M569 P0.2 S1 D2 ; driver 0.2 goes forwards (Z axis)
        M569 P0.3 S1 D2 ; driver 0.3 goes forwards (extruder 0)
        
        ; Motor Idle Current Reduction
        M906 I30 ; set motor current idle factor
        M84 S30 ; set motor current idle timeout
        
        ; Axes
        M584 X0.0 Y0.1 Z0.2 ; set axis mapping
        M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation
        M906 X800 Y800 Z800 ; set axis driver currents
        M92 X80 Y80 Z80 ; configure steps per mm
        M566 X1200 Y1200 Z1200 ; set maximum instantaneous speed changes (mm/min)
        M203 X18000 Y18000 Z18000 ; set maximum speeds (mm/min)
        M201 X1000 Y1000 Z1000 ; set accelerations (mm/s^2)
        
        ; Extruders
        M584 E0.3 ; set extruder mapping
        M350 E16 I1 ; configure microstepping with interpolation
        M906 E700 ; set extruder driver currents
        M92 E690 ; configure steps per mm
        M566 E1800 ; set maximum instantaneous speed changes (mm/min)
        M203 E3600 ; set maximum speeds (mm/min)
        M201 E1000 ; set accelerations (mm/s^2)
        
        ; Kinematics
        M665 R150 L360.24 B140 H520 ; set delta radius, diagonal rod length, printable radius and homed height
        M208 Z0 S1 ; set minimum Z
        M666 X0 Y0 Z0 A0 B0 ; endstop adjustments and XY tilt, can be determined using auto calibration as well
        
        ; Probes
        M558 K0 P5 C"nil+io4.out" H5 F120 T6000 ; configure digital probe via slot #0
        M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved
        G31 P500 X0 Y0 Z0.7 ; set Z probe trigger value, offset and trigger height
        
        ; Endstops
        M574 X2 P"io3.in" S1 ; configure X axis endstop
        M574 Y2 P"io5.in" S1 ; configure Y axis endstop
        M574 Z2 P"io6.in" S1 ; configure Z axis endstop
        
        ; Mesh Bed Compensation
        M557 R135 S40:40 ; define grid for mesh bed compensation
        
        ; Heaters
        M308 S0 P"temp0" Y"thermistor" T100000 B3950 C7.06e-8; configure sensor 0 as thermistor on pin temp1
        M950 H0 C"out0" T0                           ; create bed heater output on out1 and map it to sensor 0
        M307 H0 B0 S1.00                             ; disable bang-bang mode for the bed heater and set PWM limit
        M140 H0                                      ; map heated bed to heater 0
        M143 H0 S145                                 ; set temperature limit for heater 0 to 145C
        M308 S1 P"temp1" Y"thermistor" T100000 B4725 6e-8 ; configure sensor #0
        M308 S1 P"temp1" Y"thermistor" A"Nozzle" T100000 B4725  ; configure sensor 1 as thermistor on pin temp2
        M950 H1 C"out1" T1                                    ; create nozzle heater output on out2 and map it to sensor 1
        M307 H1 B0 S1.00                                      ; disable bang-bang mode for heater  and set PWM limit
        
        
        
        ; Fans
        M950 F0 C"out6" ; create fan #0
        M106 P0 S0 L0 X1 B0.1 ; configure fan #0
        M950 F1 C"out5" ; create fan #1
        M106 P1 S0 B0.1 H1 T45 ; configure fan #1
        
        ; Tools
        M563 P0 D0 H1 F0 ; create tool #0
        M568 P0 R0 S0 ; set initial tool #0 active and standby temperatures to 0C
        
        ; Miscellaneous
        T0 ; select first tool
        

        The error message hints at some wrong port assignment with M950, in this case, I think you assign IO_1 twice:

        M950 E0 C"io1.out" T1 ; configure LED strip #0
        
        M950 H1 C"out1" T1                                    ; create nozzle heater output on out2 and map it to sensor 1
        

        BTW, in both cases, the comment is misleading, it doesn't match the effective IO-ports

        1 Reply Last reply Reply Quote 0
        • dc42undefined
          dc42 administrators @amjm22
          last edited by

          @amjm22 M950 with E parameter to support LED strips is only available in firmware 3.5.

          Duet WiFi hardware designer and firmware engineer
          Please do not ask me for Duet support via PM or email, use the forum
          http://www.escher3d.com, https://miscsolutions.wordpress.com

          1 Reply Last reply Reply Quote 0
          • droftartsundefined
            droftarts administrators @amjm22
            last edited by

            @amjm22 In RRF 3.4.6, you can only connect LEDs to the 4-pin connector labelled DS_LED. Configure with M150. See this page for details: https://docs.duet3d.com/en/User_manual/Connecting_hardware/IO_Neopixel_DotStar

            Ian

            Bed-slinger - Mini5+ WiFi/1LC | RRP Fisher v1 - D2 WiFi | Polargraph - D2 WiFi | TronXY X5S - 6HC/Roto | CNC router - 6HC | Tractus3D T1250 - D2 Eth

            1 Reply Last reply Reply Quote 0
            • amjm22undefined
              amjm22
              last edited by

              Thank you so much! you guys ROCK

              1 Reply Last reply Reply Quote 0
              • dc42undefined dc42 marked this topic as a question
              • dc42undefined dc42 has marked this topic as solved
              • First post
                Last post
              Unless otherwise noted, all forum content is licensed under CC-BY-SA