Skip to content

Conversation

bparks13
Copy link
Member

This PR adds all of the devices from the breakout board. That includes all UI elements. It also adds a visual indicator of the memory buffer usage in the editor. This usage is on a logarithmic scale, where ~1% utilization of the hardware buffer will appear as ~14% usage, weighting the lower values much more highly so that the user can easily tell when the buffer is filling up.

Fixes #9
Fixes #27

This PR also attempts to work on #30, by attaching the DigitalIO device events to the MemoryMonitor data stream. However, this is a fairly naive implementation and has not been thoroughly tested. This is meant as a proof of concept to ensure that we can do what we want to do, and the full functionality will be fleshed out at a later time in another PR. Adding the Breakout Board is a priority for this plugin to be fully testable.

bparks13 added 25 commits March 7, 2025 12:18
- Renamed enableDevice to configureDevice
- Update the pointers to be vectors of smart pointers. See issue-5 for more details
- Make raw pointers private
- Remove unused DataBuffer*
- Removed excess calls to addSourceBuffers
- Update samplesPerSecond for MemoryMonitor
- Remove empty destructors
- Modify comments so they accurately reflect what the class / method does
- Note: Currently this does not write data frames to the device. This will be added in a later commit
- Updated the patterns used by the breakout board devices for instantiating the device (Onix1 as a shared pointer, and updates to updateSettings())
- Note: This is not currently saving the digital data as events. This will be added later
- These devices are hard-coded with default settings and should not be changed
- Reformatted how found vs. selected maps are compared to provide more flexibility for these "missing" interfaces
- Modify the interface and backend so that there is a checkbox the user can check that either ties the clock to the acquisition status, or is free-running

Miscellaneous updates:
- Use emplace_back instead of push_back
- Remove info/name labels from interfaces that don't need them=
@bparks13 bparks13 added this to the Neuropixels 1.0f milestone Mar 28, 2025
@bparks13 bparks13 requested a review from jonnew March 28, 2025 19:29
@bparks13 bparks13 self-assigned this Mar 28, 2025
- Removed UI elements from AnalogIOInterface, now hard-coded to be in Volts, with a range of +/- 10 Volts
- Fixed OutputClock register writes, now they correctly set parameters chosen in the settings interface
- Added manual update to the settings of specific devices. Note: This infrastructure will be modified at a later date to be less brittle
- Unified the location of the enable button across tabs
- Removed additional context resets that were leading to slow-downs in reading frames
Copy link
Contributor

@jonnew jonnew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See my minor comments and change requests before merging, please.

@jonnew
Copy link
Contributor

jonnew commented Apr 3, 2025

I dunno what happened to the comments I made o nthi

@jonnew jonnew closed this Apr 3, 2025
@jonnew jonnew reopened this Apr 3, 2025
@bparks13 bparks13 merged commit d80cb5d into main Apr 3, 2025
@bparks13 bparks13 deleted the issue-9 branch April 3, 2025 16:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Make memory usage monitor in plugin node Add Breakout Board

2 participants