原创 尼康热靴协议-2

2012-6-12 17:33 1891 8 8 分类: 消费电子

Detailed Description

Header (first byte in frame)

The header byte (which is always send by the camera) determines whether the camera or the speed light sends the following data and the checksum. The following header bytes are known to me:

 

 Table: Command overview

Command (header byte)

Name

Who sends payload?

Payload length
without CRC

Checksum seed

 Comment

decimal

 hex

 bin

160d

0xA0

10100000b

Flash_Settings

Flash

21d

1d

Standard frame, flash reports its settings, meaning 90% known

161d

0xA1

10100001b

INIT_0

Flash

17d

1d

first byte after power on, fixed unknown content

162d

0xA2

10100010b

INIT_2

Flash

45d

 

third byte after power on, fixed unknown content

176d

0xB0

10110000b

Cam_settings

Cam

14d

176d

Standard frame, camera reports its settings, meaning 90% known

177d

0xB1

10110001b

INIT_1

Cam

9d

 

second byte after power on, unknown content, camera specific

192d

0xC0

11000000b

Postflash

Flash

?

 

after a main flash the camera queries the speedlight for this data

208d

0xD0

11010000b

AF-ILL

Cam

1d

 CRC always 0

enable/disable the AF assist light

209d  0xD1 11010001b Red_eye Cam 1d NA

Send red eye reduction preflashes: Payload 128 start, 0 stop (check)

211d

0xD3

11010011b

Flashpower

Cam

2d

 CRC always 211d

set flash power

213d

0xD5

11010101b

Modeling Light

NA

0d

 CRC always 213d

enables the modeling light

215d

0xD7

11010111b

Preflash_1

NA

0d

 -

first pre-flash, no data, no checksum, special timing on the clock line

216d

0xD8

11011000b

Preflash_2

Cam

1d

 -

second pre-flash, no checksum, special timing on the clock line

224d

0xE0

11100000b

Cam_off

?

1d

 

sends the speedlight to sleep

 

The command seems to consist of various addressing bits. But so far they don't make any sense. There is no obvious way to tell from a command how many bytes have to be transferred. The only thing I know is that the MSB is always set (i.e. only commands >128d exist) and bit 4 seems o specify the sender of the payload.

Bit Meaning
 0 address
 1 address
 2 address
 3 address
 4 1: Camera sends payload; 0: Flash sends payload
 5 address
 6 address
 7 1 always

 

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
8
关闭 站长推荐上一条 /3 下一条