\qquad 下面是HD-GR GNSS导航软件的观测量读取任务相关定义:
// main_measure.h -- Header file for the main_measure.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 : measure.h
* Modes : None
* version : V1.0
* date : 21st/Dec/2006
*/
/*
* HD-GR GNSS receiver project
* Modes : Inherited the definitions of measure.h in the Namuru GPS receiver
* project V1.0 and made necessary adjustments to adapt to the new HW,
* RTOS and functions.
* version : V1.0
* date : xx/xx/2015
*/
#ifndef __MAIN_MEASURE_H__
#define __MAIN_MEASURE_H__
#include "constants.h"
#include "gnsstime.h"
/*******************************************************************************
* Definitions
******************************************************************************/
//#define ENABLE_CARRIER_PHASE_MEASUREMENT
/*******************************************************************************
* Declarations
******************************************************************************/
// One Channel Raw data
typedef struct {
unsigned short valid; // This channel's measurement is valid
unsigned short prn; // Sat. PRN
unsigned long power; // signal average power
unsigned short epoch_codes; // Epoch code count value
unsigned short epoch_bits; // Epoch bit count value
unsigned short code_phase; // Half chip phase of C/A code
unsigned short code_dco_phase; // Half chip DCO phase C/A code
#ifdef ENABLE_CARRIER_PHASE_MEASUREMENT
unsigned short carrier_dco_phase; // Carrier DCO phase
unsigned long carrier_cycles; // Carrier cycle count value
#endif // ENABLE_CARRIER_PHASE_MEASUREMENT
long doppler; // Current carrier frequency
unsigned long sync_bit_time; // Bit-time obtained from the tracking channel before
// grabbing the measurements (Time of week, in bits).
unsigned long meas_bit_time; // Bit-time obtained from the tracking channel before
// grabbing the measurements.
} chan_meas_t;
// Raw data
typedef struct {
gnsstime_t meas_time;
unsigned short meas_tic;
chan_meas_t chan_meas[TOT_MAX_CHANNELS];
} measurement_t;
/*******************************************************************************
* Prototypes (Globally visible functions)
******************************************************************************/
// Call by main
void initialize_measurements( void);
// Call by accum_task
void grab_bit_times( void);
void fill_ch_pars( void)
void meas_task(void* pdata);
/*******************************************************************************
* Externs
******************************************************************************/
extern OS_EVENT *m_SemMeas;
extern measurement_t m_raw_meas;
#endif // __MAIN_MEASURE_H__