So far, if the device (pi) freeze, or restarts, tracking will stop.
To make the systsem more robust, we need two things:
a watchdog timer that can reboot the pi in case of freeze/unexpected failure
a peristent tracking. This way we can resume tracking.
Several issues that are being considered:
We need to:
[x] Implement __setstate__/__getstate__ methods for camera class (cannot just be pickled).
[x] Implement __setstate__/__getstate__ methods for async database writers
[x] Overide the warmup methods for Stimulators (otherwise, a restart will effectively rewarmup hardware, which, accroding to the interface, can compromise experiments)
[x] Work on how/ when/where persitent files is saved and loaded.
[x] report failure in a comprehensive manner (e.g. a table in the db should list the starting events, if N_starting >1 ==> crash happended)
So far, if the device (pi) freeze, or restarts, tracking will stop. To make the systsem more robust, we need two things:
Several issues that are being considered:
We need to:
__setstate__
/__getstate__
methods for camera class (cannot just be pickled).__setstate__
/__getstate__
methods for async database writerswarmup
methods for Stimulators (otherwise, a restart will effectively rewarmup hardware, which, accroding to the interface, can compromise experiments)