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

    [DSF Extension] Exec On MCode (was: Shutdown SBC)

    Scheduled Pinned Locked Moved
    DSF Development
    22
    117
    9.9k
    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.
    • wilrikerundefined
      wilriker @chas2706
      last edited by

      @chas2706 If you run

      sudo ./execonmcode -help
      

      It will try to find the executable in the current directory you issue this command. To have your shell locate it in your $PATH remove the ./ in front of execonmcode. For -help you don't need sudo BTW.

      To make sure that it can find it also check if

      echo $PATH
      

      actually does contain /use/local/bin.

      Last thing: you spelled it execonmode instead of execonmcode (extra "c" after "m") above. Make sure that's only a typo here. I might rename the executable in the future to something less error-prone.

      Manuel
      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
      with probably always latest firmware/DWC (incl. betas or self-compiled)
      My Tool Collection

      1 Reply Last reply Reply Quote 0
      • chas2706undefined
        chas2706
        last edited by

        @wilriker
        Thanks for the info. I will give it another go.

        execonmode was just a typo error in my post lol.

        Thanks

        1 Reply Last reply Reply Quote 0
        • chas2706undefined
          chas2706
          last edited by

          @wilriker said in [DSF Extension] Exec On MCode (was: Shutdown SBC):

          ./execonmcode -help

          I have placed execonmcode in /usr/local/bin and typed the following in the terminal without success:

          pi@Duet3:~ $ cd /usr/local/bin
          pi@Duet3:/usr/local/bin $ ls
          execonmcode listen-for-shutdown.py
          pi@Duet3:/usr/local/bin $ ./execonmcode -help
          bash: ./execonmcode: Permission denied
          pi@Duet3:/usr/local/bin $ sudo ./execonmcode -help
          sudo: ./execonmcode: command not found
          pi@Duet3:/usr/local/bin $ execonmcode -help
          bash: /usr/local/bin/execonmcode: Permission denied
          pi@Duet3:/usr/local/bin $ sudo execonmcode -help
          sudo: execonmcode: command not found
          pi@Duet3:/usr/local/bin $

          wilrikerundefined 1 Reply Last reply Reply Quote 0
          • wilrikerundefined
            wilriker @chas2706
            last edited by

            @chas2706 Have you made execonmcode executable via sudo chmod +x /usr/local/bin/execonmcode? I think that's missing from the installation instructions.

            Manuel
            Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
            with probably always latest firmware/DWC (incl. betas or self-compiled)
            My Tool Collection

            1 Reply Last reply Reply Quote 0
            • chas2706undefined
              chas2706
              last edited by

              @wilriker

              No I forgot!!

              My silly mistake! It works a treat now.

              Thank you for your help.

              wilrikerundefined 1 Reply Last reply Reply Quote 0
              • wilrikerundefined
                wilriker @chas2706
                last edited by

                @chas2706 Thank you for implicitly pointing out a hole in the installation instructions. I amended that to GitHub already and will fix it above in an instant.

                Manuel
                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                with probably always latest firmware/DWC (incl. betas or self-compiled)
                My Tool Collection

                1 Reply Last reply Reply Quote 0
                • chas2706undefined
                  chas2706
                  last edited by

                  @wilriker

                  No problem, again thanks for your help and for producing a fantastic plugin.

                  1 Reply Last reply Reply Quote 0
                  • wilrikerundefined
                    wilriker
                    last edited by

                    Important Note

                    The current version of Exec On MCode is NOT compatible with DSF 1.3.0+. It will connect but fail at a random point in time which might lead to breaking side-effects. I will release a new version tomorrow or Monday. Until then, don't use this tool with DSF 1.3.0+.

                    Manuel
                    Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                    with probably always latest firmware/DWC (incl. betas or self-compiled)
                    My Tool Collection

                    1 Reply Last reply Reply Quote 0
                    • chas2706undefined
                      chas2706
                      last edited by

                      @wilriker said in [DSF Extension] Exec On MCode (was: Shutdown SBC):

                      Important Note

                      I plan to temporarily remove this feature can you confirm that all I need to do this is to delete the extension?
                      I did not enable it to run at start up.
                      Many thanks for pointing this out.

                      wilrikerundefined 1 Reply Last reply Reply Quote 0
                      • wilrikerundefined
                        wilriker @chas2706
                        last edited by wilriker

                        @chas2706 If you don't start it (automatically or manually) there is no need to do anything. It can sit in the filesystem that won't have any effect until you execute it.

                        Manuel
                        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                        with probably always latest firmware/DWC (incl. betas or self-compiled)
                        My Tool Collection

                        1 Reply Last reply Reply Quote 0
                        • wilrikerundefined
                          wilriker
                          last edited by

                          Release 4.0

                          This version works with DuetSoftwareFramework 1.3.0 and later.

                          Unfortunately due to breaking changes in the API of DSF this is NOT backwards-compatible with older versions of DuetSoftwareFramework.

                          This release also has a new parameter -trace that will enable output of the underlying requests/responses to/from DuetControlServer.

                          It can be downloaded as usual from GitHub Releases page.

                          Manuel
                          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                          with probably always latest firmware/DWC (incl. betas or self-compiled)
                          My Tool Collection

                          1 Reply Last reply Reply Quote 2
                          • wilrikerundefined
                            wilriker
                            last edited by

                            Release v5.0

                            This release updates godsfapi to v2 and thus is only compatible with Duet Software Framework 2.1.0 and later.

                            New Features

                            • A new command-line paramter -version to output the version and exit

                            Bug fixes

                            • After a handled code is intercepted and before the assigned command is executed Flush will be called to make sure we are in sync with the machine

                            It can be downloaded as usual from GitHub Releases page

                            Manuel
                            Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                            with probably always latest firmware/DWC (incl. betas or self-compiled)
                            My Tool Collection

                            1 Reply Last reply Reply Quote 1
                            • gtj0undefined
                              gtj0
                              last edited by

                              So many possibilities, so little time. I'd like to take a week off from my day job to do all the things that things like this can enable. 🙂

                              1 Reply Last reply Reply Quote 1
                              • wilrikerundefined
                                wilriker
                                last edited by

                                Release 5.1

                                This release makes execonmcode compatible with Duet Software Framework 2.2.0 and later.

                                It can be found at GitHub Releases page as usual.

                                Manuel
                                Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                with probably always latest firmware/DWC (incl. betas or self-compiled)
                                My Tool Collection

                                1 Reply Last reply Reply Quote 0
                                • PCRundefined
                                  PCR
                                  last edited by

                                  got this error

                                   dial unix /var/run/dsf/dcs.sock: connect: no such file or directory
                                  

                                  any idea?

                                  1 Reply Last reply Reply Quote 0
                                  • PCRundefined
                                    PCR
                                    last edited by

                                    Sorted it out! The PI has to be connected to the Duet!

                                    1 Reply Last reply Reply Quote 0
                                    • PCRundefined
                                      PCR
                                      last edited by

                                      made a little videos how to install it. Mainly for my own reference later

                                      How to install and test

                                      How to make it as a systemservice

                                      PCRundefined 1 Reply Last reply Reply Quote 2
                                      • oozeBotundefined
                                        oozeBot @wilriker
                                        last edited by

                                        @wilriker are the parameters capped at 3? If not, what are there limits? Thanks

                                        wilrikerundefined 1 Reply Last reply Reply Quote 0
                                        • wilrikerundefined
                                          wilriker @oozeBot
                                          last edited by

                                          @oozeBot It should be at least 23 (every upper-case letter except G, M and T). Possibly also every lower-case letter, but I never tried that.

                                          The application itself has no enforced limit.

                                          Manuel
                                          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                          with probably always latest firmware/DWC (incl. betas or self-compiled)
                                          My Tool Collection

                                          1 Reply Last reply Reply Quote 0
                                          • oozeBotundefined
                                            oozeBot
                                            last edited by

                                            I posted a response a few minutes ago, but deleted it after I finally realized my mistake..

                                            One note on this that's worth mentioning is the % in the service file has to be escaped like %%. Here is an example file:

                                            
                                            [Unit]
                                            Description=Duet API listener Test
                                            After=duetcontrolserver.service
                                            Requires=duetcontrolserver.service
                                            
                                            [Service]
                                            ExecStart=/usr/local/bin/execonmcode -mCode 4567 -command "./test.sh %%A %%B %%C"
                                            Restart=always
                                            RestartSec=10
                                            
                                            [Install]
                                            WantedBy=multi-user.target
                                            
                                            wilrikerundefined 1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post
                                            Unless otherwise noted, all forum content is licensed under CC-BY-SA