element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Personal Blogs
  • Community Hub
  • More
Personal Blogs
NexGen Flight Simuator NexGen: Radio Subsystem: New Version ??? - part 1.
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: phoenixcomm
  • Date Created: 5 Apr 2018 10:04 PM Date Created
  • Views 366 views
  • Likes 3 likes
  • Comments 0 comments
  • diy cockpit
  • nexgeen
  • slant range
  • radio fundimentlals
  • rss
  • nexgen flight simulator
  • rss iop
  • java 8
Related
Recommended

NexGen: Radio Subsystem: New Version ??? - part 1.

phoenixcomm
phoenixcomm
5 Apr 2018

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

imageEnter Java. Java has been around for more than two decades 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 embracing the Class/Object Model. Well, What I discovered is that the RSS has a lot of moving parts, and the radios are more different than alike hence the enormous structure, and everybody could see all the parts.

THE ANALYSIS: 

  • Currently, the RSS has six(6) radios.image
  • 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 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.

 

THE PLAN:

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 + √ radios antenna height above sea level)

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 the help of a simple ratio from the complete circumference of the earth from the angle α
360° · Rtopogr. = α · 2π re
information and image cite: radar tutorial -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;

        break;}

    case RC614L8: {

        // Radio614L8.Radio (radio, GoodPower);

        count = 0;

        break;}

    case RG1981:  {

        // RadioG1981.Radio (radio, GoodPower);

        count = 0;

        break;}

    case RG3717:  {

        // RadioG3717.Radio(radio, GoodPower);

        count = 0;

        break;}

    case RG4214:  {

        // RadioG4214.Radio (radio, GoodPower);

        count = 0;

        break;}

    case RG4518:  {

        // RadioG4518.Radio (radio, GoodPower);

        count = 0;

        break;}

    default:

        count = -1;

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

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

        }

return count; }

  }

Typical Radio Interface Code Radio Call Tree

 

NOTES: 

  • Updated & Reloaded Stewie Image - OCT, 2022

Back to the Main Index
image

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube