OSDN Git Service

PowerShotZoom で、ライブビュー画像をカメラと端末の両方で出せるようにした。
authorMRSa <mrsa@myad.jp>
Fri, 25 Dec 2020 15:25:42 +0000 (00:25 +0900)
committerMRSa <mrsa@myad.jp>
Fri, 25 Dec 2020 15:25:42 +0000 (00:25 +0900)
app/src/main/java/net/osdn/gokigen/a01d/camera/canon/wrapper/connection/CanonCameraConnectSequenceType1.kt
app/src/main/java/net/osdn/gokigen/a01d/camera/canon/wrapper/connection/CanonConnection.java
app/src/main/res/xml/preferences_canon.xml

index 4bb41ae..ca5558f 100644 (file)
@@ -123,8 +123,8 @@ class CanonCameraConnectSequenceType1(val context: Activity, val cameraStatusRec
                 commandIssuer.enqueueCommand(PtpIpCommandGeneric(this, IPtpIpMessages.SEQ_DEVICE_PROPERTY, isDumpLog, 0, 0x9127, 4, 0x0000d1af))
             }
             IPtpIpMessages.SEQ_DEVICE_PROPERTY -> {
-                Log.v(TAG, " SEQ_DEVICE_PROPERTY ")
                 requestMessageCount++
+                Log.v(TAG, " SEQ_DEVICE_PROPERTY : $requestMessageCount")
                 interfaceProvider.informationReceiver.updateMessage(context.getString(R.string.canon_connect_connecting9), false, false, 0)
                 if (rx_body[8] == 0x01.toByte() && rx_body[9] == 0x20.toByte())
                 {
@@ -134,10 +134,11 @@ class CanonCameraConnectSequenceType1(val context: Activity, val cameraStatusRec
                         // ちょっと(250ms)待つ
                         Thread.sleep(250)
 
-                        if (requestMessageCount >= 4)
+                        if (requestMessageCount >= 5)
                         {
                             // コマンド発行
-                            commandIssuer.enqueueCommand(CanonSetDevicePropertyValue(this, IPtpIpMessages.SEQ_SET_DEVICE_PROPERTY, isDumpLog, 0, 150, 0xd136, 0x00))
+                            //commandIssuer.enqueueCommand(CanonSetDevicePropertyValue(this, IPtpIpMessages.SEQ_SET_DEVICE_PROPERTY, isDumpLog, 0, 150, 0xd136, 0x00))
+                            commandIssuer.enqueueCommand(CanonSetDevicePropertyValue(this, IPtpIpMessages.SEQ_DEVICE_PROPERTY_FINISHED, isDumpLog, 0, 300, 0xd1b0, 0x09))
                         }
                     }
                     catch (e: Exception)
index ccbe80d..87ca249 100644 (file)
@@ -234,13 +234,14 @@ public class CanonConnection implements ICameraConnection
         connectionStatus = CameraConnectionStatus.CONNECTING;
         try
         {
-            if (getConnectSequenceType() == 0)
+            if (getConnectSequenceType() == 1)
             {
-                cameraExecutor.execute(new CanonCameraConnectSequence(context, statusReceiver, this, interfaceProvider, statusChecker));
+                // 接続シーケンスが TYPE1 の時だけ有効とする (Power Shot Zoom用の接続シーケンス)
+                cameraExecutor.execute(new CanonCameraConnectSequenceType1(context, statusReceiver, this, interfaceProvider, statusChecker));
             }
             else
             {
-                cameraExecutor.execute(new CanonCameraConnectSequenceType1(context, statusReceiver, this, interfaceProvider, statusChecker));
+                cameraExecutor.execute(new CanonCameraConnectSequence(context, statusReceiver, this, interfaceProvider, statusChecker));
             }
         }
         catch (Exception e)
index e4cb72a..6439f20 100644 (file)
             android:summary="@string/pref_summary_canon_focus_xy" />
 
         <EditTextPreference
-            android:key="canon_host_ip"
-            android:title="@string/pref_canon_host_ip"
-            android:defaultValue="192.168.0.1"
-            android:summary="@string/pref_summary_canon_host_ip" />
-
-        <EditTextPreference
             android:key="canon_liveview_wait"
             android:title="@string/pref_canon_liveview_wait"
             android:defaultValue="25"
             android:summary="@string/pref_summary_canon_liveview_wait" />
 
+        <EditTextPreference
+            android:key="canon_host_ip"
+            android:title="@string/pref_canon_host_ip"
+            android:defaultValue="192.168.0.1"
+            android:summary="@string/pref_summary_canon_host_ip" />
+
         <ListPreference
             android:title="@string/pref_canon_connection_mode"
             android:summary="@string/pref_summary_canon_connection_mode"