Thanks for the pointer @jakaskerl ! It wasn't clear to me from the script example whether or not the blob could be changed (reloaded). I did some experiments to learn more about how things work with DepthAI in my app.
I replaced "with dai.Device(pipeline) as device:" by two lines:
device = dai.Device(pipeline) device.startPipeline()
which does workThen later, I tried a few other things:
print("is pipeline running =",device.isPipelineRunning())
device.close()
print("closed =",device.isClosed())
and this sequence also works as expected.Then I tried
print(pipeline.serializeToJson())
which generates huge output, but interesting to see all the parameters that might be useful in future debugging/design.The
pipeline.serializeToJson()
generates a segfault afterdevice.close()
, which I guess means the pipeline is destroyed after the device is closed.Based on these experiments, a different plan (which I will test at some point) is to close the device, then rebuild a new pipeline with a different blob, and start that. If this works, there will likely be a couple second delay for the time to upload the new blob.