From 890a778d4fdf29e522c64844e57d2e42a891e19c Mon Sep 17 00:00:00 2001 From: MRSa Date: Sat, 25 Sep 2021 22:55:39 +0900 Subject: [PATCH] =?utf8?q?OPC=E6=A9=9F=E3=81=A7=E5=90=88=E7=84=A6=E3=83=9E?= =?utf8?q?=E3=83=BC=E3=82=AF=E3=82=92=E5=87=BA=E3=81=99=E3=81=AE=E3=82=92?= =?utf8?q?=E3=82=84=E3=82=81=E3=81=A6=E3=81=BF=E3=81=9F...=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../vendor/omds/status/OmdsCameraStatusWatcher.kt | 43 +++++++++++++++------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/omds/status/OmdsCameraStatusWatcher.kt b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/omds/status/OmdsCameraStatusWatcher.kt index 104b0b1..ef63f4f 100644 --- a/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/omds/status/OmdsCameraStatusWatcher.kt +++ b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/omds/status/OmdsCameraStatusWatcher.kt @@ -23,8 +23,6 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va private var isWatching = false private var isWatchingEvent = false private var statusReceived = false - private var notifier: ICameraStatusUpdateNotify? = null - private var focusingStatus = 0 private var omdsCommandList : String = "" private var latestEventResponse : String = "" @@ -42,8 +40,6 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va private var currentRemainShots = "" private var currentExposureWarning = "" private var currentFocusType = "" - // private var currentMeteringMode = "" // currentFocusType を代わりに使用 - // private var currentTorchMode = "" // currentExposureWarning を代わりに使用 private var opcTakeModeSelectionList = "" private var opcWhiteBalanceSelectionList = "" @@ -91,7 +87,7 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va { try { - startRtpStatusWatch(notifier) + startRtpStatusWatch() startEventStatusWatch() } @@ -101,12 +97,11 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va } } - private fun startRtpStatusWatch(notifier: ICameraStatusUpdateNotify?) + private fun startRtpStatusWatch() { try { Log.v(TAG, " startStatusWatch()") - this.notifier = notifier val thread = Thread { isWatching = true while (isWatching) @@ -182,7 +177,7 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va { // OPC機のイベント受信 val opcEventUrl = "$executeUrl/get_camprop.cgi?com=getlist" - val postData = "" + val postData = "" latestEventResponse = http.httpPostWithHeader(opcEventUrl, postData, headerMap, null, TIMEOUT_MS) ?: "" dumpLog(opcEventUrl, latestEventResponse) parseOpcProperties(latestEventResponse) @@ -330,6 +325,26 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va currentWhiteBalance = getPropertyValue(eventResponse, "") currentPictureEffect = getPropertyValue(eventResponse, "") currentCaptureMode = getPropertyValue(eventResponse, "") + +/* + //val aeLockState = getPropertyValue(eventResponse, "") + //val afLockState = getPropertyValue(eventResponse, "") + if (afLockState != currentAfLockState) + { + // AFロック状態 or AEロック状態が変化したとき + currentAfLockState = afLockState + if (currentAfLockState == "LOCK") + { + notifier?.updateFocusedStatus(true, false) + } + else + { + notifier?.updateFocusedStatus(false, false) + } + //notifier?.updateFocusedStatus(focus, isError) + } +*/ + if (takeMode != currentTakeMode) { currentTakeMode = takeMode @@ -516,7 +531,7 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va val length: Int = ((buffer?.get(position + 2) ?: 0).toInt() and 0xff) * 256 + ((buffer?.get(position + 3) ?: 0).toInt() and 0xff) when (commandId) { - ID_AF_FRAME_INFO -> { checkFocused(buffer, position, length) } + ID_AF_FRAME_INFO -> { } // { checkFocused(buffer, position, length) } ID_FRAME_SIZE -> { } ID_MEDIA_INFO -> { } ID_ROTATION_INFO -> { } @@ -554,27 +569,28 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va } } +/* private fun checkFocused(buffer: ByteArray?, position: Int, length: Int) { + // 結局 OPC機でも動いていなさそうなので、このロジックはお蔵入りとする if ((length != 5)||(buffer == null)) { // データがそろっていないので何もしない return } - //val status: Int = buffer[position + 7].toInt() and 0xff val status: Int = (buffer[position + 11].toUInt()).toInt() and 0xff if (status != focusingStatus) { // ドライブ停止時には、マーカの色は消さない if (status > 0) { - val focus = status == 1 - val isError = status == 2 - notifier?.updateFocusedStatus(focus, isError) + val focus = status == 1 // 合焦成功 + val isError = status == 2 // 合焦失敗 } focusingStatus = status } } +*/ private fun checkShutterSpeed(buffer: ByteArray?, position: Int, length: Int) { @@ -961,5 +977,4 @@ class OmdsCameraStatusWatcher(userAgent: String = "OlympusCameraKit", private va private const val isDumpLog = false } - } -- 2.11.0