@@ -13,6 +13,7 @@ const uart = rp2xxx.uart.instance.num(0);
1313const uart_tx_pin = gpio .num (0 );
1414
1515var i2c0 = i2c .instance .num (0 );
16+ var i2c1 = i2c .instance .num (1 );
1617
1718const pin_config = rp2xxx.pins.GlobalConfiguration {
1819 .GPIO0 = .{ .name = "gpio0" , .function = .UART0_TX },
@@ -34,9 +35,9 @@ pub fn main() !void {
3435 .clock = rp2xxx .drivers .clock_device (),
3536 });
3637
37- try camera .set_refresh_rate (0b100 );
38+ try camera .set_refresh_rate (0b101 );
3839
39- const i2c_dd = rp2xxx .drivers .I2C_Datagram_Device .init (i2c0 , @enumFromInt (0x3C ), null );
40+ const i2c_dd = rp2xxx .drivers .I2C_Datagram_Device .init (i2c1 , @enumFromInt (0x3C ), null );
4041 const lcd = try display .ssd1306 .init (.i2c , i2c_dd , null );
4142 try lcd .clear_screen (false );
4243
@@ -57,7 +58,7 @@ pub fn main() !void {
5758 scale_128_x_64 (& fb , & image , threshold );
5859
5960 try lcd .write_full_display (fb .bit_stream ());
60- time .sleep_ms (100 );
61+ time .sleep_ms (50 );
6162 }
6263}
6364
@@ -95,13 +96,24 @@ fn init() !void {
9596 });
9697
9798 i2c0 .apply (i2c.Config { .clock_config = rp2xxx .clock_config });
99+ i2c1 .apply (i2c.Config { .clock_config = rp2xxx .clock_config });
98100
99101 rp2xxx .uart .init_logger (uart );
100102 _ = pin_config .apply ();
101103
102- const scl_pin = gpio .num (5 );
103- const sda_pin = gpio .num (4 );
104- inline for (&.{ scl_pin , sda_pin }) | pin | {
104+ // i2c0: camera (GPIO4=SDA, GPIO5=SCL)
105+ const i2c0_scl = gpio .num (5 );
106+ const i2c0_sda = gpio .num (4 );
107+ inline for (&.{ i2c0_scl , i2c0_sda }) | pin | {
108+ pin .set_slew_rate (.slow );
109+ pin .set_schmitt_trigger_enabled (true );
110+ pin .set_function (.i2c );
111+ }
112+
113+ // i2c1: display (GPIO2=SDA, GPIO3=SCL)
114+ const i2c1_scl = gpio .num (3 );
115+ const i2c1_sda = gpio .num (2 );
116+ inline for (&.{ i2c1_scl , i2c1_sda }) | pin | {
105117 pin .set_slew_rate (.slow );
106118 pin .set_schmitt_trigger_enabled (true );
107119 pin .set_function (.i2c );
0 commit comments