tinygo.org/x/drivers@v0.27.1-0.20240509133757-7dbca2a54349/examples/ili9341/initdisplay/m5stack_core2.go (about) 1 //go:build m5stack_core2 2 3 package initdisplay 4 5 import ( 6 "image/color" 7 "machine" 8 9 axp192 "tinygo.org/x/drivers/axp192/m5stack-core2-axp192" 10 "tinygo.org/x/drivers/i2csoft" 11 "tinygo.org/x/drivers/ili9341" 12 ) 13 14 // InitDisplay initializes the display of each board. 15 func InitDisplay() *ili9341.Device { 16 machine.SPI2.Configure(machine.SPIConfig{ 17 SCK: machine.LCD_SCK_PIN, 18 SDO: machine.LCD_SDO_PIN, 19 SDI: machine.LCD_SDI_PIN, 20 Frequency: 40e6, 21 }) 22 23 i2c := i2csoft.New(machine.SCL0_PIN, machine.SDA0_PIN) 24 i2c.Configure(i2csoft.I2CConfig{Frequency: 100e3}) 25 26 axp := axp192.New(i2c) 27 led := axp.LED 28 led.Low() 29 30 display := ili9341.NewSPI( 31 machine.SPI2, 32 machine.LCD_DC_PIN, 33 machine.LCD_SS_PIN, 34 machine.NoPin, 35 ) 36 37 // configure display 38 display.Configure(ili9341.Config{ 39 Width: 320, 40 Height: 240, 41 DisplayInversion: true, 42 }) 43 display.FillScreen(color.RGBA{255, 255, 255, 255}) 44 45 display.SetRotation(ili9341.Rotation0Mirror) 46 47 return display 48 }