⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 protos.h

📁 GPS导航定位程序
💻 H
字号:
/****************************************************************************
* This include file contains prototypes for the funtions used in the
* Builder-2 software. They are grouped according to the 'C' source file
* which contains the function.
****************************************************************************/

/****************************************************************************
* ALMANAC.C
****************************************************************************/
void ReadAlmanacs(void);
void ValidateAlmanacs(void);
void SaveAlmanacs(char *fname);
void ValidateEphemerides(void);

/****************************************************************************
* BEEP.C
****************************************************************************/
void Beep(unsigned FreqHz,unsigned DurMS);
void TBeep(void);

/****************************************************************************
* BORLAND.C
****************************************************************************/
int ControlBreakHandler(void);
void SuppressCursor(void);
void RestoreCursor(void);
void Checkpoint(char *ProcName, unsigned UserCheckpoint);
void TCBComment(char *CommentString);
void DumpCheckpoints(void);
void FPError(int code, int subcode);
void SetFPErrorHandler(void);
int _FARFUNC matherr(struct exception *e);
int _FARFUNC _matherr(struct exception *e);
void ClearScreen(void);
void InstallControlBreakHandler(void);

/****************************************************************************
* BUFFACC.C
****************************************************************************/
void BufferAccumPhase(void);
void BufferAccum(register chanstruc _ds *CHPTR);

/****************************************************************************
* CLOCK.C
****************************************************************************/
void SetClockModel(void);
void OscillatorAccuracy(void);

/****************************************************************************
* CMD.C
****************************************************************************/
void GetCommand(void);
void ProcessCommand(void);

/****************************************************************************
* DISPFUN.C
****************************************************************************/
void F1_Display(void);
void F2_Display(void);
void F3_Display(navstatestruc N);
void F4_Display(void);
void F5_Display(void);
void F6_Display(void);
void F7_Display(void);
void F8_Display(void);
void F9_Display(void);
void F10_Display(void);
void F11_Display(void);
void F12_Display(void);

/****************************************************************************
* DISPLAY.C
****************************************************************************/
void TDisplay(void);

/****************************************************************************
* INIT.C
****************************************************************************/
void SetUpCorrelators(void);
void SetUpGlobals(void);
void InitialiseGP2021(void);
void HardwareTest(void);
void WaitForFullTIC(void);
void InterfaceTestInterruptRoutine(void);
void ConfigureInterrupt(void);
void AllocateMemory(void);
void ProcessCommandFile(void);

/****************************************************************************
* IO.C
****************************************************************************/
void QuitGpsBuilder(void);
int GetKey(void);
void OutputString(int column, int row, char *string);
void OutputCharacter(int column, int row, char character);
void ClearToEndOfLine(int column, int row);
void Keyboard(void);
void QuitGpsBuilderWithError(void);
void ScreenSave(FILE *fpScreenSave);
void WarningMessage(char *message);

/****************************************************************************
* MAIN.C
****************************************************************************/
void main(void);
void GpsBuilder2(void);

/****************************************************************************
* MATHSUBS.C
****************************************************************************/
long SignExtend(unsigned long argumnet, int bitnumber);
void GreatCircle(double PointA_Latitude, double PointA_Longitude,
		 double PointB_Latitude, double PointB_Longitude,
		 double *GreatCircleDistance, double *GreatCircleBearing);
long Atan2Approx(long y, long x);
long AtanApprox(long y, long x);
long SinApprox(long x);
long CosApprox(long x);
int CompareInt(const void *a, const void *b);
unsigned long ISquare(int i);
int InverseMatrix(int n, double cmat[]);

/****************************************************************************
* NAV.C
****************************************************************************/
void UpdateNavigation(void);
void Navigate(obsstruc *obs);
void NavigateFull(obsstruc *obs);
void GetNavDataFull(obsstruc *obs, navstatestruc *NewNavState,
		    ompstruc *omp, double solution_matrix[MAXCHANNELS][4],
		    unsigned long *svcurrent, double pseudo_range[],
		    double pseudo_range_rate[]);
void GetNavDataICP(obsstruc *obs);
void UpdateICP(int Carrier_Not_Locked, obsstruc *obs, int iobs,
		double codetime, double *CdIcpDiff, double *ICPasPR);
int MissedObservations(void);
int ObservedMinusPredicted(int sv, unsigned long obsTIC,
			   navstatestruc Navstate, pseudostruc *pseudo,
			   double *OMPrange, double *OMPrrate,
			   double *OMPicp, double lmnr[]);
double MZDifference(double gsec, int mzcount);
int BuildNavMat(double solution_matrix[MAXCHANNELS][4],
		navstatestruc *NewNavState, ompstruc *omp);
void AltitudeAiding(navstatestruc *NewNavState, ompstruc *omp,
		      double solution_matrix[MAXCHANNELS][4]);
void GetCovMat(double solution_matrix[MAXCHANNELS][4],
	       double covariance_matrix[4][4]);
int GetInvCovMat(navstatestruc *NewNavState, ompstruc *omp,
		 double solution_matrix[MAXCHANNELS][4],
		 double covariance_matrix[4][4]);
void GetNavMat(navstatestruc *NewNavState,double solution_matrix[MAXCHANNELS][4],
	       double covariance_matrix[4][4]);
void CalcDOPS(navstatestruc *NewNavState);
int SolutionUpdate(navstatestruc *NewNavState, clockmodelstruc *NewClkModel,
		   ompstruc omp, unsigned long obsTIC);

/****************************************************************************
* POSTIME.C
****************************************************************************/
void CurrentTIC(unsigned long *ctic);
void TICToReciverTime(unsigned long curTIC, int *gwk, double *gsec);
void TICToGpsTime(unsigned long curTIC, int *gwk, double *gsec);
void GpsTimeToGregorianDate(int gwk, double gsec, int *y, int *m, int *d,
			    int *hh, int *mm, double *ss);
void GregorianDateToGpsTime(int y, int m, int d, int hh, int mm, int ss,
			    int *gwk, double *gsec);
void LatLonHgtToXYZ(double lat, double lon, double hgt,
		    double *x, double *y, double *z);
void XYZToLatLonHgt(double x, double y, double z,
		    double *lat, double *lon, double *hgt);
void LatLonToNorthEastUp(double lat, double lon, double t[3][3]);
void LatLonToDegMin(double lat, double lon,
		    char latdegmin[], char londegmin[]);
int PosStrToLatLonHgt(char *s, double *lat, double *lon, double *hgt);
void GpsTimeToUTCDate(int gwk, double gsec, int *y, int *m, int *d,
		      int *hh, int *mm, double *ss);
void UTCDateToGpsTime(int y, int m, int d, int hh, int mm, double ss,
  int *gwk, double *gsec);

/****************************************************************************
* PROCACC.C
****************************************************************************/
void ProcAccumPhase(void);
void ProcAccum(register chanstruc _ds *CHPTR);
void UpdateLockIndicators(register chanstruc _ds *CHPTR,
			  register accumstruc _ds *A);
void CoastMode(register chanstruc _ds *CHPTR);
void CodeLockMonitor(register chanstruc _ds *CHPTR, unsigned long I2pQ2);
void CarrierLockMonitor(register chanstruc _ds *CHPTR);
void CodeTrackingLoop(register chanstruc _ds *CHPTR,
		      register accumstruc _ds *A);

/****************************************************************************
* PROCSBF.C
****************************************************************************/
void TProcSbf(void);
void ProcessSubframe(int sv, unsigned long *g, unsigned long dataTIC);

/****************************************************************************
* RINEX2.C
****************************************************************************/
void InsertIntoString(char *Dest, char *Src);
void Rx2IU(void);
void Rx2EPH(int sv);
void Rx2OBS(int y,int m,int d,int hh,int mm,double second,int EpochFlag,
	    int Nsvs,int obspresent[],int svs[],double rco,int NObsPerSV,
	    double obs[],int lli[],int sigstr[]);
void Rx2Comment(char *ch);
void Rx2Start(int interval);
void Rx2Stop(void);

/****************************************************************************
* RTCM.C
****************************************************************************/
void TRTCM(void);
void Parse1(void);
void Parse2(void);
void Parse3(void);
void Parse7(void);
void Parse9(void);
void Parse16(void);
void BDENTER(double freqHz, unsigned brate);
unsigned long Cmaybe(unsigned long w);
int Parch(unsigned long w);
int Hdrchk(unsigned long w1, unsigned long w2);
void Emit(void);
void Rtcmproc(int bit);
void RTCM(int newbyte);

/****************************************************************************
* RTEXEC.C
****************************************************************************/
void InitialiseTasks(void);
void interrupt far ExecSuspendFunction(void);
void Suspend(unsigned SuspTics);
void interrupt far ExecActivateFunction(void);
void Activate(char *TaskName);
void far interrupt GPISR(__CPPARGS);

/****************************************************************************
* SAVEDATA.C
****************************************************************************/
void SaveData(void);

/****************************************************************************
* SERIAL.C
****************************************************************************/
void InitSerialPort(int portnum);
void RestoreSerialInt(void);
void far interrupt NewSerialInt(__CPPARGS);
int InputCharsReady(void);
int ReadSerial(void);
int WriteSerial(int c);

/****************************************************************************
* SVCALC.C
****************************************************************************/
void SVPredicts(int sv, int wk, double sec, double t[3][3], double x,
  double y, double z, float *elv, float *azi, float *dopp,
  float *erc, float *iono, float *tropo);
void AlmanacPrediction(int sv, int wk, double sec, double *x, double *y, double *z,
				       double *vx, double *vy, double *vz);
void EphemerisPrediction(int sv, double sec, double *svirel, double *x, double *y,
	   double *z, double *xdot, double *ydot, double *zdot);
void AzimuthElevationAndDoppler(int calcsv);
void ElevationList(int highest[]);
void PredictAll(void);

/****************************************************************************
* SVTRACK.C
****************************************************************************/
void SVTrack(void);

/****************************************************************************
* SYNC.C
****************************************************************************/
void ProcessDataBit(chanstruc _ds *CHPTR, unsigned dbit,
		    unsigned _20ms_epoch);
void StoreData(register chanstruc _ds *CHPTR, unsigned dbit);
void BitSync(register chanstruc _ds *CHPTR,int _1ms_epoch);
void FrameSync(register chanstruc _ds *CHPTR, unsigned _20ms_epoch);
int ValidFrameFormat(register chanstruc _ds *CHPTR, unsigned long *subframe);
int ParityCheck(unsigned long gpsword);
void EmitSubframe(register chanstruc _ds *CHPTR, unsigned long *subframe,
						      unsigned long dataTIC);

/****************************************************************************
* TAKEMEAS.C
****************************************************************************/
void TakeMeasPhase(void);
void GetCorrelatorMeasurements(void);
void NextFrequencyBin(register chanstruc _ds *CHPTR);
void TakeMeas(register chanstruc _ds *CHPTR);

/****************************************************************************
* ALLOCATE.C
****************************************************************************/
void SetUpChannel(int chan, int newsv, int dopp);
int NextSVToSearch(void);
void UpdateSatelliteAllocation(int highest[]);
void NumberOfDopplerBins(void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -