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 | */ |