Subversion Repositories NaviCtrl

Rev

Rev 570 | Rev 574 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 570 Rev 573
Line 141... Line 141...
141
          sprintf(string, "<settings>\r\n"); fputs_(string, doc->file);
141
          sprintf(string, "<settings>\r\n"); fputs_(string, doc->file);
142
                sprintf(string, "<Number>%i</Number>\r\n",Parameter.ActiveSetting);fputs_(string, doc->file);
142
                sprintf(string, "<Number>%i</Number>\r\n",Parameter.ActiveSetting);fputs_(string, doc->file);
143
                sprintf(string, "<CompassOffset>%i</CompassOffset>\r\n",FC.FromFC_CompassOffset/10);fputs_(string, doc->file);
143
                sprintf(string, "<CompassOffset>%i</CompassOffset>\r\n",FC.FromFC_CompassOffset/10);fputs_(string, doc->file);
144
                sprintf(string, "<FCOrientation>%i</FCOrientation>\r\n",Parameter.OrientationAngle*15);fputs_(string, doc->file);
144
                sprintf(string, "<FCOrientation>%i</FCOrientation>\r\n",Parameter.OrientationAngle*15);fputs_(string, doc->file);
145
                sprintf(string, "<GeoMag>%i</GeoMag>\r\n",GeoMagDec/10);fputs_(string, doc->file);
145
                sprintf(string, "<GeoMag>%i</GeoMag>\r\n",GeoMagDec/10);fputs_(string, doc->file);
-
 
146
        sprintf(string, "<Neutral>%d,%d,%d</Neutral>\r\n", FC.AdNeutralNick,FC.AdNeutralRoll,FC.AdNeutralYaw);fputs_(string, doc->file);
-
 
147
                if(Parameter.Driftkomp) {sprintf(string, "<DriftComp>%i</DriftComp>\r\n",Parameter.Driftkomp);fputs_(string, doc->file);};
146
                if(Compass_I2CPort == NCMAG_PORT_EXTERN) sprintf(string, "<MagSensor>external (%i)</MagSensor>\r\n",NCMAG_Orientation);
148
                if(Compass_I2CPort == NCMAG_PORT_EXTERN) sprintf(string, "<MagSensor>external (%i)</MagSensor>\r\n",NCMAG_Orientation);
147
                else sprintf(string, "<MagSensor>internal</MagSensor>\r\n");fputs_(string, doc->file);
149
                else sprintf(string, "<MagSensor>internal</MagSensor>\r\n");fputs_(string, doc->file);
148
                if(AbsoluteFlyingAltitude) {sprintf(string, "<MaxAltitude>%i</MaxAltitude>\r\n",AbsoluteFlyingAltitude);fputs_(string, doc->file);}
150
                if(AbsoluteFlyingAltitude) {sprintf(string, "<MaxAltitude>%i</MaxAltitude>\r\n",AbsoluteFlyingAltitude);fputs_(string, doc->file);}
149
                if(AbsoluteFlyingRange_m) {sprintf(string, "<FlyRange>%i</FlyRange>\r\n",AbsoluteFlyingRange_m);fputs_(string, doc->file);}
151
                if(AbsoluteFlyingRange_m) {sprintf(string, "<FlyRange>%i</FlyRange>\r\n",AbsoluteFlyingRange_m);fputs_(string, doc->file);}
150
                if(AutoDescendRange_m) {sprintf(string, "<Descend>%i</Descend>\r\n",AutoDescendRange_m);fputs_(string, doc->file);};
152
                if(AutoDescendRange_m) {sprintf(string, "<Descend>%i</Descend>\r\n",AutoDescendRange_m);fputs_(string, doc->file);};
Line 379... Line 381...
379
                                // write <ele> tag
381
                                // write <ele> tag
380
                                i32_2 = altitude - NaviData.HomePosition.Altitude;
382
                                i32_2 = altitude - NaviData.HomePosition.Altitude;
381
                    if(GPSData.Position.Status == INVALID) i32_2 = 0;
383
                    if(GPSData.Position.Status == INVALID) i32_2 = 0;
382
                                i32_1 = i32_2/1000L;
384
                                i32_1 = i32_2/1000L;
383
                                i32_2 = i32_2%1000L;
385
                                i32_2 = i32_2%1000L;
