Samsung NX Protocol – Boot Sequence (2)

This post is continued from previous Samsung NX Protocol – Boot Sequence (1).

Step 3 : Lens Specific Property Request/Response

From this step, NX camera generates CLK signal at 2MHz.

In this step, NX camera inquires all detail info. which are defined in “Step 2: Block 4 : Support Property Indices”. For example, in the case of NX 30mm/F2.0 lens, the block contains 5001, 5002, 5003, 5007, 5008 and 5009. They are used for detail request in this step. If the body is NX1 (possibly NX500, too), the body inquires 2 addition information prior to 50XX request.

Step 3: Block 1 : Actual Focal Length  (Only NX1)

  • DCL: 0x05 0x10 0x0D 0x60 0x0C
  • DLC: 
    • Byte 1 : Packet size in byte.
    • Byte 2 – 3 : 0x20 0x01 – OK response
    • Byte 4 – 6 : always 0x00 0x00 0x00
    • Byte 7 : Following number of 2 byte size entries 
    • Byte 8 – (last byte – 1) : 2 byte sized entries
    • Last Byte : Checksum. 1 byte sum value from Byte 4

I couldn’t figured out accurate meaning of all entry values. But, all prime lens has only one value and all zoom lens has 18 values. So, I guess the values are some sort of actual focal length values according to 18 zoom positions.

[Actual Focal Lens Blcok]
[Actual Focal Lens Block]

Step 3: Block 2 : Specific Open Aperture F-Number

 (Only NX1)

  • DCL: 0x05 0x10 0x0D 0x60 0x0F
  • DLC: 
    • Byte 1 : Packet size in byte.
    • Byte 2 – 3 : 0x20 0x01 – OK response
    • Byte 4 – 6 : always 0x00 0x00 0x00
    • Byte 7 : Following number of 1 byte size entries
    • Byte 8 – (last byte – 1) : 1 byte sized entries
    • Last Byte : Checksum. 1 byte sum value from Byte 4

This block is similar from Block 1. But, the value size is 1-byte.When you take a look the value, it is quite close to real F-number of lens. For ex, 16-50 Pz lens has F/3.5 – 5.6 value, and the value of the block range is 0x3B – 0x52. This value has same with 18-55 lens.

So, I guess this block also contains 18 zoned actual open aperture F-numbers. So, prime lens has only one value.

[Specific Open Actual Aperture Block]
[Specific Open Actual Aperture Block]

After this entry, NX camera inquires for the entries which are shown in “Step 2: Block 4 : Support Property Indices”

In according to the table in Step2: Block4, Entries, 5001, 5002, 5003, 5007, 5008 are 5009 shown for all lens and bodies. And entries after that, some entries only available for only some lenses.

 

I will not list up all the entries, but some.

 

Step 3: Block 5001

  • DCL: 0x05 0x10 0x06 0x50 0x01
  • DLC: 
    • Byte 1 : Packet size in byte.
    • Byte 2 – 3 : 0x20 0x01 – OK response
    • Byte 4 – 12 : 0x00 0x02 0x01 0x00 0x00 0x02 0x00 0x04 0x00 0x01 0x02 0x03

First entry of 50XX inquires. All NX camera and lens has same values.

 

Step 3: Block 5007: Farthest / Closest Focus Positions(?)

  • DCL: 0x05 0x10 0x06 0x50 0x07
  • DLC: 
    • Byte 1 : Packet size in byte.
    • Byte 2 – 3 : 0x20 0x01 – OK response
    • Byte 4 – 6 : 0x00 0x04 0x20
    • Byte 7 – 10 : 0x?? 0x?? 0x?? 0x?? <– not identified values which are vary for each lens.
    • Byte 11 : 0x01
    • Byte 12 – 13 : 0x?? 0x?? <– farthest focus position
    • Byte 14 – 15 : 0x?? 0x?? <– closest focus position
    • Byte 16 – 17 : 0x00 0x01

This entry contains far most and closest focus positions.

[ 5007 Entry values for lenses ]
[ 5007 Entry values for lenses ]

