
This is a driver library and command line utility for controlling
the Soft66 series of SDR receivers from Kazunori Miura JA7TDO.

It currently supports only Soft66ADD but I hope it will expand to
support all the models in the series (and possibly others).

Soft66ADD uses a FT245RL USB controller to bitbang the serial
interface of the AD9834.

The Linux kernel in Ubuntu has a driver called ftdi_sio that can talk
to the the FT245RL, and it load automatically when you plug in the
radio. But this driver only supports an emulated serial port, which is
not what we need, so we need to talk to the device directly via libftdi.

So if you already plugged the radio in, we must first unload the
ftdi_sio driver:

$ sudo rmmod ftdi_sio

We can prevent this driver from loading automatically in the future
by blacklisting the module:

$ echo "blacklist ftdi_sio" | sudo tee /etc/modprobe.d/blacklist-sdr66add.conf

You can call the blacklist file anything I just put sdr66add.conf so
that it's obvious why I created it.

You can also add a udev rules file to assign ownership of the device
to you, that wayyou won't have to run soft66-control as root (with
sudo). To do this create a file in /etc/udev/rules.d/99-soft66.rules
with the following contents (all on one line):

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", MODE="660", OWNER="th", ENV{ACL_MANAGE}="0"

You need to install libftdi and libftdi-dev to build this package:

 $ sudo apt-get install libftdi-dev
 $ ./configure
 $ make
 $ make install
 $ soft66-control --help

Usage:
soft66-control [OPTIONS]... COMMAND [ARGS]...
       Controls the operation of the Soft66 series SDR radio receivers.

Options:
  -l, --list           List attached Soft66 devices and exit.
  -b, --filterbits=B   Set the filterbits to the value specified (only).
  -i, --info           Query device and show status information.
  -s, --serial=SER     Operate on the device with serial number SER.
  -t, --tune=FREQ      Tune to FREQ Hz (postfix k or m for kHz or MHz, kHz is
                       assumed if a value below 70000 is given).
  -r, --retune=FREQ    Like --tune but do not reset the AD9834 first.
  -p, --powerdown      Put the receiver to sleep.
  -V, --vendorid=ID    Use device with specified vendor ID.
  -P, --productid=ID   Use device with specified product ID.

Report bugs and send patches to <thomas@horsten.com>.

The library is licensed under the LGPL v3 or later, and the command
line utility is licensed under the GPLv3.
