main.lua 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. --- 模块功能:lvgldemo
  2. -- @module lvgl
  3. -- @author Dozingfiretruck
  4. -- @release 2021.01.25
  5. -- LuaTools需要PROJECT和VERSION这两个信息
  6. PROJECT = "lvgldemo"
  7. VERSION = "1.0.0"
  8. log.info("main", PROJECT, VERSION)
  9. -- sys库是标配
  10. _G.sys = require("sys")
  11. --[[
  12. SPI0
  13. SPI0_SCK (PB2)
  14. SPI0_MISO (PB3)
  15. SPI0_MOSI (PB5)
  16. ]]
  17. --添加硬狗防止程序卡死
  18. if wdt then
  19. wdt.init(15000)--初始化watchdog设置为15s
  20. sys.timerLoopStart(wdt.feed, 10000)--10s喂一次狗
  21. end
  22. log.info("main", "ask for help", "https://wiki.luatos.com/")
  23. spi_lcd = spi.deviceSetup(0,pin.PB04,0,0,8,20*1000*1000,spi.MSB,1,1)
  24. -- log.info("lcd.init",
  25. -- lcd.init("gc9a01",{port = "device",pin_dc = pin.PB01, pin_pwr = pin.PB00,pin_rst = pin.PB03,direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd))
  26. -- log.info("lcd.init",
  27. -- lcd.init("st7789",{port = "device",pin_dc = pin.PB01, pin_pwr = pin.PB00,pin_rst = pin.PB03,direction = 0,w = 240,h = 240,xoffset = 0,yoffset = 0},spi_lcd))
  28. -- log.info("lcd.init",
  29. -- lcd.init("st7789",{port = "device",pin_dc = pin.PB01, pin_pwr = pin.PB00,pin_rst = pin.PB03,direction = 3,w = 240,h = 240,xoffset = 80,yoffset = 0},spi_lcd))
  30. -- log.info("lcd.init",
  31. -- lcd.init("st7789",{port = "device",pin_dc = pin.PB01, pin_pwr = pin.PB00,pin_rst = pin.PB03,direction = 3,w = 320,h = 240,xoffset = 0,yoffset = 0},spi_lcd))
  32. log.info("lcd.init",
  33. lcd.init("st7735",{port = "device",pin_dc = pin.PB01, pin_pwr = pin.PB00,pin_rst = pin.PB03,direction = 0,w = 128,h = 160,xoffset = 0,yoffset = 0},spi_lcd))
  34. -- log.info("lcd.init",
  35. -- lcd.init("st7735v",{port = "device",pin_dc = pin.PB01, pin_pwr = pin.PB00,pin_rst = pin.PB03,direction = 1,w = 160,h = 80,xoffset = 0,yoffset = 24},spi_lcd))
  36. -- log.info("lcd.init",
  37. -- lcd.init("st7735s",{port = "device",pin_dc = pin.PB01, pin_pwr = pin.PB00,pin_rst = pin.PB03,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_lcd))
  38. sys.taskInit(function()
  39. sys.wait(100)
  40. log.info("lvgl", lvgl.init())
  41. -- lvgl.disp_set_bg_color(nil, lvgl.color_hex(0x999999))
  42. if lvgl.theme_set_act then
  43. -- 切换主题
  44. -- lvgl.theme_set_act("default")
  45. -- lvgl.theme_set_act("mono")
  46. lvgl.theme_set_act("empty")
  47. -- lvgl.theme_set_act("material_light")
  48. -- lvgl.theme_set_act("material_dark")
  49. -- lvgl.theme_set_act("material_no_transition")
  50. -- lvgl.theme_set_act("material_no_focus")
  51. end
  52. local scr = lvgl.obj_create()
  53. local btn = lvgl.btn_create(scr)
  54. lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)
  55. local label = lvgl.label_create(btn)
  56. lvgl.label_set_text(label, "LuatOS!")
  57. local font = lvgl.font_load("/luadb/16_test_fonts.bin")
  58. lvgl.obj_set_style_local_text_font(scr, lvgl.LABEL_PART_MAIN, lvgl.STATE_DEFAULT, font)
  59. lvgl.scr_load(scr)
  60. while 1 do
  61. sys.wait(1000)
  62. lvgl.font_free(font)
  63. local font = lvgl.font_load("/luadb/20_test_fonts.bin")
  64. lvgl.obj_set_style_local_text_font(scr, lvgl.LABEL_PART_MAIN, lvgl.STATE_DEFAULT, font)
  65. sys.wait(1000)
  66. lvgl.font_free(font)
  67. local font = lvgl.font_load("/luadb/16_test_fonts.bin")
  68. lvgl.obj_set_style_local_text_font(scr, lvgl.LABEL_PART_MAIN, lvgl.STATE_DEFAULT, font)
  69. end
  70. end)
  71. -- sys.taskInit(function()
  72. -- while 1 do
  73. -- log.info("help", "https://wiki.luatos.com")
  74. -- sys.wait(500)
  75. -- end
  76. -- end)
  77. -- 用户代码已结束---------------------------------------------
  78. -- 结尾总是这一句
  79. sys.run()
  80. -- sys.run()之后后面不要加任何语句!!!!!