Step 3: Block 5008 : Fixed / Zoom Lens Indicator(?)

  • DCL: 0x05 0x10 0x06 0x50 0x08
  • DLC: 
    • Byte 1 : Packet size in byte.
    • Byte 2 – 3 : 0x20 0x01 – OK response
    • Byte 4 – 7 : 0x00 0x02 0x00 0x01
    • Byte 8 : 0x??  <– not identified value.
    • Byte 9 – 10 : 0x01 0x01
    • Byte 11 : 0x?? <– fixed / zoom lens indicator(?)
    • Byte 12 : 0x01

Byte 11 would be fixed / zoom lens indicator.

[ 5007 Entry values for lenses ]
[ 5008 Entry values for lenses ]

Step 3: Block 5009 : Max / Min Aperture Indicators

  • DCL: 0x05 0x10 0x06 0x50 0x09
  • DLC: 
    • Byte 1 : Packet size in byte.
    • Byte 2 – 3 : 0x20 0x01 – OK response
    • Byte 4 – 10 : 0x00 0x02 0x20 0x01 0x01 0x01 0x01 
    • Byte 11 : 0x??  <– max aperture indicator
    • Byte 12 : 0x??  <– min aperture indicator

Value in byte 11 and 12 are about min / max aperture indicator. They are not about actual aperture F-number. It is more likely describes how many steps are for aperture values.  For example, In case of 16-50PZ lens, it shows the range is from 0x01 to 0x1A, which means there are 26 steps. In case of 45mm /F1.8 lens, the range is from 0x01 to 0x24, which means there are 32 steps for setting its aperture.

[ 5009 Entry values for lenses ]
[ 5009 Entry values for lenses ]

After Step 3. the NX camera tries to set initial aperture position.

For your information, you can see detail dumps of DCL and DLC values when NX1 is power up with NX 16-50 PZ lens.

DCL : 0x03  0xAA  0x55

DLC : 0x03  0xAA  0x55

DCL : 0x03  0x10  0x01  0x00

DLC : 0x20  0x01  0x00  0x64  0x00  0x00  0x00  0x00

      0x00  0x00  0x00  0x00  0x1F  0x00  0x00  0x00
0x0E  0x10  0x01  0x10  0x05  0x10  0x06  0x10
      0x07  0x10  0x08  0x10  0x09  0x10  0x0C  0x10
0x0D  0x11  0x01  0x11  0x02  0x11  0x0B  0x11
      0x03  0x11  0x04  0x11  0x09  0x00  0x00  0x00
0x05  0x40  0x01  0x40  0x02  0x40  0x03  0x40
      0x04  0x40  0x06  0x00  0x00  0x00  0x0E  0x50
0x01  0x50  0x02  0x50  0x03  0x50  0x07  0x50
      0x08  0x50  0x09  0x50  0x0A  0x50  0x0C  0x50
0x0D  0x50  0x0E  0x50  0x10  0x50  0x11  0x50
      0x13  0x50  0x14  0x00  0x00  0x00  0x1E  0x60
0x01  0x60  0x02  0x60  0x03  0x60  0x04  0x60
      0x05  0x60  0x06  0x60  0x07  0x60  0x08  0x60
0x09  0x60  0x0A  0x60  0x0B  0x60  0x0C  0x60
      0x0D  0x60  0x0E  0x60  0x0F  0x60  0x10  0x60
0x11  0x60  0x12  0x60  0x13  0x60  0x14  0x60
      0x16  0x60  0x17  0x60  0x18  0x60  0x1A  0x60
0x1B  0x60  0x19  0x60  0x1C  0x60  0x1D  0x60
      0x24  0x60  0x25  0x00  0x00  0x00  0x04  0x70
0x01  0x70  0x02  0x70  0x03  0x70  0x04  0x28
      0x53  0x41  0x4D  0x53  0x55  0x4E  0x47  0x3F
0x3F  0x4E  0x58  0x20  0x31  0x36  0x2D  0x35
      0x30  0x6D  0x6D  0x20  0x46  0x33  0x2E  0x35
0x2D  0x35  0x2E  0x36  0x20  0x50  0x6F  0x77
      0x65  0x72  0x20  0x5A  0x6F  0x6F  0x6D  0x00
0x07  0x58  0x4C  0x31  0x34  0x30  0x31  0x00
      0x0C  0x30  0x31  0x2E  0x33  0x30  0x5F  0x30
