Spell (and capitalise) Greaseweazle correctly.

This commit is contained in:
David Given
2023-05-25 19:50:05 +02:00
parent 2bef6ca646
commit 53adcd92ed
12 changed files with 54 additions and 54 deletions

View File

@@ -35,11 +35,11 @@ Don't believe me? Watch the demo reel!
</div>
**New!** The FluxEngine client software now works with
[GreaseWeazle](https://github.com/keirf/Greaseweazle/wiki) hardware. So, if you
[Greaseweazle](https://github.com/keirf/Greaseweazle/wiki) hardware. So, if you
can't find a PSoC5 development kit, or don't want to use the Cypress Windows
tools for programming it, you can use one of these instead. Very nearly all
FluxEngine features are available with the GreaseWeazle and it works out-of-the
box. See the [dedicated GreaseWeazle documentation page](doc/greaseweazle.md)
FluxEngine features are available with the Greaseweazle and it works out-of-the
box. See the [dedicated Greaseweazle documentation page](doc/greaseweazle.md)
for more information.
Where?
@@ -65,7 +65,7 @@ following friendly articles:
- [Using a FluxEngine](doc/using.md) ∾ what to do with your new hardware ∾
flux files and image files ∾ knowing what you're doing
- [Using GreaseWeazle hardware with the FluxEngine client
- [Using Greaseweazle hardware with the FluxEngine client
software](doc/greaseweazle.md) ∾ what works ∾ what doesn't work ∾ where to
go for help

View File

@@ -42,7 +42,7 @@ done by adding the special profile `40track_drive`:
fluxengine write ibm360 40track_drive -i image.img -d drive:0
```
It should then Just Work. This is supported by both FluxEngine and GreaseWeazle
It should then Just Work. This is supported by both FluxEngine and Greaseweazle
hardware.
Obviously you can't write an eighty-track format using a forty-track drive!
@@ -63,7 +63,7 @@ The FluxEngine client supports these with the `apple2_drive` profile:
fluxengine write apple2 apple2_drive -i image.img -d drive:0
```
This is supported only by GreaseWeazle hardware.
This is supported only by Greaseweazle hardware.
Shugart drives
--------------
@@ -86,5 +86,5 @@ fluxengine write atarist720 shugart_drive -i image.img -d drive:0
(If you have a 40-track Shugart drive, use _both_ `shugart_drive` and
`40track_drive`.)
This is supported only by GreaseWeazle hardware.
This is supported only by Greaseweazle hardware.

View File

@@ -1,10 +1,10 @@
Using the FluxEngine client software with GreaseWeazle hardware
Using the FluxEngine client software with Greaseweazle hardware
===============================================================
The FluxEngine isn't the only project which does this; another one is the
[GreaseWeazle](https://github.com/keirf/Greaseweazle/wiki), a Blue Pill based
[Greaseweazle](https://github.com/keirf/Greaseweazle/wiki), a Blue Pill based
completely open source solution. This requires more work to set up (or you can
buy a prebuilt GreaseWeazle board), but provides completely open source
buy a prebuilt Greaseweazle board), but provides completely open source
hardware which doesn't require the use of the Cypress Windows-based tools that
the FluxEngine does. Luckily, the FluxEngine software supports it almost
out-of-the-box --- just plug it in and nearly everything should work. The
@@ -16,10 +16,10 @@ FluxEngine makes things complicated when you're not using the FluxEngine client
software with a FluxEngine board, but I'm afraid it's too late to change that
now. Sorry.
**If you are using GreaseWeazle-compatible hardware** such as the
**If you are using Greaseweazle-compatible hardware** such as the
[adafruit-floppy](https://github.com/adafruit/Adafruit_Floppy) project, then
FluxEngine will still work; however, as the USB VID/PID won't be that of a real
GreaseWeazle, the the FluxEngine client can't autodetect it. Instead, you'll
Greaseweazle, the the FluxEngine client can't autodetect it. Instead, you'll
need to specify the serial port manually with something like
`--usb.greaseweazle.port=/dev/ttyACM0` or `--usb.greaseweazle.port=COM5`.
@@ -32,7 +32,7 @@ Driver box says `WinUSB` and the right one says `USB Serial (CDC)`. Then press
What works
----------
Supported features with the GreaseWeazle include:
Supported features with the Greaseweazle include:
- simple reading and writing of disks, seeking etc
- erasing disks
@@ -59,12 +59,12 @@ Who to contact
--------------
I want to make it clear that the FluxEngine code is _not_ supported by the
GreaseWeazle team. If you have any problems, please [contact
Greaseweazle team. If you have any problems, please [contact
me](https://github.com/davidgiven/fluxengine/issues/new) and not them.
In addition, the GreaseWeazle release cycle is not synchronised to the
In addition, the Greaseweazle release cycle is not synchronised to the
FluxEngine release cycle, so it's possible you'll have a version of the
GreaseWeazle firmware which is not supported by FluxEngine. Hopefully, it'll
Greaseweazle firmware which is not supported by FluxEngine. Hopefully, it'll
detect this and complain. Again, [file an
issue](https://github.com/davidgiven/fluxengine/issues/new) and I'll look into
it.

View File

@@ -80,11 +80,11 @@ as you need an adapter cable or board, but this will allow you to replicate the
FluxEngine hardware on a $2 Blue Pill.
I am _not_ planning on replacing the PSoC5 with a Blue Pill, because someone
already has: [the GreaseWeazle](https://github.com/keirf/Greaseweazle/wiki) is
already has: [the Greaseweazle](https://github.com/keirf/Greaseweazle/wiki) is
a completely open source firmware package which will read and write Supercard
Pro files via a standard Blue Pill or via a prebuilt board. It's supported by
the FluxEngine client software, and you should, mostly, be able to use
GreaseWeazle hardware interchangeably with FluxEngine hardware. See the
Greaseweazle hardware interchangeably with FluxEngine hardware. See the
[dedicated page](greaseweazle.md) for more information.

View File

@@ -43,7 +43,7 @@ file while changing the decoder options, to save disk wear. It's also much faste
### Connecting it up
To use, simply plug your FluxEngine (or [GreaseWeazle](greaseweazle.md)) into
To use, simply plug your FluxEngine (or [Greaseweazle](greaseweazle.md)) into
your computer and run the client. If a single device is plugged in, it will be
automatically detected and used.

View File

@@ -4,7 +4,7 @@
#include "bytes.h"
#include "greaseweazle.h"
Bytes fluxEngineToGreaseWeazle(const Bytes& fldata, nanoseconds_t clock)
Bytes fluxEngineToGreaseweazle(const Bytes& fldata, nanoseconds_t clock)
{
Bytes gwdata;
ByteWriter bw(gwdata);
@@ -89,7 +89,7 @@ Bytes greaseWeazleToFluxEngine(const Bytes& gwdata, nanoseconds_t clock)
break;
default:
error("bad opcode in GreaseWeazle stream");
error("bad opcode in Greaseweazle stream");
}
}
else

View File

@@ -9,7 +9,7 @@
#define EP_OUT 0x02
#define EP_IN 0x83
extern Bytes fluxEngineToGreaseWeazle(const Bytes& fldata, nanoseconds_t clock);
extern Bytes fluxEngineToGreaseweazle(const Bytes& fldata, nanoseconds_t clock);
extern Bytes greaseWeazleToFluxEngine(const Bytes& gwdata, nanoseconds_t clock);
extern Bytes stripPartialRotation(const Bytes& fldata);

View File

@@ -45,7 +45,7 @@ static uint32_t ss_rand_next(uint32_t x)
return (x & 1) ? (x >> 1) ^ 0x80000062 : x >> 1;
}
class GreaseWeazleUsb : public USB
class GreaseweazleUsb : public USB
{
private:
uint32_t read_28()
@@ -72,11 +72,11 @@ private:
command[0],
buffer[1]);
if (buffer[1])
error("GreaseWeazle error: {}", gw_error(buffer[1]));
error("Greaseweazle error: {}", gw_error(buffer[1]));
}
public:
GreaseWeazleUsb(const std::string& port, const GreaseWeazleProto& config):
GreaseweazleUsb(const std::string& port, const GreaseweazleProto& config):
_serial(SerialPort::openSerialPort(port)),
_config(config)
{
@@ -90,7 +90,7 @@ public:
else
{
error(
"only GreaseWeazle firmware versions 22 and 24 or above are "
"only Greaseweazle firmware versions 22 and 24 or above are "
"currently "
"supported, but you have version {}. Please file a bug.",
version);
@@ -129,9 +129,9 @@ public:
nanoseconds_t getRotationalPeriod(int hardSectorCount)
{
if (hardSectorCount != 0)
error("hard sectors are currently unsupported on the GreaseWeazel");
error("hard sectors are currently unsupported on the Greaseweazle");
/* The GreaseWeazle doesn't have a command to fetch the period directly,
/* The Greaseweazle doesn't have a command to fetch the period directly,
* so we have to do a flux read. */
switch (_version)
@@ -181,7 +181,7 @@ public:
break;
default:
error("bad opcode in GreaseWeazle stream");
error("bad opcode in Greaseweazle stream");
}
}
else
@@ -304,7 +304,7 @@ public:
nanoseconds_t hardSectorThreshold)
{
if (hardSectorThreshold != 0)
error("hard sectors are currently unsupported on the GreaseWeazel");
error("hard sectors are currently unsupported on the Greaseweazle");
do_command({CMD_HEAD, 3, (uint8_t)side});
@@ -357,7 +357,7 @@ public:
void write(int side, const Bytes& fldata, nanoseconds_t hardSectorThreshold)
{
if (hardSectorThreshold != 0)
error("hard sectors are currently unsupported on the GreaseWeazel");
error("hard sectors are currently unsupported on the Greaseweazle");
do_command({CMD_HEAD, 3, (uint8_t)side});
switch (_version)
@@ -371,7 +371,7 @@ public:
do_command({CMD_WRITE_FLUX, 4, 1, 1});
break;
}
_serial->write(fluxEngineToGreaseWeazle(fldata, _clock));
_serial->write(fluxEngineToGreaseweazle(fldata, _clock));
_serial->readByte(); /* synchronise */
do_command({CMD_GET_FLUX_STATUS, 2});
@@ -380,7 +380,7 @@ public:
void erase(int side, nanoseconds_t hardSectorThreshold)
{
if (hardSectorThreshold != 0)
error("hard sectors are currently unsupported on the GreaseWeazel");
error("hard sectors are currently unsupported on the Greaseweazle");
do_command({CMD_HEAD, 3, (uint8_t)side});
@@ -404,7 +404,7 @@ public:
void measureVoltages(struct voltages_frame* voltages)
{
error("unsupported operation on the GreaseWeazle");
error("unsupported operation on the Greaseweazle");
}
private:
@@ -416,16 +416,16 @@ private:
};
std::unique_ptr<SerialPort> _serial;
const GreaseWeazleProto& _config;
const GreaseweazleProto& _config;
int _version;
nanoseconds_t _clock;
nanoseconds_t _revolutions;
};
USB* createGreaseWeazleUsb(
const std::string& port, const GreaseWeazleProto& config)
USB* createGreaseweazleUsb(
const std::string& port, const GreaseweazleProto& config)
{
return new GreaseWeazleUsb(port, config);
return new GreaseweazleUsb(port, config);
}
// vim: sw=4 ts=4 et

View File

@@ -52,7 +52,7 @@ static std::shared_ptr<CandidateDevice> selectDevice()
case GREASEWEAZLE_ID:
std::cerr << fmt::format(
"GreaseWeazle: {} on {}\n", c->serial, c->serialPort);
"Greaseweazle: {} on {}\n", c->serial, c->serialPort);
break;
}
}
@@ -67,8 +67,8 @@ USB* get_usb_impl()
globalConfig()->usb().greaseweazle().has_port())
{
const auto& conf = globalConfig()->usb().greaseweazle();
log("Using GreaseWeazle on serial port {}", conf.port());
return createGreaseWeazleUsb(conf.port(), conf);
log("Using Greaseweazle on serial port {}", conf.port());
return createGreaseweazleUsb(conf.port(), conf);
}
/* Otherwise, select a device by USB ID. */
@@ -81,10 +81,10 @@ USB* get_usb_impl()
return createFluxengineUsb(candidate->device);
case GREASEWEAZLE_ID:
log("Using GreaseWeazle {} on {}",
log("Using Greaseweazle {} on {}",
candidate->serial,
candidate->serialPort);
return createGreaseWeazleUsb(
return createGreaseweazleUsb(
candidate->serialPort, globalConfig()->usb().greaseweazle());
default:

View File

@@ -5,7 +5,7 @@
#include "flags.h"
class Fluxmap;
class GreaseWeazleProto;
class GreaseweazleProto;
namespace libusbp
{
class device;
@@ -39,8 +39,8 @@ protected:
extern USB& getUsb();
extern USB* createFluxengineUsb(libusbp::device& device);
extern USB* createGreaseWeazleUsb(
const std::string& serialPort, const GreaseWeazleProto& config);
extern USB* createGreaseweazleUsb(
const std::string& serialPort, const GreaseweazleProto& config);
static inline int usbGetVersion()
{

View File

@@ -2,7 +2,7 @@ syntax = "proto2";
import "lib/common.proto";
message GreaseWeazleProto {
message GreaseweazleProto {
enum BusType { /* note that these must match CMD_SET_BUS codes */
BUSTYPE_INVALID = 0;
IBMPC = 1;
@@ -11,14 +11,14 @@ message GreaseWeazleProto {
};
optional string port = 1
[(help) = "GreaseWeazle serial port to use"];
[(help) = "Greaseweazle serial port to use"];
optional BusType bus_type = 2
[(help) = "which FDD bus type is in use", default = IBMPC];
}
message UsbProto {
optional string serial = 1
[(help) = "serial number of FluxEngine or GreaseWeazle device to use"];
[(help) = "serial number of FluxEngine or Greaseweazle device to use"];
optional GreaseWeazleProto greaseweazle = 2 [(help) = "GreaseWeazle-specific options"];
optional GreaseweazleProto greaseweazle = 2 [(help) = "Greaseweazle-specific options"];
}

View File

@@ -12,12 +12,12 @@
static void test_convert(const Bytes& gwbytes, const Bytes& flbytes)
{
Bytes gwtoflbytes = greaseWeazleToFluxEngine(gwbytes, 2 * NS_PER_TICK);
Bytes fltogwbytes = fluxEngineToGreaseWeazle(flbytes, 2 * NS_PER_TICK);
Bytes fltogwbytes = fluxEngineToGreaseweazle(flbytes, 2 * NS_PER_TICK);
if (gwtoflbytes != flbytes)
{
std::cout << "GreaseWeazle to FluxEngine conversion failed.\n";
std::cout << "GreaseWeazle bytes:" << std::endl;
std::cout << "Greaseweazle to FluxEngine conversion failed.\n";
std::cout << "Greaseweazle bytes:" << std::endl;
hexdump(std::cout, gwbytes);
std::cout << std::endl << "Produced this:" << std::endl;
hexdump(std::cout, gwtoflbytes);
@@ -28,7 +28,7 @@ static void test_convert(const Bytes& gwbytes, const Bytes& flbytes)
if (fltogwbytes != gwbytes)
{
std::cout << "FluxEngine to GreaseWeazle conversion failed.\n";
std::cout << "FluxEngine to Greaseweazle conversion failed.\n";
std::cout << "FluxEngine bytes:" << std::endl;
hexdump(std::cout, flbytes);
std::cout << std::endl << "Produced this:" << std::endl;