Code: Select all
+———+ | |
I have 5 processes, all running Python, interconnected via shared memory streams. The problem is I can run GPS or Sweep, but not both. Neither are passing much to the autopilot process - a few bytes a second max. The autopilot receives from both and does its processing sending the motion what it needs to do next. The autopilot output on the stream sent to the motion processor is not picked up by the motion process. Video is never hampered when GPS &| Sweep are running. The motion processor is very busy as it's handling input from the IMU processing also. The motion processes is polling for both video and autopilot poll fds, and as I said, the poll always picks up the video, but never sees the autopilot but only when GPS _&_ Sweep processes are running into the autopilot process.
This is running on a B3; I've tried varienties of os.nice() and mlockall() to tweak priorities and prevent paging, but the result is unchanged.
I'm stumped, so I'm open to any suggestions, however weird they may sound!