0x31  0x2E  0x35  0x30  0x00  0x0D  0x??  0x??
      0x??  0x??  0x??  0x??  0x??  0x??  0x??  0x??
0x??  0x??  0x??

DCL : 0x05  0x10  0x0D  0x60  0x0C

DLC : 0x2C  0x20  0x01  0x00  0x00  0x00  0x12  0x01

      0x4A  0x01  0x57  0x01  0x6E  0x01  0x88  0x01
0xA2  0x01  0xBF  0x01  0xDE  0x02  0x00  0x02
      0x24  0x02  0x49  0x02  0x73  0x02  0x9F  0x02
0xCD  0x02  0xFE  0x03  0x35  0x03  0x6E  0x03
      0xAA  0x03  0xCA  0x6A

DCL : 0x05  0x10  0x0D  0x60  0x0F

DLC : 0x1A  0x20  0x01  0x00  0x00  0x00  0x12  0x3B

      0x3C  0x3D  0x3F  0x40  0x41  0x43  0x44  0x45
0x47  0x48  0x4A  0x4B  0x4D  0x4E  0x50  0x51
      0x52  0x04

DCL : 0x05  0x10  0x06  0x50  0x01

DLC : 0x0F  0x20  0x01  0x00  0x02  0x01  0x00  0x00

        0x02  0x00  0x04  0x00  0x01  0x02  0x03

DCL : 0x05  0x10  0x06  0x50  0x02

DLC : 0x0D  0x20  0x01  0x00  0x02  0x01  0x01  0x01

        0x02  0x00  0x02  0x00  0x01

DCL : 0x05  0x10  0x06  0x50  0x03

DLC : 0x0D  0x20  0x01  0x00  0x02  0x01  0x00  0x00

        0x02  0x00  0x02  0x00  0x01

DCL : 0x05  0x10  0x06  0x50  0x07

DLC : 0x11  0x20  0x01  0x00  0x04  0x20  0x03  0xE8

        0x03  0xE8  0x01  0x03  0x25  0x12  0x77  0x00
        0x01

DCL : 0x05  0x10  0x06  0x50  0x08

DLC : 0x0C  0x20  0x01  0x00  0x02  0x00  0x01  0x01

        0x01  0x01  0x12  0x01

DCL : 0x05  0x10  0x06  0x50  0x09

DLC : 0x0C  0x20  0x01  0x00  0x02  0x20  0x01  0x01

        0x01  0x01  0x1A  0x01

DCL : 0x05  0x10  0x06  0x50  0x0A

DLC : 0x0E  0x20  0x01  0x00  0x02  0x01  0x02  0x01

        0x02  0x00  0x03  0x00  0x01  0x02

DCL : 0x05  0x10  0x06  0x50  0x0C

DLC : 0x0D  0x20  0x01  0x00  0x02  0x01  0x00  0x00

        0x02  0x00  0x02  0x00  0x01

DCL : 0x05  0x10  0x06  0x50  0x0D

DLC : 0x0F  0x20  0x01  0x00  0x02  0x01  0x01  0x01

        0x02  0x00  0x04  0x00  0x01  0x10  0x11

DCL : 0x05  0x10  0x06  0x50  0x0E

DLC : 0x12  0x20  0x01  0x00  0x02  0x01  0x00  0x00

        0x02  0x00  0x07  0x00  0x01  0x02  0x03  0x05
0x0A  0x1E

DCL : 0x05  0x10  0x06  0x50  0x10

DLC : 0x0D  0x20  0x01  0x00  0x02  0x01  0x00  0x00

        0x02  0x00  0x02  0x00  0x01

DCL : 0x05  0x10  0x06  0x50  0x11

DLC : 0x11  0x20  0x01  0x00  0x04  0x00  0x01  0x00

        0x01  0x00  0x01  0x01  0x00  0x12  0x00  0x00
0x01

DCL : 0x05  0x10  0x06  0x50  0x13

DLC : 0x11  0x20  0x01  0x00  0x02  0x01  0x03  0x03

        0x02  0x00  0x06  0x00  0x01  0x02  0x03  0x04
0x05

DCL : 0x05  0x10  0x06  0x50  0x14

DLC : 0x0E  0x20  0x01  0x00  0x02  0x01  0x00  0x00

        0x02  0x00  0x03  0x00  0x01  0x02