tinygo.org/x/drivers@v0.27.1-0.20240509133757-7dbca2a54349/examples/ili9341/initdisplay/feather.go (about)

     1  //go:build feather_m0 || feather_m4 || feather_m4_can || feather_nrf52840 || feather_nrf52840_sense || feather_stm32f405 || feather_rp2040
     2  
     3  package initdisplay
     4  
     5  import (
     6  	"machine"
     7  
     8  	"tinygo.org/x/drivers/ili9341"
     9  )
    10  
    11  func InitDisplay() *ili9341.Device {
    12  	machine.D5.Configure(machine.PinConfig{Mode: machine.PinOutput})
    13  	machine.D6.Configure(machine.PinConfig{Mode: machine.PinOutput})
    14  
    15  	machine.SPI0.Configure(machine.SPIConfig{
    16  		SCK:       machine.SPI0_SCK_PIN,
    17  		SDO:       machine.SPI0_SDO_PIN,
    18  		SDI:       machine.SPI0_SDI_PIN,
    19  		Frequency: 40000000,
    20  	})
    21  
    22  	// configure backlight
    23  	backlight := machine.D9
    24  	backlight.Configure(machine.PinConfig{machine.PinOutput})
    25  
    26  	display := ili9341.NewSPI(
    27  		machine.SPI0,
    28  		machine.D10, // LCD_DC,
    29  		machine.D11, // LCD_SS_PIN,
    30  		machine.D12, // LCD_RESET,
    31  	)
    32  
    33  	// configure display
    34  	display.Configure(ili9341.Config{})
    35  
    36  	backlight.High()
    37  
    38  	display.SetRotation(ili9341.Rotation270)
    39  
    40  	return display
    41  }