+ byte[] update_aperture(boolean isIncrement)
+ {
+ return (new byte[] {
+
+ // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
+ (byte)0x01, (byte)0x00,
+
+ // message_header.type : aperture (0x5007)
+ (byte)0x07, (byte)0x50,
+
+ // message_id (0~1づつ繰り上がる...
+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+
+ // data ...
+ (isIncrement)? (byte) 0x01 : (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+ });
+
+ }
+
+ byte[] update_shutter_speed(boolean isIncrement)
+ {
+ return (new byte[] {
+
+ // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
+ (byte)0x01, (byte)0x00,
+
+ // message_header.type : aperture (0xd240)
+ (byte)0x40, (byte)0xd2,
+
+ // message_id (0~1づつ繰り上がる...
+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+
+ // data ...
+ (isIncrement)? (byte) 0x01 : (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+ });
+
+ }
+
+ byte[] update_exposure(boolean isIncrement)
+ {
+ return (new byte[] {
+
+ // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
+ (byte)0x01, (byte)0x00,
+
+ // message_header.type : aperture (0x902e)
+ (byte)0x2e, (byte)0x90,
+
+ // message_id (0~1づつ繰り上がる...
+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+
+ // data ...
+ (isIncrement)? (byte) 0x01 : (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+ });
+ }
+
+ byte[] update_property_1(byte high, byte low)
+ {
+ return (new byte[] {
+ // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
+ (byte)0x01, (byte)0x00,
+
+ // message_header.type : two_part (0x1016) : SetDevicePropValue
+ (byte)0x16, (byte)0x10,
+
+ // message_id (0~1づつ繰り上がる)
+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+
+ // data ...
+ low, high,
+ });
+ }
+
+ byte[] update_property_2(byte data0, byte data1, byte data2, byte data3)
+ {
+ return (new byte[] {
+ // message_header.index : uint16 (0: terminate, 2: two_part_message, 1: other)
+ (byte)0x02, (byte)0x00,
+
+ // message_header.type : two_part (0x1016) : SetDevicePropValue
+ (byte)0x16, (byte)0x10,
+
+ // message_id (0~1づつ繰り上がる...けど two-part messageなので同じ)
+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00,
+
+ // data ...
+ data3, data2, data1, data0,
+ });
+ }