AGSC is a command line utility to automate the tracking, recording, demodulation, and storage of data from satellites operating in the 70cm and 2m amateur radio bands.
- Satellite pass prediction using Predict4Java
- Transceiver and rotator control
- Live data demodulation with the Dire Wolf packet radio modem
- Transmission recorded directly from transceiver
- Operation customizable via configuration files
- Ability to specify non-uniform rotator alignment issues in azimuth
- Organized data storage
AGSC currently supports the following transceiver and rotator models. The rotator or transceiver can be disabled by using
StubRotator
or StubTransceiver
models.
- ICOM IC-9100 (Similar ICOM models likely supported)
- Yaesu rotators compatible with the GS-232B computer controller
- Alfa rotators compatible with the ROT2Prog controller
This project is configured to be built using maven.
mvn clean package
This will create a target
directory and with agsc-*-jar-with-dependencies.jar
. A batch file agsc.bat is provided in the
root directory to run the JAR, or it can be executed directly using java.exe
using the following:
java -jar target/agsc-*-jar-with-dependencies.jar
OpenJDK 21.0.1 is recommended.
Most of the dependencies are included in the JAR file, except for the Dire Wolf
packet radio modem which must be installed manually. The path to the Dire Wolf executable must be specified in
config.properties. Dire Wolf has its own configuration file called direwolf.conf
which resides in the same
directory as the Dire Wolf executable. To use Dire Wolf with this program, its configuration file must at minimum contain
the following. KISS port can be changed, but must match the port specified in config.properties.
ADEVICE 0
CHANNEL 0
MYCALL N0CALL
KISSPORT 8001
Before use, verify the settings in the configuration files listed below. The program operates according to the following
flow chart.
config.properties contains general settings for the program including paths to other configuration files, instrument models, and satellite frequency/baud.
Model parameters can accept the following values. Stub models print a message to the log indicating what action would have been taken if using the non-stub models. Provided to allow testing without the instruments connected.
Parameter | Accepted Values |
---|---|
ROTATOR_MODEL | - RotatorGS232B - RotatorRot2Prog - StubRotator |
TRANSCEIVER_MODEL | - TransceiverIC9100 - StubTransceiver |
DECODER_MODEL | - DireWolf |
RECORDER_MODEL | - JavaxSoundSampled |
SATELLITE_TRACK_MODEL | - Predict4Java |
# Log settings
LOG_PATH = .\\logs\\
LOG_LEVEL = DEBUG
# Ground station settings
GS_CALL = N0CALL
GS_LAT = 44.23
GS_LON = -76.48
GS_ELE = 95
# Satellite settings
TLE_PATH = .\\config\\tle.txt
SAT_DL_FREQ_HZ = 435310000
SAT_BAUD = 1200
# Rotator settings
ROTATOR_MODEL = RotatorGS232B
ROTATOR_COM_PORT = COM4
ROTATOR_BAUD = 2400
ROTATOR_CALIBRATION_PATH = .\\config\\rotatorCalibration.txt
# Transceiver settings
TRANSCEIVER_MODEL = TransceiverIC9100
TRANSCEIVER_COM_PORT = COM5
TRANSCEIVER_BAUD = 19200
TRANSCEIVER_ADDRESS = 7C
# Decoder settings
DECODER_MODEL = DireWolf
DECODER_KISS_PORT = 8001
DECODER_PATH = C:\\Direwolf\\Direwolf-Executable\\direwolf-1.7.0-9807304_i686
# Audio record settings
RECORDER_MODEL = JavaxSoundSampled
RECORDER_SAMPLE_RATE = 48000
# Satellite tracker settings
SATELLITE_TRACK_MODEL = Predict4Java
For the Alfa ROT2Prog rotator controller, use the following for the rotator settings.
# Rotator settings
ROTATOR_MODEL = RotatorRot2Prog
ROTATOR_COM_PORT = COM3
ROTATOR_BAUD = 600
ROTATOR_CALIBRATION_PATH = .\\config\\rotatorCalibration.txt
tle.txt contains the two-line element set for the satellite of interest.
NAME
1 53951U 22057BC 24103.34222925 .00048222 00000-0 10764-2 0 9996
2 53951 97.5617 230.1176 0004425 356.7326 3.3891 15.43389399104594
rotatorCalibration.txt allows specification of any systematic errors in rotators azimuthal direction. This file must contain exactly 360 lines with one integer value on each line. The value on the line is the direction the rotator controller reports on its readout when the antennas main lobe is pointed towards the angle defined by the line number, indexed from zero.
0
1
2
3
4
5
...
354
355
356
357
358
359
AGSC is available under the GPLv3 free software license.