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

which blob for which hw? #9

Closed
karlp opened this issue Jul 22, 2017 · 4 comments
Closed

which blob for which hw? #9

karlp opened this issue Jul 22, 2017 · 4 comments

Comments

@karlp
Copy link
Contributor

karlp commented Jul 22, 2017

How do we detect what sort of hardware we have, to know what blob to load? How recent are these blobs? Is there version history somewhere? How do they correspond to the blob that the app loads?

@louiecaulfield
Copy link
Contributor

The blob is chosen based on the SmartScope model number, see https://github.com/labnation/DeviceInterface/blob/master/src/Devices/SmartScope.cs#L236

They are all functionally equal, except that in certain model iterations pin polarity changed.

They are the exact same as used in the app, the app in fact uses this very git repo for the device interfacing.

There is no version history, except for the FPGA source git repository which is private to LabNation.

@karlp
Copy link
Contributor Author

karlp commented Jul 26, 2017

OK, so... the blobs that are presumably embedded in the app somewhere, are they newer than the blobs here in this repo? or haven't there been any changes since then? I ask, because https://github.com/labnation/DeviceInterface/tree/master/blobs hasn't had any changes in 10 months. https://github.com/labnation/DeviceInterface.CXX has no blobs at all.

If your fpga source repo is private, what is this repo, and how does it relate? https://github.com/labnation/fpga

@louiecaulfield
Copy link
Contributor

The FPGA firmware doesn't change often, simply because it doesn't need to. That's why it's 10 months old.

The DeviceInterface.CXX is a partial port of the C# library, with only the network-to-usb interface implemented. It is currently only used as a server, and in combination with a client (i.e. the smartscope app on a tablet), the blob is sent from the app over to the server which then flashes the FPGA.

The fpga repo you mention is a stripped down version of the actual smartscope fpga source, stripped from all the logic which takes the ADC data, stores it to RAM, does trigger detection,...

@karlp
Copy link
Contributor Author

karlp commented Jul 27, 2017

Ok, great. I knew the fpga bitstream shouldn't have to change often, just wasn't real clear, as there's no obvious binary blobs in the app packages :) The CXX interface has been very helpful, as it's often simpler for me to read compared to the layers of indirection in the C# interface :)

@karlp karlp closed this as completed Jul 27, 2017
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

No branches or pull requests

2 participants