|
@@ -138,25 +138,35 @@ struct loc_message
|
|
|
|
|
|
float get_pdoa(const int i)
|
|
|
{
|
|
|
- if(i>1){
|
|
|
- return 10.0;
|
|
|
- }
|
|
|
- float poa1 = m_poa[i];
|
|
|
- float poa2 = m_poa[i+1];
|
|
|
- //float poa3 = poa[2];
|
|
|
+ if(i>1){
|
|
|
+ return 10.0;
|
|
|
+ }
|
|
|
+ float poa1 = m_poa[i];
|
|
|
+ float poa2 = m_poa[i+1];
|
|
|
|
|
|
- float pdoa = poa2 - poa1 + PI - m_sit->m_pdoa_offset;
|
|
|
- while(pdoa >= TPI){
|
|
|
- pdoa -= TPI;
|
|
|
- }
|
|
|
+ float pdoa = poa2 - poa1 - m_sit->m_pdoa_offset;
|
|
|
+ while(pdoa >= TPI){
|
|
|
+ pdoa -= TPI;
|
|
|
+ }
|
|
|
|
|
|
- while(pdoa < 0){
|
|
|
- pdoa += TPI;
|
|
|
- }
|
|
|
+ if(fabs(pdoa) > 0.3){
|
|
|
+ while(pdoa < 0){
|
|
|
+ pdoa += TPI;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pdoa -= PI;
|
|
|
+
|
|
|
+ /*pdoa -= m_sit->m_pdoa_offset;
|
|
|
+
|
|
|
+ if(pdoa < -1.0*PI){
|
|
|
+ pdoa += TPI;
|
|
|
+ }
|
|
|
|
|
|
- pdoa -= PI;
|
|
|
+ if(pdoa > PI){
|
|
|
+ pdoa -= TPI;
|
|
|
+ }*/
|
|
|
|
|
|
- return pdoa;
|
|
|
+ return pdoa;
|
|
|
}
|
|
|
};
|
|
|
|
|
@@ -182,12 +192,11 @@ struct pdoa_param{
|
|
|
double a;
|
|
|
double ax;
|
|
|
double ay;
|
|
|
- double p;
|
|
|
|
|
|
- pdoa_param(const double& _pdoa, const double& _r, const double& _a, const double& _ax, double& _ay, double& _p):pdoa(_pdoa), r(_r), a(_a), ax(_ax), ay(_ay), p(_p)
|
|
|
+ pdoa_param(const double& _pdoa, const double& _r, const double& _a, const double& _ax, double& _ay):pdoa(_pdoa), r(_r), a(_a), ax(_ax), ay(_ay)
|
|
|
{}
|
|
|
|
|
|
- pdoa_param():pdoa(0.0), r(0.0), a(0.0), ax(0.0), ay(0.0), p(0.0)
|
|
|
+ pdoa_param():pdoa(0.0), r(0.0), a(0.0), ax(0.0), ay(0.0)
|
|
|
{}
|
|
|
};
|
|
|
|