[DSF Extension] Exec On MCode (was: Shutdown SBC)
-
Just as a short teaser: the upcoming version will allow an arbitrary amount of
M-code
+command
pairs. -
great Job !! many thanks.
exactly what I looked forTobias
-
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 ofexeconmcode
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. -
@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.
-
@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 asystemd
unit). -
Tempting to try with a small I2C OLED on the Pi, but not top of the list just yet
-
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.
-
@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 ofexeconmcode
. For-help
you don't needsudo
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 ofexeconmcode
(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. -
@wilriker
Thanks for the info. I will give it another go.execonmode was just a typo error in my post lol.
Thanks
-
@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 $ -
@chas2706 Have you made
execonmcode
executable viasudo chmod +x /usr/local/bin/execonmcode
? I think that's missing from the installation instructions. -
-
@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.
-
No problem, again thanks for your help and for producing a fantastic plugin.
-
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+.
-
@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. -
@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.
-
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.
-
Release v5.0
This release updates
godsfapi
tov2
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
- A new command-line paramter
-
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.