As I have seen others searching in a couple of older posts, I need to release the Serial Com port from within running flows for use by other software. My specific need is to release my rpi pico boards from communication from Node-Red to allow for programming via VSCode all running on a raspberry pi 4b. Stopping and restarting Node-Red is not a very pleasant solution in my case.
Are there any plans to add the flow controlled options for releasing the ports, or does anyone have any working solutions for this type of use on raspberry pi linux based systems?
Another possibility would be to write a python (or whatever is your favourite language) application that manages the comms and communicates with node-red via (for example) MQTT. Then you could stop and start that using an exec node in node-red.
I would rather not add a middle man to the serial communications. My node-red setup is actually working as the control interface for a CNC control which directly serial streams to a grblHAL setup on one pico and a custom motor driver with direct serial streaming as well. From my experience, MQTT would be far to slow for the fast gcode streaming needed for grbl to keep smooth motion.
The VSCode setup I am running is programming in C++, not python. As long as I do not have the serial monitor running, it does not require closing the project to release the port back to other processes.
I am not sure how your suggestion of using the API would work. For now, I have been disabling the serial ports within my flow and deploying. Then uploading from VSCode, and finally redeploying with the ports enabled again. It is a bit of a hassle, and at different times, resetting my flows has losses in my process and machine control that could be sketchy under worst case scenarios.
Rather than a Python script, you should consider using a virtual COM port that allows multiple access. Not used one for a while so can't remember the utility but they are available for both Linux and Windows.