OSDN Git Service

Fujiのライブビューと画像一覧の切り替えをできるようにした。
authorMRSa <mrsa@myad.jp>
Thu, 30 Apr 2020 13:56:33 +0000 (22:56 +0900)
committerMRSa <mrsa@myad.jp>
Thu, 30 Apr 2020 13:56:33 +0000 (22:56 +0900)
app/src/main/java/net/osdn/gokigen/gr2control/camera/fuji_x/wrapper/command/IFujiXMessages.java
app/src/main/java/net/osdn/gokigen/gr2control/camera/fuji_x/wrapper/command/messages/changemode/ChangeToLiveView7th.java [new file with mode: 0644]
app/src/main/java/net/osdn/gokigen/gr2control/camera/fuji_x/wrapper/connection/FujiXCameraModeChangeToLiveView.java

index 856ca0f..54c0820 100644 (file)
@@ -22,6 +22,8 @@ public interface IFujiXMessages
     int SEQ_CHANGE_TO_LIVEVIEW_4TH = 24;
     int SEQ_CHANGE_TO_LIVEVIEW_5TH = 25;
     int SEQ_CHANGE_TO_LIVEVIEW_6TH = 26;
+    int SEQ_CHANGE_TO_LIVEVIEW_7TH = 27;
+
 
     int SEQ_CHANGE_TO_PLAYBACK_ZERO = 30;
     int SEQ_CHANGE_TO_PLAYBACK_1ST = 31;
diff --git a/app/src/main/java/net/osdn/gokigen/gr2control/camera/fuji_x/wrapper/command/messages/changemode/ChangeToLiveView7th.java b/app/src/main/java/net/osdn/gokigen/gr2control/camera/fuji_x/wrapper/command/messages/changemode/ChangeToLiveView7th.java
new file mode 100644 (file)
index 0000000..7381373
--- /dev/null
@@ -0,0 +1,68 @@
+package net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages.changemode;
+
+import androidx.annotation.NonNull;
+
+import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXCommandCallback;
+import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.IFujiXMessages;
+import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages.FujiXCommandBase;
+
+public class ChangeToLiveView7th extends FujiXCommandBase
+{
+    private final int holdId;
+    private final IFujiXCommandCallback callback;
+
+    public ChangeToLiveView7th(int holdId, @NonNull IFujiXCommandCallback callback)
+    {
+        this.holdId = holdId;
+        this.callback = callback;
+    }
+
+    @Override
+    public IFujiXCommandCallback responseCallback()
+    {
+        return (callback);
+    }
+
+    @Override
+    public int getId()
+    {
+        return (IFujiXMessages.SEQ_CHANGE_TO_LIVEVIEW_7TH);
+    }
+
+    @Override
+    public byte[] commandBody()
+    {
+        return (new byte[] {
+                // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
+                (byte)0x01, (byte)0x00,
+
+                // message_header.type : 0x902b
+                (byte)0x2b, (byte)0x90,
+
+                // sequence number
+                (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+
+                // data ...
+                //(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+                //(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+        });
+    }
+
+    @Override
+    public int getHoldId()
+    {
+        return (holdId);
+    }
+
+    @Override
+    public boolean isHold()
+    {
+        return (false);
+    }
+
+    @Override
+    public boolean isRelease()
+    {
+        return (true);
+    }
+}
index 0246534..0d8a021 100644 (file)
@@ -17,6 +17,7 @@ import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages.change
 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages.changemode.ChangeToLiveView4th;
 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages.changemode.ChangeToLiveView5th;
 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages.changemode.ChangeToLiveView6th;
+import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages.changemode.ChangeToLiveView7th;
 import net.osdn.gokigen.gr2control.camera.fuji_x.wrapper.command.messages.changemode.ChangeToLiveViewZero;
 
 
@@ -101,11 +102,10 @@ public class FujiXCameraModeChangeToLiveView implements View.OnClickListener, IF
                     break;
 
                 case IFujiXMessages.SEQ_CHANGE_TO_LIVEVIEW_5TH:
-                    //publisher.enqueueCommand(new ChangeToLiveView6th(COMMANDID_CHANGE_TO_LIVEVIEW,this));
-
                     //  Liveview切り替え時のシーケンス番号を記憶する
                     changedLiveviewSeqNumber = getSequenceNumber(rx_body);
-                    publisher.enqueueCommand(new StatusRequestMessage(this));
+                    publisher.enqueueCommand(new ChangeToLiveView7th(COMMANDID_CHANGE_TO_LIVEVIEW,this));
+                    //publisher.enqueueCommand(new StatusRequestMessage(this));
                     break;
 
                 case IFujiXMessages.SEQ_CHANGE_TO_LIVEVIEW_6TH:
@@ -113,6 +113,11 @@ public class FujiXCameraModeChangeToLiveView implements View.OnClickListener, IF
                     //publisher.enqueueCommand(new StatusRequestMessage(this));
                     break;
 
+                case IFujiXMessages.SEQ_CHANGE_TO_LIVEVIEW_7TH:
+                    //publisher.enqueueCommand(new ChangeToLiveView6th(COMMANDID_CHANGE_TO_LIVEVIEW,this));
+                    publisher.enqueueCommand(new StatusRequestMessage(this));
+                    break;
+
                 case IFujiXMessages.SEQ_STATUS_REQUEST:
                     if (callback != null)
                     {