www.pudn.com > opengpssim.zip > ogsprototypes.h


/* ************************************************************************ 
   *                                                                      *
   *                          GPS Simulation                              *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   *    Module:   ogsprototypes.h                                         *
   *                                                                      *
   *   Version:   0.1                                                     *
   *      Date:   17.02.02                                                *
   *                                                                      *
   *    Author:   G. Beyerle                                              *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   * Copyright (C) 2002-2006  Georg Beyerle                               *
   *                                                                      *
   * This program is free software; you can redistribute it and/or modify *
   * it under the terms of the GNU General Public License as published by *
   * the Free Software Foundation; either version 2 of the License, or    *
   * (at your option) any later version.                                  *
   *                                                                      *
   * This program is distributed in the hope that it will be useful,      *
   * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
   * GNU General Public License for more details.                         *
   *                                                                      *
   * You should have received a copy of the GNU General Public License    *
   * along with this program; if not, write to the Free Software          *
   * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.            *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   * The files 'gpsfuncs.cpp', 'gpsrcvr.cpp' are modified versions of     *
   * the files with the same name from Clifford Kelley's OpenSourceGPS    *
   * distribution. The unmodified files can be obtained from              *
   *   http://www.home.earthlink.net/~cwkelley                            *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   *                              Prototypes                              *
   *                                                                      *
   ************************************************************************ */

/* ******************************* changes ********************************

   dd.mm.yy -

   ************************************************************************ */

/* ------------------------------------------------------------------------ */

void main_gpsrcvr( void);
void outportb( int a, int b);
int inpw( int a);
void outpw( int a, int b);

void to_gps( int add, int data);
int from_gps( int add);
void ch_carrier( char, long);
void ch_code( char, long);
void init_software_correlator( void);
int run_software_correlator( void);

void Interrupt_Install(void);
void Interrupt_Remove(void);
void display(void);
void pream(char ,char );
void nav_fix(void);
long near_int(double);
void chan_allocate(void);
void cold_allocate(void);
void  velocity(void);
inline int bit_test(int,char);
inline int sign(long);
inline int bsign(long);
int xors(long);

int  meas_status( void);
int  accum_status_a( char);
int  accum_status_b( char);
int  accum_status_c( void);
void ch_accum_reset(char);
void all_accum_reset(void);
long  ch_carrier_cycle(char);
int  ch_carrier_dco_phase(char);
void all_carr_incr_hi(int);
void all_carr_incr_lo(int);
void ch_code_incr_hi(char,int);
void ch_code_incr_lo(char,int);
void all_code_incr_hi(int);
void all_code_incr_lo(int);
void ch_off(char);
void ch_on(char);
void ch_cntl(char,int);
void all_cntl(int);
void ch_code_slew(char,int);
void all_code_slew(int);
unsigned int  ch_epoch(char);
void  ch_epoch_load(char,unsigned int);
unsigned int  ch_epoch_chk(char);
int  ch_i_track(char);
int  ch_i_prompt(char);
int  ch_q_track(char);
int  ch_q_prompt(char);
int  ch_code_phase(char);
int  ch_code_DCO_phase(char);
void ch_preset_phase(char,int);
void all_preset_phase(int);
void data_bus_test_w(int);
void data_retent_w(int);
int  data_bus_test_r(void);
int  data_retent_r(void);
void program_TIC(long);
void reset_cntl(int);
int  rtc_delay(void);
void stat_chk_sel(int);
int  stat_chk_sign(void);
int  stat_chk_mag(void);
void status_latch(void);
void test_control(int);
void system_setup(int);
void multi_control(int);
void multi_channel_select(int);
void x_dco_incr_high(int);
void prog_accum_int(int);
void timemark_control(int);
void io_config(int);

void interface_status(void);
int  ready(void);

int port( int);
void self_test( void);
void to_gps( int, int);
int  from_gps( int);

int  bit_test_l( unsigned long, char);
void    parity_check( void);
int     exor( char, long);
long    fix_sqrt( long);
long i_sqrt( long);

SATVIS  satfind( char);

void read_initial_data(void);

void read_almanac(void);
void write_almanac(void);

void read_ephemeris(void);
void write_ephemeris(void);

void read_ion_utc(void);
void write_ion_utc(void);

ECEF    satpos_almanac( float, char );
ECEFT   satpos_ephemeris( double, char);
LLH     receiver_loc( void);
LLH     ecef_to_llh( ECEF);
ECEF    llh_to_ecef( LLH);
double  tropo_iono( float, float, double);
void    decode_navmess( char, char);

PVT pos_vel_time( int);
void  dops( int);

void outpw( int, int);
int inpw( int);

void calc_cacode( void);

int read_key_value_pair_float( char *tok, char pattern[], float *val, char sep[]);
int read_key_value_pair_int( char *tok, char pattern[], int *val, char sep[]);
int read_key_value_pair_uint( char *tok, char pattern[], unsigned int *val, char sep[]);
int read_key_value_pair_long( char *tok, char pattern[], long *val, char sep[]);

void init_inputbuffer( void);

void write_sf1to3( NAVDATA *nav, FILE *fp);
void write_sf4( NAVDATA *nav, FILE *fp);
void write_sf5( NAVDATA *nav, FILE *fp);
void read_sf1to3( NAVDATA *nav, FILE *fp);
void read_sf4( NAVDATA *nav, FILE *fp);
void read_sf5( NAVDATA *nav, FILE *fp);


#ifndef __TURBOC__
void clrscr( void);
int kbhit( void);
void gotoxy( int, int);
#endif

#if !defined(__TURBOC__) && !defined(linux) 
char getch( void);
#endif

#ifdef linux
void init_keyboard( void);
void close_keyboard( void);
int readch( void);
#endif

/* ------------------------------ end of file ----------------------------- */