|
@@ -20,36 +20,37 @@ sys.taskInit(function()
|
|
|
sdio.init(0)
|
|
sdio.init(0)
|
|
|
sdio.sd_mount(0,"/sd",0)
|
|
sdio.sd_mount(0,"/sd",0)
|
|
|
|
|
|
|
|
- spi_lcd = spi.deviceSetup(0,20,0,0,8,20*1000*1000,spi.MSB,1,1)
|
|
|
|
|
- log.info("lcd.init",
|
|
|
|
|
- lcd.init("st7735s",{port = "device",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_lcd))
|
|
|
|
|
-
|
|
|
|
|
---[[-- v0006及以后版本可用pin方式
|
|
|
|
|
spi_lcd = spi.deviceSetup(0,pin.PB04,0,0,8,20*1000*1000,spi.MSB,1,1)
|
|
spi_lcd = spi.deviceSetup(0,pin.PB04,0,0,8,20*1000*1000,spi.MSB,1,1)
|
|
|
- log.info("lcd.init",
|
|
|
|
|
- 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))
|
|
|
|
|
-]]
|
|
|
|
|
|
|
+ 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)
|
|
|
|
|
+
|
|
|
-- 使用ffmpeg.exe将视频转成字节流文件sxd.rgb放入TF卡
|
|
-- 使用ffmpeg.exe将视频转成字节流文件sxd.rgb放入TF卡
|
|
|
-- 先缩放成目标大小
|
|
-- 先缩放成目标大小
|
|
|
-- ffmpeg -i sxd.mp4 -vf scale=160:80 sxd.avi
|
|
-- ffmpeg -i sxd.mp4 -vf scale=160:80 sxd.avi
|
|
|
-- 然后转rbg565ble 字节流
|
|
-- 然后转rbg565ble 字节流
|
|
|
-- ffmpeg -i sxd.avi -pix_fmt rgb565be -vcodec rawvideo sxd.rgb
|
|
-- ffmpeg -i sxd.avi -pix_fmt rgb565be -vcodec rawvideo sxd.rgb
|
|
|
- local rgb_file = "sxd.rgb"
|
|
|
|
|
|
|
+
|
|
|
|
|
+ -- 使用ffmpeg.exe将视频转成字节流文件.rgb放入TF卡 教程见 https://wiki.luatos.com/appDevelopment/video_play/105/video_play.html
|
|
|
|
|
+ local video_w = 160
|
|
|
|
|
+ local video_h = 80
|
|
|
|
|
+ local rgb_file = "mwsy.rgb"
|
|
|
|
|
+
|
|
|
|
|
+ local buff_size = video_w*video_h*2
|
|
|
local file_size = fs.fsize("/sd/"..rgb_file)
|
|
local file_size = fs.fsize("/sd/"..rgb_file)
|
|
|
print("/sd/"..rgb_file.." file_size",file_size)
|
|
print("/sd/"..rgb_file.." file_size",file_size)
|
|
|
|
|
+
|
|
|
local file = io.open("/sd/"..rgb_file, "rb")
|
|
local file = io.open("/sd/"..rgb_file, "rb")
|
|
|
if file then
|
|
if file then
|
|
|
local file_cnt = 0
|
|
local file_cnt = 0
|
|
|
- local buff = zbuff.create(25600)--分辨率160*80 160*80*2=25600
|
|
|
|
|
|
|
+ local buff = zbuff.create(buff_size)
|
|
|
repeat
|
|
repeat
|
|
|
if file:fill(buff) then
|
|
if file:fill(buff) then
|
|
|
- file_cnt = file_cnt + 25600
|
|
|
|
|
- lcd.draw(0, 0, 159, 79, buff)
|
|
|
|
|
|
|
+ file_cnt = file_cnt + buff_size
|
|
|
|
|
+ lcd.draw(0, 0, video_w-1, video_h-1, buff)
|
|
|
sys.wait(20)
|
|
sys.wait(20)
|
|
|
end
|
|
end
|
|
|
- until( file_size - file_cnt < 25600 )
|
|
|
|
|
|
|
+ until( file_size - file_cnt < buff_size )
|
|
|
local temp_data = file:fill(buff,0,file_size - file_cnt)
|
|
local temp_data = file:fill(buff,0,file_size - file_cnt)
|
|
|
- lcd.draw(0, 0, 159, 79, buff)
|
|
|
|
|
|
|
+ lcd.draw(0, 0, video_w-1, video_h-1, buff)
|
|
|
sys.wait(30)
|
|
sys.wait(30)
|
|
|
file:close()
|
|
file:close()
|
|
|
end
|
|
end
|