Add method to get the color palette.

This commit is contained in:
Kwabena W. Agyeman 2019-03-11 00:38:56 -04:00 committed by iabdalkader
parent e3ebd0d0cd
commit a3f197e12d
4 changed files with 21 additions and 0 deletions

View File

@ -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;
@ -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);
@ -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 },
};

View File

@ -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)

View File

@ -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);

View File

@ -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__ */