mirror of
https://github.com/Anshorei/epd-waveshare.git
synced 2026-10-03 22:06:43 +00:00
decreased the change of a overflow happening in draw_pixel, some more calculations and improvements are needed
This commit is contained in:
@@ -13,6 +13,8 @@ use lin_hal::sysfs_gpio::Direction;
|
|||||||
use lin_hal::Delay;
|
use lin_hal::Delay;
|
||||||
|
|
||||||
// activate spi, gpio in raspi-config
|
// activate spi, gpio in raspi-config
|
||||||
|
// needs to be run with sudo because of some sysfs_gpio permission problems and follow-up timing problems
|
||||||
|
// see https://github.com/rust-embedded/rust-sysfs-gpio/issues/5 and follow-up issues
|
||||||
|
|
||||||
|
|
||||||
// DigitalIn Hack as long as it's not in the linux_embedded_hal
|
// DigitalIn Hack as long as it's not in the linux_embedded_hal
|
||||||
|
|||||||
+1
-1
@@ -87,7 +87,7 @@ impl Graphics {
|
|||||||
pub fn draw_pixel(&self, buffer: &mut[u8], x: u16, y: u16, color: &Color) {
|
pub fn draw_pixel(&self, buffer: &mut[u8], x: u16, y: u16, color: &Color) {
|
||||||
let (idx, bit) = match self.rotation {
|
let (idx, bit) = match self.rotation {
|
||||||
Displayorientation::Rotate0 | Displayorientation::Rotate180
|
Displayorientation::Rotate0 | Displayorientation::Rotate180
|
||||||
=> ((x + self.width * y) / 8,
|
=> ((x / 8 + (self.width / 8) * y) ,
|
||||||
0x80 >> (x % 8)),
|
0x80 >> (x % 8)),
|
||||||
Displayorientation::Rotate90 | Displayorientation::Rotate270
|
Displayorientation::Rotate90 | Displayorientation::Rotate270
|
||||||
=> (y / 8 * self.width + x,
|
=> (y / 8 * self.width + x,
|
||||||
|
|||||||
Reference in New Issue
Block a user