Skip to content

Commit

Permalink
Import source code from Debian package
Browse files Browse the repository at this point in the history
Flyby is to be based on predict-g1yyh, a fork of predict that comes with
Debian's predict packages. This is an import of the complete source code
after applying Debian's patches. It also includes som extra manual pages
and README/copyright information that is included in the Debian package.

This provides a known starting point for further development.

No names have been changed in this patch. The code builds as predict,
not flyby.
  • Loading branch information
ryeng committed Apr 27, 2013
1 parent eb6cb6a commit 7f6dec8
Show file tree
Hide file tree
Showing 228 changed files with 62,268 additions and 0 deletions.
599 changes: 599 additions & 0 deletions CHANGES

Large diffs are not rendered by default.

339 changes: 339 additions & 0 deletions COPYING

Large diffs are not rendered by default.

47 changes: 47 additions & 0 deletions CREDITS
@@ -0,0 +1,47 @@
*************
* Credits *
*************

SGP4/SDP4 models and sun/moon position algorithms used in this
version of PREDICT were derived from "satcom-08", written by
Neoklis Kyriazis, 5B4AZ, and released in 2002 under the GNU
General Public License. Parts of "satcom-08" were derived
through a translation into 'C' of SGP4 and SDP4 code written
originally in FORTRAN and Pascal by Dr. T.S. Kelso. Dr. Kelso's
code is available on his web site at http://www.celestrak.com/.

Socket-based server code and the "map" client application were
contributed by Ivan Galysh, KD4HBO on 10-Jan-2000.

PIC/TRACK antenna rotator control code was contributed by
Vittorio Benvenuti, I3VFJ on 13-Jul-2000.

The "gsat" client was contributed by Xavier Crehueras, EB3CZS.

The Perl client demonstration program was contributed by Rich
Parry, W9IF.

The WinPredictClient was contributed by Steve Fraser, VK5ASF.

The concept of using "xearth" as a graphical display for PREDICT
was originally conceived by Wade Hampton (that later developed
into "earthtrack").

Many others have contributed code to the project, including
Bent Bagger OZ6BL, Tom Busch WB8WOR, Steve Fraser VK5ASF,
Xavier Crehueras, EB3CZS, Takeshi-Okazaki (Satellite Engineer
for MTSAT-1R (HIMAWARI 6)), and others.

Calculations for squint angle were adopted from trk-0.4.1 by Lapo
Pieri, IK5NAX.

PREDICT is also the product of many others who have contributed
bug reports, bug fixes, helpful suggestions, and positive support.


--
John A. Magliacane, KD2BD
Lead Developer
kd2bd@amsat.org
November 2005

31 changes: 31 additions & 0 deletions HISTORY
@@ -0,0 +1,31 @@
======================
The History of PREDICT
======================

Work on PREDICT started on May 26, 1991 with the purpose of creating a
replacement for QUIKTRAK software that ran on the Commodore 64 home
computer. PREDICT was originally written in C and compiled using a
"Super C" compiler. After the program was completed and found to be
useful, PREDICT was then ported to several Unix machines and then to
DOS using a Borland Turbo C++ compiler. The DOS version was completed
in May 1994 and was the first version of PREDICT released to the public.
PREDICT was later ported to the Linux operating system in 1995 and
released as freeware as a pre-compiled a.out dynamically linked
binary in 1996.

Through years of daily use, PREDICT was found to be reliable and accurate,
and only minor changes were made to the program until 1999 when major
portions were re-written from scratch and many new features were added.

The release of PREDICT version 2.0.0 in December 1999 represents the
second major release of the program.

Further details regarding the history of PREDICT are available in the
July 2000 (Science and Engineering) issue of "Linux Journal" magazine.

The release of PREDICT version 2.2.0 in October 2002 represents the
third major release of the program.

This version of PREDICT was written under Slackware Linux on a 100 MHz
Pentium-based PC with 16 megabytes of RAM using the "vi" editor.

144 changes: 144 additions & 0 deletions NEWS
@@ -0,0 +1,144 @@
PREDICT 2.2.0 Release
=====================
The major revisions in PREDICT 2.2.0 include the use of
SGP4/SDP4 orbital models for improved tracking accuracy,
as well as a re-written Single Satellite Tracking Mode
to provide more useful real-time satellite communications
data.


New Orbital Models
==================
The simplified orbital model used in previous versions
of PREDICT provided very accurate and dependable results
for the majority of users, but was not quite good enough
for more demanding applications at NASA.

In July 2002, a test was performed on the accuracy of the
orbital model used in PREDICT. The test was performed by
a software engineer working at Edwards Airforce Base in
California, and involved comparing data provided by PREDICT's
Calc() and PreCalc() functions to that of a radar system
used to track the International Space Station. Ranging
data from the radar was taken every 50 milliseconds for
the duration of the pass.

The error in azimuth was found to be almost zero at AOS, and
increased to 0.3 degrees over the duration of the pass. The
elevation was about 0.2 degrees lower than that measured by
radar for the entire pass. The calculated range was approximately
7000 meters low at AOS, and approximately 7000 meters high at
LOS with a crossover at TCA.


New Single Satellite Tracking Mode
==================================
The Single Satellite Tracking Mode has been completely revised
in PREDICT version 2.2.0. PREDICT now supports a database of
satellite transponder data so that the program can provide
path loss and Doppler-corrected uplink and downlink frequency
information in real-time. For satellites containing linear
transponders, uplink and downlink frequencies may be adjusted
by pressing the '<' and '>' keys to tune down across the
transponder in 1 kHz steps, or the ',' and '.' keys (unshifted
'<' and '>') to tune in 100 Hz steps. Switching between
transponders may be accomplished by pressing the SPACE bar.

Eclipse depth, an angle representing how deep a satellite is
in solar eclipse, is also provided. Eclipse depth is positive
when the spacecraft is in eclipse, and negative when it is in
sunlight. Spacecraft antenna squint angle is provided if
ALAT/ALON (spacecraft attitude coordinates) parameters are
included in the transponder database file.


Transponder Database
====================
When PREDICT version 2.2.0 is initially run, a default transponder
database file (predict.db) is copied into the user's $HOME/.predict
directory. At present, the database provides for many new features,
som of which have not been completely implemented by PREDICT in
this early release of the 2.2.x run. The most glaring omission
is lack of a facility to edit or modify the database file. For
the time being, it may be edited by hand if care is excercised.

The format for the database file is as follows. Using NOAA-17
as an example:

NOAA-17 Name of satellite
27453 Object number (must match predict.tle)
No alat/alon ALAT/ALON spacecraft attitude information
APT Downlink Description of transmitter/transponder
0.0, 0.0 Uplink passband limits in MHz (0.0 = no uplink)
137.620, 137.620 Corresponding downlink passband limits (single downlink)
No weekly schedule Days of the week this transponder is active
No orbital schedule Orbital phase when this transponder is active
HRPT Downlink Description of second transmitter/transponder
0.0, 0.0 Uplink passband limits (low end limit, high end)
1707.0, 1707.0 Corresponding downlink passband limits (single downlink)
No weekly schedule Days of the week this transponder is active
No orbital schedule Orbital phase when this transponder is active
end End of data for this satellite

OSCAR-29 contains linear (inverting) as well as digital (Pacsat)
transponders:

OSCAR-29
24278
No alat/alon
Mode JA Transponder
145.900, 146.000
435.900, 435.800
No weekly schedule
No orbital schedule
Mode JD Channel A
145.850, 145.850
435.910, 435.910
No weekly schedule
No orbital schedule
Mode JD Channel B
145.870, 145.870
435.910, 435.910
No weekly schedule
No orbital schedule
Mode JD Channel C
145.910, 145.910
435.910, 435.910
No weekly schedule
No orbital schedule
end

Weekly and orbital schedules have not yet been implemented in
PREDICT 2.2.0, so for the time being, entries for these parameters
should begin with the word "No". ALAT/ALON should be entered as
30.0, 0.0 for alat=30.0 and alon=0.0. See $HOME/.predict/predict.db
for further examples.

Entries in predict.db need not be in the same order as they appear
in predict.tle. Satellite names need not match either, but the
object numbers in predict.db must be correct. predict.db may contain
more satellite entries than those appearing in predict.tle (normally 24).
PREDICT reads the entire database file, and reads only the information
that applies to the satellites in the predict.tle file in use at the
time. If no transponder data is available, or if a satellite contains
no communication transponders, the Single Satellite tracking mode
screen is modified accordingly.

Future revisions of PREDICT will likely include a database editor
as well as possible modifications to the format of the database.


Other changes
=============
PREDICT now installs into a directory whose name includes the revision
number (ie: predict-2.2.0).

Despite the major revisions to the tracking code, all other program
functions, with the exception of the Single Satellite Tracking Mode,
should act as they did in earlier versions.


--
John, KD2BD
October 12, 2002

88 changes: 88 additions & 0 deletions README
@@ -0,0 +1,88 @@
=========================
PREDICT QUICK START GUIDE
=========================

SYSTEM REQUIREMENTS
===================
This program requires ncurses version 4.2 or higher. Earlier versions have
been known to cause segmentation faults and/or odd display colors with this
program. ncurses may be obtained via anonymous FTP at:

prep.ai.mit.edu

in the pub/gnu/ncurses subdirectory

or:
http://www.gnu.org/software/ncurses/ncurses.html


The Linux pthreads library is also required. Both of these libraries are
usually available in modern Linux distributions.


UNPACKING
=========
The PREDICT archive can be unpacked in any directory for which read access
is provided for all system users (such as /usr/src or /usr/local/src for
Slackware Linux). As root, move the tar file to such a directory and
issue the command:

tar xvfz predict-2.2.3.tar.gz

to unpack the file.


COMPILATION
===========
PREDICT's compilation and installation procedure differs slightly from
that of most software, but should easy enough to understand and follow.
First, move (cd) into the predict directory and execute the included
"configure" script by typing:

./configure

as root at your command prompt. This script compiles and runs the install
program that configures the source code for PREDICT. It then compiles and
installs PREDICT by creating symbolic links between the executables created
in the installation directory and /usr/local/bin. If a destination directory
other than /usr/local/bin is desired, invoke configure with the desired
directory as an argument on the command line:

./configure /usr/bin

NOTE: "configure" may stall if the system soundcard is in use. Some
window managers (sometimes KDE) take control of the soundcard, and prevent
the configure script from opening /dev/dsp and checking its existence.


FIRST TIME USE
==============
First time users will be asked to enter their groundstation latitude and
longitude in decimal degrees or in degree, minute, second (DMS) format.
Normally, PREDICT handles longitudes in decimal degrees WEST (0-360
degrees), and latitudes in decimal degrees NORTH. This behavior can be
modified by passing the -east or -south command line switches to PREDICT
when it is invoked. Your station's altitude in meters above mean sea
level, a recent set of Keplerian orbital data for the satellites of
interest, and an accurately set system clock are also required if
successful real-time satellite tracking is also desired. Sources
for such data include http://www.celestrak.com/,
http://www.space-track.org, and http://www.amsat.org/.


FOR FURTHER INFORMATION
=======================
Please consult the files under the "docs" subdirectory for more
directions on the use and capabilities of PREDICT.

The latest news and information regarding PREDICT software is
available at: http://www.qsl.net/kd2bd/predict.html.


Happy Tracking!

--
John, KD2BD
kd2bd@amsat.org
May 2006

24 changes: 24 additions & 0 deletions README.Debian
@@ -0,0 +1,24 @@
* The predict_2.2.3.orig.tar.gz differs from the upstream
predict-2.2.3.tar.gz in that the possibly non-DFSG compliant
.wav files from AT&T have been replaced with a set of
files generated using festival text to speech tools. Also
removed some clients/gsat-1.1.0/config.[log,cache,status]
files.

* Included Ralf Baechle, DO1GRB, gsat-1.1.0 plugin support for the
Yaesu FT-847 transceiver.
ftp://ftp.linux-mips.net/pub/ham/predict-2.2.2/

* Added a new UDP socket command (GET_SAT_AT) to return PREDICT's
calculation for a satellite at a given time to networked clients.
This allows for applications to do non-real-time planning, or
generate responses for web queries for example. (predictat patch).

* The predict-g1yyh is predict-2.2.1jh4.c plus the predictat patch.
(John Heaton, G1YYH, has added 2.2.3 fixes)

* This earthtrack application only uses xplanet, and includes a -o
switch to send the output to a file like G1YYH's filetrack and a
-p switch to set the projection (default ortho).

-- A. Maitland Bottoms <bottoms@debian.org>, Sat, 5 Aug 2006 20:44:50 -0400
10 changes: 10 additions & 0 deletions build
@@ -0,0 +1,10 @@
#!/bin/sh
# Script to manually compile PREDICT
#
if [ -a predict.h ]; then
echo -n "Building PREDICT version `cat .version`... "
cc -Wall -O3 -s -fomit-frame-pointer predict.c -lm -lncurses -pthread -o predict
echo "Done!"
else
./configure
fi
19 changes: 19 additions & 0 deletions clean
@@ -0,0 +1,19 @@
#!/bin/bash
# Script to prepare for a clean distribution.
#
rm -f predict predict.h
rm -f vocalizer/vocalizer.h vocalizer/vocalizer
rm -f clients/samples/demo
rm -f utils/moontracker/moontracker
rm -f utils/geosat/geosat
cd clients
rm -f map/map
cd gsat-1.1.0
make clean
cd ..
rm -f earthtrack/earthtrack
rm -f kep_reload/kep_reload
cd ..
cp -p $HOME/.predict/predict.tle default/predict.tle
cp -p $HOME/.predict/predict.db default/predict.db
echo "Done!"
15 changes: 15 additions & 0 deletions clients/WinPredictClient/README.txt
@@ -0,0 +1,15 @@
This demo client is for a Windows client communicating with a Linux
server running Predict. You need the VB development environment. (Note:
this was developed under VB6, but other versions may handle it OK)

Open a new project, and add frmWinPredictClient to it, and also set this
as the Projects Startup object. You'll also need the Microsoft Winsock
Control selected in Project/Components. Then click Run (or Compile if
you wish).

Note: the command line may be set to contain the name of the Predict host,
in which case the program will not prompt for that name, but immediately
try to get the satellite list.

This was developed by Steve Fraser, vk5asf (sfraser AT sierra.apana.org.au)

0 comments on commit 7f6dec8

Please sign in to comment.