Subversion Repositories Projects

Rev

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

Rev 1562 Rev 1564
Line 2... Line 2...
2
 
2
 
3
import java.io.IOException;
3
import java.io.IOException;
4
import java.io.InputStream;
4
import java.io.InputStream;
Line -... Line 5...
-
 
5
import java.io.OutputStream;
-
 
6
 
5
import java.io.OutputStream;
7
import dongfang.mkt.datatype.GPSBearingAndRange;
6
 
8
import dongfang.mkt.datatype.GPSPosition;
7
import dongfang.mkt.frames.AllDisplaysResponseFrame;
9
import dongfang.mkt.frames.AllDisplaysResponseFrame;
8
import dongfang.mkt.frames.AnalogDebugLabelResponseFrame;
10
import dongfang.mkt.frames.AnalogDebugLabelResponseFrame;
9
import dongfang.mkt.frames.AttitudeDataResponseFrame;
11
import dongfang.mkt.frames.AttitudeDataResponseFrame;
10
import dongfang.mkt.frames.ChangeParameterSetResponseFrame;
12
import dongfang.mkt.frames.ChangeParameterSetResponseFrame;
11
import dongfang.mkt.frames.CompassHeadingResponseFrame;
13
import dongfang.mkt.frames.CompassHeadingResponseFrame;
12
import dongfang.mkt.frames.ConfirmFrame;
14
import dongfang.mkt.frames.ConfirmFrame;
13
import dongfang.mkt.frames.DebugResponseFrame;
15
import dongfang.mkt.frames.DebugResponseFrame;
14
import dongfang.mkt.frames.MotorTestResponseFrame;
-
 
15
import dongfang.mkt.frames.OSDDataResponseFrame;
-
 
16
import dongfang.mkt.frames.OSDDataResponseFrame.GPSDistanceAndBearing;
16
import dongfang.mkt.frames.MotorTestResponseFrame;
17
import dongfang.mkt.frames.OSDDataResponseFrame.GPSPosition;
17
import dongfang.mkt.frames.OSDDataResponseFrame;
18
import dongfang.mkt.frames.ReadExternalControlResponseFrame;
18
import dongfang.mkt.frames.ReadExternalControlResponseFrame;
19
import dongfang.mkt.frames.ResponseFrame;
19
import dongfang.mkt.frames.ResponseFrame;
20
import dongfang.mkt.frames.SetCompassHeadingResponseFrame;
20
import dongfang.mkt.frames.SetCompassHeadingResponseFrame;
21
import dongfang.mkt.frames.UniversalReadParamSetResponseFrame;
21
import dongfang.mkt.frames.UniversalReadParamSetResponseFrame;
22
import dongfang.mkt.frames.UniversalWriteParamSetResponseFrame;
22
import dongfang.mkt.frames.UniversalWriteParamSetResponseFrame;
Line -... Line 23...
-
 
23
import dongfang.mkt.frames.VariablesResponseFrame;
23
import dongfang.mkt.frames.VariablesResponseFrame;
24
import dongfang.mkt.frames.VersionResponseFrame;
24
import dongfang.mkt.frames.VersionResponseFrame;
25
 
25
 
