OPC(Olympus Air)用望遠鏡アプリ。
Revisão | c0743e791d2dccc747c17c85756ad53f8903f948 (tree) |
---|---|
Hora | 2020-02-11 20:16:08 |
Autor | MRSa <mrsa@myad...> |
Commiter | MRSa |
いったんコミット。
@@ -145,14 +145,13 @@ public class CanonCameraConnectSequence implements Runnable, IPtpIpCommandCallba | ||
145 | 145 | Log.v(TAG, " SEQ_SET_EVENT_MODE "); |
146 | 146 | interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting5), false, false, 0); |
147 | 147 | commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_GET_EVENT, isDumpLog, 0, 0x913d, 4, 0x0fff)); |
148 | - // commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_GET_EVENT, isDumpLog, 0, 0x902f, 4, 0x02)); | |
149 | 148 | break; |
150 | 149 | |
151 | 150 | case SEQ_GET_EVENT: |
152 | 151 | Log.v(TAG, " SEQ_GET_EVENT "); |
153 | 152 | interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting6), false, false, 0); |
154 | - commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_GET_EVENT1, isDumpLog, 0, 0x9033, 4, 0x0000)); | |
155 | - // commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_GET_EVENT, isDumpLog, 0, 0x902f, 4, 0x02)); | |
153 | + commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_GET_EVENT1, isDumpLog, 0, 0x9033, 4, 0x00000000)); | |
154 | + //commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_GET_EVENT1, isDumpLog, 0, 0x9033, 4, 0x00200000)); | |
156 | 155 | break; |
157 | 156 | |
158 | 157 | case SEQ_GET_EVENT1: |
@@ -164,6 +163,7 @@ public class CanonCameraConnectSequence implements Runnable, IPtpIpCommandCallba | ||
164 | 163 | case SEQ_DEVICE_INFORMATION: |
165 | 164 | Log.v(TAG, " SEQ_DEVICE_INFORMATION "); |
166 | 165 | interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.canon_connect_connecting8), false, false, 0); |
166 | + //commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_DEVICE_PROPERTY, isDumpLog, 0, 0x9127, 4, 0x0000d1a6)); | |
167 | 167 | commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_DEVICE_PROPERTY, isDumpLog, 0, 0x9127, 4, 0x0000d1a6)); |
168 | 168 | commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_DEVICE_PROPERTY, isDumpLog, 0, 0x9127, 4, 0x0000d169)); |
169 | 169 | commandIssuer.enqueueCommand(new PtpIpCommandGeneric(this, SEQ_DEVICE_PROPERTY, isDumpLog, 0, 0x9127, 4, 0x0000d16a)); |
@@ -274,9 +274,6 @@ public class CanonCameraConnectSequence implements Runnable, IPtpIpCommandCallba | ||
274 | 274 | // ちょっと待つ |
275 | 275 | Thread.sleep(1000); |
276 | 276 | |
277 | - // // ステータスの監視はイベント受信時のみに実施する | |
278 | - // interfaceProvider.getCameraStatusWatcher().startStatusWatch(interfaceProvider.getStatusListener()); | |
279 | - | |
280 | 277 | // 接続成功!のメッセージを出す |
281 | 278 | interfaceProvider.getInformationReceiver().updateMessage(context.getString(R.string.connect_connected), false, false, 0); |
282 | 279 |
@@ -63,7 +63,7 @@ public class CanonLiveViewControl implements ILiveViewControl, ILiveViewListener | ||
63 | 63 | if (!commandIssued) |
64 | 64 | { |
65 | 65 | commandIssued = true; |
66 | - commandIssuer.enqueueCommand(new PtpIpCommandGeneric(imageReceiver, SEQ_GET_VIEWFRAME, false, 0, 0x9153, 12, 0x00200000, 0x01, 0x00)); | |
66 | + commandIssuer.enqueueCommand(new PtpIpCommandGeneric(imageReceiver, SEQ_GET_VIEWFRAME, 10, false, 0, 0x9153, 12, 0x00200000, 0x01, 0x00, 0x00)); | |
67 | 67 | } |
68 | 68 | try |
69 | 69 | { |
@@ -145,11 +145,10 @@ public class CanonLiveViewControl implements ILiveViewControl, ILiveViewListener | ||
145 | 145 | @Override |
146 | 146 | public void onCompleted(byte[] data, Map<String, Object> metadata) |
147 | 147 | { |
148 | - // Log.v(TAG, "RECEIVED LV IMAGE"); | |
149 | - commandIssued = false; | |
148 | + // Log.v(TAG, " ---+++--- RECEIVED LV IMAGE ---+++--- "); | |
150 | 149 | try |
151 | 150 | { |
152 | - if (dataReceiver != null) | |
151 | + if ((dataReceiver != null)&&(data != null)) | |
153 | 152 | { |
154 | 153 | dataReceiver.setImageData(data, metadata); |
155 | 154 | } |
@@ -158,6 +157,7 @@ public class CanonLiveViewControl implements ILiveViewControl, ILiveViewListener | ||
158 | 157 | { |
159 | 158 | e.printStackTrace(); |
160 | 159 | } |
160 | + commandIssued = false; | |
161 | 161 | } |
162 | 162 | |
163 | 163 | @Override |
@@ -22,6 +22,8 @@ public class CanonLiveViewImageReceiver implements IPtpIpCommandCallback | ||
22 | 22 | this.callback = callback; |
23 | 23 | } |
24 | 24 | |
25 | + | |
26 | + | |
25 | 27 | @Override |
26 | 28 | public void receivedMessage(int id, byte[] rx_body) |
27 | 29 | { |
@@ -33,6 +35,7 @@ public class CanonLiveViewImageReceiver implements IPtpIpCommandCallback | ||
33 | 35 | callback.onCompleted(null, null); |
34 | 36 | return; |
35 | 37 | } |
38 | + Log.v(TAG, " CanonLiveViewImageReceiver::receivedMessage() : " + rx_body.length); | |
36 | 39 | |
37 | 40 | /////// 受信データから、サムネイルの先頭(0xff 0xd8)を検索する ///// |
38 | 41 | int offset = rx_body.length - 22; |
@@ -20,7 +20,7 @@ public class PtpIpCommandPublisher implements IPtpIpCommandPublisher, IPtpIpComm | ||
20 | 20 | private static final String TAG = PtpIpCommandPublisher.class.getSimpleName(); |
21 | 21 | |
22 | 22 | private static final int SEQUENCE_START_NUMBER = 1; |
23 | - private static final int BUFFER_SIZE = 1024 * 1024 + 16; // 受信バッファは 256kB | |
23 | + private static final int BUFFER_SIZE = 1024 * 1024 + 16; // 受信バッファは 1MB | |
24 | 24 | private static final int COMMAND_SEND_RECEIVE_DURATION_MS = 5; |
25 | 25 | private static final int COMMAND_SEND_RECEIVE_DURATION_MAX = 3000; |
26 | 26 | private static final int COMMAND_POLL_QUEUE_MS = 5; |