-
Notifications
You must be signed in to change notification settings - Fork 0
spx 02 rotor
This page details how to set up and properly use SPX-02 rotor by RF hamdesign.
The SPX-02 rotor comes with a Rot2Prog controller that has USB interface:
It requires a 20A 15V DC power supply (seen on the first photo). There are two weird plugs that I forgot the names. The sockets come in a package, together with the rotor.
The connectors (left to right) are:
- 15V DC connection
- fuse
- on/off switch
- elevation connector (2 wires for motor, 2 wires for director sensor)
- azimuth connector (2 wires for motor, 2 wires for director sensor)
- USB type A
- RS-232 9-pin, used to connect to a mouse (!!!)
The mouse was included in the rotor package.
There are several options. First, the buttons on the front. You can change azimuth and elevation by simply pressing.
Second is the mouse. It's a normal gaming-looking mouse. I don't really get it, but it has 4 buttons (left, right) and two extra under thumb. You can use it to control the rotor. Not by moving (so can't point as you normally would with a mouse), but rather use the buttons to slew left/right and up/down. So it's more like a remote on a cable. It's a bit weird, but I can imagine it being useful in some situations, e.g. you can have long cable and use it where you see the rotor and antenna.
To connect the controller to a PC, you need USB-A - USB-A cable. It was included in the package.
Under Linux you can see the list of all your USB devices using lsusb
command:
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 046d:c05a Logitech, Inc. M90/M100 Optical Mouse
Bus 001 Device 007: ID 8087:0aaa Intel Corp. Bluetooth 9460/9560 Jefferson Peak (JfP)
Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 048d:8297 Integrated Technology Express, Inc. IT8297 RGB LED Controller
Bus 001 Device 010: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC <== SPX-02 controller
Bus 001 Device 005: ID 04b3:3025 IBM Corp. NetVista Full Width Keyboard
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Note the bus and device id will be different on your system. You can get the details of the device:
$ lsusb -s 1:10 -v
Bus 001 Device 010: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x0403 Future Technology Devices International, Ltd
idProduct 0x6001 FT232 Serial (UART) IC
bcdDevice 6.00
iManufacturer 1 FTDI
iProduct 2 FT232R USB UART
iSerial 3 AG0JI3X4
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0020
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 90mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 2 FT232R USB UART
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status: 0x0000
(Bus Powered)
Now, you need to find out the device that corresponds to the serial port used to communicate with your controller. This is a bit specific to your computer, so here are general tips.
- if you have few USB devices, connected, this likely be
/dev/ttyUSB0
. If you have more, tryls -l /dev/ttyUSB*
- use this command (as root):
dmesg | grep tty
. These are kernel messages related to serial ports. Try unplugging and plugging the cable again. The kernel should print more messages about it.
In my case it was /dev/ttyUSB0
. To communicate with the controller, you can use rotctl
, which can run interactively or in batch mode. Later on, you will likely start using rotctld
, which is a daemon version of rotctl
that lets you do fancy stuff, such as remotely controlling it over TCP.
If you have a different model, use rotctl -l
to find out if your controller is supported or not.
IMPORTANT: To enable USB control mode, make sure the controller is in emulation. Mode. Keep pressing F
button until it displays A
on the first display. Then you're all set!
Use this command to get the rotor position:
$ rotctl -m 901 -r /dev/ttyUSB0 p
6.000000
48.000000
For rotator commands, see man rotctl
.