[DSF Extension] Exec On MCode (was: Shutdown SBC)
-
Hah! Too late, I'm already neck-deep in implementing it
@wilriker How do I make it execute the command and exit right away and return success without having to wait for the command to complete? I tried sending my command to background with & but that doesn't appear to work. I'm trying to get it to run a process which continues through the duration of the print, but executing the M code just causes it to hang until the process is complete. I thought it would be execAsync, but that gives me an error on the command line saying that's not a supported flag
-
I need this in my life! I was going to do something evil with file monitoring but this is much more direct.
I'm planning to use it to run some Python to calculate a bed heightmap to enable probing magnetic beds with irregular optimal probing locations.
-
@wilriker I don't think -execAsync is implemented in the 5.1 release. I just downloaded the source code for that release and there's no mention of execAsync anywhere. It's only implemented in the current (uncompiled) source code in the repository. Any chance you could push out a more recent release with the current code? It's the last bit I need to get my setup working.
-
Release v.5.1.1
This release introduces three new features:
- New parameter
-execAsync
. This will execute all commands asynchronously returning control immediately back to DCS. This flag is active for all captured M-Codes perexeconmcode
instance, i.e. if some commands should be performed asynchronously and others synchronously start twoexeconmcode
instances. - New parameters
-interceptionMode
to select betweenPre
(default),Post
andExectuted
- New parameter
-noFlush
. This will prevent flushing the code channel prior to executing the attached command. This is useful if the command can be executed once it is read from disk. As with-execAsync
this applies to all commands of an instance ofexeconmcode
.
As usual it can be downloaded from GitHub Releases page.
@GoremanX here you go.
- New parameter
-
@wilriker Thank you!
-
Works perfect... now I just need to move the camera off-system. Apparently while the Duet is printing (in SBC mode), the SPI bus on the attached pi gets too busy to handle the HQ camera feed and all the captured photos get messed up
-
@GoremanX said in [DSF Extension] Exec On MCode (was: Shutdown SBC):
Apparently while the Duet is printing (in SBC mode), the SPI bus on the attached pi gets too busy to handle the HQ camera feed and all the captured photos get messed up
Interesting. Pi cam module?
-
@Phaedrux said in [DSF Extension] Exec On MCode (was: Shutdown SBC):
Interesting. Pi cam module?
Yeah it's a genuine Raspberry Pi HQ camera. It works fine as long as the Duet isn't printing, but as soon as it starts printing, the photos end up with very random wide magenta bands all the way across and weird lines of noise. At the end of the print everything returns to normal. So I was gonna build a separate camera using the same HQ module and a Pi Zero W
-
@GoremanX said in [DSF Extension] Exec On MCode (was: Shutdown SBC):
a separate camera using the same HQ module and a Pi Zero W
I do the same with MotionOS and it works quite well.
-
Hello,
I'm a complete idiot when it comes to programming and I am finding the instructions a little vague. I feel I need some assistance please
The Installation is as follows.
Download.
Does this mean git clone? That's what I did anyway.
Rename to just execonmcode
Rename what? There are a load of .go files in the directory, do I rename one of those?
chmod etc
The rest of the install I can manage. I think.
Thank you for your time.
-
look some pots up. I made a video about this @Greg_the_maker
-
What is it i need to be looking for?
-
@PCR said in [DSF Extension] Exec On MCode (was: Shutdown SBC):
made a little videos how to install it. Mainly for my own reference later
Here you go
-
thank you
-
@Greg_the_maker Thanks for pointing that out. I will point the download instructions towards the GitHub Releases page. For there it should be clear what is meant by renaming also.
-
Is tehre a way to get terminal messages displayed in the console?
For example I need to see a list of usb devices with lsusb, is it possible to have that list returned as an M117 message or similar?
-
@Greg_the_maker In theory this is possible. Right now successful execution will discard the application output and error in execution results in an error being sent to DCS what failed (e.g. file not found but still not the output of the application).
I could add that but I am not sure how it will deal with line-breaks.
-
@wilriker Ahh ok. was just a thought. would be a nice feature to have though
-
@Greg_the_maker I have to correct myself. In case of an error it will indeed return the output of
stdout
andstderr
combined as an error message. But since we are in short-lived world things can be changed quickly and thus:Release v5.1.2
This release adds a new flag
-returnOutput
to be able to send the collected output of a successful run back to DCS. Prior this was only the case if the execution of the command failed.
Note that this cannot be combined with-execAsync
.Download
As usual get it from GitHub Releases page.
-
@wilriker Fantastic! Works exactly as desired. Have my upvote!