Module i8080

Source
Available on crate feature unstable only.
Expand description

§LCD - I8080/MOTO6800 Mode.

§Overview

The LCD_CAM peripheral I8080 driver provides support for the I8080 format/timing. The driver mandates DMA (Direct Memory Access) for efficient data transfer.

§Examples

§MIPI-DSI Display

The following example shows how to send a command to a MIPI-DSI display over the I8080 protocol.



let tx_pins = TxEightBits::new(
    peripherals.GPIO9,
    peripherals.GPIO46,
    peripherals.GPIO3,
    peripherals.GPIO8,
    peripherals.GPIO18,
    peripherals.GPIO17,
    peripherals.GPIO16,
    peripherals.GPIO15,
);
let lcd_cam = LcdCam::new(peripherals.LCD_CAM);

let config = Config::default().with_frequency(Rate::from_mhz(20));

let mut i8080 = I8080::new(
    lcd_cam.lcd,
    peripherals.DMA_CH0,
    tx_pins,
    config,
)?
.with_ctrl_pins(peripherals.GPIO0, peripherals.GPIO47);

dma_buf.fill(&[0x55]);
let transfer = i8080.send(0x3Au8, 0, dma_buf)?; // RGB565
transfer.wait();

Structs§

Config
Configuration settings for the I8080 interface.
I8080
Represents the I8080 LCD interface.
I8080Transfer
Represents an ongoing (or potentially finished) transfer using the I8080 LCD interface
TxEightBits
Represents a group of 8 output pins configured for 8-bit parallel data transmission.
TxSixteenBits
Represents a group of 16 output pins configured for 16-bit parallel data transmission.

Enums§

Command
LCD_CAM I8080 command.
ConfigError
A configuration error.