Testing a DSF plugin without a 3D printer?
-
Hey there,
I'm currently around 25% with my DSF plugin. My colleague has the 3D printer, but we meet up next month, and I was hoping I could test out at least the plugins before testing it out, so that I could at least iron out any issues that have nothing to do with the printer (i.e, my plugin has a database, and I'd like to test that out).
Is there any way you can test plugins without a printer or duet board (knowing that printer functions obviously don't work).
I'm using DSF-python (https://github.com/Duet3D/dsf-python/) and can use a Raspberry Pi, if that helps. Thanks a lot in advance!
What i'd like to test:
- Uploading a file from the DWC to the plugin (to be kept in a database), making sure the request works.
- See if the DSF-Python script runs in general (i.e no syntax errors and that all dependencies are installed)
What I've tried myself:
- Re-writing this test for my own endpoint (https://github.com/Duet3D/dsf-python/blob/main/tests/test_custom_http_endpoint.py), this didn't work, the tests passes, but the endpoint isn't called (it's not called in the original test either).
-
@peterwilli I do not think DSF undergoes a normal start-up without being able to communicate with the control board. From memory it keeps looping to check for a connection and then eventually times out and stops (this was pre 3.3 behaviour on my system).
DWC can operate without a board being connected (you can use 'npm run serve') to start a development build without compiling, and just cancel the connection request. It will then operate as normal(ish).
-
@peterwilli You can start DCS in non-SPI mode (-D parameter) by changing the command line in /usr/lib/systemd/system/duetcontrolserver.service. Just be aware that (probably) only the
pre
code interceptor will work and that you'll have to deal with a more or less empty object model. -
Thanks everyone for their replies! Currently I found a rather magical way to try things out: I made a sort of VPN with the printer (at another location) with my PC. I used my own SSH port forwarding tool for this (https://github.com/peterwilli/Ghoster) and so far I can open DWC and install plugins as if the printer is in my own home!