Skip to content

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

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

Merged
merged 12 commits into from
Mar 19, 2025
Merged

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.

- 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
bparks13 added 6 commits March 4, 2025 15:45
- Move raw pointers to private: as needed
- Remove unused buffers from base class
- Add methods to automate asking the user what to do
- Add using statement to simplify creating a vector of shared_ptrs for OnixDevices
- Started adding constexpr strings to maintain compatibility for headstage names across the plugin
- Correct metadata for Neuropixels 1.0f on creation
- Some files were unable to be resolved during merge, and had to be manually modified after merging
@bparks13 bparks13 requested a review from jonnew March 18, 2025 18:59
@bparks13 bparks13 marked this pull request as ready for review March 18, 2025 18:59
- If no voltage override is given, the default text is "Auto"
- Changed the location of the voltage override components
- Remove "Hub" from tab name
- Removed test headstage from code prior to merging
- Added checks for valid contexts before reading/writing registers
- Only configure the device, and subsequently reset the context, if the hardware is connected
- Modify error messages: remove hyphen, except for when there is a Note, change wording to "if the correct headstage is connected"
- Disable dropdown menus when hardware is connected to prevent
Copy link

@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.

Couple comments, but our review this morning was good

@bparks13 bparks13 merged commit b06cabe into main Mar 19, 2025
@bparks13 bparks13 deleted the issue-5 branch March 19, 2025 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants