RADIO TELESCOPE OBSERVING CONTROL INTERFACE ELEMENTS

 OBSERVING PARAMETERS (set by observer)						OBSERVING COMMANDS / CONTROLS		MAIN DISPLAY FIELDS

  * pointing control									
    - track mode: off (drift), track sky, track other? (moon, satellites?)	* switch track mode			* current track mode
    - slew mode: off, manual, slew to target (with or without sky tracking)	* switch slew mode			* current slew mode
    - manual slew rates (in deg/min, up to max allowed)				* E/W, U/D "speed" switches (paddle?)	* current speed(s)
    - targeted slew rate (in deg/min, up to max allowed)			* single "speed" switch (hypotenuse)
    - slew target (from list, coordinates, or relative to current pointing)	* include park, service positions	* slew destination
    - target coordinate system: (az,alt), (ha,dec), (ra,dec), or (glon,glat)	
															* altitude[deg], azimuth[deg], encoder readings[?]
															* hour angle[h], right ascension[h], declination[d]
															* local sidereal time [HH:MM:SS] (RA of LM)
  * time and frequency control								
    - time type: UT or local (CST/CDT)							
    - time start ["now" or HH:MM:SS], duration [sec], sample time [sec]							* start + stop time, duration, num. samples, sample time
      - infer number of samples, stop time						
    - radio frequency (RF) min, max, number of channels									* min + cent + max freq, bandwidth, num chan, chan width
      - note this is RF, while "back end" uses IF (see receiver properties)
      - infer center, bandwidth, channel width 	[** max BW set by SDR! **]						
    - polarization (vertical/horizontal) - select via IF or other means?						* polarization mode

  * data recording settings								
    - data taking status (on/off)						* start/stop taking data switch		* taking data? (yes/no)
    - max. file size (split if too big?  not sure this is a user control)	
    - ADC gain (readout value per ADU [analog-to-digital converter unit])	
    - ADC floor (zero-point offset to add to readout values, if useful)		
    - AGC on/off (any reason to have it on?  maybe to "find" signal?)		

  * display settings									
    - signal intensity scale (linear/logarithmic)									* plot of last spectrum (update in real time)
    - signal intensity units (user-specified, e.g., volt, ADU, dB, Tb, Jy)						* still camera shots of dish position, encoders, etc.?

  * meta-settings
    - display type (main = controls/display; param = obs param; sys = sys par)	* main/obspar/syspar display switch	* either main display or list other chane
    - editing parameters? (yes/no -- if yes, prevent taking data?)		* edit observing parameters switch	* editable list of observing param (not sys param!)
    - running script? (yes/no)							* run script				* name of script being run
										  - list of param. settings, commands      (even which line of script is being run?)
										  - allow branching and looping?	   (don't show parameter list during script execution)

 SYSTEM PARAMETERS (set separately from observing parameters; write-protect?)

  * encoder calibration constants (assuming linear conversion)
    - azimuth  intercept [deg], slope [deg/encoder_val]
    - altitude intercept [deg], slope [deg/encoder_val]

  * allowed motion constraints (safe limits)
    - azimuth  hard min [deg], max [deg], margin [deg] (offset from hard limit
    - altitude hard min [deg], max [deg], margin [deg]  for slew rate reduction)
    - slew rate max [deg/min] (applies to both azimuth and altitude)

  * rest positions
    - park    azimuth [deg], altitude [deg] (when not observing)
    - service azimuth [deg], altitude [deg] (to access feed instrumentation)

  * time and location parameters
    - geographic longitude[deg], latitude[deg] (Bell: -86.611654, +36.919665)
    - current universal time + date [set by internet if possible]							* universal time+date [YYYY-MM-DD HH:MM:SS UT]
    - local time [for display only! use UT internally for everything]							* local time+date [YYYY-MM-DD HH:MM:SS CST/CDT]
      - time zone offset (local - UT) [+6 hr for Central Standard Time]
      - daylight savings time on/off [set by date?  mar 2nd sun - nov 1st sun]

  * bright target coordinates [list observer can select from]
    - extrasolar targets [Cas A, Cyg A, Tau A, Sgr A, M 42; fixed RA,DEC]
    - solar-system targets [Sun, Moon, major planets; time-dependent!]

  * receiver properties
    - current receiver "front end" (stage facing antenna)								* front end in use
    - for each front end in list (C-band LNBF, Ku-band LNB, etc.):
      - radio frequency (RF) range min, max
      - local oscillator frequency (LOF) to get intermediate frequency (IF)
          range that SDR actually sees after down-conversion [IF = RF - LOF]
    - current receiver "back end" (stage facing observer)								* back end in use
    - for each back end in list (RTL-SDR, Airspy R2 SDR, etc.):
      - max frequency bandwidth SDR can handle (may be less than receiver BW!)
      - bit depth (bits/bytes per sample)

 DATA FILES

  * new file each time data taking turned on
    - held by system for bulk periodic download?
    - or sent in regular stream? (less robust)

  * metadata
    - start time and coordinates
    - tracking status
    - relevant receiver properties
    - all other observing parameter values

  * data
    - for each sample time:
      - 1-D array of signal strength measurements vs. frequency channel number
    - bytes per sample set by bit depth above