Subversion Repositories Projects

Rev

Rev 266 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 266 Rev 381
Line 222... Line 222...
222
    /*    public void next_gps_format()
222
    /*    public void next_gps_format()
223
    {
223
    {
224
        act_gps_format=(byte)((act_gps_format+1)%GPS_FORMAT_COUNT);
224
        act_gps_format=(byte)((act_gps_format+1)%GPS_FORMAT_COUNT);
225
        }*/
225
        }*/
226
 
226
 
-
 
227
 
-
 
228
 
227
    public String act_gps_format_str(int val)
229
    public String gps_format_str(int val,int format)
228
    {
230
    {
229
        switch(act_gps_format)
231
        switch(format)
230
            {
232
            {
231
            case GPS_FORMAT_DECIMAL:
233
            case GPS_FORMAT_DECIMAL:
232
                return "" + val/10000000 + "." +val%10000000  ;
234
                return "" + val/10000000 + "." +val%10000000  ;
233
            case GPS_FORMAT_MINSEC:
235
            case GPS_FORMAT_MINSEC:
234
                return "" +  val/10000000 + "^" +  ((val%10000000)*60)/10000000 + "'" + ((((val%10000000)*60)%10000000)*60)/10000000 +  "." + ((((val%10000000)*60)%10000000)*60)%10000000;
236
                return "" +  val/10000000 + "^" +  ((val%10000000)*60)/10000000 + "'" + ((((val%10000000)*60)%10000000)*60)/10000000 +  "." + ((((val%10000000)*60)%10000000)*60)%10000000;
235
            default:
237
            default:
236
                return "invalid format" + act_gps_format;
238
                return "invalid format" + act_gps_format;
237
            }
239
            }
238
    }
240
    }
-
 
241
    public String act_gps_format_str(int val)
-
 
242
    {
-
 
243
        return gps_format_str(val,act_gps_format);
-
 
244
 
-
 
245
    }
239
 
246
 
240
   
247
   
241
 
248
 
242
    public String act_speed_format_str(int val)
249
    public String act_speed_format_str(int val)
243
    {
250
    {
Line 350... Line 357...
350
 
357
 
351
 
358
 
352
 
359
 
353
    public void set_by_mk_data(int[] in_arr,MKVersion version)
360
    public void set_by_mk_data(int[] in_arr,MKVersion version)
354
    {
361
    {
-
 
362
        int off=0;
-
 
363
        if (version.proto_minor>0) // fixme
-
 
364
            off++;
355
        Longitude=parse_arr_4(0,in_arr);
365
        Longitude=parse_arr_4(off+0,in_arr);
356
        Latitude=parse_arr_4(4,in_arr);
366
        Latitude=parse_arr_4(off+4,in_arr);
357
        Altitude=parse_arr_4(8,in_arr);
367
        Altitude=parse_arr_4(off+8,in_arr);
358
        //status=in_arr[12];
368
        //status=in_arr[12];
359
 
369
 
360
        TargetLongitude=parse_arr_4(13,in_arr);
370
        TargetLongitude=parse_arr_4(off+13,in_arr);
361
        TargetLatitude=parse_arr_4(17,in_arr);
371
        TargetLatitude=parse_arr_4(off+17,in_arr);
362
        TargetAltitude=parse_arr_4(21,in_arr);
372
        TargetAltitude=parse_arr_4(off+21,in_arr);
363
        //Targetstatus=in_arr[25];
373
        //Targetstatus=in_arr[25];
364
 
374
 
365
        Distance2Target=parse_arr_2(26,in_arr);
375
        Distance2Target=parse_arr_2(off+26,in_arr);
366
        Angle2Target=parse_arr_2(28,in_arr);
376
        Angle2Target=parse_arr_2(off+28,in_arr);
367
 
377
 
368
        HomeLongitude=parse_arr_4(30,in_arr);
378
        HomeLongitude=parse_arr_4(off+30,in_arr);
369
        HomeLatitude=parse_arr_4(34,in_arr);
379
        HomeLatitude=parse_arr_4(off+34,in_arr);
370
        HomeAltitude=parse_arr_4(38,in_arr);
380
        HomeAltitude=parse_arr_4(off+38,in_arr);
371
        //Targetstatus=in_arr[42];
381
        //Targetstatus=in_arr[42];
372
 
382
 
373
        Distance2Home=parse_arr_2(43,in_arr);
383
        Distance2Home=parse_arr_2(off+43,in_arr);
374
        Angle2Home=parse_arr_2(45,in_arr);
384
        Angle2Home=parse_arr_2(off+45,in_arr);
375
 
385
 
376
        WayPointIndex=(byte)in_arr[47];
386
        WayPointIndex=(byte)in_arr[off+47];
377
        WayPointNumber=(byte)in_arr[48];
387
        WayPointNumber=(byte)in_arr[off+48];
378
 
388
 
379
        SatsInUse=(byte)in_arr[49];
389
        SatsInUse=(byte)in_arr[off+49];
380
       
390
       
381
       
391
       
382
        Altimeter=parse_arr_2(50,in_arr); // hight according to air pressure
392
        Altimeter=parse_arr_2(off+50,in_arr); // hight according to air pressure
383
        Variometer=parse_arr_2(52,in_arr);; // climb(+) and sink(-) rate
393
        Variometer=parse_arr_2(off+52,in_arr);; // climb(+) and sink(-) rate
384
        FlyingTime=parse_arr_2(54,in_arr);;
394
        FlyingTime=parse_arr_2(off+54,in_arr);;
385
       
395
       
386
        UBatt= in_arr[56];
396
        UBatt= in_arr[off+56];
387
 
397
 
388
 
398
 
389
        GroundSpeed= parse_arr_2(57,in_arr);
399
        GroundSpeed= parse_arr_2(off+57,in_arr);
390
        Heading= parse_arr_2(59,in_arr);
400
        Heading= parse_arr_2(off+59,in_arr);
391
        CompasHeading= parse_arr_2(61,in_arr);
401
        CompasHeading= parse_arr_2(off+61,in_arr);
392
       
402
       
393
        AngleNick = in_arr[63];
403
        AngleNick = in_arr[off+63];
394
        AngleRoll = in_arr[64];
404
        AngleRoll = in_arr[off+64];
395
        SenderOkay = in_arr[65];
405
        SenderOkay = in_arr[off+65];
396
 
406
 
397
        MKFlags=in_arr[66];
407
        MKFlags=in_arr[off+66];
398
        NCFlags=in_arr[67];
408
        NCFlags=in_arr[off+67];
399
 
409
 
400
        ErrorCode=in_arr[68];
410
        ErrorCode=in_arr[off+68];
401
 
411
 
402
 
412
 
403
    }
413
    }
404
 
414
 
405
 
415