Merge pull request #1674 from openmv/gc2145_sleep

sensors/GC2145: Implement sleep/low-power function.
This commit is contained in:
Ibrahim Abdelkader 2022-06-30 08:56:17 +02:00 committed by GitHub
commit 383ee4028f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -711,6 +711,23 @@ static int reset(sensor_t *sensor)
return ret; return ret;
} }
static int sleep(sensor_t *sensor, int enable)
{
int ret = 0;
if (enable) {
ret |= cambus_writeb(&sensor->bus, sensor->slv_addr, 0xF2, 0x0);
ret |= cambus_writeb(&sensor->bus, sensor->slv_addr, 0xF7, 0x10);
ret |= cambus_writeb(&sensor->bus, sensor->slv_addr, 0xFC, 0x01);
} else {
ret |= cambus_writeb(&sensor->bus, sensor->slv_addr, 0xF2, 0x0F);
ret |= cambus_writeb(&sensor->bus, sensor->slv_addr, 0xF7, 0x1d);
ret |= cambus_writeb(&sensor->bus, sensor->slv_addr, 0xFC, 0x06);
}
return ret;
}
static int read_reg(sensor_t *sensor, uint16_t reg_addr) static int read_reg(sensor_t *sensor, uint16_t reg_addr)
{ {
uint8_t reg_data; uint8_t reg_data;
@ -870,6 +887,7 @@ int gc2145_init(sensor_t *sensor)
{ {
// Initialize sensor structure. // Initialize sensor structure.
sensor->reset = reset; sensor->reset = reset;
sensor->sleep = sleep;
sensor->read_reg = read_reg; sensor->read_reg = read_reg;
sensor->write_reg = write_reg; sensor->write_reg = write_reg;
sensor->set_pixformat = set_pixformat; sensor->set_pixformat = set_pixformat;