@@ -8,6 +8,7 @@ use cortex_m::delay::Delay;
88use defmt_rtt as _;
99use embedded_hal:: digital:: v2:: { InputPin , OutputPin } ;
1010
11+ use is31fl3741:: addresses;
1112use rp2040_hal:: {
1213 gpio:: bank0:: Gpio29 ,
1314 rosc:: { Enabled , RingOscillator } ,
@@ -414,6 +415,50 @@ fn main() -> ! {
414415 // Do nothing
415416 }
416417 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+
417462 let random = get_random_byte ( & rosc) ;
418463 match ( parse_command ( count, & buf) , & state. sleeping ) {
419464 // Handle bootloader command without any delay
0 commit comments