Skip to content

Code in main does not work on boards with OptionalFeatureSupport set #62

Description

@ximion

Hi!

I am adding support for the OpenEphys AcqBoard (Gen2/Gen3) to the Syntalos (GitHub) DAQ system. I was basing the Syntalos module on the OpenEphys Plugin GUI code, which actually worked rather well - except that the resulting code didn't work, but the plugin GUI also didn't work with a recent version of liboni.

After some debugging, I found out that the OptionalFeatureSupport flag on the FT600 chip is the issue:
liboni added a strict check that rejects FT600 chips whose EEPROM has any non-default optional-feature bit set, returning ONI_EBADCONTROLLER. The board I am using for testing (Gen3, 3D) was programmed before that strict profile was required, with bits like ENABLENOTIFICATIONMESSAGE_INCH3 set, and now hang or refuse to open under modern liboni.

I want to know: Was this change intended? I created a tiny tool that just resets the flag on existing boards, do you want to have that tool?
On the Syntalos front, I am wondering if I should detect boards like this and offer the user to rewrite that field in case the board has the flag set to anything else but FEATURE_DISABLEALL.

Thank you for making liboni and everything else OpenEphys does, it's actually very nice to work with! :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions