The following diagram shows the state diagram for an ASCOM Camera, which will be reflected through the CameraState property. Two "happy paths" are shown in green, corresponding to the normal successful paths through the camera states.
- Expose - Initiated by StartExposure and ending with ImageReady = True
- Access - Get a copy of the image created by the camera through ImageArray or ImageArrayVariant
Some of the states are shown as optional and it is not required that CameraState reflect these if your camera does not require them. Ideally you should reflect these states when a significant time, say more than 500ms, will be spent in that state. There are also a number of "unhappy paths" associated with AbortExposure and StopExposure, which should also be handled as shown.