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

Automatically add hub/device tabs when selected in the editor #24

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

bparks13
Copy link
Member

@bparks13 bparks13 commented Mar 4, 2025

This PR adds full functionality for tabs to be added when selected in the editor. This means that settings can be modified prior to the hardware being connected to the plugin.

A major portion of this PR relates to the logic associated with mismatches between the hardware that is selected from the editor, and the hardware that is found to be connected. To ensure that the logic is fully fleshed out, integration testing will need to include plugging in different kinds of hardware in different ports to test it. A full list of combinations to test will be provided.

Note: For now, this is a draft PR since it will need to have full functionality for multiple headstages to properly test the logic, and only Neuropixels 1.0f has this functionality as of right now. Testing was performed using a dummy headstage, but to complete the integration testing will need to wait until after at least one other headstage is added to the list.

- Instead of waiting for the hardware to be scanned, add tabs when the specific headstage is selected
- Update tab names. Now headstage tabs include their name and hub, while device names include the device index and device name
- Refactored the OnixDevice array to be a vector of smart pointers, which removed the leaked device
- Add static methods to the PortController class that make it easier to convert the port name to another value
- Remove dynamic parameter additions in Neuropixels_1, manually tracking the path
- Check which tabs are open and which devices are connected
- Refresh combo box selection if new tabs are added
- Update Neuropixels 1.0f device names
- Utilize the base class device pointer, and cast to the correct device when needed
- Make sure that the electrode selection is updating the bank/channel/shank/electrode arrays
- Rename to source from onixSource/thread/etc.
- Add method to find all unique ports from a list of indices
- Add method to add headstage options to the combobox
- Update the settings interface data source
- Change updateSettings() to be a boolean method
- Updated error reporting for Neuropixels 1.0f
- Use std::map to hold key-value pairs, such as index and device type
- Add check during isReady() that ensures any hardware that is connected contains a valid settings interface
@bparks13 bparks13 added this to the Neuropixels 1.0f milestone Mar 4, 2025
@bparks13 bparks13 self-assigned this Mar 4, 2025
- Ensures that no additional memory leaks exist
- Change variable name from dataSource to device
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant