Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support for NeuropixelsV2 BNO055 #61

Merged
merged 9 commits into from
Mar 26, 2024
Merged

Support for NeuropixelsV2 BNO055 #61

merged 9 commits into from
Mar 26, 2024

Conversation

glopesdev
Copy link
Collaborator

This PR adds configuration and streaming operators for the BNO055 sensor on NeuropixelsV2 headstages, both beta and non-beta versions. The active polling I2C interface required solving multiple synchronization issues at both the software and kernel driver levels. The current solution requires the latest kernel driver 6.1.0.2 to operate correctly.

To allow reuse in both beta and non-beta headstages, the sensor configuration was abstracted by using a new option for registering virtual passthrough devices exposed via the raw DS90UB9X serializer interface. This is not meant as a long-term solution and is expected to remain internal.

ContextTask was refactored to allow for "transactions", i.e. block operations on device registers where there is a guarantee that the device context will not be asynchronously disposed mid-transaction. The transaction is cancelled if the device has been disposed upon entering the register lock.

Fixes #38

@glopesdev glopesdev added the feature New planned feature label Mar 26, 2024
@glopesdev glopesdev added this to the 0.1.0 milestone Mar 26, 2024
@glopesdev glopesdev merged commit 480e61f into main Mar 26, 2024
@glopesdev glopesdev deleted the issue-14 branch March 26, 2024 16:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New planned feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

NeuropixelsV2BNO055 configuration and streaming
1 participant