byte | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | |
dec | 11 | 111 | 156 | 148 | 139 | 128 | 119 | 113 | 103 | 98 | 92 | |
hex | 0x0B | 0x6F | 0x9C | 0x94 | 0x8B | 0x80 | 0x77 | 0x71 | 0x67 | 0x62 | 0x5C |
I converted the above data to ASCII as well, but the characters make no sense. Nothing like "SB800" or so. Nor did I find the serial number of the flash in that data.
This byte is send as a command to the flash to read its settings. The flash then sends 21 bytes payload and one checksum byte with the seed 1d. Byte 1 is send first.
Byte | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 |
payload | Status | Mode | #8+102 | Activity | ? | Power | #8+34 | #8 | ? | Reflector | RPT: f | RPT: n |
discrete values |
0 | 0 | 0 | CLS? | Menu | Gr A: fv | Gr B: fv | Gr C: fv |
Byte 1: Status byte
This byte contains numerous status bits of the flash reflector settings and the ready-light of the flash.
Bit Meaning 0 Set if the ready light of the flash is on 1 1 if flash display illumination is on 2 clear if reflector is facing forward and not tilted, otherwise set 3 set if ready light of the flash is flashing 4 set if diffuser is pulled out 5 set if soft-box attached 6 always clear 7 always clear
Byte 2: Mode
To be completed
Bit Meaning 0 1 2 3 4 5 6 7
Byte 3: Unknown
This byte is always #8+102d. Purpose unknown
Byte 4: Activity
This byte signals user activity to the camera (eg. to reset the exposure meter tome-out).
Bit Meaning 0 set for 1 second after a button press and for 5sec. if power of the flash was not sufficient 1 0 always 2 1 always 3 set if flash is in mode A 4 high if AF assist light is on 5 0 always 6 set if flash is in mode A 7 0 always
NOTE: Red eye reduction lamp (if available) and maybe the buzzer status (can not check this one) should be in there as well.
There is a circuit in the SB800 to detect that the flash has fired, maybe this status is in this byte, too
Byte 5: Unknown
This byte is always 0d. Purpose unknown
Byte 6: Flash Power
This byte reflects the fraction of the flash power as set on the speedlight in all manual modes.
Output power = 2^(-x/6)
Please note that on the flash you can only set the power in 1/3 stops.
Byte 7: Unknown
This byte is always #8+34d. Purpose unknown
Byte 8: Unknown
This byte reappears modified in bytes 3 and 7. Purpose unknown
Byte 9: Unknown
This byte is always 48d. Purpose unknown
Byte 10: Reflector Settings
This byte shows the zoom-setting of the reflector in the flash. The focal length is given in millimeter.
Byte 11: Stroboscope - Frequency
The frequency of the stroboscope (flash in mode RPT) given in Hz.
Byte 12: Stroboscope - Number of Flashes
The number of flashes the speed light will fire when set to mode RPT
Byte 13: Unknown Settings
Purpose unknown. Values observed so far: 9, 16, 18, 21, 22
Byte 14 - 16: Unknown Settings
Purpose unknown. Always 0d. I suspect group settings for the CLS (creative lightening system). Not checked yet
Byte 17: CLS
Changes when the remote settings of the flash are changed. Exact purpose unknown.
Byte 18: Menue activiy
Changes when the menue of the flash is accessed.
Byte 19 - 21: CLS - flash exposure compensation / power
Flash exposure compensation or flash power for the three groups (A-C) of the CLS. Flash power is encoded the same way as in byte 6.
The checksum for this frame uses 1 as seed.
Byte | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
payload | Mode | Config. | 64d always | ISO | exposure | f-stop | focal length | exposure compensation |
unknown changes with cam |
distance | ?strange? | f-stop +1 |
D700: ISO else:0 |
D700: ISO else:0 |
Note: There is no bit to indicate that the flash was fired using the "Test" button.
Byte 1: Mode
Depending on the Settings of these bits various modes show up on the display of the flash. So far I have only seen the values 1,4,5.0x00: AA/FP0x01: TTL/FP0x02: TTL/BL/FP0x04: TTL/BL/FP0x08: AA/FP
Byte 2: Configuration
This byte sets the configuration of the camera/flash.
Bit Meaning 0 sync on 2nd curtain 1 red eye reduction 2 camera display illumination on 3 0 always 4 FP required (check!) 5 FP available in current mode 6 TTL available 7 0 always
NOTE to self: check whether bit 5, 6 enable the display of FP and TTL in flash display
Byte 3: unknown
On all cameras I have tested this byte is always 64d.Byte 4: ISO setting
The set ISO value can be calculated the following way:ISO = 100 * 2^((x-30)/6)Byte 5: Exposure
This signed char encodes the exposure time:t= 2^(-x/6)x = 128d encodes the bulb mode.Byte 6: f-stop
f-stop = 2^(x/12)Byte 7: Focal length
f [mm] = 2^( (x+55.4)/24)That was a hard one to figure out, thanks Marcus!Byte 8: Flash exposure compensation
This signed byte encodes the flash exposure compensation:EV [stops] = -x/6Byte 9: unknown
This byte is always 48d = 110000b = 0x30Byte 10: Distance
The actual focus distance is transferred to the flash as well:d [m] = 2^( (x-80)/6)Byte 11: strange byte
The value of this byte depends on the focal length and the focus distance. The exact formula is unknown.Byte 12: f-stop (again)
Most of the time the value of this byte is equal to the byte 6. But every now and then it is one count higher. This +1 does no depend on the in-camera fine tuning. Maybe this byte represents something like debounced data?Byte 13/14: ISO (again)
On a D700 these two bytes contain exactly the same value as byte 4. On myD200/D70s these bytes contain only zeros (0x00). Purpose unknown.
Controls the AF illumination lamp in the speedlight. The camera sends two bytes after the command. The first byte enables (0x01) or disables (0x00) the AF-LED, the second byte is always 0x00. The LED is enabled/disabled 1ms after the frame was send. If the frame is not repeated the LED is automatically shut off by the flash after 900ms. My investigations show that you can also send a 0x00, 0x01 to enable the AF LED. Other bits than bit 0 in either byte seem to have no effect.
"208 001 000" is appended after each regular transmission of command 160/176 as long as the AF light is required
The 1 byte payload enables (128d) or disables (0d) weak flashes before the main flash to reduce red eyes.
To enable the modeling light the camera sends the command 0xD5 and 0xD5 again as "CRC". The flash then fires a series of flashes for about 1.5 seconds. During this time it holds the DATA line low to signal it is not ready for new data.
The camera uses several pre-flashes to determine the requires flash power. The first pre-flash is weaker than 1/128 full power, but stronger than one single flash when the button for the modeling light is pressed.
After the command has been transmitted to the flash the flash fires about 2ms after the last rising clock edge. There is a jitter of about 500µs around this 2ms.The flash signals the firing of the flash by pulling the clock line low for 310µs as it fires.
In case the first pre-flash was not strong enough for the camera to be evaluated the camera can issue a second pre-flash. After the command byte the camera sends 1 byte of payload containing information about how strong the second pre-flash will be.
0d: weakest setting, the power of preflash1
9d: 1/128 + 2/3ev
24d: maximum, standard value, 1/32 + 1/3 power
After the command and the 1 byte payload has been transmitted to the flash the flash fires about 2ms after the last rising clock edge. There is a jitter of about 500µs around this 2ms.The flash signals the firing of the flash by pulling the clock line low for 310µs as it fires.
Note: I managed to fire pre-flashes at rates of about 100Hz, but the flash head heats up quickly doing so. I do not recommend this!
After one or two pre-flashes have been fired the camera calculates the required output power for the main flash. This data is then transmitted in two bytes to the flash using the command 0xD3. The first byte carries information about the required flash, the second byte sets the flash power.
Byte 1: This byte sets the flash type
Bit Meaning 0 FP-time 1 FP-time 2 FP-time 3 FP on 4 always 1 5 0 always 6 1 if Flash EV lock 7 1 if Flash EV lock
- Bit 3 enables the FP feature for the following flash.
- The lowest 3 bits give the time the flash will emit bursts of short flashes in FP mode. One LSB is worth 4ms, the valid range is from 4ms (001b) to 32ms (111b). If not in FP these bits are ignored.
- Bit 4 has only been observed set.
- Bit 5 does not change anything on the behavior of the flash if set.
- Bits 6/7 are set if the data transmitted is from a flash exposure lock measurement. This might signal that the actual flash may be fired later. (maybe: enables display of underexposure - flash-power > 128)
Byte 2 sets the output power of the flash. In FP mode it seems to specify the frequency of the flash bursts. The minimum value is 54d-75d, maximum is 201d
After the data has been send to the flash, the fixed CRC 0xD3 follows. The flash is triggered by pulsing the X-Sync line low. There is no signal on the lines indicating that the flash has fired. These settings are only valid for all consecutive flashes, that is if you pulse X-Sync low a second time, the flash will fire again with the set power. Minimum timer between consecutive flashes is about 15ms. This time can get as long as a few seconds depending on the recharge time of the flash capacitor. In FP mode the minimum time is about 30ms.
For the FP mode to work properly at least one preflash1 has to be fired first. Check whether needed only once!!
文章评论(0条评论)
登录后参与讨论