I've 'mastered' off camera flash manually. I set up how i want to shoot and then manually adjust my flashes until they are lighting how i want them to.
I've seen some fantastic TTL shots with multiple slave groups. How do they all communicate with a camera like a 7D and decide how they are going to produce a good exposure.
Can anyone explain or point me in the direction of some links.
All modern auto-TTL flash systems work in basically the same way. The theory is pretty simple but the operation is incredibly complex and sophisticated, with differences between systems.
A pre-flash is fired the moment the shutter release is pressed and the light reflected back is measured, it is compared with the ambient light (if required) and the exposure calculated by the camera's normal metering system. Flash output is adjusted and when the shutter opens, the correct power flash is emitted. This all happens faster than you can see - you can't actually separate the pre and main flashes visually.
But it gets much cleverer than that, if you are using a remote gun or guns, the master unit commands them all to fire a pre-flash and each one is evaluated. Then when the shutter opens, another set of commands is sent to order the right power output from each individual gun before it fires the main flash.
All these commands are sent via a stream of morse code like pulses, either by visible light or semi-IR, at the amazing rate of up to 50,000 per second. It's effectively instantaneous.
This morse code style command method seems very efficient and versatile and does a few more things than that, plus other stuff that we haven't seen yet. For example, the new E-TTL Pocket Wizards can do very cool stuff like increase the normal x-sync speed by a useful margin by tweaking the exact flash timing according to camera model, and they can tailor the high speed sync output to specific shutter speeds for increased output.