From: MRSa Date: Mon, 30 Aug 2021 14:05:07 +0000 (+0900) Subject: イベントの要求と受信を行う。 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=e1e5a1b3a67daa49a08ab61a5d5796f752e893bf;p=gokigen%2Fmangle.git イベントの要求と受信を行う。 --- diff --git a/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/base/IPixproMessages.kt b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/base/IPixproMessages.kt index 876a29b..6a468d9 100644 --- a/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/base/IPixproMessages.kt +++ b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/base/IPixproMessages.kt @@ -7,6 +7,8 @@ interface IPixproMessages const val SEQ_DUMMY = 0 const val SEQ_RECEIVE_ONLY = 1 + const val SEQ_EVENT_REQUEST = 5 + const val SEQ_SHUTTER = 10 const val SEQ_FOCUS = 11 const val SEQ_ZOOM = 12 diff --git a/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproStatusRequest.kt b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproStatusRequest.kt new file mode 100644 index 0000000..881d2e2 --- /dev/null +++ b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/command/messages/specific/PixproStatusRequest.kt @@ -0,0 +1,50 @@ +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 PixproStatusRequest(private val callback: IPixproCommandCallback) : PixproCommandBase() +{ + override fun getId() : Int + { + return (IPixproMessages.SEQ_EVENT_REQUEST) + } + + override fun commandBody(): ByteArray + { + return byteArrayOf( + 0x2e.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), + 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), + + 0xec.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(), + 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), + + 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), + 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), + + 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), + 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), + + 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), 0x00.toByte(), + 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/status/PixproStatusChecker.kt b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/status/PixproStatusChecker.kt index 98e3cf0..4b42c70 100644 --- a/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/status/PixproStatusChecker.kt +++ b/app/src/main/java/jp/osdn/gokigen/gokigenassets/camera/vendor/pixpro/wrapper/status/PixproStatusChecker.kt @@ -7,7 +7,9 @@ import jp.osdn.gokigen.gokigenassets.camera.interfaces.ICameraStatus import jp.osdn.gokigen.gokigenassets.camera.interfaces.ICameraStatusWatcher import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.IPixproCommandPublisher import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.IPixproCommandCallback +import jp.osdn.gokigen.gokigenassets.camera.vendor.pixpro.wrapper.command.messages.specific.PixproStatusRequest import jp.osdn.gokigen.gokigenassets.liveview.message.IMessageDrawer +import jp.osdn.gokigen.gokigenassets.utils.communication.SimpleLogDumper import java.lang.Exception class PixproStatusChecker : IPixproCommandCallback, ICameraStatusWatcher, ICameraStatus @@ -20,7 +22,7 @@ class PixproStatusChecker : IPixproCommandCallback, ICameraStatusWatcher, ICamer companion object { private val TAG = PixproStatusChecker::class.java.simpleName - private const val EVENT_POLL_QUEUE_MS = 1000 + private const val EVENT_POLL_QUEUE_MS = 1500 } fun setCommandPublisher(commandPublisher : IPixproCommandPublisher) @@ -101,6 +103,10 @@ class PixproStatusChecker : IPixproCommandCallback, ICameraStatusWatcher, ICamer Thread.sleep(EVENT_POLL_QUEUE_MS.toLong()) Log.v(TAG, " ----- POLL EVENT ----- ") + if (::commandPublisher.isInitialized) + { + commandPublisher.enqueueCommand(PixproStatusRequest(this)) + } } catch (e: Exception) { @@ -125,14 +131,14 @@ class PixproStatusChecker : IPixproCommandCallback, ICameraStatusWatcher, ICamer override fun stopStatusWatch() { - Log.v(TAG, "stoptStatusWatch()") + Log.v(TAG, "stopStatusWatch()") whileFetching = false notifier = null } override fun receivedMessage(id: Int, rx_body: ByteArray?) { - Log.v(TAG, " receivedMessage($id) : ${rx_body?.size} bytes.") - + Log.v(TAG, " RECEIVED EVENT : ${rx_body?.size} bytes.") + SimpleLogDumper.dumpBytes("EVT[${rx_body?.size}]", rx_body) } }