Merge pull request #8245 from jepler/esp32-camera-backlight-solarize
pycamera: backlight, solarize
This commit is contained in:
commit
9cc4b4cd37
|
@ -446,11 +446,13 @@ else
|
|||
all: $(BUILD)/firmware.bin
|
||||
endif
|
||||
|
||||
$(IDF_CMAKE_TARGETS): esp-idf-stamp
|
||||
|
||||
.PHONY: esp-idf-stamp
|
||||
esp-idf-stamp: $(BUILD)/esp-idf/config/sdkconfig.h
|
||||
$(Q)ninja -C $(BUILD)/esp-idf $(IDF_CMAKE_TARGETS)
|
||||
|
||||
$(BUILD)/firmware.elf: $(OBJ) | esp-idf-stamp
|
||||
$(BUILD)/firmware.elf: $(OBJ) | esp-idf-stamp $(IDF_CMAKE_TARGETS)
|
||||
$(STEPECHO) "LINK $@"
|
||||
$(Q)$(CC) -o $@ $(LDFLAGS) $^ -Wl,--start-group $(ESP_IDF_COMPONENTS_EXPANDED) $(BINARY_BLOBS) $(MBEDTLS_COMPONENTS_LINK_EXPANDED) $(BUILD)/esp-idf/esp-idf/newlib/libnewlib.a -Wl,--end-group -u newlib_include_pthread_impl -u ld_include_highint_hdl -Wl,--start-group $(LIBS) -Wl,--end-group $(BUILD)/esp-idf/esp-idf/pthread/libpthread.a -u __cxx_fatal_exception
|
||||
|
||||
|
|
|
@ -35,6 +35,8 @@
|
|||
#include "shared-bindings/board/__init__.h"
|
||||
|
||||
#include "esp_log.h"
|
||||
#include "esp_err.h"
|
||||
#include "driver/i2c.h"
|
||||
|
||||
displayio_fourwire_obj_t board_display_obj;
|
||||
|
||||
|
@ -50,7 +52,69 @@ 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_RATE_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_RATE_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_RATE_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);
|
||||
displayio_fourwire_obj_t *bus = &allocate_display_bus()->fourwire_bus;
|
||||
bus->base.type = &displayio_fourwire_type;
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 2cd2a6d69faaba9ebb6105814a50039d82e2f899
|
||||
Subproject commit 2758089a06ccae79d8fcab6c93e2ca3761646f9f
|
Loading…
Reference in New Issue