@@ -50,6 +50,37 @@ pub fn draw_grey_col(grid: &mut Grid, col: u8, levels: &[u8; HEIGHT]) {
5050 grid. 0 [ 8 - col as usize ] [ ..HEIGHT ] . copy_from_slice ( & levels[ ..HEIGHT ] ) ;
5151}
5252
53+ pub fn display_sleep_reason ( sleep_reason : SleepReason ) -> Grid {
54+ let mut grid = Grid :: default ( ) ;
55+
56+ match sleep_reason {
57+ SleepReason :: Command => {
58+ display_letter ( 20 , & mut grid, CAP_C ) ;
59+ display_letter ( 10 , & mut grid, CAP_M ) ;
60+ display_letter ( 0 , & mut grid, CAP_D ) ;
61+ }
62+ SleepReason :: SleepPin => {
63+ display_letter ( 23 , & mut grid, CAP_S ) ;
64+ display_letter ( 13 , & mut grid, CAP_L ) ;
65+ display_letter ( 7 , & mut grid, CAP_P ) ;
66+ display_letter ( 0 , & mut grid, HASH ) ;
67+ }
68+ SleepReason :: Timeout => {
69+ display_letter ( 24 , & mut grid, CAP_T ) ;
70+ display_letter ( 16 , & mut grid, CAP_I ) ;
71+ display_letter ( 8 , & mut grid, CAP_M ) ;
72+ display_letter ( 0 , & mut grid, CAP_E ) ;
73+ }
74+ SleepReason :: UsbSuspend => {
75+ display_letter ( 17 , & mut grid, CAP_U ) ;
76+ display_letter ( 10 , & mut grid, CAP_S ) ;
77+ display_letter ( 0 , & mut grid, CAP_B ) ;
78+ }
79+ } ;
80+
81+ grid
82+ }
83+
5384pub fn display_sleep ( ) -> Grid {
5485 Grid ( [
5586 [
0 commit comments