OSDN Git Service

FUJIFILM機のビデオ撮影機能を追加。
[gokigen/Gr2Control.git] / app / src / main / java / net / osdn / gokigen / gr2control / camera / fuji_x / wrapper / command / messages / FinishRecordingMovie.java
1 package net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages;
2
3 import androidx.annotation.NonNull;
4
5 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXCommandCallback;
6 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXMessages;
7
8 public class FinishRecordingMovie extends FujiXCommandBase
9 {
10     private final IFujiXCommandCallback callback;
11     private final byte data0;
12     private final byte data1;
13     private final byte data2;
14     private final byte data3;
15
16     public FinishRecordingMovie(@NonNull IFujiXCommandCallback callback, int startSequenceNumber)
17     {
18         this.callback = callback;
19
20         data0 = ((byte) (0x000000ff & startSequenceNumber));
21         data1 = ((byte)((0x0000ff00 & startSequenceNumber) >> 8));
22         data2 = ((byte)((0x00ff0000 & startSequenceNumber) >> 16));
23         data3 = ((byte)((0xff000000 & startSequenceNumber) >> 24));
24     }
25
26     @Override
27     public IFujiXCommandCallback responseCallback()
28     {
29         return (callback);
30     }
31
32     @Override
33     public int getId()
34     {
35         return (IFujiXMessages.SEQ_FINISH_MOVIE);
36     }
37
38     @Override
39     public byte[] commandBody()
40     {
41         return (new byte[] {
42                 // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
43                 (byte)0x01, (byte)0x00,
44
45                 // message_header.type : stop_recording_movie (0x9021)
46                 (byte)0x21, (byte)0x90,
47
48                 // sequence number
49                 (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
50
51                 // data...
52                 data0, data1, data2, data3,
53         });
54     }
55 }