davidgiven / fluxengine

PSOC5 floppy disk imaging interface
MIT License
347 stars 67 forks source link

Using fluxengine with newer greaseweazle #246

Open thecondons opened 3 years ago

thecondons commented 3 years ago

David, First: Great job with FluxEngine -- very cool! Second: Trying to run Fluxengine with my new Greaseweazle on Ubuntu 20.04, and I am getting the message: "Error: your Greaseweazle firmware is at version 26 but the client is for version 22; please upgrade"

I am running the latest Fluxengine (just installed yesterday) and the latest Greaseweazle firmware (just got it in the mail 2 days ago). As a result the "please upgrade" message makes no sense. By "upgrade", do you mean "downgrade"? -- I really don't want to go from firmware version 26 back down to 22. I can understand that you may not have tested the Greaseweazle interface with version 26, but given the speed of firmware updates to the Greaseweazle, is it possible to make this a warning, rather than a "full stop"?

Any help on this would be appreciated... Thanks, Jack

thecondons commented 3 years ago

Sorry, in looking through the open problem list, I see there is an entry back in January asking about the same thing: https://github.com/davidgiven/fluxengine/issues/220

davidgiven commented 3 years ago

It means to upgrade FluxEngine (which won't help as I haven't fixed this yet). Sorry, I've been behind on bug reports.

thecondons commented 3 years ago

Thanks David! No apologies needed... I am a beggar at this banquet :D Keep up the great work!

keirf commented 3 years ago

David: I just checked out the latest FluxEngine on Greaseweazle. I think using the serial access method is very sensible even though auto-detection (at least for now, maybe I will take a look at some point) is lost.

I am planning to keep backward compatibility of the firmware interface since v0.24. Hence I recommend accepting any firmware version v0.24 or greater. I modified greaseweazleusb.cc to do this, and changed all case 24 to default and I was able to read an Amiga disk no problem using latest GW firmware. The changes are of course trivial.

Actually v0.22 firmware is old and not accepted by recent releases of Greaseweazle firmware. You will offend noone if you remove v0.22 support and focus solely on v0.24+.

keirf commented 3 years ago

Regarding auto-detection, this problem was solved by Rob Smith for his WinUAE FloppyDriveBridge https://github.com/RobSmithDev/FloppyDriveBridge

The main goop is in SerialIO. I assume it is a fairly direct C++ translation of pyserial's Windows-specific port-listing code.

Unfortunately it's all GPLv3, but possibly only because WinUAE is GPL. He might re-license with suitable attribution?

davidgiven commented 3 years ago

That's great --- I'll update things at my end.

Re autodetecting the GreaseWeazle: thanks, that link will be really useful; I'll probably write new code using it as a reference, so licensing shouldn't be an issue. I still need an OSX version, though. One day.

By the way, do you have any experience of Rob Smith's Arduino-based hardware? I gather that there's a all-in-one USB floppy drive in the works with it, and it'd be good to add support for that too.

keirf commented 3 years ago

I don't have direct experience of Rob's hardware, but I believe the protocol involves a packed MFM representation; it's not a flux-level device. However, the idea of packing the hardware into the back of existing USB drives is pretty sweet!