本文主要是介绍27、星历处理任务定义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
\qquad 下面是HD-GR GNSS导航软件的星历处理任务相关定义:
// main_ephemeris.h -- Header file for the main_ephemeris.c file/* * Copyright (C) 2005 Andrew Greenberg* Distributed under the GNU GENERAL PUBLIC LICENSE (GPL) Version 2 (June 1991).* See the "COPYING" file distributed with this software for more information.*//* Namuru GPS receiver project* Original : ephemeris.h* Modes : None* version : V1.0* date : 21st/Dec/2006*//* * HD-GR GNSS receiver project* Modes : Inherited the definitions of ephemeris.h and ephemeris.c in the * Namuru GPS receiver project V1.0 and made necessary adjustments * to adapt to the new RTOS and functions.* version : V1.0* date : xx/xx/2015*/#ifndef __MAIN_EPHEMERIS_H__
#define __MAIN_EPHEMERIS_H__#include "constants.h"
#include "main_position.h"/******************************************************************************** Definitions******************************************************************************/
// c_2pX == 2^+X, c_2mX == 2^-X, c_10mX == 10^-X,
#define c_10m10 1.0e-10
#define c_2p16 65536.0
#define c_2p14 16384.0
#define c_2p12 4096.0
#define c_2p11 2048.0
#define c_2p4 16.0
#define c_2p3 8.0
#define c_2m5 0.03125
#define c_2m6 0.015625
#define c_2m11 4.8828125e-4 // NaN
#define c_2m19 1.9073486328125e-6
#define c_2m20 9.5367431640625e-7 // NaN
#define c_2m21 4.76837158203125e-7 // NaN
#define c_2m23 1.19209289550781e-7 // NaN
#define c_2m24 5.96046447753906e-8 // NaN
#define c_2m27 7.45058059692383e-9 // NaN
#define c_2m29 1.86264514923096e-9
#define c_2m30 9.31322574615479e-10 // NaN
#define c_2m31 4.65661287307739e-10
#define c_2m33 1.16415321826935E-10
#define c_2m38 3.63797880709171e-12 // NaN
#define c_2m43 1.13686837721616e-13
#define c_2m50 8.881784197e-16 // NaN
#define c_2m55 2.77555756156289e-17
#define c_2m66 1.35525271560688e-20#define bit_test_l(data, bit_n) (data & (0x1L << (bit_n-1)))
#define SQ(x) ((x)*(x))
#define CUBE(x) ((x) * (x) * (x))/******************************************************************************** Declarations******************************************************************************/// broadcast ionospheric delay model
typedef struct {double alf0, alf1, alf2, alf3;double bta0, bta1, bta2, bta3;
} bc_ion_t;// Approximate orbital parameters
typedef struct {short int health; // health=0int week; // weekfloat ety; // Eccentricityfloat toa; // Time of Applicability (s)float inc; // Orbital Inclination(rad)float rra; // Rate of Right Ascen(R/s)float sqa; // SQRT(A) (m^1/2)float lan; // Right Ascen at TOA(rad)float aop; // Argument of Perigee(rad)float ma; // Mean Anom(rad)float af0; // Af0(s)float af1; // Af1(s/s)float w;short int update; // update=1// char text_message[23];
} almanac_t;void ephemeris_task(void* pdata);
void initialize_ephetable( void);
int satfind (unsigned short bgps,int prn,stdtime_t gmt,pvt_t rec_pos,neu_t rec_neu,azel_t *pazel,double *pvel);/******************************************************************************** Externs******************************************************************************/extern OS_FLAG_GRP* m_EphemerisChannelFlag;
extern OS_FLAG_GRP* m_EphemerisSubframeFlags[TOT_MAX_CHANNELS];
#ifdef GNSS_ENABLE_MUTEX
extern OS_EVENT *m_EphTabMutex;
#endif#endif // __MAIN_EPHEMERIS_H__
这篇关于27、星历处理任务定义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!