Skip to content

Commit

Permalink
Add method to get the color palette.
Browse files Browse the repository at this point in the history
  • Loading branch information
kwagyeman authored and iabdalkader committed Mar 11, 2019
1 parent e3ebd0d commit a3f197e
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/omv/py/py_sensor.c
Expand Up @@ -571,6 +571,16 @@ static mp_obj_t py_sensor_set_color_palette(mp_obj_t palette_obj) {
return mp_const_true;
}

static mp_obj_t py_sensor_get_color_palette() {
const uint16_t *palette = sensor_get_color_palette();
if (palette == rainbow_table) {
return mp_obj_new_int(COLOR_PALETTE_RAINBOW);
} else if (palette == ironbow_table) {
return mp_obj_new_int(COLOR_PALETTE_IRONBOW);
}
return mp_const_none;
}

static mp_obj_t py_sensor_write_reg(mp_obj_t addr, mp_obj_t val) {
sensor_write_reg(mp_obj_get_int(addr), mp_obj_get_int(val));
return mp_const_none;
Expand Down Expand Up @@ -620,6 +630,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_3(py_sensor_set_lens_correction_obj, py_sensor_se
STATIC MP_DEFINE_CONST_FUN_OBJ_1(py_sensor_set_vsync_output_obj, py_sensor_set_vsync_output);
STATIC MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(py_sensor_ioctl_obj, 1, 5, py_sensor_ioctl);
STATIC MP_DEFINE_CONST_FUN_OBJ_1(py_sensor_set_color_palette_obj, py_sensor_set_color_palette);
STATIC MP_DEFINE_CONST_FUN_OBJ_0(py_sensor_get_color_palette_obj, py_sensor_get_color_palette);
STATIC MP_DEFINE_CONST_FUN_OBJ_2(py_sensor_write_reg_obj, py_sensor_write_reg);
STATIC MP_DEFINE_CONST_FUN_OBJ_1(py_sensor_read_reg_obj, py_sensor_read_reg);

Expand Down Expand Up @@ -729,6 +740,7 @@ STATIC const mp_map_elem_t globals_dict_table[] = {
{ MP_OBJ_NEW_QSTR(MP_QSTR_set_vsync_output), (mp_obj_t)&py_sensor_set_vsync_output_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_ioctl), (mp_obj_t)&py_sensor_ioctl_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_set_color_palette), (mp_obj_t)&py_sensor_set_color_palette_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR_get_color_palette), (mp_obj_t)&py_sensor_get_color_palette_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR___write_reg), (mp_obj_t)&py_sensor_write_reg_obj },
{ MP_OBJ_NEW_QSTR(MP_QSTR___read_reg), (mp_obj_t)&py_sensor_read_reg_obj },
};
Expand Down
1 change: 1 addition & 0 deletions src/omv/py/qstrdefsomv.h
Expand Up @@ -260,6 +260,7 @@ Q(set_special_effect)
Q(set_lens_correction)
Q(ioctl)
Q(set_color_palette)
Q(get_color_palette)
Q(__write_reg)
Q(__read_reg)

Expand Down
5 changes: 5 additions & 0 deletions src/omv/sensor.c
Expand Up @@ -744,6 +744,11 @@ int sensor_set_color_palette(const uint16_t *color_palette)
return 0;
}

const uint16_t *sensor_get_color_palette()
{
return sensor.color_palette;
}

void DCMI_VsyncExtiCallback()
{
__HAL_GPIO_EXTI_CLEAR_FLAG(1 << DCMI_VSYNC_IRQ_LINE);
Expand Down
3 changes: 3 additions & 0 deletions src/omv/sensor.h
Expand Up @@ -272,6 +272,9 @@ int sensor_set_vsync_output(GPIO_TypeDef *gpio, uint32_t pin);
// Set color palette
int sensor_set_color_palette(const uint16_t *color_palette);

// Get color palette
const uint16_t *sensor_get_color_palette();

// Default snapshot function.
int sensor_snapshot(sensor_t *sensor, image_t *image, streaming_cb_t streaming_cb);
#endif /* __SENSOR_H__ */

0 comments on commit a3f197e

Please sign in to comment.