I've been writing a bunch of modules to talk to specific kinds of
hardware chips (sensors, motor controllers, radio interfaces, etc...)
that are electrically SPI or I²C. There's likely hundreds or
thousands of possibles here.
Currently, they all live under the namespace
because they're written to talk to the hardware device via a
particular piece of USB-attached hardware, called a Bus Pirate.
However, there's nothing specific about the operation of these SPI or
I²C devices, that relates to the Bus Pirate. In particular, there are
other computer <-> SPI or I²C adapters available, such as the GPIO
port built into a Raspberry Pi, or the FTDI FT232H chip.
I'm considering how to name device drivers for talking to these
hardware chips in a way that's independent of how that chip is
ultimately connected to the computer, and provide an abstracted API
that the driver can use to communicate with the chip, regardless of
Ultimately, it'd be cool to end up with lots of hardware chip drivers
on CPAN that can talk to all kinds of hardware, via whatever mechanism
people use to physically attach it.
But lets start with the name...