@@ -80,7 +80,7 @@ static const uint8_t display_init_sequence[] = {
80
80
0x3a , 1 , 0x66 ,
81
81
0x3a , 1 , 0x66 ,
82
82
0x11 , 0x80 , 120 ,
83
- 0x29 , 0x80 , 20
83
+ 0x29 , 0x0
84
84
};
85
85
86
86
static const mcu_pin_obj_t * red_pins [] = {
@@ -122,25 +122,27 @@ void board_init(void) {
122
122
true
123
123
);
124
124
125
- busio_i2c_obj_t * i2c = common_hal_board_create_i2c (0 );
125
+ busio_i2c_obj_t i2c ;
126
+ i2c .base .type = & busio_i2c_type ;
127
+ common_hal_busio_i2c_construct (& i2c , DEFAULT_I2C_BUS_SCL , DEFAULT_I2C_BUS_SDA , 400000 , 255 );
126
128
const int i2c_device_address = 32 ;
127
129
128
- common_hal_busio_i2c_try_lock (i2c );
130
+ common_hal_busio_i2c_try_lock (& i2c );
129
131
130
132
{
131
133
uint8_t buf [2 ] = {3 , 0xf1 }; // set GPIO direction
132
- common_hal_busio_i2c_write (i2c , i2c_device_address , buf , sizeof (buf ));
134
+ common_hal_busio_i2c_write (& i2c , i2c_device_address , buf , sizeof (buf ));
133
135
}
134
136
135
137
{
136
138
uint8_t buf [2 ] = {2 , 0 }; // set all output pins low initially
137
- common_hal_busio_i2c_write (i2c , i2c_device_address , buf , sizeof (buf ));
139
+ common_hal_busio_i2c_write (& i2c , i2c_device_address , buf , sizeof (buf ));
138
140
}
139
141
140
- common_hal_busio_i2c_unlock (i2c );
142
+ common_hal_busio_i2c_unlock (& i2c );
141
143
142
144
dotclockframebuffer_ioexpander_spi_bus spibus = {
143
- .bus = i2c ,
145
+ .bus = & i2c ,
144
146
.i2c_device_address = i2c_device_address ,
145
147
.i2c_write_size = 2 ,
146
148
.addr_reg_shadow = { .u32 = 1 }, // GPIO data at register 1
@@ -151,6 +153,7 @@ void board_init(void) {
151
153
152
154
dotclockframebuffer_ioexpander_send_init_sequence (& spibus , display_init_sequence , sizeof (display_init_sequence ));
153
155
156
+ common_hal_busio_i2c_deinit (& i2c );
154
157
}
155
158
156
159
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
0 commit comments