The RSS has been well sort of like a trial by fire. Well to put it bluntly it was nuts, with too many moving parts.!! Sort of like an old Rube Goldberg Machine. What I needed was a better way. Enter Java.

Java has been around for more than a decade by now, it 'is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible' - Wikipedia. When It was first introduced I grabbed a book, and I liked what I saw, and over the years writing in C, and Perl (for web pages)  I never got around to embrace the Class/Object Model.

Well, What I discovered that the RSS as a lot of moving parts and the radios are more different than alike hence the very large structure and everybody could see all the parts.


  • Currently, the RSS has six(6) radios.
  • And will not talk about the audio portion of the RSS with the exception of the Morse Code Generator.
  • All aircraft radios operate on line of sight, not over the horizon.
  • There are more than a few decoders.
    • 3 of 5
    • ARINC 410
    • ARINC 429
    • Mil 1553
    • plus a custom interfaces for some.
  • The radios have a completely different complement of switches and functions.
  • Some radios drive flags, and bars, whiskers on instrumentation.

The Radio Heads or slaves are on their own multi-drop communications system EADIN Lite power-point and Tech-Brief Article.

The EADIN Lite controller, or master talks to the RSSIOP via Ethernet.



So here are the parts that are needed (major parts):

  • Current aircraft position (LAT, LON, ALT)
  • MySQL DB for Radio info (LAT, LON, Height (of Antenna), Radio Frequency, Radio Call Sign)
  • Morse Code Generator, for DME waypoints.
  • Slant Range Calculation. ::= 1.25 · (√aircraft alt + √ radio height)

this will be changed to:

R2 = re2 + (re + H)2 - 2re(re + H) · cos α ( where re ::= earth radius )
Under the assumption that the earth is a sphere the section of the circumference of the earth can be calculated with  help
of a simple ratio from the complete circumference of the earth from the angle α

360° · Rtopogr. = α · 2π re
information and image cite: radartutorial -Slant Range


public class Radio3436 extends BaseRadio {

private static InterfaceTypes I3of5;

private enum lights{ DialLite }

private int  lites[] = {0};

    Radio3436() {  }    // This constructor invokes the BaseRadio constructor




    static void Radio(RadioList radio, Power GoodPower) {

        if( GoodPower == Power.OFF) {

            // Turn off Dial lite;

          // Set DME info


        } else {

          // Get switch count

          // if Switch[1] = ON?OFF (ON)  ** Switch #1 is power; Switch #0 ::= No Power Switch

          // Get Freq 2 bytes

          // Get Aircraft info fromNAVbus LAT, LONG, FEET

          // Get Radio <200nm

          // Play Morse Code

          // Calculate Slant Range

          // Set DME info


        // Send DME & FROM/TO/BLANK





public class BaseRadio {


Power GoodPower = Power.ON;

BaseRadio () {}

// Base Radio Constructor




int WhatRadio( RadioList radio ) {

int count = -1;

    switch (radio) {  // enum RadioList { R3436, RC614L8, RG1981, RG3717, RG4214, RG4518}

    case R3436: {

        Radio3436.Radio (radio, GoodPower);

        count = 1;


    case RC614L8: {

        // Radio614L8.Radio (radio, GoodPower);

        count = 0;


    case RG1981:  {

        // RadioG1981.Radio (radio, GoodPower);

        count = 0;


    case RG3717:  {

        // RadioG3717.Radio(radio, GoodPower);

        count = 0;


    case RG4214:  {

        // RadioG4214.Radio (radio, GoodPower);

        count = 0;


    case RG4518:  {

        // RadioG4518.Radio (radio, GoodPower);

        count = 0;



        count = -1;

        // error (-1) radio of type requested not in system.

        // error (0) radio of type requested not installed at this time.


return count; }


Typicl Radio Interface CodeRadio Call Tre


Back to the Main Index