• Tags
  • Documentation
  • Order
  • Register
  • Login
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.5k
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.
  • undefined
    wilriker
    last edited by wilriker 1 Jun 2020, 12:31 6 Jan 2020, 12:29

    Release v3.0

    This release adds the possibility to provide an arbitrary amount of -mCode + -command tuples. This way it is possible to have a single instance of execonmcode handle all the custom commands.

    Note that as part of this change there is no longer a default value for -mCode.

    Get it at GitHub Releases page.

    EDIT: This version is built agains goduetapiclient 1.2.0 and as such will only work with DSF 1.2.2.1 and later. In case you need a version that is working with DSF <= 1.2.2.0 please tell me here. It's not a problem to provide that as well.

    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

    undefined 1 Reply Last reply 7 Jan 2020, 00:39 Reply Quote 1
    • undefined
      gtj0 @wilriker
      last edited by 7 Jan 2020, 00:39

      @wilriker I can't believe I missed this whole thread! Gonna give it a try tomorrow.

      I'm also working on something to allow the SBC to do a hardware reset and flash erase via GPIO pins for cases where the firmware is stuck and you can't get to the board. Could be a good companion to your utility.

      undefined 1 Reply Last reply 7 Jan 2020, 07:59 Reply Quote 0
      • undefined
        wilriker @gtj0
        last edited by 7 Jan 2020, 07:59

        @gtj0 Glad to hear about any use-cases. 🙂

        I myself use it to run poweroff as well as activating and deactivating my webcam (starting/stopping a systemd unit).

        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
        • ?
          A Former User
          last edited by 7 Jan 2020, 08:22

          Tempting to try with a small I2C OLED on the Pi, but not top of the list just yet

          1 Reply Last reply Reply Quote 0
          • undefined
            chas2706
            last edited by 9 Jan 2020, 19:00

            @wilriker

            This sounds really good. I would like to use it to activate a bash script on my system but I have attempted to install it and I cant get it to work.
            I followed your instructions in your first post but using execonmode V3:

            I downloaded execonmode and placed it into /usr/local/bin.
            I tried to run it using sudo ./execonmode -help (just to see if it works) but I get the error message "cant open binary".

            Could you instruct me where i'm going wrong.

            BTW I am on the latest version of RRF3 and up to date with DSF etc.

            Thanks in advance.

            undefined 1 Reply Last reply 9 Jan 2020, 19:28 Reply Quote 0
            • undefined
              wilriker @chas2706
              last edited by 9 Jan 2020, 19:28

              @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
              • undefined
                chas2706
                last edited by 9 Jan 2020, 19:33

                @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
                • undefined
                  chas2706
                  last edited by 9 Jan 2020, 20:05

                  @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 $

                  undefined 1 Reply Last reply 9 Jan 2020, 20:12 Reply Quote 0
                  • undefined
                    wilriker @chas2706
                    last edited by 9 Jan 2020, 20:12

                    @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
                    • undefined
                      chas2706
                      last edited by 9 Jan 2020, 20:21

                      @wilriker

                      No I forgot!!

                      My silly mistake! It works a treat now.

                      Thank you for your help.

                      undefined 1 Reply Last reply 9 Jan 2020, 20:36 Reply Quote 0
                      • undefined
                        wilriker @chas2706
                        last edited by 9 Jan 2020, 20:36

                        @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
                        • undefined
                          chas2706
                          last edited by 9 Jan 2020, 20:38

                          @wilriker

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

                          1 Reply Last reply Reply Quote 0
                          • undefined
                            wilriker
                            last edited by 4 Apr 2020, 18:39

                            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
                            • undefined
                              chas2706
                              last edited by 5 Apr 2020, 12:12

                              @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.

                              undefined 1 Reply Last reply 5 Apr 2020, 13:44 Reply Quote 0
                              • undefined
                                wilriker @chas2706
                                last edited by wilriker 4 Jun 2020, 09:18 5 Apr 2020, 13:44

                                @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
                                • undefined
                                  wilriker
                                  last edited by 6 Apr 2020, 09:25

                                  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
                                  • undefined
                                    wilriker
                                    last edited by 22 Apr 2020, 13:41

                                    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
                                    • undefined
                                      gtj0
                                      last edited by 22 Apr 2020, 13:43

                                      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
                                      • undefined
                                        wilriker
                                        last edited by 18 May 2020, 09:11

                                        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 29 Aug 2020, 11:56

                                          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
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA