Skip to content

Conversation

@cboulay
Copy link
Collaborator

@cboulay cboulay commented Oct 16, 2025

This is a major API-breaking change to the C-API, the Python API, and how things work internally.

Some highlights:

  • Continuous data are now in a single contiguous buffer, shape [samples][channels] -- this enables much more efficient bulk copy of the data
  • All trial_ data structures are now populated with the timestamp at the beginning of the trial, which might have been a while ago
  • The timestamps associated with the data are now the absolute timestamps that came from the device
  • You can now only pull data from one sample group per API call
  • Channels can belong to more than one sample group (e.g., 3 and 6)
  • There is no longer an option to return the data as double. This wasn't working properly anyway.
  • In the Python API, the user can now supply their own data and timestamp buffers to reduce the number of allocations.

There's still some work to be done and mostly some testing to do.

…uctures containing channel arrays".

This uses less memory, _should_ have better cache performance, and supports multiple groups (e.g., group 3 and group 6).
* data are now contiguous - bulk copy
* no more bAbsolute or bDouble
* full timestamp vector for continuous data
… It was definitely incorrect so we shouldn't miss anything.
@cboulay cboulay force-pushed the trial_cont_timestamp branch from 44d3941 to 053820e Compare October 17, 2025 22:50
@cboulay cboulay marked this pull request as ready for review October 18, 2025 16:58
@cboulay
Copy link
Collaborator Author

cboulay commented Oct 20, 2025

Here goes nothing...

@cboulay cboulay merged commit b819c49 into master Oct 20, 2025
10 checks passed
@cboulay cboulay deleted the trial_cont_timestamp branch October 20, 2025 05:35
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.

2 participants