@@ -52,69 +52,8 @@ uint8_t display_init_sequence[] = {
52
52
0x29 , 0 | DELAY , 5 , // _DISPON
53
53
};
54
54
55
- #define I2C_MASTER_SCL_IO 34
56
- #define I2C_MASTER_SDA_IO 33
57
- #define I2C_MASTER_NUM 0
58
- #define I2C_MASTER_FREQ_HZ 400000
59
- #define I2C_MASTER_TX_BUF_DISABLE 0
60
- #define I2C_MASTER_RX_BUF_DISABLE 0
61
- #define I2C_MASTER_TIMEOUT_MS 1000
62
- #define I2C_WAIT 40 // Timing (in microseconds) for I2C
63
-
64
- #define AW9523_ADDR (0x5B)
65
- #define AW9523_REG_SOFTRESET (0x7f)
66
- #define AW9523_REG_OUTPUT0 (0x02)
67
- #define AW9523_REG_CONFIG0 (0x04)
68
- #define AW9523_DEFAULT_OUTPUT (0)
69
- #define AW9523_DEFAULT_CONFIG (0x2)
70
-
71
-
72
- static void io_expander_backlight_init (void ) {
73
- int i2c_num = I2C_MASTER_NUM ;
74
- i2c_config_t conf = {
75
- .mode = I2C_MODE_MASTER ,
76
- .sda_io_num = I2C_MASTER_SDA_IO ,
77
- .scl_io_num = I2C_MASTER_SCL_IO ,
78
- .sda_pullup_en = GPIO_PULLUP_ENABLE ,
79
- .scl_pullup_en = GPIO_PULLUP_ENABLE ,
80
- .master .clk_speed = I2C_MASTER_FREQ_HZ ,
81
- };
82
- i2c_param_config (i2c_num , & conf );
83
- i2c_driver_install (i2c_num , conf .mode , I2C_MASTER_RX_BUF_DISABLE , I2C_MASTER_TX_BUF_DISABLE , 0 );
84
- i2c_cmd_handle_t cmd = i2c_cmd_link_create ();
85
- i2c_master_start (cmd );
86
- i2c_master_write_byte (cmd , AW9523_ADDR << 1 | I2C_MASTER_WRITE , true);
87
- i2c_master_write_byte (cmd , AW9523_REG_SOFTRESET , true);
88
- i2c_master_write_byte (cmd , 0 , true);
89
- i2c_master_stop (cmd );
90
- i2c_master_cmd_begin (i2c_num , cmd , 1000 / portTICK_PERIOD_MS );
91
- i2c_cmd_link_delete (cmd );
92
-
93
- cmd = i2c_cmd_link_create ();
94
- i2c_master_start (cmd );
95
- i2c_master_write_byte (cmd , AW9523_ADDR << 1 | I2C_MASTER_WRITE , true);
96
- i2c_master_write_byte (cmd , AW9523_REG_CONFIG0 , true);
97
- i2c_master_write_byte (cmd , AW9523_DEFAULT_CONFIG >> 8 , true);
98
- i2c_master_write_byte (cmd , AW9523_DEFAULT_CONFIG & 0xff , true);
99
- i2c_master_stop (cmd );
100
- i2c_master_cmd_begin (i2c_num , cmd , 1000 / portTICK_PERIOD_MS );
101
- i2c_cmd_link_delete (cmd );
102
-
103
- cmd = i2c_cmd_link_create ();
104
- i2c_master_start (cmd );
105
- i2c_master_write_byte (cmd , AW9523_ADDR << 1 | I2C_MASTER_WRITE , true);
106
- i2c_master_write_byte (cmd , AW9523_REG_OUTPUT0 , true);
107
- i2c_master_write_byte (cmd , AW9523_DEFAULT_OUTPUT >> 8 , true);
108
- i2c_master_write_byte (cmd , AW9523_DEFAULT_OUTPUT & 0xff , true);
109
- i2c_master_stop (cmd );
110
- i2c_master_cmd_begin (i2c_num , cmd , 1000 / portTICK_PERIOD_MS );
111
- i2c_cmd_link_delete (cmd );
112
-
113
- i2c_driver_delete (i2c_num );
114
- }
115
55
116
56
void board_init (void ) {
117
- io_expander_backlight_init ();
118
57
busio_spi_obj_t * spi = common_hal_board_create_spi (0 );
119
58
fourwire_fourwire_obj_t * bus = & allocate_display_bus ()-> fourwire_bus ;
120
59
bus -> base .type = & fourwire_fourwire_type ;
@@ -148,7 +87,7 @@ void board_init(void) {
148
87
MIPI_COMMAND_WRITE_MEMORY_START , // Write memory command
149
88
display_init_sequence ,
150
89
sizeof (display_init_sequence ),
151
- NULL , // backlight pin
90
+ & pin_GPIO45 , // backlight pin
152
91
NO_BRIGHTNESS_COMMAND ,
153
92
1.0f , // brightness
154
93
false, // single_byte_bounds
0 commit comments