Pārlūkot izejas kodu

update:gtfont demo 支持718

Dozingfiretruck 2 gadi atpakaļ
vecāks
revīzija
64574153b4
1 mainītis faili ar 14 papildinājumiem un 4 dzēšanām
  1. 14 4
      demo/gtfont/main.lua

+ 14 - 4
demo/gtfont/main.lua

@@ -18,8 +18,9 @@ sys.timerLoopStart(wdt.feed, 3000)--3s喂一次狗
 
 local rtos_bsp = rtos.bsp()
 
+-- 根据不同的BSP返回不同的值
 -- spi_id,pin_reset,pin_dc,pin_cs,bl
-function lcd_pin()     
+function lcd_pin()
     if rtos_bsp == "AIR101" then
         return 0,pin.PB03,pin.PB01,pin.PB04,pin.PB00
     elseif rtos_bsp == "AIR103" then
@@ -31,7 +32,9 @@ function lcd_pin()
     elseif rtos_bsp == "ESP32S3" then
         return 2,16,15,14,13
     elseif rtos_bsp == "EC618" then
-        return 0,1,10,8,18
+        return 0,1,10,8,22
+    elseif rtos_bsp == "EC718P" then
+        return lcd.HWID_0,36,0xff,0xff,0xff -- 注意:EC718P有硬件lcd驱动接口, 无需使用spi,当然spi驱动也支持
     else
         log.info("main", "bsp not support")
         return
@@ -41,9 +44,16 @@ end
 local spi_id,pin_reset,pin_dc,pin_cs,bl = lcd_pin() 
 
 spi_gtfont = spi.deviceSetup(1,7,0,0,8,20*1000*1000,spi.MSB,1,0) --此处根据自己实际接线修改
-spi_lcd = spi.deviceSetup(spi_id,pin_cs,0,0,8,20*1000*1000,spi.MSB,1,0)
 
-lcd.init("st7789",{port = "device",pin_dc = pin_dc, pin_pwr = bl, pin_rst = pin_reset,direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd)
+if spi_id ~= lcd.HWID_0 then
+    spi_lcd = spi.deviceSetup(spi_id,pin_cs,0,0,8,20*1000*1000,spi.MSB,1,0)
+    port = "device"
+else
+    port = spi_id
+end
+
+
+lcd.init("st7789",{port = port,pin_dc = pin_dc, pin_pwr = bl, pin_rst = pin_reset,direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd)
 
 gtfont.init(spi_gtfont)
 lcd.drawGtfontUtf8("啊啊啊",32,0,0)