Merge remote-tracking branch 'origin/main'

This commit is contained in:
Hosted Weblate 2022-12-18 03:15:43 +01:00
commit da33f477e8
No known key found for this signature in database
GPG Key ID: A3FAAA06E6569B4C
3 changed files with 14 additions and 11 deletions

View File

@ -50,8 +50,8 @@
//| vsync_pin: microcontroller.Pin,
//| href_pin: microcontroller.Pin,
//| i2c: busio.I2C,
//| external_clock_pin: microcontroller.Pin,
//| external_clock_frequency: int,
//| external_clock_pin: Optional[microcontroller.Pin] = None,
//| external_clock_frequency: int = 20_000_000,
//| powerdown_pin: Optional[microcontroller.Pin] = None,
//| reset_pin: Optional[microcontroller.Pin] = None,
//| pixel_format: PixelFormat = PixelFormat.RGB565,
@ -101,8 +101,8 @@ STATIC mp_obj_t esp32_camera_camera_make_new(const mp_obj_type_t *type, size_t n
{ MP_QSTR_vsync_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY | MP_ARG_REQUIRED },
{ MP_QSTR_href_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY | MP_ARG_REQUIRED },
{ MP_QSTR_i2c, MP_ARG_OBJ | MP_ARG_KW_ONLY | MP_ARG_REQUIRED },
{ MP_QSTR_external_clock_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY },
{ MP_QSTR_external_clock_frequency, MP_ARG_INT | MP_ARG_REQUIRED },
{ MP_QSTR_external_clock_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY, { .u_obj = MP_ROM_NONE } },
{ MP_QSTR_external_clock_frequency, MP_ARG_INT | MP_ARG_KW_ONLY, { .u_int = 20000000L } },
{ MP_QSTR_powerdown_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY, { .u_obj = MP_ROM_NONE } },
{ MP_QSTR_reset_pin, MP_ARG_OBJ | MP_ARG_KW_ONLY, { .u_obj = MP_ROM_NONE } },
{ MP_QSTR_pixel_format, MP_ARG_OBJ | MP_ARG_KW_ONLY, { .u_obj = MP_ROM_PTR((void *)&pixel_format_RGB565_obj) } },
@ -125,7 +125,7 @@ STATIC mp_obj_t esp32_camera_camera_make_new(const mp_obj_type_t *type, size_t n
const mcu_pin_obj_t *vsync_pin = validate_obj_is_free_pin(args[ARG_vsync_pin].u_obj);
const mcu_pin_obj_t *href_pin = validate_obj_is_free_pin(args[ARG_href_pin].u_obj);
busio_i2c_obj_t *i2c = MP_OBJ_TO_PTR(mp_arg_validate_type(args[ARG_i2c].u_obj, &busio_i2c_type, MP_QSTR_i2c));
const mcu_pin_obj_t *external_clock_pin = validate_obj_is_free_pin(args[ARG_external_clock_pin].u_obj);
const mcu_pin_obj_t *external_clock_pin = validate_obj_is_free_pin_or_none(args[ARG_external_clock_pin].u_obj);
const mcu_pin_obj_t *powerdown_pin = validate_obj_is_free_pin_or_none(args[ARG_powerdown_pin].u_obj);
const mcu_pin_obj_t *reset_pin = validate_obj_is_free_pin_or_none(args[ARG_reset_pin].u_obj);
const mp_int_t external_clock_frequency = mp_arg_validate_int_range(args[ARG_external_clock_frequency].u_int, 0, 40000000, MP_QSTR_clock_frequency);

View File

@ -85,14 +85,20 @@ void common_hal_esp32_camera_camera_construct(
for (int i = 0; i < 8; i++) {
claim_pin_number(data_pins[i]);
}
claim_pin(external_clock_pin);
maybe_claim_pin(external_clock_pin);
claim_pin(pixel_clock_pin);
claim_pin(vsync_pin);
claim_pin(href_pin);
maybe_claim_pin(powerdown_pin);
maybe_claim_pin(reset_pin);
common_hal_pwmio_pwmout_construct(&self->pwm, external_clock_pin, 1, external_clock_frequency, true);
if (external_clock_pin) {
common_hal_pwmio_pwmout_construct(&self->pwm, external_clock_pin, 1, external_clock_frequency, true);
self->camera_config.ledc_timer = self->pwm.tim_handle.timer_num;
self->camera_config.ledc_channel = self->pwm.chan_handle.channel;
} else {
self->camera_config.ledc_channel = 0xff; // NO_CAMERA_LEDC_CHANNEL
}
self->i2c = i2c;
@ -119,9 +125,6 @@ void common_hal_esp32_camera_camera_construct(
self->camera_config.xclk_freq_hz = external_clock_frequency;
self->camera_config.ledc_timer = self->pwm.tim_handle.timer_num;
self->camera_config.ledc_channel = self->pwm.chan_handle.channel;
self->camera_config.pixel_format = pixel_format;
self->camera_config.frame_size = frame_size;
self->camera_config.jpeg_quality = jpeg_quality;

@ -1 +1 @@
Subproject commit 54c3f61c864c3d3ffd779042454554045b9dd9d2
Subproject commit 4ff7f348d0713ea8eca022f73a059b0fe0934531