mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
Add sensor.get_id function to return PID.
This commit is contained in:
parent
4ed583380e
commit
f8bfbfabe9
@ -1 +1 @@
|
||||
Subproject commit a1a09126d5837054c2603f957a5817d014db2f1a
|
||||
Subproject commit 95bf7ae229acf2c2244acaa53e2222ff36ac9e4c
|
||||
@ -28,6 +28,10 @@ static mp_obj_t py_sensor_reset() {
|
||||
return mp_const_none;
|
||||
}
|
||||
|
||||
static mp_obj_t py_sensor_get_id() {
|
||||
return mp_obj_new_int(sensor_get_id());
|
||||
}
|
||||
|
||||
static mp_obj_t py_sensor_snapshot() {
|
||||
mp_obj_t image = py_image(0, 0, 0, 0);
|
||||
|
||||
@ -182,6 +186,7 @@ static mp_obj_t py_sensor_read_reg(mp_obj_t addr) {
|
||||
//}
|
||||
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_sensor_reset_obj, py_sensor_reset);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_sensor_get_id_obj, py_sensor_get_id);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_sensor_snapshot_obj, py_sensor_snapshot);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(py_sensor_set_pixformat_obj, py_sensor_set_pixformat);
|
||||
STATIC MP_DEFINE_CONST_FUN_OBJ_1(py_sensor_set_framerate_obj, py_sensor_set_framerate);
|
||||
@ -203,6 +208,9 @@ STATIC const mp_map_elem_t globals_dict_table[] = {
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_YUV422), MP_OBJ_NEW_SMALL_INT(PIXFORMAT_YUV422)}, /* 2BPP/YUV422*/
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_GRAYSCALE), MP_OBJ_NEW_SMALL_INT(PIXFORMAT_GRAYSCALE)},/* 1BPP/GRAYSCALE*/
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_JPEG), MP_OBJ_NEW_SMALL_INT(PIXFORMAT_JPEG)}, /* JPEG/COMPRESSED*/
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_OV9650), MP_OBJ_NEW_SMALL_INT(OV9650_PID)},
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_OV2640), MP_OBJ_NEW_SMALL_INT(OV2640_PID)},
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_OV7725), MP_OBJ_NEW_SMALL_INT(OV7725_PID)},
|
||||
|
||||
// Special effects
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_NORMAL), MP_OBJ_NEW_SMALL_INT(SDE_NORMAL)}, /* Normal/No SDE */
|
||||
@ -224,6 +232,7 @@ STATIC const mp_map_elem_t globals_dict_table[] = {
|
||||
// Sensor functions
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_reset), (mp_obj_t)&py_sensor_reset_obj },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_snapshot), (mp_obj_t)&py_sensor_snapshot_obj },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_get_id), (mp_obj_t)&py_sensor_get_id_obj },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_set_pixformat), (mp_obj_t)&py_sensor_set_pixformat_obj },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_set_framerate), (mp_obj_t)&py_sensor_set_framerate_obj },
|
||||
{ MP_OBJ_NEW_QSTR(MP_QSTR_set_framesize), (mp_obj_t)&py_sensor_set_framesize_obj },
|
||||
|
||||
@ -25,10 +25,6 @@
|
||||
#define REG_MIDH 0x1C
|
||||
#define REG_MIDL 0x1D
|
||||
|
||||
#define OV9650_PID 0x96
|
||||
#define OV2640_PID 0x26
|
||||
#define OV7725_PID 0x77
|
||||
|
||||
#define XCLK_FREQ (12000000)
|
||||
|
||||
#define MAX_XFER_SIZE (0xFFFC)
|
||||
@ -278,6 +274,11 @@ int sensor_reset()
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sensor_get_id()
|
||||
{
|
||||
return sensor.id.PID;
|
||||
}
|
||||
|
||||
int sensor_read_reg(uint8_t reg)
|
||||
{
|
||||
return SCCB_Read(sensor.slv_addr, reg);
|
||||
|
||||
@ -10,6 +10,11 @@
|
||||
#define __SENSOR_H__
|
||||
#include <stdint.h>
|
||||
#include "imlib.h"
|
||||
|
||||
#define OV9650_PID (0x96)
|
||||
#define OV2640_PID (0x26)
|
||||
#define OV7725_PID (0x77)
|
||||
|
||||
struct sensor_id {
|
||||
uint8_t MIDH;
|
||||
uint8_t MIDL;
|
||||
@ -134,6 +139,12 @@ void sensor_init0();
|
||||
* @return On success, 0 is returned. If the sensor is not supported, or not detected, -1 is returned.
|
||||
*/
|
||||
int sensor_reset();
|
||||
/**
|
||||
* Return sensor PID.
|
||||
*
|
||||
* @return On success, sensor PID is returned. If the sensor is not supported, or not detected, -1 is returned.
|
||||
*/
|
||||
int sensor_get_id();
|
||||
/**
|
||||
* Read a sensor register.
|
||||
*
|
||||
|
||||
Loading…
Reference in New Issue
Block a user