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

📄 ogr_structs.h

📁 The OpenGPSRec receiver software runs on the real time operating system RTAI-Linux. It compiles with
💻 H
📖 第 1 页 / 共 2 页
字号:
         ms_count;          // millisecond counter, 0,...,5999, synch'd to subframe start  float  CN0;               // signal to noise ratio} CHANNEL;// --- correlator GP2021 channel info (statistical/visual info) ---typedef struct {  long   cod_frq,           // carrier frequency DCO         car_frq,           // code frequency DCO         i_prompt_20ms,     // I prompt avg'ed over 20 ms         q_prompt_20ms,     // Q prompt avg'ed over 20 ms         i_dith_20ms,       // I dither avg'ed over 20 ms         q_dith_20ms;       // Q dither avg'ed over 20 ms    float  carrierErr,         codeErr;  UINT16 ch,                // which channel are we talking about?         missed,            // total number of missed accumulations         code_phase,        // phase in 1/2 chip increments (GP2021 slew register)         code_dco_phase;    // code phase in 1/1024 of a 1/2 chip increments  INT16  i_prompt,          // in-phase prompt arm         q_prompt,          // quad-phase promt arm         i_dith,            // in-phase early/late arm         q_dith,            // quad-phase early/late arm         prn,               // which PRN to use for correlation         sourceSel;         // which RF front end to use (0 or 1)} CHN_INFO;// --- chanel info ring buffer ---typedef struct{  INT16      ch_head,           // index of last written element, -1 : not yet written to             leadch,            // monosat mode: master channel             watchdog;          // ogr still alive?  CHN_INFO   chan[CHN_RBUF_LEN];} CHN_RBUF;// --- nav message info ---typedef struct{  INT16 idx,                         // pointer to next element        sf_id,                       // subframe id: 1,...,5        subframe_full;               // read 300 bits, now decode  unsigned long subframe[11],        // 10 word a 24 data bits (index : 1,...,10 !)                subframe_parity[11], // 10 word a 30 bits, bit 30 & 31 copy                subframe_buffer[11]; // ring buffer                                     // bit 0 & 1 from previous word} NAVMSG;// --- data required for navigation fix ---typedef struct{  unsigned long tow_tic_count[NOFCHN],                tow_1s[NOFCHN];  INT16         epoch[NOFCHN],                code_phase[NOFCHN],                 code_dco_phase[NOFCHN],                 carr_dco_phase[NOFCHN],                 carr_cycle_lo[NOFCHN],                 carr_cycle_hi[NOFCHN];  int           perform_navfix;} NAVDATA;//  control parameters, available to both, user- and rt-moduletypedef struct{  long          magic,                mod_loaded,                frq_step,                acq_thresh,                code_corr,                pul_cod_c1, // PLL parameter pull_in                pul_cod_c3, // c3 = c1+c2                pul_car_c1, // carrier, pull-in                pul_car_c3,                 trk_cod_c1, // code, tracking                trk_cod_c3,                 trk_car_c1, // carrier, tracking                trk_car_c3;   unsigned long tow_tic_count;     // time of week in units of 0.1 sec  int           user_watch_flag;   // user prg still running?  INT16         search_min_f,                search_max_f,                confirm_above_thresh_max, // acq confirmed if in 'confirm_above_thresh_max'                confirm_count_max, // out of 'confirm_count_max' DUMPs above threshold                pull_in_count_max, // ch_pull_in() timer                align_count_max,   // ch_align() timer//                phase_test,                trans,             // transition to other mode at next DUMP                rt_polling,        // polling active in RT module                accum_new,                accum_missed,                monosat_slew,      // +1(-1) : shift +1(-1) halfchip                leadch,            // MONOSAT mode: # of leading channel                sec_flag,          // indicate: 1 sec passed                min_flag,          // indicate: 1 min passed                earlylate,         // -1 : early, +1 : late                monosat_cod_ofs[NOFCHN];  UINT16        nav_tic;} RT_CTRL;//  control parameters, available to user land prg onlytypedef struct{  INT16         gps_week,                cold_prn,                almanac_valid,                status,                nof_trk;       // number of tracked sats  unsigned long almanac_read;  double        mask_angle,                nav_upd,                clock_offset,                pul_cod_dampratio, // PLL parameter (pull_in)                pul_cod_loopgain,                pul_cod_bandwidth,                pul_car_dampratio,                pul_car_loopgain,                pul_car_bandwidth,                trk_cod_dampratio, // PLL parameter (tracking)                trk_cod_loopgain,                trk_cod_bandwidth,                trk_car_dampratio,                trk_car_loopgain,                trk_car_bandwidth;} CTRL;// broadcast ionospheric delay modeltypedef struct{  double b0, b1, b2, b3,         al0, al1, al2, al3;       } IONO;// broadcast UTC datatypedef struct{  double a0, a1,          tot,          WNt,          dtls,          WNlsf,          DN,          dtlsf; } UTC;// dilution of precisiontypedef struct{  double hdop,         // horizontal dilution          vdop,         // vertical dilution         tdop,         // time dilution         pdop,         // position dilution of precision         gdop;         // geometric dilution of precision (rss of pdop & tdop)} DOPS;/* * tracking is in one the following states * 'follow_monosat' : correlator follows channel 'trackch' */enum {   off,            // 0  initialize,     // 1 initialize channel  acquisition,    // 2 acquire signal  confirm,        // 3 confirm acq signal  pull_in,        // 4 pull in tracking loops  align,          // 5 align to nav bit boundaries  track,          // 6 track signal  track_monosat,  // 7 master channel (MONOSAT mode)  follow_monosat, // 8 slave channel follow master channel  track_riseset,  // 9 master channel (rising/setting mode)  follow_riseset  // a slave channel follow master channel};enum {   mode_coldstart,  // start with no almanac info  mode_warmstart,  // we have almanac information  mode_tracking,   // valid receiver position found  mode_navigate,   // valid receiver position found  mode_monosat,    // all correlators track one satellite  mode_riseset     // as 'mode_monosat', however schedule events as well};enum {   none,           // do nothing  trans2navigate, // transition to navigation mode  trans2monosat,   // transition to monosat mode  trans2riseset   // transition to riseset mode};#endif/* ----------------------- end of file ------------------------ */

⌨️ 快捷键说明

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