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

Rename enableDevice #18

Open
wants to merge 32 commits into
base: main
Choose a base branch
from
Open

Rename enableDevice #18

wants to merge 32 commits into from

Conversation

bparks13
Copy link
Member

@bparks13 bparks13 commented Feb 4, 2025

To prevent confusion, rename enableDevice to configureDevice.

bparks13 and others added 30 commits September 30, 2024 11:04
- This only applies to the BNO that is not operated in passthrough mode
- Set port voltage and refresh devices from the editor
- Disable buttons during acquisition
- Update header to match variable name
- Correctly read/write bytes that are I2C addresses
- Correctly stream BNO data
- Switch order of processing; frame distribution is quickly processed on the DataThread, then process frames in individual device threads
- Added most functionality needed to parse gain/adc calibration files. still need to finish and test
- Added the isReady() method
- Fixed AP frame indexing
- Added checks during Read/WriteBytes for invalid return codes
- Much of the code is pulled from the neuropixels-pxi plugin, and modified for use with Onix1 classes
- All settings now directly reference the device the settings are saved in, to minimize the possibility of error with needing to manually update settings inside the canvas itself
- Renamed variables / methods where needed for clarity
- Removed extraneous variables and methods
- Save the passthrough Toggle editor so it can be manipulated more easily
- Remove tabs in the canvas when rescanning the device table
- Connect the probe settings in the canvas to the Npxv1e device, and update these settings before starting acquisition
- Use PathParameters to track the path used for calibration files of Neuropixels probes
- Change size of the viewport to minimize the appearance of scrollbars
- Add DeviceList.h
- Change the editor button from "Rescan" to "Scan"
- Fixed some enum class underlying types
- Added helper methods to find the gain / reference of Npx probes
- Each OnixDevice must now implement a method that adds the sourceBuffers and correctly assigns them to their respective internal pointer
- When updating Settings, clear the buffers and only add back the devices that are enabled to ensure that the buffers are indexed correctly
- Instead of spawning a new thread for every device, have one thread that is dedicated to reading frames, and another thread that is dedicated to adding data to buffers
- Now that individual devices are not threaded, no need to keep the inheritance
- Remove unnecessary NeuropixComponents.cpp file
- Small optimizations: Convert raw pointers to unique_ptrs where possible, change the order when stopping acquisition so that streaming frames are stopped before reading frames stops, clear all portTabs when resetting the canvas, remove extraneous variables / methods
- The device table will only be scanned when the user presses Scan
- Related: The plugin will not report it is connected to hardware until Scan has been pressed
- Instead of Scan, there is a Connect button that when pressed will connect to Onix hardware, and then it will be labelled as Disconnect
- Disconnecting sets the port voltage to zero
- In the plugin destructor, the port voltage is also set to zero
- Shows options for both ports
- Added combo box for available headstages
- Removed the voltage value from automatically appearing, added a tooltip indicating that it is a voltage override
…tage discovery

- Moves the port voltage modifications, and checking the link state, to the new PortController class
- Add macros for checking the results of register read/writes to OnixDevice
- Ensures that the context is reset correctly so that devices stream data
- Automated port voltage discovery uses the same logic as OpenEphys.Onix1
- Changed the order of operations during stopAcquisition so that bad frames aren't read due to the context resetting
- Fixed an issue where PathParameters were being set with a value other than the default
@bparks13 bparks13 added this to the Neuropixels 1.0f milestone Feb 4, 2025
@bparks13 bparks13 self-assigned this Feb 4, 2025
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.

Rename OnixDevice::enableDevice()
2 participants