1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
- * All rights reserved.
- *
- * This software is supplied "AS IS" without any warranties.
- * RDA assumes no responsibility or liability for the use of the software,
- * conveys no license or title under any patent, copyright, or mask work
- * right to the product. RDA reserves the right to make changes in the
- * software without notification. RDA also make no representation or
- * warranty that such application will be suitable for the specified use
- * without further testing or modification.
- */
- #ifndef _IMAGE_SENSOR_H_
- #define _IMAGE_SENSOR_H_
- #include "osi_compiler.h"
- OSI_EXTERN_C_BEGIN
- #include "drv_camera.h"
- #include "drv_config.h"
- typedef struct
- {
- bool (*cameraOpen)(void);
- void (*cameraClose)(void);
- void (*cameraGetID)(uint8_t *data, uint8_t len);
- void (*cameraSetBrightness)(uint8_t level);
- void (*cameraSetContrast)(uint8_t level);
- void (*cameraSetImageEffect)(uint8_t effect_type);
- void (*cameraSetEv)(uint8_t level);
- void (*cameraSetAWB)(uint8_t mode);
- void (*cameraCaptureImage)(uint32_t size);
- void (*cameraStartPrev)(uint32_t size);
- void (*cameraStopPrev)(void);
- void (*cameraPrevNotify)(void);
- void (*cameraGetSensorInfo)(sensorInfo_t **pSensorInfo);
- void (*cameraFlashSet)(uint8_t level);
- void (*cameraTestMode)(bool on);
- } SensorOps_t;
- //general sensor drv need ping-pang buffer for continus data mode
- #ifdef CONFIG_CAMERA_SINGLE_BUFFER
- #define SENSOR_FRAMEBUFFER_NUM (1)
- #else
- #define SENSOR_FRAMEBUFFER_NUM (2)
- #endif
- typedef struct image_dev_tag
- {
- bool poweron_flag;
- uint32_t nPixcels;
- uint8_t framebuffer_count;
- sensorInfo_t *pSensorInfo;
- SensorOps_t *pSensorOpsApi;
- uint16_t *pFramebuffer[SENSOR_FRAMEBUFFER_NUM];
- } IMAGE_DEV_T, *IMAGE_DEV_T_PTR;
- typedef struct cam_dev_tag
- {
- char *pNamestr;
- uint32_t img_width;
- uint32_t img_height;
- uint32_t nPixcels;
- } CAM_DEV_T, *CAM_DEV_T_PTR;
- bool drvCamInit(void);
- void drvCamGetSensorInfo(CAM_DEV_T *pCamDevice);
- bool drvCamPowerOn(void);
- bool drvCamStartPreview(void);
- uint16_t *drvCamPreviewDQBUF(void);
- void drvCamPreviewQBUF(uint16_t *pFrameBuf);
- bool drvCamStopPreview(void);
- bool drvCamCaptureImage(uint16_t **pFrameBuf);
- bool drvCamGePrevStatus(void);
- void drvCamClose(void);
- void drvCamTestMode(bool on);
- #ifdef CONFIG_QUEC_PROJECT_FEATURE_CAMERA
- void drvCamPowerOff(void);
- #endif
- #ifdef CONFIG_QUEC_PROJECT_FEATURE_CAMERA
- SensorOps_t *prvCamLoad(void);
- IMAGE_DEV_T *quec_getImageSensor(void);
- bool drvCamI2CRead(uint8_t addr, uint8_t *data, uint32_t len);
- bool drvCamI2CWrite(uint8_t addr, uint8_t data);
- #endif
- OSI_EXTERN_C_END
- #endif
|