# Signal Hound RFS8/RFS44 API for Windows and Linux systems

Copyright (c) 2026, Signal Hound, Inc.
For licensing information, please see the API license in the software_licenses folder.

Email/Support: support@signalhound.com

## Overview

This is an API for the Signal Hound RFS Series RF switches, the RFS8 and RFS44.

The API is a set of C functions for connecting to the device's serial port, setting and querying the active RF port, and getting information about the device.

It also includes a GUI application for standalone control.

## Setup

The RFS API is a 64 bit shared library. The library can be found in the lib/ folder.

### Windows

The serial port number can be found in Device Manager > Ports (COM & LPT) > USB Serial Port (COM#), where "#" is the integer value of the serial port.

### Linux

The best way to develop to the rfs_api is to place the included libraries in the /usr/local/lib directory. Steps to perform this are below.

To install the shared library on your system from the lib folder, type

    sudo cp librfs_api.* /usr/local/lib
    sudo ldconfig -v -n /usr/local/lib
    sudo ln -sf /usr/local/lib/librfs_api.so.1 /usr/local/lib/librfs_api.so
 
This should create the necessary symlinks to the main library and place them in the library directory.

The shared library can now be linked in with g++ by
    g++ sources -o output_exe -Wl,-rpath /usr/local/lib -lrfs_api

The API has been tested on Ubuntu 18.04, and should work on related distributions.

The serial port number can be found with the command `ls /dev`, then locating ttyACM# in the list, where "#" is the integer value of the serial port. This will be 0 if there are no other ACM devices connected.

AppArmor and ModemManager have been known to interfere with the API's communication through the USB serial connection, and prevent proper functioning. They can be disabled with the following commands:

```
sudo systemctl stop apparmor
sudo systemctl disable apparmor

sudo systemctl stop ModemManager.service
sudo systemctl disable ModemManager.service
```
