Utility to manually or automatically create a bandscan for TEF6686 based radios.
It stores its results in a CSV file, and during scanning, you can see the (yet very, very rough) live progress on http://localhost:6686
Requires a patched version of the firmware with the following changes:
- Return the S/N ratio
- Allow to play a short beep when sending the command
L
via Wifi/XDRGtk protocol
If you use the unpatched version, the detection of a "valid" log is more difficult and error-prone, and you'll get no acoustic feedback when you scan manually.
Currently, it is only tested to run in IntelliJ IDEA.
Since it currently not more than a proof-of-concept, chances are high, that everything will change any time ;-)
See more documentation in the doc folder.
TEFBandscan requires Java 17 (OpenJDK 17) to be installed and properly configured, including
the JAVA_HOME
environment variable. It also requires Apache Maven as properly installed
build tool.
To build the executable jar, run
mvn clean install
Afterwards, you'll find the artifact in the target
-directory, e.g. TEFBandscan-1.0.0-SNAPSHOT.jar
.
To run the jar file, you must provide the TEF6686 WIFI configuration parameters for hostname, port and password, e.g.
java -Dtef6686.hostname=192.168.1.49 -Dtef6686.port=7373 -Dtef6686.password=password -jar target/TEFBandscan-1.0.0-SNAPSHOT.jar --auto
With the parameters thresholds.auto.signal
, thresholds.auto.snr
, thresholds.auto.cci
,
thresholds.manual.signal
, thresholds.manual.snr
and thresholds.manual.cci
, you can se the
minimum (or in case of CCI maximum) limit, below (or in case of CCI above) which no log is made.
Use them with -D
prefix, e.g. -Dthresholds.auto.signal=10
to ensure, that the automatic scanner
only logs frequencies with a signal of at least 10dBµV.
Currently, it is not yet tested run it outside an IDE, but you can configure the
modes and the name of the CSV. The credentials for WiFi and serial configuration are
stored in src/main/resources/application.yaml
and must be configured once, either here
or with parameters -Dtef6686.serial=/dev/ttyS1
(example for serial configuration)
at runtime.
In this mode, you scan manually, and whenever TEFBandscan creates a log (either for the first time, or when an existing log can be improved), you get an acoustic feedback, a short beep, on your TEF receiver (only, when you use the patched version).
The verbose logging on STDOUT (not to be mixed with the structured CSV logging!) will give you an impression, what happened.
To start, just append the CSV "database" name as parameter, e.g. --database=manual
. If this
parameter is not given, the logging is done into the default CSV file, called default.csv
.
In this mode, the TEF receiver scans eternally, and every time, it sees a valid new reception, or it can improve an already existing log, it creates or updates a log entry. Currently, you don't get any feedback on your device, but the textual logging on STDOUT is pretty verbose.
To start, you must append the parameter --auto
and provide the CSV "database" name,
e.g. --database=auto
. If no "database" name is given, the logging is done into
the default CSV file, called default.csv
.