From 2c15d1d7873da5737bf83e42648a1779eaee5074 Mon Sep 17 00:00:00 2001 From: MRSa Date: Thu, 23 May 2019 00:36:24 +0900 Subject: [PATCH] =?utf8?q?=E3=81=A1=E3=82=87=E3=81=A3=E3=81=A8=E3=81=A0?= =?utf8?q?=E3=81=91=E6=BA=96=E5=82=99=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../osdn/gokigen/cameratest/fuji/Connection.java | 30 ++++++++++++++++++++++ .../gokigen/cameratest/fuji/MessageSequence.java | 8 +++--- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/net/osdn/gokigen/cameratest/fuji/Connection.java b/app/src/main/java/net/osdn/gokigen/cameratest/fuji/Connection.java index b0122f7..5297495 100644 --- a/app/src/main/java/net/osdn/gokigen/cameratest/fuji/Connection.java +++ b/app/src/main/java/net/osdn/gokigen/cameratest/fuji/Connection.java @@ -303,4 +303,34 @@ public class Connection implements IFujiStatusRequest } return (false); } + + public boolean updateProperty(int commandCode, int setValue) + { + ReceivedDataHolder rx_bytes; + try { + byte high = (byte) ((0x0000ff00 & commandCode) >> 8); + byte low = (byte) (0x000000ff & commandCode); + + byte data0 = (byte)((0xff000000 & setValue) >> 24); + byte data1 = (byte)((0x00ff0000 & setValue) >> 16); + byte data2 = (byte)((0x0000ff00 & setValue) >> 8); + byte data3 = (byte)((0x000000ff & setValue)); + + // two_part messageを発行 (その1) + comm.send_to_camera(sequence.update_property_1(high, low), true); + rx_bytes = comm.receive_from_camera(); + dump_bytes(15, rx_bytes); + Thread.sleep(50); + + // two_part messageを発行 (その2) + comm.send_to_camera(sequence.update_property_2(data0, data1, data2, data3), false); + rx_bytes = comm.receive_from_camera(); + dump_bytes(16, rx_bytes); + } + catch (Exception e) + { + e.printStackTrace(); + } + return (false); + } } diff --git a/app/src/main/java/net/osdn/gokigen/cameratest/fuji/MessageSequence.java b/app/src/main/java/net/osdn/gokigen/cameratest/fuji/MessageSequence.java index 40e68fe..425cb03 100644 --- a/app/src/main/java/net/osdn/gokigen/cameratest/fuji/MessageSequence.java +++ b/app/src/main/java/net/osdn/gokigen/cameratest/fuji/MessageSequence.java @@ -393,13 +393,13 @@ class MessageSequence // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other) (byte)0x01, (byte)0x00, - // message_header.type : two_part (0x1016) : SetDevicePropValue + // message_header.type : two_part (0x1016) (byte)0x16, (byte)0x10, // message_id (0~1づつ繰り上がる) (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - // data ... + // command code low, high, }); } @@ -410,13 +410,13 @@ class MessageSequence // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other) (byte)0x02, (byte)0x00, - // message_header.type : two_part (0x1016) : SetDevicePropValue + // message_header.type : two_part (0x1016) (byte)0x16, (byte)0x10, // message_id (0~1づつ繰り上がる...けど two-part messageなので同じ) (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, - // data ... + // data... data3, data2, data1, data0, }); } -- 2.11.0