384
                                if(altitude - NaviData.HomePosition.Altitude < 0)       sprintf(string,"<ele>-%ld.%03ld</ele>\r\n",abs(i32_1),abs(i32_2));
386
                                if(altitude - NaviData.HomePosition.Altitude < 0)       sprintf(string,"<ele>-%ld.%03ld</ele>\r\n",labs(i32_1),labs(i32_2));
385
                                else                                                                                            sprintf(string,"<ele>%ld.%03ld</ele>\r\n",i32_1,i32_2);
387
                                else                                                                                            sprintf(string,"<ele>%ld.%03ld</ele>\r\n",i32_1,i32_2);
386
                                fputs_(string, doc->file);
388
                                fputs_(string, doc->file);
387
                                // write <time> tag     only at a resolution of 1/100 second
389
                                // write <time> tag     only at a resolution of 1/100 second
388
                                sprintf(string, "<time>%04d-%02d-%02dT%02d:%02d:%02d.%dZ</time>\r\n",SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Hour, SystemTime.Min, SystemTime.Sec,SystemTime.mSec/100);
390
                                sprintf(string, "<time>%04d-%02d-%02dT%02d:%02d:%02d.%dZ</time>\r\n",SystemTime.Year, SystemTime.Month, SystemTime.Day, SystemTime.Hour, SystemTime.Min, SystemTime.Sec,SystemTime.mSec/100);
389
                                fputs_(string, doc->file);
391
                                fputs_(string, doc->file);
Line 550... Line 552...
550
                                fputs_(string, doc->file);
552
                                fputs_(string, doc->file);
551
                                // RC Quality
553
                                // RC Quality
552
                                sprintf(string, "<RCQuality>%d</RCQuality>\r\n", FC.RC_Quality);
554
                                sprintf(string, "<RCQuality>%d</RCQuality>\r\n", FC.RC_Quality);
553
                                fputs_(string, doc->file);
555
                                fputs_(string, doc->file);
554
                                // Navigation Update speed (in 0.1Hz)
556
                                // Navigation Update speed (in 0.1Hz)
-
 
557
                                if(Parameter.Driftkomp)
-
 
558
                                 {
-
 
559
                                  sprintf(string, "<Neutral>%d,%d,%d</Neutral>\r\n", FC.AdNeutralNick,FC.AdNeutralRoll,FC.AdNeutralYaw);
-
 
560
                                  fputs_(string, doc->file);
-
 
561
                                 }
555
//                              sprintf(string, "<NaviUpdate>%d,%d</NaviUpdate>\r\n",FreqGpsProcessedIn5Sec,FreqNewGpsDataIn5Sec);
562
//                              sprintf(string, "<NaviUpdate>%d,%d</NaviUpdate>\r\n",FreqGpsProcessedIn5Sec,FreqNewGpsDataIn5Sec);
556
//                              fputs_(string, doc->file);
563
//                              fputs_(string, doc->file);
557
                                // eof extensions
564
                                // eof extensions
558
                                i32_2 = altitude;
565
                                i32_2 = altitude;
559
                    if(GPSData.Position.Status == INVALID) i32_2 = 0;
566
                    if(GPSData.Position.Status == INVALID) i32_2 = 0;
560
                                i32_1 = i32_2/1000L;
567
                                i32_1 = i32_2/1000L;
561
                                i32_2 = i32_2%1000L;
568
                                i32_2 = i32_2%1000L;
562
                                if(altitude < 0) sprintf(string,"<ele_raw>-%ld.%03ld</ele_raw>\r\n",abs(i32_1),abs(i32_2));
569
                                if(altitude < 0) sprintf(string,"<ele_raw>-%ld.%03ld</ele_raw>\r\n",labs(i32_1),labs(i32_2));
563
                                else                     sprintf(string,"<ele_raw>%ld.%03ld</ele_raw>\r\n",i32_1,i32_2);
570
                                else                     sprintf(string,"<ele_raw>%ld.%03ld</ele_raw>\r\n",i32_1,i32_2);
564
                                fputs_(string, doc->file);
571
                                fputs_(string, doc->file);
Line 565... Line 572...
565
 
572
 
566
                                sprintf(string, "</extensions>\r\n");
573
                                sprintf(string, "</extensions>\r\n");