94 lines
2.1 KiB
C
94 lines
2.1 KiB
C
|
|
|
|||
|
|
#ifndef __CURVES_H__
|
|||
|
|
#define __CURVES_H__
|
|||
|
|
|
|||
|
|
#include "config.h"
|
|||
|
|
|
|||
|
|
//--------------------------------------------------
|
|||
|
|
// <20><><EFBFBD>μӼ<CEBC><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u32 movement; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
float begPPS; // <20><><EFBFBD>γ<EFBFBD>ʼ<EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float endPPS; // <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float runPPS; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float maxPPSS; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ٶ<EFBFBD>
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>
|
|||
|
|
u32 mvmtseg[3]; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>, <20>ֶε<D6B6>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>, ˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
float newRunPPS; // <20>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float newAddPPSS; // <20>µļ<C2B5><C4BC>ٶ<EFBFBD>
|
|||
|
|
|
|||
|
|
}TTypeCtrl;
|
|||
|
|
|
|||
|
|
//--------------------------------------------------
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
u32 TTypeCalcDisplacement(float pps1, float pps2, float ppss);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float TTypeCalcAddPPSS(u32 disp, float pps1, float pps2);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float TTypeCalcEndSpd(u32 disp, float pps1, float ppss);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
float TTypeCalcRunTime(u32 disp, u32 startpps, u32 stoppps, u32 runpps, u32 addppss);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>
|
|||
|
|
int TTypeCalcRunParas(TTypeCtrl * pTTypeCtrl);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD>Ƶϵ<C6B5><CFB5><EFBFBD><EFBFBD>
|
|||
|
|
int TTypeCalcDivTab(u32 fin, TTypeCtrl * pTTypeCtrl, u32 * pFidvTab, u32 * pTablen);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//--------------------------------------------------
|
|||
|
|
// 7<><37>S<EFBFBD>ͼӼ<CDBC><D3BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
typedef struct
|
|||
|
|
{
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
u32 movement; // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
float begPPS; // <20><><EFBFBD>γ<EFBFBD>ʼ<EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float endPPS; // <20><><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float runPPS; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶȣ<D9B6>v<EFBFBD><76>
|
|||
|
|
float maxPPSS; // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ٶȣ<D9B6>a<EFBFBD><61>
|
|||
|
|
float maxPPSSS; // <20><><EFBFBD><EFBFBD><EFBFBD>ļӼ<C4BC><D3BC>ٶȣ<D9B6>j<EFBFBD><6A>
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD>
|
|||
|
|
u32 timeseg[7]; // <20>߶<EFBFBD>ʱ<EFBFBD>䳤<EFBFBD><E4B3A4>, <20><>λΪ1<CEAA><31>ʱ<EFBFBD><CAB1>Ƭ
|
|||
|
|
u32 mvmtseg[7]; // <20>߶<EFBFBD>λ<EFBFBD><CEBB>, <20>ֶε<D6B6>λ<EFBFBD><CEBB><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>, ˵<><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
|
float newRunPPS; // <20>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
|
|||
|
|
}STypeCtrl;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
|
u32 STypeCalcDisplacement(float pps1, float pps2, float ppss);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float STypeCalcAddPPSS(u32 disp, float pps1, float pps2);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
|||
|
|
float STypeCalcEndSpd(u32 disp, float pps1, float ppss);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
|
float STypeCalcRunTime(u32 disp, u32 startpps, u32 stoppps, u32 runpps, u32 addppss);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>
|
|||
|
|
int STypeCalcRunParas(STypeCtrl * pSTypeCtrl);
|
|||
|
|
|
|||
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɷ<EFBFBD>Ƶϵ<C6B5><CFB5><EFBFBD><EFBFBD>
|
|||
|
|
int STypeCalcDivTab(u32 fin, STypeCtrl * pSTypeCtrl, u32 * pFidvTab, u32 * pTablen);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//--------------------------------------------------
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
|
|||
|
|
|