1 package net.osdn.gokigen.cameratest.fuji;
5 static final int HELLO = 0x0000;
7 static final int START = 0x1002;
8 static final int STOP = 0x1003;
10 static final int IMAGE_INFO = 0x1008;
11 static final int THUMBNAIL = 0x100a;
13 static final int SHUTTER = 0x100e;
15 static final int SINGLE_PART = 0x1015;
16 static final int DOUBLE_PART = 0x1016;
18 static final int FULL_IMAGE = 0x101b;
19 static final int CAMERA_REMOTE = 0x101c;
21 static final int CAMERA_LAST_IMAGE = 0x9022;
23 static final int FOCUS_POINT = 0x9026;
24 static final int FOCUS_UNLOCK = 0x9027;
26 static final int CAMERA_CAPABILITIES = 0x902b;
28 static final int SHUTTER_SPEED = 0x902c;
29 static final int APERTURE = 0x902d;
30 static final int EXPOSURE_CORRECTION = 0x902e;
32 byte[] registration_message()
35 // length byte : (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
37 (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0xf2, (byte)0xe4, (byte)0x53, (byte)0x8f,
38 (byte)0xad, (byte)0xa5, (byte)0x48, (byte)0x5d, (byte)0x87, (byte)0xb2, (byte)0x7f, (byte)0x0b,
39 (byte)0xd3, (byte)0xd5, (byte)0xde, (byte)0xd0, // (byte)0x02, (byte)0x78, (byte)0xa8, (byte)0xc0,
40 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
42 // device_name 'ASUS_Z01BDA-2348'
43 (byte)0x41, (byte)0x00, (byte)0x53, (byte)0x00, (byte)0x55, (byte)0x00, (byte)0x53, (byte)0x00,
44 (byte)0x5f, (byte)0x00, (byte)0x5a, (byte)0x00, (byte)0x30, (byte)0x00, (byte)0x31, (byte)0x00,
45 (byte)0x42, (byte)0x00, (byte)0x44, (byte)0x00, (byte)0x41, (byte)0x00, (byte)0x2d, (byte)0x00,
46 (byte)0x32, (byte)0x00, (byte)0x33, (byte)0x00, (byte)0x34, (byte)0x00, (byte)0x38, (byte)0x00,
47 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
48 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
49 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
52 // device_name 'GOKIGEN____0123'
53 (byte)0x47, (byte)0x00, (byte)0x4f, (byte)0x00, (byte)0x4b, (byte)0x00, (byte)0x49, (byte)0x00,
54 (byte)0x47, (byte)0x00, (byte)0x45, (byte)0x00, (byte)0x4e, (byte)0x00, (byte)0x5f, (byte)0x00,
55 (byte)0x5f, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x5f, (byte)0x00, (byte)0x30, (byte)0x00,
56 (byte)0x31, (byte)0x00, (byte)0x32, (byte)0x00, (byte)0x33, (byte)0x00, (byte)0x00, (byte)0x00,
57 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
58 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
59 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
64 byte[] hello_message()
72 byte[] start_message()
77 (byte) 0x01, (byte) 0x00, (byte) 0x02, (byte) 0x10, (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00,
78 (byte) 0x01, (byte) 0x00, (byte) 0x00, (byte) 0x00,
80 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
81 (byte)0x01, (byte)0x00,
83 // message_header.type : START (0x1002)
84 (byte)0x02, (byte)0x10,
86 // message_id (0~1づつ繰り上がる)
87 (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x00,
90 (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x00,
94 byte[] start_message2()
99 (byte) 0x01, (byte) 0x00, (byte) 0x15, (byte) 0x10, (byte) 0x02, (byte) 0x00, (byte) 0x00, (byte) 0x00,
100 (byte) 0x12, (byte) 0xd2, (byte) 0x00, (byte) 0x00,
102 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
103 (byte)0x01, (byte)0x00,
105 // message_header.type : single_part (0x1015)
106 (byte)0x15, (byte)0x10,
108 // message_id (0~1づつ繰り上がる)
109 (byte)0x02, (byte)0x00, (byte)0x00, (byte)0x00,
112 (byte)0x12, (byte)0xd2, (byte)0x00, (byte)0x00,
117 byte[] start_message3_1()
122 (byte) 0x01, (byte) 0x00, (byte) 0x16, (byte) 0x10, (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00,
123 (byte) 0x01, (byte) 0xdf, (byte) 0x00, (byte) 0x00,
125 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
126 (byte)0x01, (byte)0x00,
128 // message_header.type : two_part (0x1016)
129 (byte)0x16, (byte)0x10,
131 // message_id (0~1づつ繰り上がる)
132 (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x00,
135 (byte)0x01, (byte)0xdf, (byte)0x00, (byte)0x00,
140 byte[] start_message3_2()
145 (byte) 0x02, (byte) 0x00, (byte) 0x16, (byte) 0x10, (byte) 0x03, (byte) 0x00, (byte) 0x00, (byte) 0x00,
146 (byte) 0x05, (byte) 0x00,
148 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
149 (byte)0x02, (byte)0x00,
151 // message_header.type : two_part (0x1016)
152 (byte)0x16, (byte)0x10,
154 // message_id (0~1づつ繰り上がる...けど two-part messageなので同じ)
155 (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x00,
158 (byte)0x05, (byte)0x00,
164 byte[] start_message4()
169 (byte) 0x01, (byte) 0x00, (byte) 0x15, (byte) 0x10, (byte) 0x04, (byte) 0x00, (byte) 0x00, (byte) 0x00,
170 (byte) 0x24, (byte) 0xdf, (byte) 0x00, (byte) 0x00,
172 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
173 (byte)0x01, (byte)0x00,
175 // message_header.type : single_part (0x1015)
176 (byte)0x15, (byte)0x10,
178 // message_id (0~1づつ繰り上がる)
179 (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x00,
182 (byte)0x24, (byte)0xdf, (byte)0x00, (byte)0x00,
187 byte[] start_message5_1()
192 (byte) 0x01, (byte) 0x00, (byte) 0x16, (byte) 0x10, (byte) 0x05, (byte) 0x00, (byte) 0x00, (byte) 0x00,
193 (byte) 0x24, (byte) 0xdf, (byte) 0x00, (byte) 0x00,
195 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
196 (byte)0x01, (byte)0x00,
198 // message_header.type : two_part (0x1016)
199 (byte)0x16, (byte)0x10,
201 // message_id (0~1づつ繰り上がる)
202 (byte)0x05, (byte)0x00, (byte)0x00, (byte)0x00,
205 (byte)0x24, (byte)0xdf, (byte)0x00, (byte)0x00,
210 byte[] start_message5_2()
215 (byte) 0x02, (byte) 0x00, (byte) 0x16, (byte) 0x10, (byte) 0x05, (byte) 0x00, (byte) 0x00, (byte) 0x00,
216 (byte) 0x07, (byte) 0x00, (byte) 0x02, (byte) 0x00,
218 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
219 (byte)0x02, (byte)0x00,
221 // message_header.type : two_part (0x1016)
222 (byte)0x16, (byte)0x10,
224 // message_id (0~1づつ繰り上がる...けど two-part messageなので同じ)
225 (byte)0x05, (byte)0x00, (byte)0x00, (byte)0x00,
228 (byte)0x07, (byte)0x00, (byte)0x02, (byte)0x00,
233 byte[] start_message6()
238 (byte) 0x01, (byte) 0x00, (byte) 0x15, (byte) 0x10, (byte) 0x06, (byte) 0x00, (byte) 0x00, (byte) 0x00,
239 (byte) 0x12, (byte) 0xd2, (byte) 0x00, (byte) 0x00,
241 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
242 (byte)0x01, (byte)0x00,
244 // message_header.type : single_part (0x1015)
245 (byte)0x15, (byte)0x10,
247 // message_id (0~1づつ繰り上がる...)
248 (byte)0x06, (byte)0x00, (byte)0x00, (byte)0x00,
251 (byte)0x12, (byte)0xd2, (byte)0x00, (byte)0x00,
257 byte[] start_message7()
262 (byte) 0x01, (byte) 0x00, (byte) 0x2b, (byte) 0x90, (byte) 0x07, (byte) 0x00, (byte) 0x00, (byte) 0x00,
264 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
265 (byte)0x01, (byte)0x00,
267 // message_header.type : camera_capabilities (0x902b)
268 (byte)0x2b, (byte)0x90,
270 // message_id (0~1づつ繰り上がる...)
271 (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x00,
277 byte[] start_message8()
282 (byte) 0x01, (byte) 0x00, (byte) 0x15, (byte) 0x10, (byte) 0x08, (byte) 0x00, (byte) 0x00, (byte) 0x00,
283 (byte) 0x12, (byte) 0xd2, (byte) 0x00, (byte) 0x00
285 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
286 (byte)0x01, (byte)0x00,
288 // message_header.type : single_part (0x1015)
289 (byte)0x15, (byte)0x10,
291 // message_id (0~1づつ繰り上がる...)
292 (byte)0x08, (byte)0x00, (byte)0x00, (byte)0x00,
295 (byte)0x12, (byte)0xd2, (byte)0x00, (byte)0x00,
302 byte[] start_message9()
307 (byte) 0x01, (byte) 0x00, (byte) 0x1c, (byte) 0x10, (byte) 0x09, (byte) 0x00, (byte) 0x00, (byte) 0x00,
308 (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00
310 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
311 (byte)0x01, (byte)0x00,
313 // message_header.type : camera_remote (0x101c)
314 (byte)0x1c, (byte)0x10,
316 // message_id (0~1づつ繰り上がる...)
317 (byte)0x09, (byte)0x00, (byte)0x00, (byte)0x00,
320 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
321 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
327 byte[] status_request_message()
331 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
332 (byte)0x01, (byte)0x00,
334 // message_header.type : single_part (0x1015)
335 (byte)0x15, (byte)0x10,
337 // message_id (0~1づつ繰り上がる...)
338 (byte)0x0A, (byte)0x00, (byte)0x00, (byte)0x00,
341 (byte)0x12, (byte)0xd2, (byte)0x00, (byte)0x00,
346 byte[] execute_shutter_message()
350 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
351 (byte)0x01, (byte)0x00,
353 // message_header.type : shutter (0x100e)
354 (byte)0x0e, (byte)0x10,
356 // message_id (0~1づつ繰り上がる...
357 (byte)0x0B, (byte)0x00, (byte)0x00, (byte)0x00,
360 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
361 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
366 byte[] two_part_message_One()
370 (byte)0x10, (byte)0x16,
372 (byte)0x00, (byte)0x01,
374 (byte)0x01, (byte)0xdf, (byte)0x00, (byte)0x00,
378 byte[] two_part_message_Two()
382 (byte)0x10, (byte)0x16,
384 (byte)0x00, (byte)0x02,
386 (byte)0x05, (byte)0x00, (byte)0x00, (byte)0x00,