readd data_x_times
parent
98e392fff1
commit
468425881c
|
|
@ -181,11 +181,11 @@ where
|
||||||
let color = self.background_color.get_byte_value();
|
let color = self.background_color.get_byte_value();
|
||||||
|
|
||||||
//TODO: this is using a big buffer atm, is it better to just loop over sending a single byte?
|
//TODO: this is using a big buffer atm, is it better to just loop over sending a single byte?
|
||||||
self.interface.cmd_with_data(
|
self.interface.cmd(
|
||||||
spi,
|
spi,
|
||||||
Command::WRITE_RAM,
|
Command::WRITE_RAM
|
||||||
&[color; WIDTH as usize / 8 * HEIGHT as usize]
|
)?;
|
||||||
)
|
self.interface.data_x_times(spi, color, WIDTH / 8 * HEIGHT)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -74,6 +74,27 @@ where
|
||||||
self.data(spi, data)
|
self.data(spi, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/// Basic function for sending the same byte of data (one u8) multiple times over spi
|
||||||
|
///
|
||||||
|
/// Enables direct interaction with the device with the help of [command()](ConnectionInterface::command())
|
||||||
|
///
|
||||||
|
/// //TODO: make public?
|
||||||
|
pub(crate) fn data_x_times(
|
||||||
|
&mut self,
|
||||||
|
spi: &mut SPI,
|
||||||
|
val: u8,
|
||||||
|
repetitions: u16,
|
||||||
|
) -> Result<(), SPI::Error> {
|
||||||
|
// high for data
|
||||||
|
self.dc.set_high();
|
||||||
|
// Transfer data (u8) over spi
|
||||||
|
for _ in 0..repetitions {
|
||||||
|
self.write(spi, &[val])?;
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
// spi write helper/abstraction function
|
// spi write helper/abstraction function
|
||||||
fn write(&mut self, spi: &mut SPI, data: &[u8]) -> Result<(), SPI::Error>
|
fn write(&mut self, spi: &mut SPI, data: &[u8]) -> Result<(), SPI::Error>
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue