Skip to content

Support for acquisition board v3#35

Merged
jsiegle merged 52 commits into
mainfrom
acqboard-v3-support
May 8, 2025
Merged

Support for acquisition board v3#35
jsiegle merged 52 commits into
mainfrom
acqboard-v3-support

Conversation

@aacuevas

@aacuevas aacuevas commented May 5, 2025

Copy link
Copy Markdown
Collaborator

aacuevas and others added 30 commits September 19, 2024 19:25
- Only check firmware version once while opening the board
- Consolidate enable/disable methods into a single method that takes an array and enables/disables as needed
- Updates the BNO device indices and register locations
- Adds I2C raw device indices and registers
- During discovery, check if there is an I2C capable device on each port
- Read the hardware ID from the EEPROM if an I2C capable device exists
- Set the axis map for the BNO if one exists
- Reorder parameters to be consistent with oni_* calls
- Before reading device IDs from an EEPROM, confirm that the first four bytes contain the characters "OESH"
- Make readBytes() more flexible, and create readEepromBytes() specifically for EEPROM byte reads
- Corrected logic for devices with a BNO but no EEPROM
- Modified Rhd2000ONIBoard::readByte to be more generalized and flexible
- Expanded the EEPROM identifier to include "\x01", which is the spec version
- Corrected a bug that was accessing the wrong device index when checking if a BNO is connected
- Check what version is returned, and confirm if it is I2C capable
Address initial comments on updates to firmware
- Sets the sample rate to be 100 Hz
- Memory monitor is now the percent of total memory used
- Refactor how buffers are created and resized across all devices
- Ensure that the editor is correctly updated if a BNO moves
- Update LOG output to include all version components
- Add method to check the device ID when opening the board
- For V3, modify how the ADC/DAC values are handled
- Add a `BoardType` member so that different boards can be easily identified
- Shift the editor over if the board is of type `ONI`, so there is room for the memory monitor level component
- Add error reporting to memory monitor read/writes
- Set isTransmitting to false during construction
@aacuevas aacuevas requested review from bparks13 and jsiegle May 5, 2025 16:50
@aacuevas aacuevas linked an issue May 5, 2025 that may be closed by this pull request
@bparks13

bparks13 commented May 5, 2025

Copy link
Copy Markdown
Member

@anjaldoshi I think the only thing missing from this PR is statically linking the liboni library instead of dynamically linking it. Can you provide any insight into the best way to implement this using cmake? We should implement this library change before we package the plugin and upload it.

@jsiegle

jsiegle commented May 6, 2025

Copy link
Copy Markdown
Contributor

I'm testing this out now...I'm not seeing any data coming in on the memory usage stream (using OE FPGA acq board). Even if it were working, I'm not sure whether this is worth including as its own continuous data stream. What if instead the plugin sent a broadcast message every time the memory usage increased or decreased by 10%, e.g. Acquisition Board (102) memory usage = 20%"...that way there will be a record of memory usage issues in the recorded data, but it won't require a separate data stream.

@jsiegle

jsiegle commented May 6, 2025

Copy link
Copy Markdown
Contributor

@aacuevas can you point me to the latest firmware for pre-v3 boards? It sounds like I will need that for the memory monitor to work properly

@aacuevas

aacuevas commented May 7, 2025

Copy link
Copy Markdown
Collaborator Author

The memory monitor is in all versions, but there was a bug that made it look wrong.
@bparks13 maybe we should disable the memory monitor if fw version < 1.5 ?

All boards, pre-v3 and v3 alike, can use the latest 1.5.1 firmware, we made it so it works across all boards with our FPGA, and should be the recommended fw (it does have some bugfixes).

you can find it here for the time being, until that page goes live

@jsiegle jsiegle left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tested with OE FPGA and Opal Kelly acq boards, and everything looks good!

@jsiegle jsiegle merged commit d56cf4b into main May 8, 2025
6 checks passed
@bparks13 bparks13 deleted the acqboard-v3-support branch May 8, 2025 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment