Replies: 1 comment 3 replies
-
There are several high-level issues that need to be taken care of in this refactor. Each of these probably deserves its own topic. I'm going to summarize what I have written here. This is not exhaustive. Fitting the intended usage of both Bonsai and liboni
Changes to the library are needed to resolve both of these related issues. Robustness against hardware configuration changes outside of runtimeA part of opening a liboni context is to build up a table of devices connected to the hardware and their location (as defined by their local clock source). For instance a list of data sources and sinks on the local hardware (hub 0) and another list of devices on a headstage (hub m). Currently, and related to the first issue, the library is extremely fragile when changes occur to the device table outside of runtime. For instance, if as headstage is disconnected or connected to another port, an old Bonsai workflow will fail to load because the addresses of devices within the table have changed. Ultimately, it would be cool to have absolute ID information associated with device hubs (unique serial number) that would make these types of changes easy to handle automatically. In the interim, it would be good to at least load a workflow without error and throw a device address mismatch exception during runtime. Ease of use & docsAs you stated, there should indeed be a review of visualizer/core functionality decoupling. We would also like to take advantage of the integrated documentation functionality that comes with 2.7. |
Beta Was this translation helpful? Give feedback.
-
This is to keep track of high-level development goals for the design package. Some ideas below:
The above can be split-off into separate issues and evolve with future discussions.
Beta Was this translation helpful? Give feedback.
All reactions