27、星历处理任务定义

2024-04-27 04:48
文章标签 定义 处理 任务 27 星历

本文主要是介绍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、星历处理任务定义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/939562

相关文章

Go语言使用Buffer实现高性能处理字节和字符

《Go语言使用Buffer实现高性能处理字节和字符》在Go中,bytes.Buffer是一个非常高效的类型,用于处理字节数据的读写操作,本文将详细介绍一下如何使用Buffer实现高性能处理字节和... 目录1. bytes.Buffer 的基本用法1.1. 创建和初始化 Buffer1.2. 使用 Writ

Python视频处理库VidGear使用小结

《Python视频处理库VidGear使用小结》VidGear是一个高性能的Python视频处理库,本文主要介绍了Python视频处理库VidGear使用小结,文中通过示例代码介绍的非常详细,对大家的... 目录一、VidGear的安装二、VidGear的主要功能三、VidGear的使用示例四、VidGea

Python Invoke自动化任务库的使用

《PythonInvoke自动化任务库的使用》Invoke是一个强大的Python库,用于编写自动化脚本,本文就来介绍一下PythonInvoke自动化任务库的使用,具有一定的参考价值,感兴趣的可以... 目录什么是 Invoke?如何安装 Invoke?Invoke 基础1. 运行测试2. 构建文档3.

Python结合requests和Cheerio处理网页内容的操作步骤

《Python结合requests和Cheerio处理网页内容的操作步骤》Python因其简洁明了的语法和强大的库支持,成为了编写爬虫程序的首选语言之一,requests库是Python中用于发送HT... 目录一、前言二、环境搭建三、requests库的基本使用四、Cheerio库的基本使用五、结合req

使用Python处理CSV和Excel文件的操作方法

《使用Python处理CSV和Excel文件的操作方法》在数据分析、自动化和日常开发中,CSV和Excel文件是非常常见的数据存储格式,ython提供了强大的工具来读取、编辑和保存这两种文件,满足从基... 目录1. CSV 文件概述和处理方法1.1 CSV 文件格式的基本介绍1.2 使用 python 内

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

什么是cron? Linux系统下Cron定时任务使用指南

《什么是cron?Linux系统下Cron定时任务使用指南》在日常的Linux系统管理和维护中,定时执行任务是非常常见的需求,你可能需要每天执行备份任务、清理系统日志或运行特定的脚本,而不想每天... 在管理 linux 服务器的过程中,总有一些任务需要我们定期或重复执行。就比如备份任务,通常会选在服务器资