OSDN Git Service

撮影モード変更をできるようにする。
authorMRSa <mrsa@myad.jp>
Fri, 3 Sep 2021 15:01:56 +0000 (00:01 +0900)
committerMRSa <mrsa@myad.jp>
Fri, 3 Sep 2021 15:01:56 +0000 (00:01 +0900)
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/base/IPixproMessages.kt
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproChangeMode.kt [new file with mode: 0644]
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproChangeVideoMode.kt [new file with mode: 0644]
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproExecuteShutter.kt
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/status/PixproStatusConvert.kt
app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/status/PixproStatusHolder.kt
build.gradle

index 6a468d9..c5c030a 100644 (file)
@@ -19,6 +19,10 @@ interface IPixproMessages
 
         const val  SEQ_WHITE_BALANCE = 30
 
+        const val  SEQ_CHANGE_MODE_VIDEO = 40
+        const val  SEQ_CHANGE_MODE = 41
+
+
         const val  SEQ_CONNECT_01 = 101
         const val  SEQ_CONNECT_02 = 102
         const val  SEQ_CONNECT_03 = 103
diff --git a/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproChangeMode.kt b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproChangeMode.kt
new file mode 100644 (file)
index 0000000..131e495
--- /dev/null
@@ -0,0 +1,67 @@
+package jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.specific
+
+import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.IPixproCommandCallback
+import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.base.IPixproMessages
+import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.base.PixproCommandBase
+
+class PixproChangeMode(private val callback: IPixproCommandCallback, modeValue0: Int, modeValue1: Int = 0x00) : PixproCommandBase()
+{
+    private val data0: Byte = modeValue0.toByte()
+    private val data1: Byte = modeValue1.toByte()
+
+
+    override fun getId() : Int
+    {
+        return (IPixproMessages.SEQ_CHANGE_MODE)
+    }
+
+    override fun commandBody(): ByteArray {
+        return byteArrayOf(
+            0x2e.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x20.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0xed.toByte(), 0x03.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x80.toByte(),
+
+            0x12.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x20.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x12.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x69.toByte(), 0x08.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x69.toByte(), 0x08.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            data0, data1, 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0xff.toByte(), 0xff.toByte(), 0xff.toByte(), 0xff.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte()
+        )
+    }
+
+    override fun responseCallback(): IPixproCommandCallback
+    {
+        return callback
+    }
+}
diff --git a/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproChangeVideoMode.kt b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproChangeVideoMode.kt
new file mode 100644 (file)
index 0000000..83aa2a4
--- /dev/null
@@ -0,0 +1,70 @@
+package jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.specific
+
+import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.IPixproCommandCallback
+import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.base.IPixproMessages
+import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.base.PixproCommandBase
+
+
+class PixproChangeVideoMode(private val callback: IPixproCommandCallback) : PixproCommandBase()
+{
+
+    override fun getId() : Int
+    {
+        return (IPixproMessages.SEQ_CHANGE_MODE_VIDEO)
+    }
+
+    override fun commandBody(): ByteArray {
+        return byteArrayOf(
+            0x2e.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x30.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0xe9.toByte(), 0x03.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x80.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x30.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x10.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x03.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0xff.toByte(), 0xff.toByte(), 0xff.toByte(), 0xff.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte()
+        )
+    }
+
+    override fun responseCallback(): IPixproCommandCallback
+    {
+        return callback
+    }
+}
index 0923fa5..6bf7290 100644 (file)
@@ -13,274 +13,91 @@ class PixproExecuteShutter(private val callback: IPixproCommandCallback) : Pixpr
     override fun commandBody(): ByteArray
     {
         return byteArrayOf( //  (byte) 0xf9, (byte) 0x03
-            0x2e.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x30.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0xf9.toByte(),
-            0x03.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x03.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x80.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x01.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x02.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x08.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x08.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x28.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x01.toByte(),
-            0x20.toByte(),
-            0x00.toByte(),
-            0x90.toByte(),
-            0x01.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x01.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0xbf.toByte(),
-            0x4d.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x01.toByte(),
-            0x88.toByte(),
-            0x65.toByte(),
-            0xb6.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),  // (byte) 0xef, (byte) 0x03
-            0x2e.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x08.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0xef.toByte(),
-            0x03.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x01.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x80.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x01.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x01.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x08.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x02.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0x00.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0xff.toByte(),
-            0xff.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte()
+            0x2e.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x30.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0xf9.toByte(), 0x03.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x03.toByte(), 0x00.toByte(), 0x00.toByte(), 0x80.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x02.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x08.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x08.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x28.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x20.toByte(), 0x00.toByte(), 0x90.toByte(),
+            0x01.toByte(), 0xff.toByte(), 0xff.toByte(), 0xff.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x01.toByte(), 0xff.toByte(), 0xff.toByte(), 0xff.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0xbf.toByte(), 0x4d.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x88.toByte(), 0x65.toByte(), 0xb6.toByte(),
+
+            0xff.toByte(), 0xff.toByte(), 0xff.toByte(), 0xff.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),  // (byte) 0xef, (byte) 0x03
+            0x2e.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x08.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0xef.toByte(), 0x03.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x80.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x01.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x08.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0x02.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(),
+
+            0xff.toByte(), 0xff.toByte(), 0xff.toByte(), 0xff.toByte(),
+            0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte()
         )
     }
 
