2025-12-17 15:55:25 +08:00

45 lines
1.7 KiB
C

/********************************************************************
* Copyright (c) 2020 Kneron, Inc. All Rights Reserved.
*
* The information contained herein is property of Kneron, Inc.
* Terms and conditions of usage are described in detail in Kneron
* STANDARD SOFTWARE LICENSE AGREEMENT.
*
* Licensees are granted free, non-transferable use of the information.
* NO WARRANTY of ANY KIND is provided. This heading must NOT be removed
* from the file.
********************************************************************/
/**@addtogroup KDEV_SENSOR KDEV_SENSOR
* @{
* @brief Kneron sensor device interface
*
* @copyright Copyright (C) 2020 Kneron, Inc. All rights reserved.
*/
#ifndef __KDEV_SENSOR_H__
#define __KDEV_SENSOR_H__
#include "kdev_status.h"
#include "kmdw_sensor.h"
struct sensor_ops {
kdev_status_t (*s_power) (uint32_t on);
kdev_status_t (*reset) (void);
kdev_status_t (*s_stream) (uint32_t enable);
kdev_status_t (*enum_fmt) (uint32_t index, uint32_t *fourcc);
kdev_status_t (*get_fmt) (struct cam_format *format);
kdev_status_t (*set_fmt) (struct cam_format *format);
kdev_status_t (*set_gain) (uint32_t gain1, uint32_t gain2);
kdev_status_t (*set_aec) (struct cam_sensor_aec *aec_p);
kdev_status_t (*set_exp_time)(uint32_t gain1, uint32_t gain2);
kdev_status_t (*get_lux) (uint16_t *expo, uint8_t *pre_gain, uint8_t *post_gain, uint8_t *global_gain, uint8_t *y_average);
kdev_status_t (*led_switch) (uint32_t on);
kdev_status_t (*set_mirror) (uint32_t enable);
kdev_status_t (*set_flip) (uint32_t enable);
uint32_t (*get_dev_id) (void);
};
#endif /* __KDEV_SENSOR_H__ */
/** @}*/