Sensor Function
The following code block shows the data structure for the sensor function structure.
            
        typedef struct _SENSOR_FUNCS {
    STF_S8 (*GetModeIdx)(SENSOR_HANDLE *pstHandle, STF_U16 u16Width, STF_U16 u16Height);
    STF_RESULT (*GetMode)(SENSOR_HANDLE *pstHandle, STF_U8 u8ModeIdx, SENSOR_MODE *pstModes);
    STF_RESULT (*GetState)(SENSOR_HANDLE *pstHandle, SENSOR_STATUS *pstStatus);
    STF_RESULT (*GetInterfaceInfo)(SENSOR_HANDLE *pstHandle, SENSOR_INTFC *pstInterface);
    STF_RESULT (*SetMode)(SENSOR_HANDLE *pstHandle, STF_U8 u8ModeIdx, STF_U8 u8Flipping);
    STF_RESULT (*Enable)(SENSOR_HANDLE *pstHandle);
    STF_RESULT (*Disable)(SENSOR_HANDLE *pstHandle);
    STF_RESULT (*Destroy)(SENSOR_HANDLE *pstHandle);
    STF_RESULT (*GetInfo)(SENSOR_HANDLE *pstHandle, SENSOR_INFO *pstInfo);
    STF_RESULT (*GetRegister)(SENSOR_HANDLE *pstHandle, STF_U16 u16RegAddr, STF_U16 *pu16RegVal, STF_U8 u8Context);
    STF_RESULT (*SetRegister)(SENSOR_HANDLE *pstHandle, STF_U16 u16RegAddr, STF_U16 u16RegVal, STF_U8 u8Context);
    STF_RESULT (*GetGainRange)(SENSOR_HANDLE *pstHandle, STF_DOUBLE *pdMin, STF_DOUBLE *pdMax, STF_U8 *pu8Contexts );
    STF_RESULT (*GetCurrentGain)(SENSOR_HANDLE *pstHandle, STF_DOUBLE *pdCurrentGain, STF_U8 u8Context);
    STF_RESULT (*SetGain)(SENSOR_HANDLE *pstHandle, STF_DOUBLE dGain, STF_U8 u8Context);
    STF_RESULT (*GetExposureRange)(SENSOR_HANDLE *pstHandle, STF_U32 *pu32Min, STF_U32 *pu32Max, STF_U8 *pu8Contexts);
    STF_RESULT (*GetExposure)(SENSOR_HANDLE *pstHandle, STF_U32 *pu32Exposure, STF_U8 u8Context);
    STF_RESULT (*SetExposure)(SENSOR_HANDLE *pstHandle, STF_U32 u32Exposure, STF_U8 u8Context);
    STF_RESULT (*GetFocusRange)(SENSOR_HANDLE *pstHandle, STF_U16 *pu16Min, STF_U16 *pu16Max);
    STF_RESULT (*GetCurrentFocus)( SENSOR_HANDLE *pstHandle, STF_U16 *pu16CurrentFocus);
    STF_RESULT (*SetFocus)(SENSOR_HANDLE *pstHandle, STF_U16 u16Focus);
    STF_RESULT (*ConfigureFlash)(SENSOR_HANDLE *pstHandle, STF_BOOL8 bAlwaysOn, STF_S16 s16FrameDelay, STF_S16 s16Frames, STF_U16 u16FlashPulseWidth);
    STF_RESULT (*Insert)(SENSOR_HANDLE *pstHandle);
    STF_RESULT (*WaitProcessed)(SENSOR_HANDLE *pstHandle);
    STF_RESULT (*SetFlipMirror)(SENSOR_HANDLE *pstHandle, STF_U8 u8Flag);
    STF_RESULT (*GetFixedFPS)(SENSOR_HANDLE *pstHandle, STF_U16 *py16Fixed);
    STF_RESULT (*SetFPS)(SENSOR_HANDLE *pstHandle, STF_DOUBLE dFps);
    STF_RESULT (*SetExposureAndGain)(SENSOR_HANDLE *pstHandle, STF_U32 u32Exposure, STF_DOUBLE dGain, STF_U8 u8Context);
    STF_RESULT (*SetResolution)(SENSOR_HANDLE *pstHandle,  STF_U16 u16ImgW, STF_U16 U16ImgH);
    STF_RESULT (*GetSnapRes)(SENSOR_HANDLE *pstHandle, ST_RES_LIST *pstReslist);
    STF_RESULT (*Reset)(SENSOR_HANDLE *pstHandle);
} SENSOR_FUNCS, *PSENSOR_FUNCS;
The following table describes the fields in the above code block. 
    | Field | Description | 
|---|---|
| *GetModeIdx | Get the sensor mode index | 
| *GetMode | Fill in a structure detailing the modes supported by the sensor | 
| *GetState | Get the current state of the sensor | 
| *GetInterfaceInfo | Get the sensor's connection data bus and I2C hardware information | 
| *SetMode | Set the sensor mode | 
| *Enable | Enable the sensor | 
| *Disable | Disable the sensor | 
| *Destroy | Release and de-initialize the sensor | 
| *GetInfo | Get information about the sensor | 
| *GetRegister | Read the sensor register value | 
| *SetRegister | Set the sensor register value | 
| *GetGainRange | Get the range of gain settings that the sensor can support | 
| *GetCurrentGain | Get the current gain setting from sensor | 
| *SetGain | Set the current gain setting to the sensor | 
| *GetExposureRange | Get the range of exposures the sensor can use | 
| *GetExposure | Query the sensor for the current exposure period | 
| *SetExposure | Set the sensor to the requested exposure period | 
| *GetFocusRange1 | Get the range of allowed focus positions. No longer in use | 
| *GetCurrentFocus1 | Query the current focus position. No longer in use | 
| *SetFocus1 | Set the sensor to focus at the selected position. No longer in use | 
| *ConfigureFlash1 | Set the sensor to the requested exposure period. No longer in use | 
| *Insert1 | Used to control insertion point of the sensor. No longer in use | 
| *WaitProcessed1 | Used to wait for an inserted frame to have been fully processed and sent to the ISP. No longer in use | 
| *SetFlipMirror | Set flip and mirror value in the sensor | 
| *GetFixedFPS | Get the fixed FPS value in the sensor | 
| *SetFPS | Set the FPS value in the sensor | 
| *SetExposureAndGain | Program the exposure time and gain in the sensor | 
| *SetResolution1 | Set the resolution value to the sensor. No longer in use | 
| *GetSnapRes1 | Get supported resolution list from the sensor library | 
| *Reset | Reset the sensor. | 
Note: 
                
- 
                        
The field items are no longer in use.
 
