Fixed monochrome bitmap blitting
This commit is contained in:
parent
c4466aa703
commit
223bae1b70
2
hcl
2
hcl
|
@ -1 +1 @@
|
|||
Subproject commit 9dc33a9abadbde8e0c2ffc853a35feaf6990c143
|
||||
Subproject commit 001d44d6b9693a9ad3fd6fc8bc44e8dc22ad7149
|
135
src/logo.rs
135
src/logo.rs
|
@ -1,4 +1,4 @@
|
|||
use st7735::bitmaps::ColorBitmap;
|
||||
use st7735::bitmaps::{ColorBitmap, MonoBitmap};
|
||||
|
||||
const LOGO_PX : [u16; 1024] = [
|
||||
0x4081, 0x4880, 0x4880, 0x2861, 0x38c1, 0x38c1, 0x30a1, 0x3081, 0x2861, 0x1861, 0x1061, 0x28a1, 0x3060, 0x2861, 0x821, 0x1041, 0x1861, 0x821, 0x821, 0x1, 0x821, 0x1841, 0x2061, 0x1841, 0x2061, 0x2881, 0x38a1, 0x5122, 0x2104, 0x5a48, 0x5a48, 0x6aea,
|
||||
|
@ -36,7 +36,136 @@ const LOGO_PX : [u16; 1024] = [
|
|||
];
|
||||
|
||||
pub const LOGO : ColorBitmap = ColorBitmap {
|
||||
width : 4,
|
||||
height : 4,
|
||||
width : 32,
|
||||
height : 32,
|
||||
pixels : &LOGO_PX,
|
||||
};
|
||||
|
||||
const LOGO_BW_PX : [u8; 2070] = [
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xcf, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x3f, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x7f, 0xf8, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xe1, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x3, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7, 0xfc, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x1f, 0xff, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x3f, 0xfe, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0xf8, 0xff, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf1, 0xfb, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xe7, 0xe7, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0x8f, 0xff, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xff, 0x1f, 0xfe, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xff, 0x3b, 0xf8, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xcf, 0xe0, 0xff, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x3f, 0x80, 0xff, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xff, 0x0, 0xfe, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0x87, 0xf9, 0xff, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xff, 0x1f, 0xc7, 0xff, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x7f, 0x7e, 0xc, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xf9, 0x31, 0xfc, 0xff, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xe3, 0xc7, 0xf0, 0xf7, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7, 0x3f, 0xc0, 0xdf, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x1f, 0xfc, 0x0, 0x7f, 0xff, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x7f, 0xf0, 0x3, 0xfc, 0xfc, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0x83, 0xf, 0xfc, 0xe3, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0xf, 0x3e, 0xf8, 0xf, 0xfe, 0x1, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x7f, 0xf8, 0xf1, 0x1f, 0xf8, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xff, 0xc1, 0xc7, 0x7f, 0xc0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xff, 0xf, 0x9f, 0xf7, 0x81, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xff, 0x3d, 0x7f, 0xc6, 0x3, 0xfe, 0xf, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0xe7, 0xed, 0xf, 0xf, 0xfc, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x9f, 0x87, 0x3f, 0x3c, 0xf0, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xff, 0x3c, 0x7c, 0x70, 0xc0, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0xff, 0xf1, 0xc3, 0x81, 0xff, 0x3f, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x3f, 0xff, 0xc7, 0xef, 0x7, 0x3e, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x80, 0x7f, 0xf8, 0x3f, 0x8e, 0x9f, 0xfc, 0xfc, 0x7, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x81, 0xff, 0x38, 0x3e, 0xf3, 0xfb, 0x3f, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x3, 0xfc, 0xe7, 0xfc, 0xec, 0xe7, 0xff, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xf, 0xc0, 0x1f, 0xf3, 0x93, 0xc3, 0xfd, 0x7, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xf0, 0x1f, 0x0, 0xfe, 0x8c, 0x7, 0x8f, 0xe1, 0x1f, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xc0, 0x3f, 0x0, 0xe0, 0x3, 0xf, 0x1c, 0xc0, 0xff, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0x0, 0x0, 0xf, 0x3e, 0x30, 0x80, 0xff, 0x7, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x1, 0x0, 0x8, 0xf8, 0x0, 0x0, 0xff, 0x1f, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xfc, 0x3, 0x0, 0x40, 0xe0, 0x3, 0x2, 0x7e, 0xff, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xf0, 0xf, 0x0, 0x80, 0xc7, 0x1f, 0x1e, 0x7c, 0xfc, 0x3, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xe0, 0x1f, 0x0, 0x0, 0xff, 0xff, 0xff, 0xf8, 0xfc, 0x1f, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xc0, 0x7f, 0x0, 0x0, 0xfc, 0xff, 0xff, 0xf3, 0xf8, 0xff, 0x0, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0xf0, 0xff, 0xff, 0xc7, 0xf9, 0xff, 0x3, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xfe, 0x3, 0x0, 0x80, 0xff, 0xff, 0x1f, 0xf8, 0xf1, 0x1f, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xf8, 0x7, 0x0, 0x0, 0xfc, 0xff, 0x3f, 0x70, 0x80, 0x7f, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xf0, 0x1f, 0x0, 0x0, 0xf8, 0xff, 0xff, 0x0, 0x80, 0xff, 0x3, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xc0, 0x3f, 0x0, 0x0, 0xe0, 0x7f, 0xfe, 0x7, 0xc0, 0xff, 0xf, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x80, 0x7f, 0x0, 0x0, 0x80, 0x7f, 0xe0, 0x1f, 0xf8, 0xff, 0x7f, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xff, 0x1, 0x0, 0xe0, 0xff, 0x0, 0xff, 0xf7, 0xff, 0xff, 0x3, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x0, 0xfc, 0x3, 0x0, 0xc0, 0xff, 0x3, 0xfc, 0x1f, 0x0, 0xf8, 0xf, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xf8, 0xf, 0x0, 0x0, 0xff, 0xf, 0xf0, 0x7f, 0x0, 0xff, 0x7f, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xf0, 0x1f, 0x0, 0x0, 0xfc, 0x3f, 0xc0, 0xff, 0x1, 0xe0, 0xff, 0x3, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xc0, 0x7f, 0x0, 0x0, 0xe0, 0xff, 0x0, 0xff, 0x7, 0x0, 0xf8, 0xf, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0x80, 0xff, 0x0, 0x0, 0x0, 0xfc, 0x7, 0xfe, 0xc1, 0xff, 0xff, 0x7f, 0x0, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xfe, 0x1, 0x0, 0x0, 0xe0, 0x3f, 0xfc, 0x7, 0xf0, 0xff, 0xff, 0x1, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xfc, 0x7, 0x0, 0x0, 0x80, 0xff, 0xf0, 0x1f, 0x0, 0xf8, 0xff, 0xf, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xf0, 0xf, 0x0, 0x0, 0x0, 0xfc, 0xc1, 0x3f, 0x0, 0xf0, 0xf1, 0x3f, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xe0, 0x3f, 0x0, 0x0, 0x0, 0xf8, 0x7, 0xfe, 0x1, 0xc7, 0xf, 0xff, 0x1, 0x0, 0x0,
|
||||
0x0, 0x0, 0xc0, 0x7f, 0x80, 0x7, 0x0, 0xf0, 0x1f, 0xf8, 0xc7, 0x3f, 0x10, 0xf8, 0x7, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xff, 0x0, 0x3f, 0x0, 0xc0, 0x3f, 0xe0, 0x3f, 0xfc, 0x1f, 0xc0, 0x3f, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xfe, 0x3, 0xfe, 0x1, 0x0, 0xff, 0x0, 0xff, 0x0, 0xff, 0x1f, 0xff, 0x0, 0x0,
|
||||
0x0, 0x0, 0x0, 0xf8, 0x7, 0xf8, 0x7, 0x0, 0x38, 0x0, 0xe0, 0x79, 0xc0, 0xff, 0xff, 0x7, 0x0, 0x0,
|
||||
0x0, 0x0, 0xf0, 0x1f, 0xe0, 0x1f, 0x0, 0x46, 0x0, 0x0, 0xe2, 0x1, 0xff, 0xff, 0x3f, 0x0, 0x0,
|
||||
0x0, 0x0, 0xc0, 0x3f, 0x80, 0x7f, 0x0, 0x3e, 0x0, 0x0, 0x60, 0x3c, 0xfc, 0xff, 0xff, 0x0, 0x0,
|
||||
0x0, 0x0, 0x80, 0x7f, 0x0, 0xfe, 0x1, 0xfc, 0x0, 0x0, 0x0, 0xc3, 0xe3, 0x9f, 0xff, 0x7, 0x0,
|
||||
0x0, 0x0, 0x0, 0xfe, 0x1, 0xf0, 0x3, 0xf8, 0x3, 0x0, 0x0, 0x38, 0x3c, 0x3c, 0xe0, 0x1f, 0x0, 0x0,
|
||||
0x0, 0x0, 0xfc, 0x3, 0x78, 0xf8, 0xff, 0x3, 0x0, 0x0, 0xc0, 0xc1, 0x7, 0x0, 0xff, 0x0, 0x0,
|
||||
0x0, 0x0, 0xf8, 0xf, 0xf0, 0xff, 0xff, 0x7, 0x0, 0x0, 0x0, 0x1c, 0x7c, 0x0, 0xfc, 0x7, 0x0,
|
||||
0x0, 0x0, 0xe0, 0x1f, 0xe0, 0xff, 0xff, 0xf, 0x0, 0xf8, 0x1, 0xe0, 0xc0, 0x7, 0xe0, 0x1f, 0x0,
|
||||
0x0, 0x0, 0xc0, 0x7f, 0xc0, 0xff, 0xff, 0x1f, 0x0, 0xff, 0x7, 0x0, 0xf, 0x7c, 0x80, 0xff, 0x0, 0x0,
|
||||
0x0, 0x0, 0xff, 0x80, 0xff, 0xff, 0x3f, 0xc0, 0xff, 0x1f, 0x0, 0x78, 0xf8, 0x7, 0xfc, 0x3, 0x0,
|
||||
0x0, 0x0, 0xfe, 0x1, 0xff, 0xff, 0x3, 0x80, 0xff, 0x7f, 0x0, 0xc0, 0xf7, 0x7f, 0xe0, 0x1f, 0x0,
|
||||
0x0, 0x0, 0xfc, 0x7, 0xfe, 0xff, 0x1f, 0x80, 0xff, 0xff, 0x0, 0x0, 0xfc, 0xdf, 0x87, 0xff, 0x0,
|
||||
0x0, 0x0, 0xf0, 0xf, 0xfc, 0xf9, 0xff, 0x80, 0xff, 0xf, 0x0, 0x0, 0xe0, 0x7f, 0x7c, 0xfc, 0x3, 0x0,
|
||||
0x0, 0xe0, 0x3f, 0xf0, 0xc3, 0xff, 0x7, 0xff, 0x1, 0x0, 0x0, 0x0, 0x1f, 0xc0, 0xff, 0x1f, 0x0,
|
||||
0x0, 0x80, 0x7f, 0xc0, 0x7, 0xfe, 0x3f, 0xff, 0x3, 0x0, 0x0, 0x0, 0xf8, 0x1, 0xfc, 0x7f, 0x0,
|
||||
0x0, 0x0, 0xff, 0x1, 0xf, 0xf0, 0xff, 0xff, 0x3, 0x0, 0x0, 0x0, 0xc0, 0x1f, 0xc0, 0xff, 0x3,
|
||||
0x0, 0x0, 0xfe, 0x3, 0x3c, 0xc0, 0xff, 0xff, 0x7, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x0, 0xfc, 0x1f, 0x0,
|
||||
0x0, 0xf8, 0xf, 0xf0, 0x0, 0xfe, 0xff, 0x7, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xf, 0xc7, 0x7f, 0x0,
|
||||
0x0, 0xf0, 0x1f, 0xc0, 0x3, 0xf0, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x1c, 0xfe, 0x3,
|
||||
0x0, 0xc0, 0x3f, 0x0, 0xf, 0x80, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0x7, 0xf0, 0xf,
|
||||
0x0, 0x80, 0xff, 0x0, 0x3c, 0x0, 0xfc, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x80, 0x7f, 0xc0, 0x7f, 0x0,
|
||||
0x0, 0xfe, 0x1, 0xf0, 0x0, 0xe0, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0xfc, 0x3, 0xfe, 0x1,
|
||||
0x0, 0xfc, 0x7, 0xc0, 0x3, 0x0, 0xfe, 0xff, 0x7f, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x3f, 0xf8, 0xf,
|
||||
0x0, 0xf8, 0xf, 0x0, 0x0, 0x0, 0xc0, 0xff, 0xff, 0x7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xc1, 0x7f,
|
||||
0x0, 0xe0, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x3f, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x1f, 0xfe, 0x1,
|
||||
0xc0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe, 0x3, 0x0, 0x0, 0x0, 0x80, 0xff, 0xf9, 0xf,
|
||||
0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x1f, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xcf, 0x3f,
|
||||
0x0, 0xfe, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xff, 0xff,
|
||||
0x1, 0xf8, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x7, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x7,
|
||||
0xf0, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xf, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0x3f,
|
||||
0xe0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0xff,
|
||||
0x81, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc, 0xff,
|
||||
0x7, 0xff, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe0, 0xff, 0x3f,
|
||||
0xfc, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff,
|
||||
0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
|
||||
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f
|
||||
];
|
||||
|
||||
pub const LOGO_BW : MonoBitmap = MonoBitmap {
|
||||
width : 138,
|
||||
height : 120,
|
||||
pixels : &LOGO_BW_PX,
|
||||
};
|
||||
|
|
|
@ -142,8 +142,10 @@ fn run(mut scs: scs::Instance, mut p: hcl::platform::Instance) {
|
|||
|
||||
st7735io.draw_line(4, 4, 80, 64, st7735::COLOR_GREEN);
|
||||
|
||||
systick::delay_ms(100);
|
||||
//st7735io.draw_color_bitmap(10, 10, &logo::LOGO);
|
||||
systick::delay_ms(1000);
|
||||
st7735io.draw_mono_bitmap(11, 4, &logo::LOGO_BW, st7735::COLOR_WHITE, st7735::COLOR_BLACK);
|
||||
systick::delay_ms(1000);
|
||||
//st7735io.draw_color_bitmap(11, 4, &logo::LOGO);
|
||||
systick::delay_ms(5000);
|
||||
}
|
||||
let (st7735, mut spi, mut gpio) = st7735io.done();
|
||||
|
|
|
@ -100,7 +100,6 @@ pub trait GFX : PrimitveGFX {
|
|||
|
||||
let x0 = x0 as i16;
|
||||
let y0 = y0 as i16;
|
||||
let r = r as i16;
|
||||
|
||||
while x < y {
|
||||
if f >= 0 {
|
||||
|
|
|
@ -219,8 +219,9 @@ impl<SPIAddr, GPIOAddr> St7735IO<SPIAddr, GPIOAddr>
|
|||
|
||||
fn write_byte(&mut self, byte : u8) {
|
||||
self.spi.set_data(byte as u32);
|
||||
while !self.spi.tx_buffer_empty() {};
|
||||
while self.spi.busy() {}
|
||||
while !self.spi.tx_buffer_empty() || self.spi.busy() {
|
||||
unsafe { asm!("nop" :::: "volatile"); }
|
||||
};
|
||||
}
|
||||
|
||||
fn write_data_byte(&mut self, data : u8) {
|
||||
|
@ -509,7 +510,7 @@ impl<SPIAddr, GPIOAddr> bitmaps::BitmapGFX for St7735IO<SPIAddr, GPIOAddr>
|
|||
where SPIAddr: Location,
|
||||
GPIOAddr: Location {
|
||||
|
||||
fn draw_color_bitmap(&mut self, x : u8, y: u8, bitmap: &bitmaps::ColorBitmap) {
|
||||
fn draw_color_bitmap(&mut self, x : u8, y: u8, bitmap : &bitmaps::ColorBitmap) {
|
||||
if x >= self.st7735.width || y >= self.st7735.height {
|
||||
return;
|
||||
}
|
||||
|
@ -521,17 +522,20 @@ impl<SPIAddr, GPIOAddr> bitmaps::BitmapGFX for St7735IO<SPIAddr, GPIOAddr>
|
|||
return;
|
||||
}
|
||||
|
||||
self.set_addr_win(x, y, x + bitmap.width - 1, y + bitmap.height - 1);
|
||||
let x_end = x + bitmap.width - 1;
|
||||
let y_end = y + bitmap.height - 1;
|
||||
self.set_addr_win(x, y, x_end, y_end);
|
||||
|
||||
self.set_rs();
|
||||
self.reset_cs();
|
||||
|
||||
let mut byte_pos : usize = 0;
|
||||
for i in 0..bitmap.height {
|
||||
for j in 0..bitmap.width {
|
||||
let color = bitmap.pixels[(i * bitmap.width + j) as usize];
|
||||
self.write_color_bytes(color);
|
||||
delay_ms(1);
|
||||
}
|
||||
let color = bitmap.pixels[byte_pos];
|
||||
self.write_color_bytes(color);
|
||||
byte_pos += 1;
|
||||
}
|
||||
}
|
||||
|
||||
self.set_cs();
|
||||
|
@ -539,6 +543,48 @@ impl<SPIAddr, GPIOAddr> bitmaps::BitmapGFX for St7735IO<SPIAddr, GPIOAddr>
|
|||
|
||||
fn draw_mono_bitmap(&mut self, x : u8, y: u8, bitmap: &bitmaps::MonoBitmap,
|
||||
color_set : u16, color_unset : u16) {
|
||||
if x >= self.st7735.width || y >= self.st7735.height {
|
||||
return;
|
||||
}
|
||||
|
||||
if((x + bitmap.width - 1) >= self.st7735.width) {
|
||||
return;
|
||||
}
|
||||
if((y + bitmap.height - 1) >= self.st7735.height) {
|
||||
return;
|
||||
}
|
||||
|
||||
let x_end = x + bitmap.width - 1;
|
||||
let y_end = y + bitmap.height - 1;
|
||||
self.set_addr_win(x, y, x_end, y_end);
|
||||
|
||||
self.set_rs();
|
||||
self.reset_cs();
|
||||
|
||||
|
||||
let mut byte_pos : usize = 0;
|
||||
let mut bit_pos : u8 = 0;
|
||||
let mut byte : u8 = 0;
|
||||
|
||||
for i in 0..bitmap.width {
|
||||
for j in 0..bitmap.height{
|
||||
if bit_pos == 0 {
|
||||
byte = bitmap.pixels[byte_pos];
|
||||
byte_pos += 1;
|
||||
}
|
||||
|
||||
if (byte & (1 << bit_pos)) != 0{
|
||||
self.write_color_bytes(color_set);
|
||||
}
|
||||
else {
|
||||
self.write_color_bytes(color_unset);
|
||||
}
|
||||
bit_pos = (bit_pos + 1) % 8;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
self.set_cs();
|
||||
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue