📄 structs.h
字号:
//
// This is the primary data structure that provides access
// to the components of each channel
#ifndef STRUCTS_H
#define STRUCTS_H
struct channel
{
int state;
long code_freq,carrier_freq,doppler,carrier_corr;
char message[1500],tow_sync,prn,bit,frame_ready;
int word_error[5];
int frame_bit,bit_counter;
int offset,codes,n_freq,del_freq;
int t_count,ms_count,ms_set,i_confirm;
int ms_epoch,n_frame,ch_time,i_count;
int con_thresh,n_thresh,sfid,missed,page5;
int i_dith,q_dith,i_prompt,q_prompt;
long sum,avg,old_theta,old_q_sum,th_rms;
long dfreq,dfreq1,dcarr1,dcarr,cycle_sum;
long old_carr_dco_phase;
long q_dith_20,q_prom_20,i_dith_20,i_prom_20;
long prompt_mag,dith_mag;
long tr_bit_time,meas_bit_time,TOW,TLM;
long carrier_counter;
long d_carr_phase;
double int_carr_phase,Pr,dPr,Tropo,Iono;
unsigned long fifo0,fifo1,ms_sign;
unsigned int carr_dco_phase,carr_cycle_l,carr_cycle_h;
unsigned int epoch,code_phase,code_dco_phase;
float CNo;
};
struct hms
{
int deg,min;
float sec;
};
struct almanac // Approximate orbital parameters
{
float w,ety,inc,rra,sqa,lan,aop,ma,toa,af0,af1;
char text_message[23];
int health,week,sat_file;
};
struct ephemeris // Precise orbital parameters
{
int iode,iodc,ura,valid,health,week;
double dn,tgd,toe,toc,omegadot,idot,cuc,cus,crc,crs,cic,cis;
double ma,e,sqra,w0,inc0,w,wm,ety,af0,af1,af2;
};
struct satvis
{
float azimuth,elevation,doppler;
float x,y,z;
};
struct ecef
{
double x,y,z;
};
struct eceft
{
double x,y,z,tb;
float az,el;
};
struct llh
{
double lat,lon,hae;
};
struct pvt
{
double x,y,z,dt;
double xv,yv,zv,df;
};
struct velocity
{
double east,north,up;
double clock_err;
ecef x,y,z;
};
struct state
{
velocity vel;
eceft pos;
llh loc;
ecef north,east,up;
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -