-
Notifications
You must be signed in to change notification settings - Fork 3
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
UCLA miniscope V4 support #275
Conversation
jonnew
commented
Aug 30, 2024
•
edited
Loading
edited
- Tested on OEPS miniscope V4.4
- To finalize this, we must test on a large batch of scopes to ensure functionality of all features and reliability of datastream
- Fixes Miniscope V4 support #112
- Fixes Miniscope real-time properties need to be moved to configuration node #133
- This device needs some work arounds because its clock is completely out of spec for the SERDES it uses. The back channel must be used to configure a PLL on the camera in order to bump the PCLK rate before it will like. For this reason, I mad ConfigureFmcLinkController. CheckLinkState virtual so I could override its behavior with these steps before checking the link state - Added configuraiton and streaming functionality. - There are few outstanding issues: 1. Something is wrong with the DS90UB9x configuration resulting in 1 missing column from each frame and imaging data that "slides" by one column for each image produced 2. The axis map for the BNO needs to be set correctly 3. I was unable to verify that the EWL was functioning. It might be fine, but I was unable to verify.
- Consistent naming with with ConfigureUclaMiniscopeV4Camera - Capture configuration properties outside of ConfigureDevice in ConfigureUclaMiniscopeV4Camera
- Address code syntax and naming issues - Add Vsync rising mark to frame data so that we can align images to the first row in the face of asynchronous bonsai fraime collection - There is a larger issue about data integrity that seems to have more to do with the miniscope pcb design than issues with our hardware this library that is documented in #115
- Tested on OEPS miniscope V4.4 - To finalize this, we must test on a large batch of scopes to ensure functionality of all features and reliablity of datastream
- Before, the driver was never enabled.
- Use sample index instead of defining a second boolean variable
- Allow for retries during the final camera setup because the scope is finicky
- More retry logic - Provide port controller with reference to Camera object so that it can signal it has already performed configmration in its retry loop. This prevents the camera from trying, and ponentially failing, to configurre itself redundantly. It is _not_ and elegant way to do this. The real solution relates much more to known issues about passthrough device configuration logic and where that should be located
@bparks13 Please have a look at the latest commits if you dont mind, this is ready to merge on my end. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, couple minor typos but that's it.
- It was previously unset and relying on whatever the state of the deserializer was previously
- Remove UclaMiniscopeV4-specific Bno055 - Add correct axis remapping
- 8-bit data is much easier to save, especially in bonsai - 10-bit is available if people want it.
@bparks13 I had to add some extra stuff, in there, and XML comments for that. Can you have a look at the new comments for typos etc? Thank you. |