CAMCTL - One shot capture. - Calibration of camera to be able to work under different light conditions.
Dependents: frdm_MasterVehicle
camctl.h
- Committer:
- JalilChavez
- Date:
- 2014-10-14
- Revision:
- 0:6cad676fdc0c
File content as of revision 0:6cad676fdc0c:
#ifndef _CAMCTL_H_ #define _CAMCTL_H_ #include "mbed.h" /********************************************************************************** * Camera parameters ***********************************************************************************/ #define BASE_PERIOD 20/* us * Description: All times are based on this time */ #define START_DELAY 10/* x1000 = 1ms * Description: All times are based on this time */ #define SI_PULSE_WIDTH 15/* x BASE_PERIOD = 10ms * Description: Pulse width of SI signal */ #define SI_PULSE_WIDTH_HALF (SI_PULSE_WIDTH/2)/* x BASE_PERIOD = 10ms * Description: Pulse width of SI signal */ #define CLK_PULSE_WIDTH_HALF (SI_PULSE_WIDTH/2)/* x BASE_PERIOD = 10ms * Description: Pulse width of SI signal */ /*#define EXPOSURE_TIME (uint8)(15)*//* x BASE_PERIOD = 10ms * Description: Time between firts SI pulse and second one. */ #define CLK_PULSE_WIDTH SI_PULSE_WIDTH/* x BASE_PERIOD = 10ms * Description: Must be the same value used for SI_PULSE_WIDTH */ #define NO_OF_CLK_PULSES 129/* * Description: Number of pulses to trigger between 2 SI pulses. */ #define IDLE_TIME 15/*us * Description: Time to wait before the next SI pulse. */ #define BUFFER_LENGTH 128/* * Description: Number of to get from linescan camera. */ /********************************************************************************** * Variable types definition ***********************************************************************************/ typedef enum { nContinuous = 0, nOneShot, nNone, nNumberOfModes }CAMCTL__tenCaptureMode; typedef struct { uint8_t u8ActiveCapture : 1; uint8_t u8ClkEnd : 1; CAMCTL__tenCaptureMode enCaptureMode; }CAMCTL__tstCameraOptions; /********************************************************************************** * Global functions ***********************************************************************************/ void CAMCTL_vInit(void); void CAMCTL_vTriggerOneShotCapture(void); void CAMCTL_vTriggerContinuousCapture(void); void CAMCTL_vStopContinuousCapture(void); uint16_t * CAMCTL_pu16GetData( void ); bool CAMCTL_boCalibrateCamera(uint16_t* pu16ThreshCalibration, uint8_t u8Frames2Wait); #endif /* END OF _CAMCTL_H_ */