@@ -8,6 +8,7 @@ use cortex_m::delay::Delay;
8
8
use defmt_rtt as _;
9
9
use embedded_hal:: digital:: v2:: { InputPin , OutputPin } ;
10
10
11
+ use is31fl3741:: addresses;
11
12
use rp2040_hal:: {
12
13
gpio:: bank0:: Gpio29 ,
13
14
rosc:: { Enabled , RingOscillator } ,
@@ -414,6 +415,50 @@ fn main() -> ! {
414
415
// Do nothing
415
416
}
416
417
Ok ( count) => {
418
+ let id = matrix
419
+ . device
420
+ . read_u8 ( is31fl3741:: addresses:: ID_REGISTER )
421
+ . unwrap ( ) ;
422
+ let reg = matrix
423
+ . device
424
+ . read_register (
425
+ is31fl3741:: Page :: Config ,
426
+ is31fl3741:: addresses:: CONFIG_REGISTER ,
427
+ )
428
+ . unwrap ( ) ;
429
+ let open1 = matrix. device . check_open ( & mut delay, 0x03 , true ) . unwrap ( ) ;
430
+ let open2 = matrix. device . check_open ( & mut delay, 0x07 , true ) . unwrap ( ) ;
431
+ let open3 = matrix. device . check_open ( & mut delay, 0x08 , true ) . unwrap ( ) ;
432
+ let open4 = matrix. device . check_open ( & mut delay, 0x0C , true ) . unwrap ( ) ;
433
+
434
+ let short1 = matrix. device . check_open ( & mut delay, 0x03 , false ) . unwrap ( ) ;
435
+ let short2 = matrix. device . check_open ( & mut delay, 0x07 , false ) . unwrap ( ) ;
436
+ let short2 = matrix. device . check_open ( & mut delay, 0x07 , false ) . unwrap ( ) ;
437
+ let short3 = matrix. device . check_open ( & mut delay, 0x08 , false ) . unwrap ( ) ;
438
+ let short4 = matrix. device . check_open ( & mut delay, 0x0C , false ) . unwrap ( ) ;
439
+
440
+ let mut text: String < 128 > = String :: new ( ) ;
441
+ write ! ( & mut text, "ID: {:02X}, Conf: {:02X}\r \n " , id, reg) . unwrap ( ) ;
442
+ let _ = serial. write ( text. as_bytes ( ) ) ;
443
+
444
+ let mut text: String < 128 > = String :: new ( ) ;
445
+ write ! (
446
+ & mut text,
447
+ "Open0x03: {:02X}, Open0x07: {:02X}, Open0x08: {:02X}, Open0x0C: {:02X}\r \n " ,
448
+ open1, open2, open3, open4
449
+ )
450
+ . unwrap ( ) ;
451
+ let _ = serial. write ( text. as_bytes ( ) ) ;
452
+
453
+ let mut text: String < 128 > = String :: new ( ) ;
454
+ write ! (
455
+ & mut text,
456
+ "Short0x03: {:02X}, Short0x07: {:02X}, Short0x08: {:02X}, Short0x0C: {:02X}\r \n " ,
457
+ short1, short2, short3, short4
458
+ )
459
+ . unwrap ( ) ;
460
+ let _ = serial. write ( text. as_bytes ( ) ) ;
461
+
417
462
let random = get_random_byte ( & rosc) ;
418
463
match ( parse_command ( count, & buf) , & state. sleeping ) {
419
464
// Handle bootloader command without any delay
0 commit comments