1 package net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages;
5 import androidx.annotation.NonNull;
7 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXCommandCallback;
8 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXMessages;
10 public class GetScreenNail extends FujiXCommandBase
12 private final IFujiXCommandCallback callback;
13 private final byte lower;
14 private final byte upper;
15 private final byte data0;
16 private final byte data1;
17 private final byte data2;
18 private final byte data3;
20 public GetScreenNail(int indexNumber, int imageSize, @NonNull IFujiXCommandCallback callback)
22 this.lower = ((byte) (0x000000ff & indexNumber));
23 this.upper = ((byte)((0x0000ff00 & indexNumber) >> 8));
25 data0 = ((byte) (0x000000ff & imageSize));
26 data1 = ((byte)((0x0000ff00 & imageSize) >> 8));
27 data2 = ((byte)((0x00ff0000 & imageSize) >> 16));
28 data3 = ((byte)((0xff000000 & imageSize) >> 24));
29 this.callback = callback;
33 public IFujiXCommandCallback responseCallback()
41 return (IFujiXMessages.SEQ_FULL_IMAGE);
45 public byte[] commandBody()
49 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
50 (byte)0x01, (byte)0x00,
52 // message_header.type : full_image (0x101b)
53 (byte)0x1b, (byte)0x10,
56 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
58 // data ... (index number)
59 lower, upper, (byte)0x00, (byte)0x00,
62 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
64 // 現物合わせ2 : ~0x01000000 bytes
65 data0, data1, data2, data3,
69 public boolean dumpLog()