From c2df41b397352beac9657550bf653c96e964d122 Mon Sep 17 00:00:00 2001 From: ladyada Date: Fri, 27 Oct 2023 01:48:22 -0400 Subject: [PATCH] update to rev D --- .../boards/adafruit_esp32s3_camera/board.c | 63 +------------------ .../boards/adafruit_esp32s3_camera/pins.c | 5 +- 2 files changed, 5 insertions(+), 63 deletions(-) diff --git a/ports/espressif/boards/adafruit_esp32s3_camera/board.c b/ports/espressif/boards/adafruit_esp32s3_camera/board.c index b9ddba9f0d..dea5cb0728 100644 --- a/ports/espressif/boards/adafruit_esp32s3_camera/board.c +++ b/ports/espressif/boards/adafruit_esp32s3_camera/board.c @@ -52,69 +52,8 @@ uint8_t display_init_sequence[] = { 0x29, 0 | DELAY, 5, // _DISPON }; -#define I2C_MASTER_SCL_IO 34 -#define I2C_MASTER_SDA_IO 33 -#define I2C_MASTER_NUM 0 -#define I2C_MASTER_FREQ_HZ 400000 -#define I2C_MASTER_TX_BUF_DISABLE 0 -#define I2C_MASTER_RX_BUF_DISABLE 0 -#define I2C_MASTER_TIMEOUT_MS 1000 -#define I2C_WAIT 40 // Timing (in microseconds) for I2C - -#define AW9523_ADDR (0x5B) -#define AW9523_REG_SOFTRESET (0x7f) -#define AW9523_REG_OUTPUT0 (0x02) -#define AW9523_REG_CONFIG0 (0x04) -#define AW9523_DEFAULT_OUTPUT (0) -#define AW9523_DEFAULT_CONFIG (0x2) - - -static void io_expander_backlight_init(void) { - int i2c_num = I2C_MASTER_NUM; - i2c_config_t conf = { - .mode = I2C_MODE_MASTER, - .sda_io_num = I2C_MASTER_SDA_IO, - .scl_io_num = I2C_MASTER_SCL_IO, - .sda_pullup_en = GPIO_PULLUP_ENABLE, - .scl_pullup_en = GPIO_PULLUP_ENABLE, - .master.clk_speed = I2C_MASTER_FREQ_HZ, - }; - i2c_param_config(i2c_num, &conf); - i2c_driver_install(i2c_num, conf.mode, I2C_MASTER_RX_BUF_DISABLE, I2C_MASTER_TX_BUF_DISABLE, 0); - i2c_cmd_handle_t cmd = i2c_cmd_link_create(); - i2c_master_start(cmd); - i2c_master_write_byte(cmd, AW9523_ADDR << 1 | I2C_MASTER_WRITE, true); - i2c_master_write_byte(cmd, AW9523_REG_SOFTRESET, true); - i2c_master_write_byte(cmd, 0, true); - i2c_master_stop(cmd); - i2c_master_cmd_begin(i2c_num, cmd, 1000 / portTICK_PERIOD_MS); - i2c_cmd_link_delete(cmd); - - cmd = i2c_cmd_link_create(); - i2c_master_start(cmd); - i2c_master_write_byte(cmd, AW9523_ADDR << 1 | I2C_MASTER_WRITE, true); - i2c_master_write_byte(cmd, AW9523_REG_CONFIG0, true); - i2c_master_write_byte(cmd, AW9523_DEFAULT_CONFIG >> 8, true); - i2c_master_write_byte(cmd, AW9523_DEFAULT_CONFIG & 0xff, true); - i2c_master_stop(cmd); - i2c_master_cmd_begin(i2c_num, cmd, 1000 / portTICK_PERIOD_MS); - i2c_cmd_link_delete(cmd); - - cmd = i2c_cmd_link_create(); - i2c_master_start(cmd); - i2c_master_write_byte(cmd, AW9523_ADDR << 1 | I2C_MASTER_WRITE, true); - i2c_master_write_byte(cmd, AW9523_REG_OUTPUT0, true); - i2c_master_write_byte(cmd, AW9523_DEFAULT_OUTPUT >> 8, true); - i2c_master_write_byte(cmd, AW9523_DEFAULT_OUTPUT & 0xff, true); - i2c_master_stop(cmd); - i2c_master_cmd_begin(i2c_num, cmd, 1000 / portTICK_PERIOD_MS); - i2c_cmd_link_delete(cmd); - - i2c_driver_delete(i2c_num); -} void board_init(void) { - io_expander_backlight_init(); busio_spi_obj_t *spi = common_hal_board_create_spi(0); fourwire_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus; bus->base.type = &fourwire_fourwire_type; @@ -148,7 +87,7 @@ void board_init(void) { MIPI_COMMAND_WRITE_MEMORY_START, // Write memory command display_init_sequence, sizeof(display_init_sequence), - NULL, // backlight pin + 45, // backlight pin NO_BRIGHTNESS_COMMAND, 1.0f, // brightness false, // single_byte_bounds diff --git a/ports/espressif/boards/adafruit_esp32s3_camera/pins.c b/ports/espressif/boards/adafruit_esp32s3_camera/pins.c index 743788bb7f..dab7418a08 100644 --- a/ports/espressif/boards/adafruit_esp32s3_camera/pins.c +++ b/ports/espressif/boards/adafruit_esp32s3_camera/pins.c @@ -27,6 +27,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_TFT_RESET), MP_ROM_PTR(&pin_GPIO38) }, { MP_ROM_QSTR(MP_QSTR_TFT_CS), MP_ROM_PTR(&pin_GPIO39) }, { MP_ROM_QSTR(MP_QSTR_TFT_DC), MP_ROM_PTR(&pin_GPIO40) }, + { MP_ROM_QSTR(MP_QSTR_TFT_BACKLIGHT), MP_ROM_PTR(&pin_GPIO45) }, { MP_ROM_QSTR(MP_QSTR_CARD_CS), MP_ROM_PTR(&pin_GPIO48) }, @@ -34,7 +35,7 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_NEOPIXEL), MP_ROM_PTR(&pin_GPIO1) }, - { MP_ROM_QSTR(MP_QSTR_SPEAKER), MP_ROM_PTR(&pin_GPIO41) }, + { MP_ROM_QSTR(MP_QSTR_SPEAKER), MP_ROM_PTR(&pin_GPIO46) }, { MP_ROM_QSTR(MP_QSTR_BUTTON), MP_ROM_PTR(&pin_GPIO0) }, @@ -60,6 +61,8 @@ STATIC const mp_rom_map_elem_t board_module_globals_table[] = { { MP_ROM_QSTR(MP_QSTR_CAMERA_DATA5), MP_ROM_PTR(&pin_GPIO14) }, { MP_ROM_QSTR(MP_QSTR_CAMERA_DATA3), MP_ROM_PTR(&pin_GPIO15) }, { MP_ROM_QSTR(MP_QSTR_CAMERA_DATA4), MP_ROM_PTR(&pin_GPIO16) }, + { MP_ROM_QSTR(MP_QSTR_CAMERA_RESET), MP_ROM_PTR(&pin_GPIO47) }, + { MP_ROM_QSTR(MP_QSTR_CAMERA_PWDN), MP_ROM_PTR(&pin_GPIO21) }, { MP_ROM_QSTR(MP_QSTR_I2C), MP_ROM_PTR(&board_i2c_obj) }, { MP_ROM_QSTR(MP_QSTR_SPI), MP_ROM_PTR(&board_spi_obj) },