index 36e3007..5ca0901 100644 (file)
@@ -18,7 +18,8 @@ class PixproStatusConvert(private val statusHolder: PixproStatusHolder)
 
     fun getAvailableTakeMode(): List<String?>
     {
-        return (ArrayList())
+        return (listOf("P", "M", "ASCN"))
+        //return (listOf("P", "M", "ASCN", "Video", "Cont. Shot"))
     }
 
     fun getAvailableShutterSpeed(): List<String?>
@@ -58,7 +59,7 @@ class PixproStatusConvert(private val statusHolder: PixproStatusHolder)
 
     fun getAvailablePictureEffect(): List<String?>
     {
-        return (ArrayList())
+        return (listOf("Zoom In", "Zoom Out"))
     }
 
     fun getAvailableTorchMode(): List<String?>
index 199ec31..0eb1b5f 100644 (file)
@@ -9,10 +9,7 @@ import android.util.SparseIntArray
 import jp.osdn.gokigen.gokigenassets.camera.interfaces.ICameraStatus
 import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.IPixproCommandPublisher
 import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.base.PixproCommandOnlyCallback
-import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.specific.PixproFlashAuto
-import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.specific.PixproFlashOff
-import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.specific.PixproFlashOn
-import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.specific.PixproWhiteBalance
+import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.specific.*
 import java.lang.Exception
 import java.util.*
 
@@ -171,7 +168,7 @@ class PixproStatusHolder
             ICameraStatus.ISO_SENSITIVITY -> getIsoSensitivity()
             ICameraStatus.WHITE_BALANCE -> getWhiteBalance()
             //ICameraStatus.AE -> getMeteringMode()
-            //ICameraStatus.EFFECT -> getPictureEffect()
+            ICameraStatus.EFFECT -> getPictureEffect()
             ICameraStatus.BATTERY -> getRemainBattery()
             ICameraStatus.TORCH_MODE -> getTorchMode()
             //ICameraStatus.FOCUS_STATUS -> getfocusStatus()
@@ -259,6 +256,11 @@ class PixproStatusHolder
         return ("WB: $currentWhiteBalance")
     }
 
+    private fun getPictureEffect() : String
+    {
+        return ("Zoom")
+    }
+
     private fun getTorchMode() : String
     {
         return ("Flash: $currentFlashMode")
@@ -278,7 +280,7 @@ class PixproStatusHolder
                 ICameraStatus.ISO_SENSITIVITY -> setIsoSensitivity(value)
                 ICameraStatus.WHITE_BALANCE -> setWhiteBalance(value)
                 //ICameraStatus.AE -> setMeteringMode(value)
-                //ICameraStatus.EFFECT -> setPictureEffect(value)
+                ICameraStatus.EFFECT -> setPictureEffect(value)
                 ICameraStatus.TORCH_MODE -> setTorchMode(value)
                 //ICameraStatus.BATTERY -> setRemainBattery(value)
                 //ICameraStatus.FOCUS_STATUS -> setfocusStatus(value)
@@ -295,8 +297,21 @@ class PixproStatusHolder
     {
         try
         {
+            if (!::commandPublisher.isInitialized)
+            {
+                // 未初期化の場合はコマンドを送らない
+                return
+            }
             Log.v(TAG, " setTakeMode($value)")
-
+            when (value)
+            {
+                "P" -> commandPublisher.enqueueCommand(PixproChangeMode(PixproCommandOnlyCallback(), 0x01))
+                "M" -> commandPublisher.enqueueCommand(PixproChangeMode(PixproCommandOnlyCallback(), 0x08))
+                "ASCN" -> commandPublisher.enqueueCommand(PixproChangeMode(PixproCommandOnlyCallback(), 0x20))
+                "Video" -> commandPublisher.enqueueCommand(PixproChangeVideoMode(PixproCommandOnlyCallback()))
+                "Cont. Shot" -> commandPublisher.enqueueCommand(PixproChangeMode(PixproCommandOnlyCallback(), 0x00, 0x08))
+                else -> { }
+            }
         }
         catch (e: Exception)
         {
@@ -372,6 +387,30 @@ class PixproStatusHolder
         }
     }
 
+    private fun setPictureEffect(value: String)
+    {
+        try
+        {
+            if (!::commandPublisher.isInitialized)
+            {
+                // 未初期化の場合はコマンドを送らない
+                return
+            }
+            Log.v(TAG, " setPictureEffect($value)")
+            when (value)
+            {
+                "Zoom In" -> commandPublisher.enqueueCommand(PixproExecuteZoom(PixproCommandOnlyCallback(), 1))
+                "Zoom Out" -> commandPublisher.enqueueCommand(PixproExecuteZoom(PixproCommandOnlyCallback(), -1))
+                else -> { }
+            }
+        }
+        catch (e: Exception)
+        {
+            e.printStackTrace()
+        }
+    }
+
+
     private fun setTorchMode(value: String)
     {
         try
index 691b235..e2aa019 100644 (file)
@@ -6,7 +6,7 @@ buildscript {
         mavenCentral()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:7.0.1'
+        classpath 'com.android.tools.build:gradle:7.0.2'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 
         // NOTE: Do not place your application dependencies here; they belong