Files

1296 lines
45 KiB
C
Raw Permalink Normal View History

/*
* AttCtrlMain.h
* Created: 2022/11/4 11:02:40
* Author: wangzk zhengmengxing
*/
#ifndef _ATTCTRLMAIN_H_
#define _ATTCTRLMAIN_H_
#include "AttMath.h"
#include "..\PrjCommon\CommonDef.h"
#include "..\PrjCommon\BlockRing.h"
#include "..\PrjCommon\DataStorDefine.h"
#include "..\PrjCommon\ModTask.h"
#include "..\PrjCommon\DevDefine.h"
#include "..\PrjCommon\DevDrvs.h"
#include "..\PrjTaskMng\TaskMng.h"
#include "..\PrjTelCtrlMng\TelCtrlMng.h"
#include "..\PrjOrbitMng\OrbitMng.h"
#include "..\PrjCollectMng\CollectMng.h"
#include "..\PrjSadaCtrlMng\SadaMng.h"
#include "..\PrjCommon\TypeDef.h"
//<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD>ݵ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>
#define ATTCLT_DATA1_ADDR (ATTCTL_BASE_ADDR )
#define SIZE_RECVDATA_BUF1 (0x2000) /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>8k*/
#define ATTCLT_DATA2_ADDR (ATTCLT_DATA1_ADDR + SIZE_RECVDATA_BUF1) /*<2A><><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD>*/
#define SIZE_RECVDATA_BUF2 (0x1000) /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4k */
#define ATTCLT_DATA3_ADDR (ATTCLT_DATA2_ADDR + SIZE_RECVDATA_BUF2) /*4k<34><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>*/
#define SIZE_RECVDATA_BUF3 (0x1000) /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4k*/
#define ATTCLT_DATA4_ADDR (ATTCLT_DATA3_ADDR + SIZE_RECVDATA_BUF3) /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,2k<32>ֽ<EFBFBD>*/
#define SIZE_RECVDATA_BUF4 (0x800) /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2k*/
#define ATTCLT_DATA5_ADDR (ATTCLT_DATA4_ADDR+ SIZE_RECVDATA_BUF4) /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>ע<EFBFBD><D7A2><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,4k<34>ֽ<EFBFBD>*/
#define SIZE_RECVDATA_BUF5 (0x1000) /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>4k*/
#define ATTCLT_DATA6_ADDR (ATTCLT_DATA5_ADDR + SIZE_RECVDATA_BUF5) /*Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,2k<32>ֽ<EFBFBD>*/
#define SIZE_RECVDATA_BUF6 (0x800) /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2k*/
/***********************************ң<><D2A3>ָ<EFBFBD><D6B8>ע<EFBFBD><D7A2>***********************************/
//<2F><>ָ<EFBFBD><D6B8>
#define ATT_SAFEMODE_SAFE1 (0xC600) //<2F><><EFBFBD>ǰ<EFBFBD>ȫģʽ1
#define ATT_SAFEMODE_SAFE2 (0xC601) //<2F><><EFBFBD>ǰ<EFBFBD>ȫģʽ2
#define ATT_SAFEMODE_SAFE3 (0xC602) //<2F><><EFBFBD>ǰ<EFBFBD>ȫģʽ3
//ģʽ<C4A3><CABD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
#define ATT_CMDMODE_MODSUNCAP (0x3600) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATT_CMDMODE_WhlTOSUN (0x3601) //<2F><><EFBFBD><EFBFBD><EFBFBD>ֿض<D6BF><D8B6>ն<EFBFBD><D5B6><EFBFBD>
#define ATT_CMDMODE_MagTOSUN (0x3602) //<2F>ſض<C5BF><D8B6>ն<EFBFBD><D5B6><EFBFBD>
#define ATT_CMDMODE_ONLTOEARTH (0x3603) //<2F>Եض<D4B5><D8B6><EFBFBD>*/
#define ATT_CMDMODE_WHEELTOEARTH (0x3604) //<2F><>̬<EFBFBD>Ե<EFBFBD>*/
#define ATT_CMDMODE_UNCTL (0x3605) //<2F>޿<EFBFBD>ģʽ*/
#define ATT_WORKMODE_ORBITCTLPRE (0xA606) //<2F><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>*/
#define ATT_WORKMODE_ORBITCTL (0xA607) //<2F><><EFBFBD><EFBFBD>*/
#define ATT_WORKMODE_ATTAJUST (0xA611) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
#define ATT_WORKMODE_ONLTOTAR (0xA612) //Ŀ<><EFBFBD><EAB6A8>*/
#define ATT_CMDMODE_ORBITCTL (0xC304) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע*/
#define ATT_CMDMODE_ONLTOTAR (0xC303) //<2F><>Ŀ<EFBFBD><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע*/
#define ATT_CMDMODE_ORBITCTLREQ (0x3609) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//׼<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATT_CMDMODE_MODECHANG (0x360A) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>
#define ATT_CMDMODE_NOMODECHANG (0x360B) //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>
#define ATT_CMDMODE_AllowCThr (0x360C) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<E4BBA5><D0A3>
#define ATT_CMDMODE_NOAllowCThr (0x360D) //<2F><>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<E4BBA5><D0A3>
#define ATT_CMDOBITRESET (0x360E) //<2F><><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD>
#define ATT_CMDATTRESET (0x360F) //<2F><>Ŀ<EFBFBD><EFBFBD><EAB6A8><EFBFBD><EFBFBD>
#define ATT_CMDMODE_ATTLOSE (0x3618) //<2F><>̬<EFBFBD><CCAC>׼<EFBFBD><D7BC>ʧ<EFBFBD>жϿ<D0B6>ָ<EFBFBD><D6B8>
#define ATT_CMDMODE_NOATTLOSE (0x3619) //<2F><>̬<EFBFBD><CCAC>׼<EFBFBD><D7BC>ʧ<EFBFBD>жϹ<D0B6>ָ<EFBFBD><D6B8>
#define ATT_CMDMODE_ATTEx (0x361A) //<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>жϿ<D0B6>ָ<EFBFBD><D6B8>
#define ATT_CMDMODE_NOATTEx (0x361B) //<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>жϹ<D0B6>ָ<EFBFBD><D6B8>
#define ATT_CMDMODE_AttUnSta (0x361C) //<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6>жϿ<D0B6>ָ<EFBFBD><D6B8>
#define ATT_CMDMODE_NOAttUnSta (0x361D) //<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6>жϹ<D0B6>ָ<EFBFBD><D6B8>
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>
#define ATT_CMDCODE_MODPARAM (0x361E) //ģʽ<C4A3>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//ģ<><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_ASS (0x361F) //ģ<><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>(<28><>ѹ<EFBFBD><D1B9>
//<2F><><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>У
#define ATT_CMDCROSSCHECKTHR (0x3620)
//<2F><><EFBFBD><EFBFBD><EFBFBD>쳣״̬
#define ATT_CMDCROSSERR (0x3621)
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>״̬
#define ATT_CMDCROSSUSE (0x3622)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>״̬
#define ATT_CMDCROSS (0x3623)
//<2F><><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD>
#define ATT_CMDCREUSE (0x3624)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATT_CMDCROSSDIG (0x3625)
//PPU<50><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATT_CMDCPPUDIG (0x3626)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
#define ATT_CMDCDIGTIME (0x3627)
//<2F><>׼<EFBFBD><D7BC>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATT_CMDCDIGLOSE (0x3628)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATT_CMDCDIGEX (0x3629)
//<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATT_CMDCDIGNOSTATE (0x362A)
//<2F><>ƽ<EFBFBD><C6BD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
#define ATT_CMDWHLSLIMT (0x362B)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_SSMAT (0x362C)
//̫<><CCAB><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_ASSMAT (0x362D)
//<2F><>ǿ<EFBFBD>ư<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_MAGMAT (0x362E)
//<2F><><EFBFBD>ݰ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_GyroMAT (0x362F)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_WHLMAT (0x3630)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_MTMAT (0x3631)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_DMPPARA (0x3632)
//<2F>ſض<C5BF><D8B6>տ<EFBFBD><D5BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_TOSUNPARA (0x3633)
//<2F><>ж<EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_MTCTRLPARA (0x3634)
//<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_PDCTRLPARA (0x3635)
//<2F><><EFBFBD><EFBFBD>PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_PIDCTRLPARA (0x3636)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫע<C6AB><D7A2>
#define ATT_CMDCODE_GyroBIAS (0x3637)
//<2F><><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_GyroPH (0x3638)
//<2F><><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD>Ӱ<EFBFBD>ж<EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_BetaAng (0x3639)
//<2F><><EFBFBD><EFBFBD>IDѡ<44><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_WhlID (0x363A)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D>ž<EFBFBD><C5BE><EFBFBD>ֵ
#define ATT_CMDCODE_MTCTRL (0x363B)
//<2F><>ǿ<EFBFBD>Ʊ궨ϵ<EAB6A8><CFB5>
#define ATT_CMDCODE_MTBD (0x363C)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ٶ<EFBFBD>
#define ATT_CMDMODE_PPUAB (0x363D)
//PPU<50>궨ϵ<EAB6A8><CFB5>
#define ATT_CMDCODE_PPUBD (0x363E)
//<2F><><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD>޷<EFBFBD>ע<EFBFBD><D7A2>
#define ATT_CMDCODE_GyroINTTLimt (0x363F)
//<2F><>ȫģʽPPUʹ<55><CAB9>״̬
#define ATT_CMDCODE_SafePPU (0x3640)
//<2F><><EFBFBD><EFBFBD>ƫ<EFBFBD>ö<EFBFBD><C3B6><EFBFBD>
#define ATT_CMDCODE_WHLCENT (0x3641)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>1
#define ATT_CMDCODE_RESET1 (0x3642)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>2
#define ATT_CMDCODE_RESET2 (0x3643)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>3
#define ATT_CMDCODE_RESET3 (0x3644)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>4
#define ATT_CMDCODE_RESET4 (0x3645)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>5
#define ATT_CMDCODE_RESET5 (0x3646)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>6
#define ATT_CMDCODE_RESET6 (0x3647)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>7
#define ATT_CMDCODE_RESET7 (0x3648)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>8
#define ATT_CMDCODE_RESET8 (0x3649)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>9
#define ATT_CMDCODE_RESET9 (0x364A)
//<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD>̺<EFBFBD>Ԥ<EFBFBD><D4A4>10
#define ATT_CMDCODE_RESET10 (0x364B)
/***************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ú궨<C3BA><EAB6A8>*****************/
//<2F><><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
#define PriorHig (0xAA) //<2F><><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
#define PriorMid (0x55) //<2F><><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
#define PriorLow (0x00) //<2F><><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
#define MT_NUM (4) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define MT_ON (0x55)
#define MT_OFF (0x00)
#define MT_DIRECT_POS (0x55) //Positive<76><65><EFBFBD><EFBFBD>
#define MT_DIRECT_NEG (0xAA) //negative<76><65><EFBFBD><EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
#define STAR_NUM (3) //<2F><><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>
#define STARAB_HEAD (0x8AA1)
#define STARAB_ID (0x0000)
#define STARAB_LEN (64)
#define STARC_HEAD (0xEB50)
#define STARC_ID (0x0022)
#define STARC_LEN (53)
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
//A:<3A><>о B:<3A><>о C:<3A><><EFBFBD><EFBFBD> //20230810
#define GYRO_NUM (3) //<2F><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define GYRO_DATA_HEADA (0xEB90) //<2F><><EFBFBD><EFBFBD><41><D2A3>422<32><32><EFBFBD>ݰ<EFBFBD>ͷ
#define GYRO_DATA_LENA (0x28) //<2F><><EFBFBD><EFBFBD><41><D2A3>422<32><32><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>(<28>ܰ<EFBFBD><DCB0><EFBFBD>)
#define GYRO_DATA_HEADC (0xEB90) //<2F><><EFBFBD><EFBFBD><43><D2A3>422<32><32><EFBFBD>ݰ<EFBFBD>ͷ
#define GYRO_DATA_LENC (0x1A) //<2F><><EFBFBD><EFBFBD><43><D2A3>422<32><32><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>
#define GYRO_DATA_UNIT (0.000001) //<2F><><EFBFBD><EFBFBD>B<EFBFBD><42><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD><EFBFBD>
#define GYRO_TMPER_UNIT (0.008) //<2F><><EFBFBD><EFBFBD>B<EFBFBD><EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
#define ASS_NUM (6) //ASS<53><53><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
///˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
#define MAG_NUM (2) //<2F><>ǿ<EFBFBD><C7BF><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>
#define MAG_Vect_A (0x55) //ѡ<><D1A1><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>A
#define MAG_Vect_B (0xAA) //ѡ<><D1A1><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>B
//˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
#define WHEEL_NUM (4) //<2F><><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>
#define WHL_CMD_CODE_REQ (0xD9) //<2F><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
#define WHL_CMD_CODE_CURR (0xCA) //<2F><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EBA3BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
#define WHL_CMD_CODE_RATE (0xD4) //<2F><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>룺ת<EBA3BA><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
#define WHL_CMD_CODE_TRQ (0xEA) //<2F><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EBA3BA><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
#define WHL_DATA_END (0xAA55) //<2F><><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>422<32><32><EFBFBD>ݰ<EFBFBD>β<EFBFBD><CEB2><EFBFBD>пƣ<D0BF>
#define WHL_DATA_LEN (0x23) //<2F>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><D2A3>422<32><32><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>
//˵<><CBB5><EFBFBD><EFBFBD>PPU<50><55><EFBFBD>ݽṹ<DDBD><E1B9B9>
#define PPU_CMD_LEN (0x1E) //PPU<50><55><EFBFBD><EFBFBD>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD>
/***************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EAB6A8>*****************/
#define NO_CC (0x00) //δ<>μӻ<CEBC>У<EFBFBD><D0A3>(0)
#define CC_CORRECT (0x55) //<2F><>У<EFBFBD><D0A3><EFBFBD>ɹ<EFBFBD>(1)
#define CC_ERROR (0xAA) //<2F><>У<EFBFBD><D0A3><EFBFBD>쳣(2)
#define CC_UNCERTAIN (0xFF) //<2F><>У<EFBFBD><D0A3><EFBFBD>޷<EFBFBD><DEB7>ж<EFBFBD>(3)
/*******************<2A>˹<EFBFBD><CBB9>ع<EFBFBD><D8B9><EFBFBD>ģʽ*******************/
#define ATTMOD_BREAKPRE (0x00) //<2F>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD><EFBFBD>ǰ
#define ATTMOD_NOCOLL (0x11) //<2F><>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD>ģʽ
#define ATTMOD_RATEDMP (0x22) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATTMOD_WhlTOSUN (0x33) //<2F>ֿض<D6BF><D8B6>ն<EFBFBD><D5B6><EFBFBD>
#define ATTMOD_MagTOSUN (0x44) //<2F>ſض<C5BF><D8B6>ն<EFBFBD><D5B6><EFBFBD>
#define ATTMOD_ONLTOEARTH (0x55) //<2F>Եض<D4B5><D8B6><EFBFBD>
#define ATTMOD_WHEELTOEARTH (0x66) //<2F><>̬<EFBFBD>Ե<EFBFBD>
#define ATTMOD_ATTAJUSTPRE (0x77) //<2F><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
#define ATTMOD_ORBITCTL (0x88) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define ATTMOD_ATTAJUST (0x99) //<2F><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
#define ATTMOD_ONLTOTAR (0xAA) //<2F><>Ŀ<EFBFBD><EFBFBD><EAB6A8>
#define ATTMOD_UNCTL (0xBB) //<2F>޿<EFBFBD>ģʽ
/***************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*****************/
#define GST_OFFSET (1.7474554283454f) // GSTƫ<54><C6AB><EFBFBD><EFBFBD>
#define EATHWE (7.29211514667e-5) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ٶ<EFBFBD>
#define GMEARTH (3.986004E14) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define EarthRad (6378040) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EBBEB6><EFBFBD>ף<EFBFBD>
#define EarthRad2MAG (6371200) //<2F><><EFBFBD><EFBFBD>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EBBEB6><EFBFBD>ף<EFBFBD>
//<2F><><EFBFBD>ݻظ<DDBB><D8B8><EFBFBD><EFBFBD><EFBFBD>
#define BACKUP_TYPE_ATTFLASH (0x5511) /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD> Flash */
//#define BACKUP_TYPE_PLDSRAM (0x5522) /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>SRAM */
#define BACKUP_TYPE_ATTFIFO (0x5533) /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>˫<EFBFBD><CBAB>FIFO<46><4F><EFBFBD><EFBFBD>ע<EFBFBD><EFBFBD><E2B2BB><EFBFBD><EFBFBD>0<EFBFBD><30>0xFF<46><46> */
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>˿<EFBFBD>Flash<EFBFBD><EFBFBD>
***********************************************/
typedef struct AttCmdFlash_s{
TYPE_CAL M_SSA[3][3]; //<2F><><EFBFBD><EFBFBD>A<EFBFBD><41>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_SSB[3][3]; //<2F><><EFBFBD><EFBFBD>B<EFBFBD><42>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_SSC[3][3]; //<2F><><EFBFBD><EFBFBD>C<EFBFBD><43>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_GYRO[3][3][3]; //<2F><><EFBFBD><EFBFBD>A\B\C<><43>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_aSSA[3][3]; //ģ<><C4A3>̫<EFBFBD><CCAB>A<EFBFBD><41>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_aSSB[3][3]; //ģ<><C4A3>̫<EFBFBD><CCAB>B<EFBFBD><42>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_aSSC[3][3]; //ģ<><C4A3>̫<EFBFBD><CCAB>C<EFBFBD><43>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_aSSD[3][3]; //ģ<><C4A3>̫<EFBFBD><CCAB>D<EFBFBD><44>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_aSSE[3][3]; //ģ<><C4A3>̫<EFBFBD><CCAB>E<EFBFBD><45>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1)
TYPE_CAL M_aSSF[3][3]; //ģ<><C4A3>̫<EFBFBD><CCAB>F<EFBFBD><46>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>(1,1) FΪ̫<CEAA><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
TYPE_CAL M_Wheel[3][4]; //<2F><><EFBFBD>ְ<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
TYPE_CAL M_MAG[MAG_NUM][3][3]; //<2F><>ǿ<EFBFBD>ư<EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD>
TYPE_CAL M_MAGCtrl[3][4]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD>
TYPE_CAL Gyro_Comd_Bias[GYRO_NUM][3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ
TYPE_CAL Gyro_Comd_K[GYRO_NUM][3][3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 Gyro_ComRESW[3]; //<2F><><EFBFBD>ݱ<EFBFBD>ͷ<EFBFBD>ع<EFBFBD>״̬<D7B4><CCAC>
//PPU
TYPE_CAL PPUPVK; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>K
TYPE_CAL PPUPVB; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>B
TYPE_CAL PPUPAK; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>K
TYPE_CAL PPUPAB; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>B
//<2F><>ǿ<EFBFBD><C7BF>
TYPE_CAL MAG_LK[MAG_NUM][3]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>k
TYPE_CAL MAG_LB[MAG_NUM][3]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD>Ƶ<EFBFBD>ѹ<EFBFBD><D1B9>λ
UINT8 Mag_ComRESW[3]; //<2F><>ǿ<EFBFBD>Ʊ<EFBFBD>ͷ<EFBFBD>ع<EFBFBD>״̬<D7B4><CCAC>
//<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ǿ
TYPE_CAL SS_MAG_CThr; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
UINT16 judgeWait_time; //<2F>ֿض<D6BF><D8B6>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD>
TYPE_CAL kp_ToSun_PD[3]; //<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kpxyz
TYPE_CAL kd_ToSun_PD[3]; //<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><><CEA2>kdxyz
TYPE_CAL w0max_PD; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ٶȣ<D9B6><C8A3><EFBFBD>λ<EFBFBD><CEBB>/s
TYPE_CAL PD_Ts; //<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><><EFBFBD><E4B3A3>
//<2F><><EFBFBD><EFBFBD>PID<49><44><EFBFBD><EFBFBD>
TYPE_CAL kp_PID[3]; //PID<49><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kpxyz
TYPE_CAL ki_PID[3]; //PID<49><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kixyz
TYPE_CAL kd_PID[3]; //PID<49><44><EFBFBD><EFBFBD><><CEA2>kdxyz
TYPE_CAL w0max_PID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ٶȣ<D9B6><C8A3><EFBFBD>λ<EFBFBD><CEBB>/s
TYPE_CAL PID_Ts; //<2F><><EFBFBD><EFBFBD>PID<49><44><EFBFBD><EFBFBD><><EFBFBD><E4B3A3>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 WorkModeChangeAuto; //<2F><><EFBFBD>ε<EFBFBD><CEB5><EFBFBD>ʹ<EFBFBD>ܱ<EFBFBD>־
UINT32 PPUT_FIR_EndLast; //<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>Ϩ<EFBFBD><CFA8>ʱ<EFBFBD><CAB1>
UINT16 PPUTALimit; //<2F><><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
UINT16 PPUTVLimit; //<2F><><EFBFBD>ƹ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
UINT16 PPUTFireLimit; //<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
UINT16 PPUHTemperLimit; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȹ<C2B6><C8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
UINT16 PPULTemperLimit; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȹ<C2B6><C8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//FLASH<53><48><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>
UINT8 FLASH_RESET1;
UINT8 FLASH_RESET2;
UINT8 FLASH_RESET3;
UINT16 FLASH_RESET4;
UINT16 FLASH_RESET5;
UINT16 FLASH_RESET6;
TYPE_CAL FLASH_RESET7;
TYPE_CAL FLASH_RESET8;
TYPE_CAL FLASH_RESET9;
} AttCmdFlash_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***********************************************/
typedef struct
{
//Flash<73><68>
AttCmdFlash_t AttCmdFlashPara;
//ģ<><C4A3>̫<EFBFBD><CCAB>
TYPE_CAL Ass_MinFour_limt[2]; //4Ƭģ<C6AC><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>Сֵ
TYPE_CAL Ass_MaxFour_limt[2]; //4Ƭģ<C6AC><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//<2F><>ǿ<EFBFBD><C7BF>
TYPE_CAL Mag_Bb_CtrlMax; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ž<EFBFBD>
TYPE_CAL Mag_Kp[3];
TYPE_CAL Mag_Kd[3];
TYPE_CAL Mag_KpFBZK[3];
TYPE_CAL Mag_KdFBZK[3];
TYPE_CAL Mag_DampBdotMin; //<2F>ſ<EFBFBD><C5BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//UINT8 Mag_ComRESW[3]; //<2F><>ǿ<EFBFBD>Ʊ<EFBFBD>ͷ<EFBFBD>ع<EFBFBD>״̬<D7B4><CCAC>
//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
TYPE_CAL Mag_WTOSUN; //<2F>ſض<C5BF><D8B6><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
TYPE_CAL Mag_FBZKWTOSUN; //<2F>ſض<C5BF><D8B6><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>
TYPE_CAL Mag_ATTTOSUN; //<2F>ſض<C5BF><D8B6>ն<EFBFBD><D5B6>մžؽ<C5BE>
//<2F><><EFBFBD><EFBFBD>
UINT8 Whl_ID[WHEEL_NUM]; // <20><><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>ָ<EFBFBD><D6B8>:<3A><><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ģʽ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 MTCtrlTIME; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
TYPE_CAL MTOutXYZLimit[4]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˾<EFBFBD>100/100/50/50
//<2F><><EFBFBD>ִ<EFBFBD>ж<EFBFBD><D0B6>
TYPE_CAL k1_dump; //ж<>ؽǶ<D8BD><C7B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ,<2C><>λNms
TYPE_CAL k2_dump;
TYPE_CAL ku_dump;
TYPE_CAL MTAtt_dump;
//<2F><>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ֵ(<28><><EFBFBD><EFBFBD>ע<EFBFBD>޸<EFBFBD>)
UINT8 Allow_Sensor_CThr; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<E4BBA5><D0A3>׼<EFBFBD><D7BC><EFBFBD><EFBFBD>־
TYPE_CAL SS_SS_CThr; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
TYPE_CAL SS_ASS_CThr; //<2F><><EFBFBD><EFBFBD>У̫<D0A3><CCAB><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
TYPE_CAL SS_ASS_CCThr; //<2F><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
TYPE_CAL SS_GYRO_CThr; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>/s
//TYPE_CAL SS_MAG_CThr; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
TYPE_CAL MAG_MAG_CThr; //<2F><>ǿ<EFBFBD>ƻ<EFBFBD>У<EFBFBD><D0A3>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λnT
TYPE_CAL GYRO_GYRO_CThr; //<2F><><EFBFBD>ݻ<EFBFBD>У<EFBFBD><D0A3>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>/s
//ģʽ<C4A3>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>
//UINT8 WorkModeUp; //<2F><><EFBFBD><EFBFBD>ģʽע<CABD><D7A2>ѡ<EFBFBD><D1A1>
//UINT8 WorkModeChange; //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
//UINT8 WorkModeChangeAuto; //<2F><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 judge_time0; //0<><30><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD><EFBFBD>ǰ
UINT16 judge_time1; //1<><31><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD>ģʽ
UINT16 judge_time2; //2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 judge_time3; //3<><33><EFBFBD>ֿض<D6BF><D8B6>ն<EFBFBD><D5B6><EFBFBD>
UINT16 judge_time4; //4<><34><EFBFBD>ſض<C5BF><D8B6>ն<EFBFBD><D5B6><EFBFBD>
UINT16 judge_time5; //5<><35><EFBFBD>Եض<D4B5><D8B6><EFBFBD>
UINT16 judge_time6; //6<><36><EFBFBD><EFBFBD>̬<EFBFBD>Ե<EFBFBD>
UINT16 judge_time7; //7<><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
UINT16 judge_time8; //8<><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 judge_time9; //10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
UINT16 judge_timeA; //11<31><31><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EAB6A8>
UINT16 judge_timeB; //12<31><32><EFBFBD>޿<EFBFBD>ģʽ
//UINT16 judgeWait_time; //<2F>ֿض<D6BF><D8B6>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL RateThr_2T3; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>ֵ
TYPE_CAL HWHLThr_2T3; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ն<EFBFBD><D5B6><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD><EFBFBD><EFBFBD>ֵ
TYPE_CAL AngThr_3TB; //<2F><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ת<EFBFBD>޿<EFBFBD>ģʽ<C4A3>Ƕ<EFBFBD><C7B6><EFBFBD>ֵ
TYPE_CAL RateThr_3TB; //<2F><><EFBFBD>ն<EFBFBD><D5B6><EFBFBD>ת<EFBFBD>޿<EFBFBD>ģʽ<C4A3><CABD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>ֵ
TYPE_CAL AngThr_5T6; //<2F>Եض<D4B5><D8B6><EFBFBD>ģʽ<C4A3>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6>Ե<EFBFBD>ģʽ<C4A3>Ƕ<EFBFBD><C7B6><EFBFBD>ֵ
TYPE_CAL RateThr_5T6; //<2F>Եض<D4B5><D8B6><EFBFBD>ģʽ<C4A3>л<EFBFBD><D0BB><EFBFBD><EFBFBD>ȶ<EFBFBD><C8B6>Եؽ<D4B5><D8BD>ٶ<EFBFBD><D9B6><EFBFBD>ֵ
TYPE_CAL AngThr_9TA; //<2F><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>Ŀ<EFBFBD><EFBFBD><EAB6A8>ģʽ<C4A3>Ƕ<EFBFBD><C7B6><EFBFBD>ֵ
TYPE_CAL RateThr_9TA; //<2F><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>Ŀ<EFBFBD><EFBFBD><EAB6A8>ģʽ<C4A3><CABD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>ֵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>
TYPE_CAL SAT_J[3][3]; //<2F><><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>xx,yy,zz <20><>λkgm2
TYPE_CAL Whl_J[WHEEL_NUM]; //<2F><><EFBFBD>ֵĽǶ<C4BD><C7B6><EFBFBD>ת<EFBFBD><D7AA>ϵ<EFBFBD><CFB5>
TYPE_CAL Whl_HCent[WHEEL_NUM]; //<2F><><EFBFBD>ֵı<D6B5><C4B1>ƽǶ<C6BD><C7B6><EFBFBD>
//<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD>
//TYPE_CAL kp_ToSun_PD[3]; //<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kpxyz
//TYPE_CAL kd_ToSun_PD[3]; //<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><><CEA2>kdxyz
TYPE_CAL kp_NoToSun_PD[3]; //<2F><><EFBFBD><EFBFBD>δչ<CEB4><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kpxyz
TYPE_CAL kd_NoToSun_PD[3]; //<2F><><EFBFBD><EFBFBD>δչ<CEB4><D5B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><><CEA2>kdxyz
//TYPE_CAL w0max_PD; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ٶȣ<D9B6><C8A3><EFBFBD>λ<EFBFBD><CEBB>/s
TYPE_CAL w0max_NoPD; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ٶȣ<D9B6><C8A3><EFBFBD>λ<EFBFBD><CEBB>/s
//TYPE_CAL PD_Ts; //<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><><EFBFBD><E4B3A3>
TYPE_CAL PDNo_Ts; //<2F><><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><><EFBFBD><E4B3A3>
//<2F><><EFBFBD><EFBFBD>PID<49><44><EFBFBD><EFBFBD>
//TYPE_CAL kp_PID[3]; //PID<49><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kpxyz
//TYPE_CAL ki_PID[3]; //PID<49><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kixyz
//TYPE_CAL kd_PID[3]; //PID<49><44><EFBFBD><EFBFBD><><CEA2>kdxyz
TYPE_CAL kp_NoPID[3]; //PID<49><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kpxyz
TYPE_CAL ki_NoPID[3]; //PID<49><44><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD>kixyz
TYPE_CAL kd_NoPID[3]; //PID<49><44><EFBFBD><EFBFBD><><CEA2>kdxyz
//TYPE_CAL w0max_PID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ٶȣ<D9B6><C8A3><EFBFBD>λ<EFBFBD><CEBB>/s
TYPE_CAL w0max_NoPID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD>ٶȣ<D9B6><C8A3><EFBFBD>λ<EFBFBD><CEBB>/s
//TYPE_CAL PID_Ts; //<2F><><EFBFBD><EFBFBD>PID<49><44><EFBFBD><EFBFBD><><EFBFBD><E4B3A3>
TYPE_CAL PIDNo_Ts; //<2F><><EFBFBD><EFBFBD>PID<49><44><EFBFBD><EFBFBD><><EFBFBD><E4B3A3>
//ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL WheelD_NomSpeed; //<2F><>ƽ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>ת<EFBFBD>٣<EFBFBD><D9A3><EFBFBD>λrad/s <20><><EFBFBD><EFBFBD>ע
TYPE_CAL WheelD_SpeedErrThr; //<2F><>ƽ<EFBFBD><C6BD>ת<EFBFBD><D7AA>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λrad/s <20><><EFBFBD><EFBFBD>ע
TYPE_CAL WheelD_Default; //<2F><>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ĭ<EFBFBD><C4AC>ֵ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ.<2E><>λNm <20><><EFBFBD><EFBFBD>ע
TYPE_CAL WheelD_AllDefault; //<2F><>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>Ĭ<EFBFBD><C4AC>ֵ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ.<2E><>λNm <20><><EFBFBD><EFBFBD>ע
//<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>
TYPE_CAL BetaAngLimit; //<2F><><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD>Ӱ<EFBFBD>ж<EFBFBD>ֵ
//<2F><><EFBFBD><EFBFBD><EFBFBD>
UINT16 GyroDiagThr; //<2F>ж<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ,<2C><>λs,<2C><><EFBFBD><EFBFBD>ע
UINT8 AllowGyroONOFF[GYRO_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 Gyro_Delay_CntLimt; //<2F><><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Gyro_Err_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Gyro_OK_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Gyro_ReSet_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
UINT16 Gyro_ReSetGAP_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 GyroUsePrior[GYRO_NUM]; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
//UINT8 Gyro_ComRESW[3]; //<2F><><EFBFBD>ݱ<EFBFBD>ͷ<EFBFBD>ع<EFBFBD>״̬<D7B4><CCAC>
//<2F><><EFBFBD><EFBFBD><EFBFBD>
UINT8 AllowssONOFF[STAR_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 ssDiagThr; //<2F>ж<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ,<2C><>λs,<2C><><EFBFBD><EFBFBD>ע
UINT16 Ss_Delay_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Ss_Err_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Ss_OK_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Ss_ReSet_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
UINT16 Ss_ReSetGAP_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 SSUsePrior[STAR_NUM]; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
//<2F><>ǿ<EFBFBD><C7BF><EFBFBD>
UINT8 AllowMagONOFF[MAG_NUM]; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 MagDiagThr; //<2F>ж<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ,<2C><>λs,<2C><><EFBFBD><EFBFBD>ע
UINT16 Mag_Delay_CntLimt; //<2F><>ǿ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Mag_Err_CntLimt; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Mag_ReSet_CntLimt; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
UINT16 Mag_OK_CntLimt; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Mag_ReSetGAP_CntLimt; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>
UINT8 AllowWhlONOFF[WHEEL_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 WhlTemperDiagThr; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȹ<C2B6><C8B9><EFBFBD><EFBFBD><EFBFBD><C2B6><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע
UINT16 WhlDiag_TimeThr; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȹ<C2B6><C8B9>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע
UINT16 WhlDiag_ErrThr; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע
UINT16 Whl_Delay_CntLimt; //<2F><><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Whl_Err_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Whl_OK_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 Whl_ReSet_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
UINT16 Whl_ReSetGAP_CntLimt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//PPU
UINT8 AllowPPUONOFF; //PPU<50>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 PPU_Delay_CntLimt; //<2F><>ǿ<EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><D3B3>жϼ<D0B6><CFBC><EFBFBD>
UINT16 PPU_Err_CntLimt; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 PPU_ReSet_CntLimt; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4><EFBFBD>
UINT16 PPU_OK_CntLimt; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϼ<D0B6><CFBC><EFBFBD>
UINT16 PPU_ReSetGAP_CntLimt; //<2F><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 PPUTXTimeLimit; //<2F><><EFBFBD><EFBFBD>ͨ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ
UINT16 PPUTATimeLimit; //<2F><><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ
//UINT16 PPUTALimit; //<2F><><EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
UINT16 PPUTVTimeLimit; //<2F><><EFBFBD>ƹ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ
//UINT16 PPUTVLimit; //<2F><><EFBFBD>ƹ<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//UINT16 PPUTFireLimit; //<2F><><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
UINT16 PPUTemperTimeLimit; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȹ<C2B6><C8B9><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ
//UINT16 PPUHTemperLimit; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȹ<C2B6><C8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//UINT16 PPULTemperLimit; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȹ<C2B6><C8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
TYPE_CAL AccThru_Up[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>עֵ
//<2F><>̬ȷ<CCAC><C8B7>
UINT16 GyroINT_TLimt; //<2F><><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD>޷<EFBFBD>ֵ
////<2F><>̬<EFBFBD><CCAC>׼<EFBFBD><D7BC>ʧ
UINT8 AllowAttLoseDiagFlg; //<2F><>̬<EFBFBD><CCAC>׼<EFBFBD><D7BC>ʧ<EFBFBD>жϿ<D0B6><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 TimeThr_AttLoseDiag[9]; //<2F><>̬<EFBFBD><CCAC>ʧʱ<CAA7><CAB1><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λs
//<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
UINT8 AllowAttExDiagFlg; //<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 TimeThr_AttEx[10]; //<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λs
TYPE_CAL AngThr_AttEx[9]; //<2F>Ƕ<EFBFBD><C7B6><EFBFBD>ֵ
TYPE_CAL RateThr_AttEx[9]; //<2F><><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>ֵ
UINT16 YawCntLimit; //<2F>Ե<EFBFBD>ƫ<EFBFBD><C6AB>/<2F><>Ŀ<EFBFBD><C4BF>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6>ж<EFBFBD>
UINT8 AllowAttStaDiagFlg; //<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
UINT16 TimeThr_AttUnSta[6]; //<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6>õ<EFBFBD><C3B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λs
UINT16 TimeMod_AttUnSta[6]; //<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6>õ<EFBFBD><C3B5><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>λs
TYPE_CAL AngThr_AttUnSta[6]; //<2F>Ƕ<EFBFBD><C7B6><EFBFBD>ֵ
TYPE_CAL RateThr_AttUnSta[6]; //<2F><><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>ֵ
UINT8 ZK_Reserver111;
UINT8 ZK_Reserver222;
}AttCtrlConst_t;
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ң<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
***********************************************/
//A:803 B:803 C:<3A><><EFBFBD><EFBFBD>
typedef struct SsPara_s{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 ssIn_AttVld; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>Ч<EFBFBD><D0A7>־
UINT8 ssIn_DataSta; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
TYPE_CAL ssIn_Q[4]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA>
TYPE_CAL ssIn_W[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
TYPE_CAL ssExpose_Qbi[4]; //<2F><><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA>
TYPE_CAL ssExpose_Wbi[3]; //<2F><><EFBFBD><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ٶ<EFBFBD>
UINT8 ssCrCheckFlg; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>־
UINT8 ssAvailableFlg; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>־
UINT8 ssPrior; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
UINT8 ssExpose_cnt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL ssIn_Qpre[4]; //ǰһ<C7B0><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA>
} SsPara_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
***********************************************/
//A:<3A><><EFBFBD><EFBFBD> B:<3A><><EFBFBD>ɷ<EFBFBD> C:<3A><>о
typedef struct Gyrodata_s{
UINT8 GyroIn_AttVld; //Gyro<72><6F>Ч<EFBFBD><D0A7>־
UINT8 GyroIn_DataSta; //Gyro<72><6F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чԭ<D0A7><D4AD>
UINT8 Gyro_ComTHUse[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>ñ<EFBFBD>־
TYPE_CAL GyroIn_Speed[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
TYPE_CAL GyroIn_SpeedPre[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
TYPE_CAL GyroIn_Tmper[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL Gyro_Wi[3]; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ݽ<EFBFBD><DDBD>ٶ<EFBFBD>
UINT8 GyroCrCheckFlg; //<2F><><EFBFBD>ݻ<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>־
UINT8 Gyro_AvailableFlg; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>ñ<EFBFBD>־
UINT8 GyroPrior; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
UINT16 Gyro_ComCnt[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱȽ<DDB1><C8BD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
} GyroPara_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>̫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
***********************************************/
typedef struct AssPara_s{
UINT8 AssIn_AttVld[ASS_NUM]; //Ass<73><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>־
TYPE_CAL AssIn_sensor[ASS_NUM][4]; //ģ<><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>ѹ
UINT8 AssCrCheckFlg; //ģ<><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>־
TYPE_CAL Ass_SunATT[2]; //<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>λ<EFBFBD>Ǧȡ<C7A6><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r
TYPE_CAL Ass_SunVecbF[3]; //ģ<><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ̫<CFB5><CCAB>ʸ<EFBFBD><CAB8>XYZ
UINT8 Ass_SunOK; //<2F><><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>λ<EFBFBD>ǿ<EFBFBD><C7BF>ñ<EFBFBD>־
TYPE_CAL Ass_SunVecb[3]; //ģ<><C4A3>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ̫<CFB5><CCAB>ʸ<EFBFBD><CAB8>XYZ
UINT8 Ass_SunVecVld; //ģ<><C4A3>̫<EFBFBD><CCAB>̫<EFBFBD><CCAB>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>־
UINT8 ADIn_Date;
} AssPara_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
***********************************************/
typedef struct MagPara_s /* <20><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9> */
{
UINT8 MagIn_Valid[3]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>A/B<><42>Ч<EFBFBD><D0A7>־
UINT8 MagIn_DataSta; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч״̬
UINT8 MagCrCheckFlg[MAG_NUM]; //<2F><><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD>ǿ<EFBFBD>Ʊ<EFBFBD>־
UINT8 MagAvailableFlg[MAG_NUM];
UINT8 Mag_Use; //ѡ<><D1A1><EFBFBD>Ĵ<EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч
UINT8 Mag_UsePre;
UINT8 MagUseSwich; //<2F><>Դѡ<D4B4><D1A1>
TYPE_CAL Mag_Bb_MeaAB[MAG_NUM][3]; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ǿ<EFBFBD>ƴ<EFBFBD>ʸ<EFBFBD><CAB8>
TYPE_CAL Mag_Bb_MeaZH[3]; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ǿ<EFBFBD>ƴ<EFBFBD>ʸ<EFBFBD><CAB8>(<28><>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>)
TYPE_CAL Mag_Bc_MeaAB[MAG_NUM][3]; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ǿ<EFBFBD><C7BF>A<EFBFBD><41>ʸ<EFBFBD><CAB8>
TYPE_CAL Mag_Bb[3]; //<2F><>ǿ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>ϵ<EFBFBD><CFB5>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL Mag_BbPre[3]; //<2F><>һ<EFBFBD><D2BB><EFBFBD>ڴ<EFBFBD>ʸ<EFBFBD><CAB8>
TYPE_CAL Mag_UBb[3]; //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8>
} MagPara_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
***********************************************/
typedef struct WhlPara_s{
UINT8 WhlIn_Valid[WHEEL_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>־
UINT8 WhlIn_DataSta[WHEEL_NUM]; //Rcw <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чԭ<D0A7><D4AD>
TYPE_CAL Whl_Rate[WHEEL_NUM]; //<2F><><EFBFBD>ֵ<EFBFBD>ǰʵ<C7B0><CAB5>ת<EFBFBD>٣<EFBFBD><D9A3><EFBFBD>λrpm
TYPE_CAL Whl_RatePre[WHEEL_NUM]; //<2F><><EFBFBD>ֵ<EFBFBD>ǰʵ<C7B0><CAB5>ת<EFBFBD>٣<EFBFBD><D9A3><EFBFBD>λrpm
INT16 Whl_Current[WHEEL_NUM]; //<2F><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>
TYPE_CAL Whl_Tmper[WHEEL_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 Whl_Time[WHEEL_NUM]; //<2F>ڲ<EFBFBD>ʱ<EFBFBD><CAB1>
UINT32 Whl_TimePRE[WHEEL_NUM]; //<2F>ڲ<EFBFBD>ʱ<EFBFBD><CAB1>
//UINT8 Whl_OK; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD><CFBF>ñ<EFBFBD>־
TYPE_CAL Whl_Momentum[WHEEL_NUM]; //<2F>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD>ֵĽǶ<C4BD><C7B6><EFBFBD>
TYPE_CAL Whl_Momentum_Sum ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ؽǶ<D8BD><C7B6><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL Whl_Momentum_XYZ[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD>
UINT8 Whl_UseCnt; //<2F><><EFBFBD>÷<EFBFBD><C3B7>ּ<EFBFBD><D6BC><EFBFBD>
UINT8 Whl_WorkMode[WHEEL_NUM]; //<2F><><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>ָ<EFBFBD><D6B8>:<3A><><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD>ģʽ
} WhlPara_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>PPU<EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
***********************************************/
typedef struct PPUPara_s{
UINT8 PPUIn_Valid; //PPU<50><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>־
UINT8 PPUIn_DataSta; //PPU <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Чԭ<D0A7><D4AD>
UINT8 PPUOUT_Sta; //PPUָ<55><EFBFBD><EEBFAA>״̬
UINT8 PPUIn_ReCnt; //PPUң<55><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 PPUNoUse_Cnt; //PPU<50><55>ʹ<EFBFBD>ü<EFBFBD><C3BC><EFBFBD>
UINT8 PPUIn_ReCntPre; //PPU<50><55>һ<EFBFBD><D2BB>ң<EFBFBD><D2A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL PPUIn_AVoltage; //<2F>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ѹ
TYPE_CAL PPUIn_ACurrent; //<2F>ƽ<EFBFBD><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>
UINT8 PPUIn_FIREOK; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>־
UINT8 PPUIn_FIREOKPre; //<2F><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>־
UINT32 PPUT_FIR_Start[50];
UINT32 PPUT_FIR_End[50];
//UINT32 PPUT_FIR_EndLast;
UINT32 PPUT_FIR_Sum;
UINT8 PPUT_FIR_Cnt;
UINT8 PPUT_FIR_CntS;
UINT16 PPUT_FIR_SumCnt;
TYPE_CAL PPUT_BOTTLE_Tmper1;
TYPE_CAL PPUT_BOTTLE_Tmper2;
TYPE_CAL PPUT_PIPE_Tmper1;
TYPE_CAL PPUT_PIPE_Tmper2;
UINT8 PPU_OrbitCtl_Quit_OK_Flag; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>־*/
UINT8 PPU_OrbitCtl_Quit_OK_Cnt; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>*/
UINT8 PPU_OrbitCtl_Quit_Err_Flag; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD>־*/
UINT8 PPU_OrbitCtl_Quit_Err_Cnt; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>*/
} PPUPara_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>
***********************************************/
typedef struct MtPara_s /* <20><>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9> */
{
TYPE_CAL MTCtrlOutP0[MT_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>ر<EFBFBD>
UINT8 MTDirect[MT_NUM]; //<2F>ſط<C5BF><D8B7><EFBFBD>
UINT8 MTOnOff[MT_NUM]; //<2F><><EFBFBD>ش<EFBFBD><D8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 MTCtrlTime; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 MTStatus; //<2F><><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD>״̬ 20230713
} MtPara_t;
/*<2A><><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
typedef struct
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽṹ
SsPara_t SsPara[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>012<31><32>ӦABC
GyroPara_t GyroPara[3]; //<2F><><EFBFBD><EFBFBD>
AssPara_t AssPara; //ģ<><C4A3>̫<EFBFBD><CCAB>
MagPara_t MagPara; //<2F><>ǿ<EFBFBD><C7BF>
WhlPara_t WhlPara; //<2F><><EFBFBD><EFBFBD>
MtPara_t MtPara; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
PPUPara_t PPUPara; //PPU
//<2F><><EFBFBD>ݱ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>
UINT8 GyroIn_Comb; //<2F><><EFBFBD>ݱ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD>Ͽ<EFBFBD><CFBF>ñ<EFBFBD>־
TYPE_CAL GyroIn_CombWi[3]; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ݽ<EFBFBD><DDBD>ٶ<EFBFBD>
TYPE_CAL Gyro_ATTWi[3]; //<2F><><EFBFBD>ݶ<EFBFBD><DDB6>˽<EFBFBD><CBBD>ٶ<EFBFBD>
TYPE_CAL Ss_Qi[4]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA>1234
TYPE_CAL Ss_Wi[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ٶ<EFBFBD>123
}sAttDataPrePara_t;
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>
typedef struct
{
UINT8 AttDeter_Type; //<2F>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>ģʽ
//<2F>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL Qi[4]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA>1234
TYPE_CAL Wi[3]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ٶ<EFBFBD>123
TYPE_CAL Ai[3]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ؼ<EFBFBD><D8BC>ٶ<EFBFBD>123
UINT8 PPUVld; //PPU<50><55><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>Ч<EFBFBD><D0A7>־
UINT32 SatTime[2]; //<2F><><EFBFBD><EFBFBD>ʱ <20><><><CEA2>
UINT8 Qi_Vld; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>־
UINT8 Wi_Vld; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD>ٶ<EFBFBD><D9B6><EFBFBD>Ч<EFBFBD><D0A7>־
TYPE_CAL QiPre[4];
TYPE_CAL WiPre[3];
UINT8 QiPre_Vld;
UINT32 GyroINT_Time; //<2F><><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>ʱ<EFBFBD><CAB1>
//<2F><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>
TYPE_CAL SunVecb[3]; //<2F><><EFBFBD>DZ<EFBFBD><C7B1><EFBFBD>ϵ̫<CFB5><CCAB>ʸ<EFBFBD><CAB8>XYZ
TYPE_CAL AngToSun[3]; //<2F><><EFBFBD>Ƕ<EFBFBD><C7B6><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD>XY
UINT8 AngToSun_ValidFlg; //<2F><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>־
UINT8 CalAngToSun_Source; //<2F><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>־
//<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>̬
TYPE_CAL Qo[4]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC>Ԫ<EFBFBD><D4AA>1234
TYPE_CAL AttRateOrb[3]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC><EFBFBD>ٶ<EFBFBD>XYZ
TYPE_CAL AttAngTar[3]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵĿ<CFB5><C4BF><EFBFBD><EFBFBD>̬
TYPE_CAL AttAngOrb[3]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬
TYPE_CAL SunVeco[3]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ̫<CFB5><CCAB>ʸ<EFBFBD><CAB8>XYZ
UINT8 AttOrb_Vld; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC>Ч<EFBFBD><D0A7>־
//Ŀ<><C4BF><EFBFBD>ο<EFBFBD>ϵ<EFBFBD><CFB5>̬
TYPE_CAL AttAngTarRe[3]; //<2F><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>ο<EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC>XYZ
TYPE_CAL AttRateTarRe[3]; //<2F><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>ο<EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC><EFBFBD>ٶ<EFBFBD>
UINT8 AttTarRe_Vld; //<2F><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>ο<EFBFBD>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC>Ч<EFBFBD><D0A7>־
//<2F><><EFBFBD>زο<D8B2>ϵ<EFBFBD><CFB5>̬
TYPE_CAL AttAngOrbCtrl[3]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9>زο<D8B2>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC>XYZ
TYPE_CAL AttRateOrbCtrl[3]; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9>زο<D8B2>ϵ<EFBFBD><CFB5>̬<EFBFBD><CCAC><EFBFBD>ٶ<EFBFBD>XYZ
UINT8 AttOrbCtrl_Vld; //<2F><><EFBFBD>ǹ<EFBFBD><C7B9>زο<D8B2>ϵϵ<CFB5><CFB5>̬<EFBFBD><CCAC>Ч<EFBFBD><D0A7>־
//<2F>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬
TYPE_CAL CLPAttAng[3]; //<2F>ջ<EFBFBD><D5BB><EFBFBD>̬<EFBFBD><CCAC>XYZ
TYPE_CAL CLPAttAngRat[3]; //<2F>ջ<EFBFBD><D5BB><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ٶ<EFBFBD>XYZ
TYPE_CAL CLPAttAngRatPre[3]; //ǰһ<C7B0>ıջ<C4B1><D5BB><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ٶ<EFBFBD>XYZ
UINT8 CLPAttValid; //<2F>ջ<EFBFBD><D5BB><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>־
}sAttDeterPara_t;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
UINT8 AttGuid_Type; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽ
TYPE_CAL TargAng[3]; //Ŀ<><C4BF><EFBFBD><EFBFBD>̬<EFBFBD><CCAC>XYZ
TYPE_CAL TargAngRat[3]; //Ŀ<><C4BF><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ٶ<EFBFBD>XYZ
UINT32 CaptureSunCnt; //<2F><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7><EFBFBD><EFBFBD>
}sAttGuidLawPara_t;
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>*/
typedef struct
{
//<2F><><EFBFBD>ذ<EFBFBD>
UINT8 OrbCtrlPcak_ID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ID
UINT32 OrbAttAjustTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>λs+ms
TYPE_CAL OrbCtrAng[3]; //<2F><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>̬
UINT32 OrbCtrl_StartTime; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>λs
UINT16 OrbCtrl_TimeLength; //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
UINT8 OrbCtrl_Mod; //<2F><><EFBFBD>غ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EAB9A4>ģʽ
UINT16 OrbDateSum; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD>У<EFBFBD><D0A3>
}AttOrbCtrlPara_t;
/*<2A><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
typedef struct
{
UINT8 CurOrbCtrlPcak_ID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ID
UINT8 CurOrbCtrlPcak_PreID; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ID
UINT8 OrbCtrlPcak_ReceiveFlg[50]; //<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ذ<EFBFBD><D8B0><EFBFBD>־
AttOrbCtrlPara_t OrbCtrlPackCur; //<2F><>ǰʹ<C7B0>õĹ<C3B5><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
UINT8 OrbDataIn_OK; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>־
UINT16 OrbDataIn_OKCnt;
}sAttOrbitCtlInfo_t;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
typedef struct
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
AttOrbCtrlPara_t OrbCtrlPack[50]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
}sAttOrbitCtlData_t;
/*Ŀ<><EFBFBD><EAB6A8><><D7A2><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
typedef struct
{
UINT8 TARCtrlPcak_ID; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ID
//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
UINT32 TARCtrl_JustTime; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD>ʼʱ<CABC><CAB1>,<2C><>λs
TYPE_CAL TARCtrAng[3]; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD>̬
UINT32 TARCtrl_StartTime; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD>ʼʱ<CABC><CAB1>,<2C><>λs
UINT16 TARCtrl_TimeLength; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>,<2C><>λs
UINT16 TARCtrlDateSum; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݺ<EFBFBD>У<EFBFBD><D0A3>
}sAttTARCCtlPara_t;
/*Ŀ<><EFBFBD><EAB6A8><><D7A2><EFBFBD><EFBFBD><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
typedef struct
{
UINT8 CurTARCtrlPcak_ID; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ID
UINT8 CurTARCtrlPcak_PreID; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD>ID
UINT8 TARCtrlPcak_ReceiveFlg[30]; //<2F>յ<EFBFBD>Ŀ<EFBFBD><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
sAttTARCCtlPara_t TARCtrlPackCur;
UINT8 TARDataIn_OK; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>־
UINT16 TARDataIn_OKCnt;
}sAttTARCCtlInfo_t;
typedef struct
{
//Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
sAttTARCCtlPara_t TARCtrlPack[30]; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD>
}sAttTARCCtlData_t;
/*<2A><><EFBFBD><EFBFBD>ȷ<EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
typedef struct
{
UINT8 OrbitVld; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>־
TYPE_CAL JPos[3]; //λ<><CEBB>
TYPE_CAL JVel[3]; //<2F>ٶ<EFBFBD>
TYPE_CAL GAST;
TYPE_CAL MJC; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL MJCLv; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7>
}sAttOrbitGetPara_t;
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
typedef struct
{
//UINT8 AttCtrl_TypeTEST;
//<2F><>ж<EFBFBD><D0B6><EFBFBD>
UINT8 IsDump; //<2F><><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>״̬(<28><><EFBFBD><EFBFBD>)
//PID<49><44><EFBFBD><EFBFBD>
TYPE_CAL SumAerrPre[3]; //<2F>Ƕ<EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 PD2PIDCnt; //PDתPID<49><44><EFBFBD><EFBFBD>
UINT8 CtrlPD2PID; //
//<2F><><EFBFBD><EFBFBD>
TYPE_CAL MagCtrlResult[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>XYZ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL MagCtrlXYZZ[MT_NUM];
TYPE_CAL Mag_DeltBb[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL WheelCtrlResult[3]; //<2F><><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>XYZ<59><5A><EFBFBD><EFBFBD>λNm
TYPE_CAL WheelCtrlResultPre[3];
TYPE_CAL ZK_Ctrl_Reserver111;
TYPE_CAL ZK_Ctrl_Reserver222;
UINT16 ZK_Ctrl_Reserver333;
UINT16 ZK_Ctrl_Reserver444;
UINT8 ZK_Ctrl_Reserver555;
UINT8 ZK_Ctrl_Reserver666;
}sAttCtlPara_t;
//ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL Wheel_TwcCmd[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵĿ<D6B5><C4BF><EFBFBD>ָ<EFBFBD><D6B8>
//<2F><>ƽ<EFBFBD><C6BD>
TYPE_CAL WheelD_MomOfForce_Cmd; //<2F><><EFBFBD><EFBFBD>D<EFBFBD><44><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>,<2C><>λNm
TYPE_CAL WheelD_RotatSpd_Cmd; //<2F><><EFBFBD><EFBFBD><44><D7AA>ָ<EFBFBD><D6B8>,<2C><>λrad/s
//<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEA3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL Whl_Torque[WHEEL_NUM]; //<2F><><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>ָ<EFBFBD><D6B8><><D7AA>
TYPE_CAL Wheel_LJCmd[WHEEL_NUM]; //<2F><><EFBFBD>ֿ<EFBFBD><D6BF><EFBFBD>ָ<EFBFBD><D6B8>:<3A><><EFBFBD><EFBFBD>
UINT16 Wheel_Cmd_Cnt; //<2F><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>ָ<EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
}AttCmdDsp_t;
/*<2A>˿<EFBFBD>ģʽѡ<CABD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
typedef struct
{
UINT8 WorkMode; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ģʽ
UINT8 MiniDataSet; //<2F><>Сģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD>󣬻ָ<F3A3ACBB>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>
UINT8 WorkModePre; //<2F><>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ģʽ
UINT8 WModSadaOpen; //<2F><><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>־
UINT8 ZKSadaOpen; //<2F><><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>־(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
UINT8 WModSadaOpenPre; //<2F><><EFBFBD><EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>־
UINT8 ModeSwitchFlg; //ģʽ<C4A3>л<EFBFBD><D0BB><EFBFBD>־<EFBFBD><D6BE>
UINT8 Mod2UnctlFirst; //<2F>״ν<D7B4><CEBD>޿ر<DEBF>־
UINT8 ZKPowOnFirst; //<2F>״η<D7B4><CEB7><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 ZKPowOnStep; //<2F>״η<D7B4><CEB7><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD>
UINT16 WModCnt1; //1<><31><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD>ģʽ
UINT16 WModCnt2[2]; //2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 WModCnt3; //3<><33><EFBFBD>ֿض<D6BF><D8B6>ն<EFBFBD><D5B6><EFBFBD>
UINT16 WModCnt4; //4<><34><EFBFBD>ſض<C5BF><D8B6>ն<EFBFBD><D5B6><EFBFBD>
UINT16 WModCnt5; //5<><35><EFBFBD>Եض<D4B5><D8B6><EFBFBD>
UINT16 WModCnt6; //6<><36><EFBFBD><EFBFBD>̬<EFBFBD>Ե<EFBFBD>
UINT16 WModCnt7; //7<><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
UINT16 WModCnt8; //8<><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 WModCnt9; //9<><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
UINT16 WModCntA; //10<31><30><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EAB6A8>
UINT16 WModCntB; //11<31><31><EFBFBD>޿<EFBFBD>ģʽ
UINT8 ReDataBK; //<2F>˿<EFBFBD><CBBF><EFBFBD><EFBFBD>ݱ<EFBFBD><DDB1>ݳɹ<DDB3><C9B9><EFBFBD>׼
UINT8 ATTFlashSwitch; //Flash<73><68><EFBFBD>ݸ<EFBFBD><DDB8>±<EFBFBD>־
}sAttModPara_t;
//<2F><><EFBFBD><EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>
typedef struct
{
UINT32 SatTime_s; //<2F><><EFBFBD><EFBFBD>ʱ
UINT32 SatTime_ms;
//̫<><CCAB>ʸ<EFBFBD><CAB8>
TYPE_CAL SunVecI[3]; //<2F><><EFBFBD><EFBFBD>ϵ̫<CFB5><CCAB>ʸ<EFBFBD><CAB8>XYZ<59><5A><EFBFBD><EFBFBD>λʸ<CEBB><CAB8><EFBFBD><EFBFBD>
TYPE_CAL SunPosVecI[3]; //<2F><><EFBFBD><EFBFBD>ϵ̫<CFB5><CCAB>λ<EFBFBD><CEBB>ʸ<EFBFBD><CAB8>XYZ
UINT8 bInOutShadow; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0>־
//<2F><>Ӱ<EFBFBD>ж<EFBFBD>
TYPE_CAL BetaAng; //beta<74><61>
UINT8 BetaShadow; //<2F><><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD>ã<EFBFBD>0x55<35><35>Ӱ<EFBFBD><D3B0>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 BetaAngCntIn; //<2F><><EFBFBD>ǽ<EFBFBD>Ӱ<EFBFBD>жϼ<D0B6><CFBC><EFBFBD> <20><>ʼֵΪ0
UINT32 BetaAngCntOut; //<2F><><EFBFBD>dz<EFBFBD>Ӱ<EFBFBD>жϼ<D0B6><CFBC><EFBFBD> <20><>ʼֵΪ0
//<2F>ų<EFBFBD>
TYPE_CAL fvBe[3]; //<2F>ض<EFBFBD><D8B6><EFBFBD>ϵ<EFBFBD><CFB5>ʸ<EFBFBD><CAB8>
TYPE_CAL fvBi[3]; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ʸ<EFBFBD><CAB8>
TYPE_CAL fvBo[3]; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ʸ<EFBFBD><CAB8>
TYPE_CAL fvBb[3]; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL fLonLat[3]; //<2F><>γ<EFBFBD><CEB3> <20><><EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD>
UINT8 fvIn_Valid; //<2F>ų<EFBFBD><C5B3><EFBFBD>ʽ<EFBFBD><CABD>Ч<EFBFBD><D0A7>־
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
TYPE_CAL OrbAttRate_Wo; //<2F><><EFBFBD><EFBFBD>ϵ<EFBFBD>¹<EFBFBD><C2B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
}sAttEnvPara_t;
//<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
//<2F><><EFBFBD><EFBFBD><EFBFBD>
UINT8 GyroIn_PowerOn[GYRO_NUM]; //<2F><><EFBFBD>ݼӵ<DDBC>״̬
UINT32 Gyro_PowerOnCnt[GYRO_NUM]; //<2F><><EFBFBD>ݼӵ<DDBC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
UINT16 GyroErrCnt[GYRO_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>,<2C><><EFBFBD><EFBFBD>60000
UINT32 Gyro_Err_Cnt1[GYRO_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD>
UINT32 Gyro_Err_Cnt2[GYRO_NUM]; //<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 Gyro_Err_Cnt3[GYRO_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 Gyro_err[GYRO_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD>쳣״̬
UINT8 Gyro_Diag[GYRO_NUM]; //<2F><><EFBFBD>ݹ<EFBFBD><DDB9>ϱ<EFBFBD>־
//<2F><><EFBFBD><EFBFBD><EFBFBD>
UINT8 ssIn_PowerOn[STAR_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>״̬
UINT32 ss_PowerOnCnt[STAR_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
UINT16 ssErrCnt[STAR_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>,<2C><><EFBFBD><EFBFBD>60000
UINT32 ss_Err_Cnt1[STAR_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD>
UINT32 ss_Err_Cnt2[STAR_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 ss_Err_Cnt3[STAR_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 SS_err[STAR_NUM] ; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣״̬
UINT8 ss_Diag[STAR_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>־
//<2F><>ǿ<EFBFBD><C7BF><EFBFBD>
UINT8 MagIn_PowerOn[MAG_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF>A/B<>ӵ<EFBFBD>״̬
UINT32 Mag_PowerOnCnt[MAG_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD>Ƽӵ<C6BC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
UINT16 MagErrCnt[MAG_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><ECB3A3><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>,<2C><><EFBFBD><EFBFBD>60000
UINT16 MagNoErrCnt[MAG_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD>,<2C><><EFBFBD><EFBFBD>60000
UINT32 Mag_Err_Cnt1[MAG_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD>
UINT32 Mag_Err_Cnt2[MAG_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD>ƹ<EFBFBD><C6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 Mag_Err_Cnt3[MAG_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 Mag_err[MAG_NUM] ; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD>쳣״̬
UINT8 Mag_Diag[MAG_NUM]; //ģ<><C4A3><EFBFBD><EFBFBD>ǿ<EFBFBD>ƹ<EFBFBD><C6B9>ϱ<EFBFBD>־
//<2F><><EFBFBD><EFBFBD><EFBFBD>
UINT8 WhlUseState; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>״̬
UINT8 WhlIn_PowerOn[WHEEL_NUM]; //<2F><><EFBFBD>ּӵ<D6BC>״̬
UINT32 Whl_PowerOnCnt[WHEEL_NUM]; //<2F><><EFBFBD>ּӵ<D6BC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
UINT16 WhlTemErrCnt[WHEEL_NUM]; //<2F><><EFBFBD>²<EFBFBD><C2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 WhlOutErrCnt[WHEEL_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 Whl_Err_Cnt1[WHEEL_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD>
UINT32 Whl_Err_Cnt2[WHEEL_NUM]; //<2F><><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 Whl_Err_Cnt3[WHEEL_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 Whl_Err[WHEEL_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD>쳣״̬
UINT8 Whl_Diag[WHEEL_NUM]; //<2F><><EFBFBD>ֹ<EFBFBD><D6B9>ϱ<EFBFBD>־
//PPU
UINT8 PPUIn_PowerOn; //<2F><><EFBFBD>Ƽӵ<C6BC>״̬
UINT32 PPU_PowerOnCnt; //<2F><><EFBFBD>Ƽӵ<C6BC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
UINT8 PPU_Err; //PPU<50>쳣״̬
//UINT8 PPUTXT_Err; //PPU<50>쳣״̬
UINT8 PPU_Diag; //PPU<50><55><EFBFBD>ϱ<EFBFBD>־
UINT16 PPUOutErrCnt; //PPU<50><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 PPUIn_ACurCnt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 PPUIn_VCurCnt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>
UINT16 PPUOUT_FIRECnt; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT16 PPUOUT_TemperECnt; //<2F><>ƿ<EFBFBD><C6BF>·<EFBFBD><C2B7>·<EFBFBD><C2B7><EFBFBD>µ<EFBFBD><C2B5><EFBFBD>
UINT32 PPU_Err_Cnt1; //PPU<50><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD><EFBFBD>
UINT32 PPU_Err_Cnt2; //PPU<50><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT32 PPU_Err_Cnt3; //PPU<50><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
////<2F><>̬<EFBFBD><CCAC>׼<EFBFBD><D7BC>ʧ
UINT16 AttLoseCnt; //<2F><>̬<EFBFBD><CCAC>ʧ<EFBFBD><CAA7><EFBFBD><EFBFBD>
//<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
UINT8 AttExFlg[3]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־YZ
UINT16 AttExCnt; //<2F><>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
TYPE_CAL AngRateMod_RATEDMP[61]; //<2F><>ײ<EFBFBD><D7B2><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĽ<C2B5><C4BD>ٶ<EFBFBD>ʸ<EFBFBD><CAB8>ģֵ
UINT16 YawCnt; //<2F>Ե<EFBFBD>ƫ<EFBFBD><C6AB>/<2F><>Ŀ<EFBFBD><C4BF>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6>ж<EFBFBD>
UINT8 AttUnSta[3]; //X<><58><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD>־YZ
UINT16 AttUnStaCnt; //<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD>
UINT16 AttModCnt; //<2F><>̬<EFBFBD><CCAC><EFBFBD>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD>
///*<2A><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־ */
//UINT8 AttPPUOnReq; //PPU<50><55>һ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־Ĭ<D6BE><C4AC>0X00:û<>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>0x55:<3A><><EFBFBD><EFBFBD>һ<EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>
//UINT8 AttPPUOffReq; //PPU<50><55>һ<EFBFBD>Ĺض<C4B9><D8B6><EFBFBD><EFBFBD><EFBFBD>־Ĭ<D6BE><C4AC>0X00:û<>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD>0x55:<3A><><EFBFBD><EFBFBD>һ<EFBFBD>Ĺض<C4B9><D8B6><EFBFBD>
}sAttErrCtlPara_t;
//<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>״̬
typedef struct
{
UINT8 SSUseState[STAR_NUM]; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>״̬<D7B4><CCAC>
UINT8 GyroUseState[GYRO_NUM]; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>״̬<D7B4><CCAC>
UINT8 Whl_Use[WHEEL_NUM]; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>״̬
UINT8 MagUseState[MAG_NUM]; //<2F><>ǿ<EFBFBD><C7BF>/<2F><>ʹ<EFBFBD><CAB9>״̬
UINT8 AssUseState[ASS_NUM]; //<2F><><EFBFBD><EFBFBD>̫<EFBFBD><CCAB><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>־
UINT8 MTUseStatus[MT_NUM]; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>״̬
UINT8 PPUUseStatus; //PPUʹ<55><CAB9>״̬
UINT8 PPUSafeStatus; //PPUʹ<55><CAB9>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ȫʹ<C8AB>ã<EFBFBD>
}AttIMPTPara_t;
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD>
typedef struct
{
sSaveDataHead sBKHead; //У<><D0A3>ͷ<EFBFBD><CDB7>
UINT8 BK_WorkMode;
UINT8 BK_WorkModeChangeAuto;
UINT8 BK_SS_err[STAR_NUM];
UINT8 BK_Mag_err[MAG_NUM];
UINT8 BK_Gyro_err[GYRO_NUM];
UINT8 BK_Whl_Err[WHEEL_NUM];
UINT8 BK_PPU_Err;
UINT8 BK_SSUseState[STAR_NUM];
UINT8 BK_GyroUseState[GYRO_NUM];
UINT8 BK_Whl_Use[WHEEL_NUM];
UINT8 BK_MagUseState[MAG_NUM];
UINT8 BK_AssUseState[ASS_NUM];
UINT8 BK_MTUseStatus[MT_NUM];
UINT8 BK_PPUUseStatus;
UINT8 BK_Gyro_ComRESW[3];
UINT8 BK_Mag_ComRESW[3];
UINT8 BK_ssPrior[STAR_NUM];
UINT8 BK_GyroPrior[GYRO_NUM];
UINT8 BK_ss_Diag[STAR_NUM];
UINT8 BK_Mag_Diag[MAG_NUM];
UINT8 BK_Gyro_Diag[GYRO_NUM];
UINT8 BK_Whl_Diag[WHEEL_NUM];
UINT8 BK_Allow_Sensor_CThr;
UINT8 BK_AllowAttLoseDiagFlg;
UINT8 BK_AllowAttExDiagFlg;
UINT8 BK_AllowAttStaDiagFlg;
UINT8 BK_AllowssONOFF[STAR_NUM];
UINT8 BK_AllowGyroONOFF[GYRO_NUM];
UINT8 BK_AllowMagONOFF[MAG_NUM];
UINT8 BK_AllowWhlONOFF[WHEEL_NUM];
UINT8 BK_AllowPPUONOFF;
UINT32 iVldFlag; //<2F><>Ч<EFBFBD><D0A7><EFBFBD>ǣ<EFBFBD>0x55555555Ϊ<35><CEAA>Ч
}AttBKPara_t;
typedef struct
{
//UINT8 AttCtlBKFlag; //<2F><>Ҫ<EFBFBD><D2AA><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UINT8 WorkModeBK[3];
UINT8 WorkModeChangeAutoBK[3];
UINT8 SS_errBK[STAR_NUM][3];
UINT8 Mag_errBK[MAG_NUM][3];
UINT8 Gyro_errBK[GYRO_NUM][3];
UINT8 Whl_ErrBK[WHEEL_NUM][3];
UINT8 PPU_ErrBK[3];
UINT8 SSUseStateBK[STAR_NUM][3];
UINT8 AssUseStateBK[ASS_NUM][3];
UINT8 MagUseStateBK[MAG_NUM][3];
UINT8 GyroUseStateBK[GYRO_NUM][3];
UINT8 Whl_UseBK[WHEEL_NUM][3];
UINT8 MTUseStatusBK[MT_NUM][3];
UINT8 PPUUseStatusBK[3];
UINT8 Gyro_ComRESWBK[3][3];
UINT8 Mag_ComRESWBK[3][3];
UINT8 ssPriorBK[STAR_NUM][3];
UINT8 GyroPriorBK[GYRO_NUM][3];
UINT8 Allow_Sensor_CThrBK[3];
UINT8 AllowAttLoseDiagFlgBK[3];
UINT8 AllowAttExDiagFlgBK[3];
UINT8 AllowAttStaDiagFlgBK[3];
UINT8 AllowssONOFFBK[STAR_NUM][3];
UINT8 AllowGyroONOFFBK[GYRO_NUM][3];
UINT8 AllowMagONOFFBK[MAG_NUM][3];
UINT8 AllowWhlONOFFBK[WHEEL_NUM][3];
UINT8 AllowPPUONOFFBK[3];
}AttCtlData3T2_t;
typedef struct
{
UINT16 SHDepartCntlimt1;
//FLASH<53><48><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>
UINT8 SADAFLASH_RESET1;
UINT8 SADAFLASH_RESET2;
UINT8 SADAFLASH_RESET3;
UINT16 SADAFLASH_RESET4;
UINT16 SADAFLASH_RESET5;
UINT16 SADAFLASH_RESET6;
TYPE_CAL SADAFLASH_RESET7;
TYPE_CAL SADAFLASH_RESET8;
TYPE_CAL SADAFLASH_RESET9;
}SadaCmdFlash_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> Flash<EFBFBD><EFBFBD>
***********************************************/
typedef struct AttBackupFlash_s{
sSaveDataHead sBKHead; //У<><D0A3>ͷ<EFBFBD><CDB7>
//<2F>˿<EFBFBD>д<EFBFBD><D0B4>Flash<73><68><EFBFBD><EFBFBD>
AttCmdFlash_t AttFlashPara;
//SADAд<41><D0B4>Flash<73><68><EFBFBD><EFBFBD>
SadaCmdFlash_t SadaFlashPara;
UINT32 iVldFlag; //<2F><>Ч<EFBFBD><D0A7><EFBFBD>ǣ<EFBFBD>0x55555555Ϊ<35><CEAA>Ч
} AttBackupFlash_t;
/***********************************************
˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>ڹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
***********************************************/
typedef struct AttCmdRESET_s{
UINT8 ZGBCU8_Reset1;
UINT8 ZGBCU8_Reset2;
UINT8 ZGBCU8_Reset3;
UINT8 ZGBCU8_Reset4;
UINT8 ZGBCU8_Reset5;
UINT16 ZGBCU16_Reset1;
UINT16 ZGBCU16_Reset2;
UINT16 ZGBCU16_Reset3;
UINT16 ZGBCU16_Reset4;
UINT16 ZGBCU16_Reset5;
TYPE_CAL ZGBCF_Reset1;
TYPE_CAL ZGBCF_Reset2;
TYPE_CAL ZGBCF_Reset3;
TYPE_CAL ZGBCF_Reset4;
TYPE_CAL ZGBCF_Reset5;
} AttCmdRESET_t;
//<2F>˿<EFBFBD><CBBF>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9><EFBFBD><EFBFBD>
typedef struct
{
sAttOrbitGetPara_t sOrbitPara; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ
sAttDataPrePara_t sPerPara; //<2F><><EFBFBD>ݾ<EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sAttDeterPara_t sDeterPara; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>˲<EFBFBD><CBB2><EFBFBD>
sAttCtlPara_t sCtlPara; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD>
sAttEnvPara_t sEnvPara; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ģ<EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>
sAttGuidLawPara_t sGuidLawPara; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sAttModPara_t sModePara; //ģʽʽ<CABD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģʽѡ<CABD><D1A1>
sAttOrbitCtlInfo_t sOrbitInp; //<2F><><EFBFBD>ذ<EFBFBD><D8B0><EFBFBD><EFBFBD><EFBFBD>
sAttTARCCtlInfo_t sTARCInp; //Ŀ<><EFBFBD><EAB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sAttErrCtlPara_t sErrCtlPara; //<2F><><EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AttCmdDsp_t sCmdDspPara; //ָ<><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AttIMPTPara_t sIMPTPara; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>״̬
AttBKPara_t AttBKPara; //<2F><>Ҫ<EFBFBD><D2AA><EFBFBD>ݱ<EFBFBD><DDB1><EFBFBD><EFBFBD><EFBFBD>
AttCtlData3T2_t AttData3T2Para; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SadaCmdFlash_t ATSFlashPara; //sadaflash<73><68><EFBFBD><EFBFBD>
AttCmdRESET_t sAttRESETPara; //<2F>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>
}sAttPriData;
//void ZKDev_PPU_OnOffProcess(UINT8 OnState);/*PPU<50><55><EFBFBD>ػ<EFBFBD><D8BB><EFBFBD><EFBFBD><EFBFBD>*/
void SetWheel(UINT8 WheelId, TYPE_CAL Value, UINT8 CmdType);
BOOL AttCtrlInit(UINT8 taskID);
void ZKPreAction(void);
void ZKPowerState(void);
void ZKCtrlReinitBK(void);
void ZKModInit(void);
void ZKDYInit(void);
void ZKMINICmdResolve(UINT8 *tmpCmd);
void ATTImportDataBackup(void);
void ATTSetBase3ToBuff(UINT8 *pTDATA, UINT8 *pSDATA);
void ZKDPAction(void);
void ZKPGAct(void);
void ZKDYAction(void);
void ZKCmdDspAct(void);
void ATTRestoreFromFlash(void);
/*AttRECheck.c<>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>*/
void ZKREInit(void);
void ImuPowerOnOff( UINT8 ChlON,UINT8 ChlOFF,UINT8 ONOFF, UINT32 *Cnt1 , UINT32 *Cnt2, UINT32 *Cnt3,UINT32 Cnt1Limt , UINT32 Cnt2Limt , UINT32 Cnt3Limt ,UINT32 Cnt4Limt ,UINT8 err, UINT8 *state);
void GyroImuErrJudge(void);
void SsImuErrJudge(void);
void MagImuErrJudge(void);
void WhlImuErrJudge(void);
void PPUImuErrJudge(void);
UINT8 AttLose(UINT8 i);
void AttLoseJudge(void);
void AttExJudge(void);
void AttUnStaJudge(void);
void ZKREAction(void);
/*AttPoseGet.c<>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>*/
void ZKPGInit(void);
void Gyro_AttChoice(void);
void Gyro_AttDeter(void);
void QuatDiffCal(TYPE_CAL * pQ_now, TYPE_CAL * pQ_pre, TYPE_CAL * pW);
void SsGyro_AngDeter(void);
void SsGyro_AttDeter(void);
void Cal_AngToSun(void);
void DertCalcBb(void);
void AttDeterOrb(void);
void AttDeterOrbCtrl(void);
void AttDeterTarRe(void);
void LoopAttDeter(void);
/*AttPoseCtrl.c<>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>*/
void ZKPosCtlInit(void);
void ZKPosCtlOutInit(void);
void MagDataDeltaProc(TYPE_CAL *cMagBb, TYPE_CAL *cMagBbPre, TYPE_CAL *cMagDelta, TYPE_CAL cDeltaT);
void CtrlMagBdotDamp(TYPE_CAL *cDeltBb, TYPE_CAL *cMagT);
void MagDmpMomentCal(void);
void MagSunMomentCal(void);
void WheelCalc_PD(void);
void WheelCalc_PID(void);
void Whl_Momentum_Count(void);
void CtrlWheelReleaseProc(void);
void CtrlModPD2PID(void);
void ZKPosCtlAct(sAttDeterPara_t *pAttDet, sAttGuidLawPara_t *pAttGuid, sAttCtlPara_t *pAttCtrl);
/*AttModeSel.c<>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>*/
void ZKModChgInit(void);
void ZKModDoSet(UINT8 newWMode);
void ZKDoModCal(void);
void ZKModeSel_Auto(void);
void ZKModeSel_Up(void);
void ZKDoModeAct(void);
/*AttEnvMod.c<>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>*/
void ZKEnvInit(void);
void ZKEnvCycInit(void);
void MJD_CAL_ATT(UINT32 sat_time, TYPE_CAL *pMjd);
void MJC_CAL_ATT(TYPE_CAL mjd, TYPE_CAL *pMjc, UINT8 *MJCLv);
void ObtSunVecI(TYPE_CAL JulC, TYPE_CAL *pSunVI, TYPE_CAL *pSunPVI);
void Cal_OrbAttRate_Wo(void);
void ShadowFlgCal(void);
void MagMath(TYPE_CAL *rLonLat, TYPE_CAL cgst, TYPE_CAL *B);
BOOL EarthLonLatCal(TYPE_CAL *cuR, TYPE_CAL *clonlat);
void TransMatrixIE(TYPE_CAL *clonlat, TYPE_CAL *cAie);
void ZKEnvAct(void);
/*AttDataPre.c<>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>*/
void ZKDPInit(void);
void Ss_DataGet(void );
#endif