Skip to content

Conversation

@aacuevas
Copy link
Contributor

@aacuevas aacuevas commented Oct 2, 2025

Requires clroni compiled with net8 support
@aacuevas aacuevas requested a review from jonnew October 2, 2025 15:43
@jonnew
Copy link
Member

jonnew commented Nov 6, 2025

One thing I noticed. If I have a context opened in some other software (e.g. Bonsai or oni-repl) and attempt to program I get this exception:

image

Nothing crashes or anything, but perhaps the exception text could be a bit clearer.

@aacuevas
Copy link
Contributor Author

aacuevas commented Nov 7, 2025

Fixed. Now it passes the inner oni exception through.
Which when using the current liboni branch with support for NET8 is the all too familiar "Already triggered operation, but that will change to the new we made once liboni is properly merged.

@jonnew
Copy link
Member

jonnew commented Nov 7, 2025

Another non-breaking but odd behavior:

If a connect to a headstage by pressing the "program" button on the main form, the little modal GUI pops up with an hourglass indicator. The fields then populate with the detected headstage metadata. Great.

The odd behavior is that if the mouse is not moved during this time period, the "program" and "Cancel" buttons will remain greyed out and the hourglass indicator will remain forever, until the mouse is touched.

@aacuevas
Copy link
Contributor Author

aacuevas commented Nov 7, 2025

I'll look into that but I'm not sure that is something we have control over or it's a windows forms quirk

Copy link
Member

@cjsha cjsha left a comment

Choose a reason for hiding this comment

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

I've got some questions/nit picks after writing some documentation:


image

Is it true that the highlighted fields only show minor version i.e. this corresponds to v0.4.0? Would the a headstage have a major version update and would that information be indicated here?


image

Since device is a specific term in the context of ONIX, I feel that the highlighted part should be labelled "Connected Hub:" or something?


Is this software versioned? The other controller & breakout board updaters are built, zipped, and hosted in the onix-docs repo, with their version indicated in the zip file name. I figured I would follow the same pattern for this software for now.

@aacuevas
Copy link
Contributor Author

Ah, good catches.
We were testing functionality and I forgot about these things. I will add functionality so the text versions are converted from number to proper version numbers
Same as the label name, thanks!

It is not versioned yet, but I will add some version number somewhere, that's a good idea

@cjsha
Copy link
Member

cjsha commented Dec 8, 2025

I also feel the UI could be improved if it's a single dialog instead of two, for example (here's something I painted from the screenshots above):

hub-updater-proposal

The "File:" fields get populated when the image file is selected and the "Device:" fields get populated when Port is selected. I accidentally left out the "Program" button, but basically it would be greyed out unless the "File" and "Device" fields match. There could also be a message box indicating if it's ready to be programed or why the "Program" is greyed out if not.

I don't know if we're taking input on the UI, if it's worth the time to make these changes, or if people will even agree with this feedback, but I figured I'd mention these thoughts jic y'all agree, before this hub updater is published

@aacuevas
Copy link
Contributor Author

aacuevas commented Dec 8, 2025

The reason for the second dialog is that we need to know which headstage we're supposed to be targeting before. This is because we are using different power-scanning algorithms for each headstage. It's the same situation as with onix1, in which the power-scan is performed by the Configure*Headstage node. (In fact we are using the same algorithms)

So, in the current form, selecting the file is the way of specifying which headstage to use and only when the second window is opened the programmer tries to do the power scan and connect to the headstage. Data on the first window is from file only, on the second is from connected headstage as well.

If we reorganize the windows, we need to enforce this sequence (first select hs, then connect, then program) in any other way.

@cjsha
Copy link
Member

cjsha commented Dec 8, 2025

ah, I didn't consider that. Thanks for the response

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.

Create a C# GUI programmer for hubs

4 participants