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


/* ************************************************************************ 
   *                                                                      *
   *                          GPS Simulation                              *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   *    Module:   ogsdefine.h                                             *
   *                                                                      *
   *   Version:   0.1                                                     *
   *                                                                      *
   *      Date:   17.02.02                                                *
   *                                                                      *
   *    Author:   G. Beyerle                                              *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   * Copyright (C) 2002  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.            *
   *                                                                      *
   * -------------------------------------------------------------------- *
   *                                                                      *
   *                              Defines                                 *
   *                                                                      *
   ************************************************************************ */

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

   dd.mm.yy -

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

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

#define NOFCHAN       12 
#define NOFSAT        32
#define NOFCHIPS    1023 
#define NAVMSGLEN   1500             // length navigation message 
#define NAVFRAMELEN 1500             // length navigation frame
#define SUBFRAMELEN  300             // length navigation sub frame

#define UPDATETIME 1e-3              // tracking processor update time (don't change)

#define NOFCOHINT  20                // integrate coherently over 20 msec
#define NOFCOHINTPULLIN 10           // during pull-in we integrate for 10 msec

#define NOFMSECPERDATABIT 20     

#define IO_ADDRESS    0x304
#define IO_DATA       0x308

// GP2021 register map (document DS4077, p28-29, available at www.zarlink.com)

// write (channel 0, channel N = register + 8*n)
#define SATCNTL                0x0
#define CODE_PHASE_COUNTER     0x1
#define CH0CONTROL2            0x2
#define CARRIER_DCO_INCR_HIGH  0x3
#define CARRIER_DCO_INCR_LOW   0x4
#define CODE_DCO_INCR_HIGH     0x5
#define CODE_DCO_INCR_LOW      0x6
#define EPOCH_COUNT_LOAD       0x7

// read (channel 0, channel N = register + 8*n)
#define CODE_SLEW              0x0
#define CODE_PHASE             0x1
#define CARRIER_CYCLE_LOW      0x2
#define CARRIER_DCO_PHASE      0x3
#define EPOCH                  0x4
#define CODE_DCO_PHASE         0x5
#define CARRIER_CYCLE_HIGH     0x6
#define EPOCH_CHECK            0x7

#define MULTICONTROL           0x60
#define PROC_TIC_HIGH          0x6d
#define PROC_TIC_LOW           0x6f
#define ALLCONTROL             0x70
#define TEST_CONTROL           0x7c
#define SYSTEM_SETUP           0x7e
#define RESET_CONTROL          0x7f

// write (channel 0, channel N = register + 4*n)
#define STATUS                 0x80

// read
#define MEAS_STATUS_A          0x81
#define ACCUM_STATUS_A         0x82

// write
#define CODE_SLEW_COUNTER      0x84
#define ACCUM_RESET            0x85
// 0x86 is not used
#define CODE_DCO_PRESET_PHASE  0x87

// read (channel 0, channel N = register + 4*n)
#define I_TRACK                0x84
#define Q_TRACK                0x85
#define I_PROMPT               0x86
#define Q_PROMPT               0x87

#define DATA_RETENT            0xe4
#define IO_CONFIG              0xf0
#define DATABUSTEST            0xf2


#if !defined(max)
#define max(__a,__b)    (((__a) > (__b)) ? (__a) : (__b))
#endif
#if !defined(min)
#define min(__a,__b)    (((__a) < (__b)) ? (__a) : (__b))
#endif




typedef  signed   char      BYTE ;      // 8 bits signed  
typedef  unsigned char      UBYTE;      // 8 bits unsigned 
//#if (sizeof(int) == 2)
//typedef  int                WORD;       // 16 bits signed   
//typedef  unsigned int       UWORD;      //         unsigned 
//#else
//typedef  short int          WORD;       // 16 bits signed   
//typedef  short unsigned int UWORD;      //         unsigned 
//#endif
typedef  long               LONG;       // 32 bits signed   
typedef  unsigned long      ULONG;      //         unsigned 
typedef  void               VOID;       

//#if sizeof(WORD) != 2
//#error no compiler support for 2 byte int
//#endif
//#if sizeof(LONG) != 4
//#error no compiler support for 4 byte long
//#endif

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