Add: error handling
This commit is contained in:
@ -22,14 +22,104 @@ func newMt12864a(logger *log.Logger) (Display, error) {
|
||||
return nil, fmt.Errorf("mt12864 create: %w", err)
|
||||
}
|
||||
|
||||
dev.PowerOn()
|
||||
if err := dev.PowerOn(); err != nil {
|
||||
return nil, fmt.Errorf("power on: %w", err)
|
||||
}
|
||||
|
||||
d := displayMt12864a{
|
||||
logger: logger,
|
||||
dev: dev,
|
||||
}
|
||||
|
||||
// Temp debug draw
|
||||
d.test()
|
||||
|
||||
return &d, nil
|
||||
}
|
||||
|
||||
func (d *displayMt12864a) test() {
|
||||
//d.SetPixel(4, 10, true)
|
||||
Logo128 := [][]byte{[]byte{0xFF, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xFF,
|
||||
}, []byte{0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xC0, 0xE0, 0xF0, 0xF0, 0xF0,
|
||||
0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xE0, 0xC0, 0x80, 0x00,
|
||||
0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80,
|
||||
0x00, 0x80, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00,
|
||||
0x80, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x80,
|
||||
0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00,
|
||||
0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00,
|
||||
0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x3F,
|
||||
}, []byte{0x1F, 0xC0, 0xE0, 0xE0, 0xFC, 0xFE, 0xF3, 0xE3, 0xE3, 0xE3, 0xE3, 0xAF, 0x6F, 0xFF, 0xFF, 0xFF,
|
||||
0xBF, 0xBF, 0xFF, 0xFF, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xF6, 0xF4, 0x1F, 0x21, 0xE2, 0x61, 0x6F, 0x60, 0x6F, 0x64, 0x6F, 0x60, 0x6F, 0x65, 0x68,
|
||||
0x60, 0x6F, 0x62, 0x61, 0x67, 0x68, 0x67, 0x60, 0x6A, 0x67, 0x60, 0x6E, 0x61, 0x6F, 0x60, 0x67,
|
||||
0x6A, 0x6B, 0x60, 0x6F, 0x65, 0x68, 0x60, 0x60, 0x6F, 0x60, 0x60, 0x6F, 0x62, 0x61, 0x67, 0x68,
|
||||
0x67, 0x60, 0x6F, 0x62, 0x6F, 0x60, 0x6F, 0x64, 0x6F, 0x60, 0x6F, 0x65, 0x68, 0x64, 0x6A, 0x6F,
|
||||
0x60, 0x60, 0x6F, 0x64, 0x6F, 0x60, 0x60, 0x60, 0x6F, 0x60, 0x67, 0x6A, 0x6B, 0x60, 0x6D, 0x62,
|
||||
0x6D, 0x60, 0x6F, 0x62, 0x6F, 0x60, 0x6F, 0x64, 0x6F, 0x60, 0x6F, 0x65, 0x68, 0x64, 0x6A, 0x6F,
|
||||
}, []byte{0xFE, 0x3F, 0x3F, 0x3F, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF9, 0x77, 0x37,
|
||||
0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0F, 0x13, 0x01, 0x00, 0x00, 0x01, 0x07,
|
||||
0xD7, 0x0E, 0x08, 0xC0, 0x00, 0x10, 0x0F, 0xF8, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0xFE, 0xFF, 0xFF,
|
||||
0xFF, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xF0, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00,
|
||||
0x00, 0xE0, 0xF0, 0xF8, 0xFC, 0x7C, 0x3E, 0x1E, 0x1F, 0x0F, 0x0F, 0x0F, 0x0F, 0x1F, 0x1E, 0x1E,
|
||||
0x3E, 0x7C, 0xFC, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x80, 0xC0, 0xF0, 0xFC, 0xFE, 0xFF, 0xFF, 0xFE, 0x00, 0x00, 0x06, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F,
|
||||
0x0F, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x06, 0xF0,
|
||||
}, []byte{0x3F, 0xE0, 0x00, 0x00, 0x01, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x3F, 0x00, 0x00, 0xE0,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x01, 0xC1, 0xE0, 0xE0, 0xF9, 0xFF, 0xFC, 0xFF, 0xFF, 0x7F, 0x1F, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x80, 0xE0, 0xF8, 0xFE, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x30, 0x78, 0x78, 0xFC, 0xFC, 0xFC, 0xFC, 0x78, 0x78,
|
||||
0x30, 0x00, 0x01, 0x07, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0xFE,
|
||||
0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
|
||||
}, []byte{0xFC, 0x01, 0x03, 0x04, 0x18, 0x20, 0x40, 0x81, 0x87, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
|
||||
0x80, 0xE4, 0xE7, 0xFB, 0xFF, 0xFF, 0x7F, 0x3F, 0x0F, 0x03, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x7F, 0x1F, 0x07, 0x03, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x70, 0xF8, 0xF8, 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0,
|
||||
0xE0, 0xF0, 0xFC, 0xFF, 0x7F, 0x3F, 0x0F, 0x81, 0xE0, 0xF8, 0xFC, 0xFF, 0xFF, 0x3F, 0x1F, 0x07,
|
||||
0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
|
||||
}, []byte{0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x04, 0x04, 0x04, 0x0C,
|
||||
0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x04, 0x04, 0x04, 0x02, 0x03, 0x01, 0x00,
|
||||
0x00, 0x03, 0x07, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07,
|
||||
0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03,
|
||||
0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
|
||||
}, []byte{0xFF, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
|
||||
0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xFF,
|
||||
},
|
||||
}
|
||||
|
||||
for p := byte(0); p < 8; p++ {
|
||||
d.dev.WriteCodeL(p | 0xB8)
|
||||
d.dev.WriteCodeL(0x40)
|
||||
for c := 0; c < 64; c++ {
|
||||
d.dev.WriteDataL(Logo128[p][c])
|
||||
}
|
||||
d.dev.WriteCodeR(p | 0xB8)
|
||||
d.dev.WriteCodeR(0x40)
|
||||
for c := 64; c < 128; c++ {
|
||||
d.dev.WriteDataR(Logo128[p][c])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (d *displayMt12864a) GetBounds() image.Rectangle {
|
||||
return image.Rectangle{}
|
||||
}
|
||||
|
Reference in New Issue
Block a user