26
/*
26
public class MKInputStream extends InputStream {
27
public class MKInputStream extends InputStream {
27
        int readByteCnt;
28
        int readByteCnt;
Line 258... Line 259...
258
                        pos.setLatitude(base64InputStream.readSignedDWord());
259
                        pos.setLatitude(base64InputStream.readSignedDWord());
259
                        pos.setAltitude(base64InputStream.readSignedDWord());
260
                        pos.setAltitude(base64InputStream.readSignedDWord());
260
                        pos.setStatus(base64InputStream.readByte());
261
                        pos.setStatus(base64InputStream.readByte());
261
                        f.setTargetPosition(pos);
262
                        f.setTargetPosition(pos);
Line 262... Line 263...
262
                       
263
                       
263
                        GPSDistanceAndBearing rnb = new GPSDistanceAndBearing();
264
                        GPSBearingAndRange rnb = new GPSBearingAndRange();
264
                        rnb.setDistance(base64InputStream.readWord());
265
                        rnb.setDistance(base64InputStream.readWord());
265
                        rnb.setBearing(base64InputStream.readSignedWord());
266
                        rnb.setBearing(base64InputStream.readSignedWord());
Line 266... Line 267...
266
                        f.setCurrentToTarget(rnb);
267
                        f.setCurrentToTarget(rnb);
Line 270... Line 271...
270
                        pos.setLatitude(base64InputStream.readSignedDWord());
271
                        pos.setLatitude(base64InputStream.readSignedDWord());
271
                        pos.setAltitude(base64InputStream.readSignedDWord());
272
                        pos.setAltitude(base64InputStream.readSignedDWord());
272
                        pos.setStatus(base64InputStream.readByte());
273
                        pos.setStatus(base64InputStream.readByte());
273
                        f.setHomePosition(pos);
274
                        f.setHomePosition(pos);
Line 274... Line 275...
274
                       
275
                       
275
                        rnb = new GPSDistanceAndBearing();
276
                        rnb = new GPSBearingAndRange();
276
                        rnb.setDistance(base64InputStream.readWord());
277
                        rnb.setDistance(base64InputStream.readWord());
277
                        rnb.setBearing(base64InputStream.readSignedWord());
278
                        rnb.setBearing(base64InputStream.readSignedWord());
Line 278... Line 279...
278
                        f.setCurrentToHome(rnb);
279
                        f.setCurrentToHome(rnb);
Line 318... Line 319...
318
                case 'T': {
319
                case 'T': {
319
                        MotorTestResponseFrame f = new MotorTestResponseFrame(address);
320
                        MotorTestResponseFrame f = new MotorTestResponseFrame(address);
320
                        result = f;
321
                        result = f;
321
                        break;
322
                        break;
322
                }
323
                }
323
                /*
324
                / *
324
                 * We have a collision with the 'x' token: Also used for VariablesRequest.
325
                 * We have a collision with the 'x' token: Also used for VariablesRequest.
325
                case 'x': {
326
                case 'x': {
326
                        LoopbackTestResponseFrame f = new LoopbackTestResponseFrame(address);
327
                        LoopbackTestResponseFrame f = new LoopbackTestResponseFrame(address);
327
                        f.setByte(getDataInputStream().readByte());
328
                        f.setByte(getDataInputStream().readByte());
328
                        f.setWord(getDataInputStream().readWord());
329
                        f.setWord(getDataInputStream().readWord());
329
                        f.setChararray(getDataInputStream().readChars(8));
330
                        f.setChararray(getDataInputStream().readChars(8));
330
                        result = f;
331
                        result = f;
331
                        break;
332
                        break;
332
                }
333
                }
333
            */
334
            * /
334
                case 'V': {
335
                case 'V': {
335
                        VersionResponseFrame f = new VersionResponseFrame(address);
336
                        VersionResponseFrame f = new VersionResponseFrame(address);
336
                        f.setSWMajor(base64InputStream.readByte());
337
                        f.setSWMajor(base64InputStream.readByte());
337
                        f.setSWMinor(base64InputStream.readByte());
338
                        f.setSWMinor(base64InputStream.readByte());
338
                        f.setProtoMajor(base64InputStream.readByte());
339
                        f.setProtoMajor(base64InputStream.readByte());
Line 351... Line 352...
351
                        break;
352
                        break;
352
                }
353
                }
353
                case 'w': {
354
                case 'w': {
354
                        SetCompassHeadingResponseFrame f = new SetCompassHeadingResponseFrame(address);
355
                        SetCompassHeadingResponseFrame f = new SetCompassHeadingResponseFrame(address);
355
                        // do stuff.
356
                        // do stuff.
356
                        /*
357
                        / *
357
                        ToMk3Mag.Attitude[0] = (int16_t)((10 * angle[PITCH]) / GYRO_DEG_FACTOR_PITCHROLL); // approx. 0.1 deg
358
                        ToMk3Mag.Attitude[0] = (int16_t)((10 * angle[PITCH]) / GYRO_DEG_FACTOR_PITCHROLL); // approx. 0.1 deg
358
                        ToMk3Mag.Attitude[1] = (int16_t)((10 * angle[ROLL]) / GYRO_DEG_FACTOR_PITCHROLL); // approx. 0.1 deg
359
                        ToMk3Mag.Attitude[1] = (int16_t)((10 * angle[ROLL]) / GYRO_DEG_FACTOR_PITCHROLL); // approx. 0.1 deg
359
                        ToMk3Mag.UserParam[0] = dynamicParams.UserParams[0];
360
                        ToMk3Mag.UserParam[0] = dynamicParams.UserParams[0];
360
                        ToMk3Mag.UserParam[1] = dynamicParams.UserParams[1];
361
                        ToMk3Mag.UserParam[1] = dynamicParams.UserParams[1];
361
                        ToMk3Mag.CalState = compassCalState;
362
                        ToMk3Mag.CalState = compassCalState;
362
                        */
363
                        * /
363
                        // Waste 8 bytes to make CRC match.
364
                        // Waste 8 bytes to make CRC match.
364
                        base64InputStream.readBytes(8);
365
                        base64InputStream.readBytes(8);
365
                        result = f;
366
                        result = f;
366
                        break;
367
                        break;
367
                }
368
                }
Line 397... Line 398...
397
                }
398
                }
Line 398... Line 399...
398
 
399
 
399
                return result;
400
                return result;
400
        }
401
        }
-
 
402
}
401
}
403
*/