页次: 1
fresird 说:@pcj203
楼主你好。这个项目有进展吗?最近刚好入了一套太极派,想撸个副屏用。开源方面好像是没进展,没看见有代码链接
还没有整视频发b站,所以b站上看不到。 开源参考代码已经上github了。
window10驱动:
https://github.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display
lvgl 仿手机界面应用
https://github.com/chuanjinpang/lv_port_linux_fb_udisp_t113
tina linux 驱动:
https://github.com/chuanjinpang/t113_usb_display_kernel_driver_module
使用方法:
1. 直接使用编译好的测试太极派img,太极派群内有测试文件
2. 自己编译,先安装ko,insmod f_udisp_drv.ko insmod usb_disp_drv.ko
然后启动lvgl demo进入界面,打开扩展屏软件,可以参考b站视频。
实名羡慕,拿着太极派的硬件,留下了没有技术泪水。哈哈哈。这个版本就接近商用吧~~ 能达到30fps。简直是工控机或是没有hdmi的电脑福音~
30fps一点问题都没有,usb2.0 480Mbps高速,真传rgb565都可以到30fps.
1.
这个开源硬件的太极派,还真不容易得来。感谢B站小伙伴。市面上很多硬件根本就不给开源软件适配的机会。
我就是搭了个顺风车,他们主要的想法是做86盒开发板。并且价格不贵,230应该赚很少。
USB扩展屏只是一个功能,集成进去是比较好的选择,单独做一个产品是比较怪异的。
2.
测试镜像应该本月会发出来,参考源代码也会发github,供感兴趣的学习。项目其实还可以,但是没啥热度。来whycan蹭点流量。
走散件自组,受众群众太小。所以我会直接推荐购买太极派。如果用户群大了,应该会有大佬适配到其它开源硬件上。
目前就死磕太极派,精力有限,也不是一个多厉害的项目,玩具小项目。
春去夏来,又到了年更的时候。
今年选择了开源硬件太极派。有外壳的成品形态。
强大的硬件有不错可玩性。既没安卓那么复杂,又比单片机强大,128M ddr内存,撸个USB扩展屏我觉得可以。
开源参考源代码快的话本月发github,目前在收尾+lvgl启动。同步更新了windows驱动。摸了一遍,没啥大坑。
去年的f1c200s硬解和usb有冲突,有坑,翻车败了。
演示视频:
【【开源_年更预览】全志t113太极派撸windows USB扩展屏-哔哩哔哩】 https://b23.tv/OFyE8jh
f1c200s板上实现了linux 启动的qemu 模拟器(基于https://github.com/newluhux/qemu-f1c100s)。但是做的不完整,也算半途而废。
f1c220s主要的问题是旧了点,性能弱了点。
现在t113流行度也比较高,性能更强,支持驱动更大的屏。
虽然计划是在113上支持usb扩展显示器功能。
但是qemu模拟器还是会先搞到一个基础版本,方便解决调试linux/uboot的一些问题。
USB部分的问题其实也可以采用qemu来模拟,但是其实usb相对好开发,调试的问题不多。放在后面搞。
如果不先把qemu工具搞出来,放后面怎么有动力搞?
目前已经完成uboot/Linux SD boot done 进入shell. 当然剪掉了一些外设。
stage1 基本搞完了。
计划的功能:
stage1:
uboot
Linux
SDMMC
uart
stage2:
LCD display > 方便LVGL?其实x86也可以的。纯展示能实现grahic
stage3:
USB
-----------------------------------------
mount: mounting none on /sys/kernel/config failed: No such file or directory
[ 38.731691] mmc1: starting CMD18 arg 050f9800 flags 000000b5
[ 38.736019] mmc1: blksz 512 blocks 2 flags 00000200 tsac 100 ms nsac 0
[ 38.747550] mmc1: CMD12 arg 00000000 flags 00000095
[ 38.750413] sunxi-mmc-base 4020000.sdmmc: cmd 18(80003352) arg 50f9800 ie 0x0000fbc2 len 1024
[ 38.755918] sunxi-mmc-base 4020000.sdmmc: irq: rq (ptrval) mi 00004000 idi 00000102
[ 38.762332] mmc1: req done (CMD18): 0: 00000b00 00000000 00000000 00000000
[ 38.777930] mmc1: 1024 bytes transferred: 0
[ 38.779274] mmc1: (CMD12): 0: 00000000 00000000 00000000 00000000
_____ _ __ _
|_ _||_| ___ _ _ | | |_| ___ _ _ _ _
| | _ | || | | |__ | || || | ||_'_|
| | | || | || _ | |_____||_||_|_||___||_,_|
|_| |_||_|_||_|_| Tina is Based on OpenWrt!
----------------------------------------------
Tina Linux (Neptune, 5C1C9C53)
----------------------------------------------
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1': No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/strings/0x409': No such file or directory
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer: nonexistent directory
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/product: nonexistent directory
[ 39.572245] mmc1: starting CMD18 arg 06841800 flags 000000b5
root@TinaLinux:/# /bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/idVendor: nonexistent directory
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/idProduct: nonexistent directory[ 43.191924] random: fast init done
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/functions/ffs.adb': No such file or directory
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/product: nonexistent directory
ln: /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.adb: No such file or directory
mount: mounting adb on /dev/usb-ffs/adb/ failed: No such device
/bin/setusbconfig: line 312: can't create /sys/kernel/config/usb_gadget/g1/UDC: nonexistent directory
mount: mounting none on /sys/kernel/config failed: No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1': No such file or directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/idVendor: nonexistent directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/idProduct: nonexistent directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/strings/0x409': No such file or directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/manufacturer: nonexistent directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/product: nonexistent directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/configs/c.1': No such file or directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/configs/c.1/bmAttributes: nonexistent directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/configs/c.1/MaxPower: nonexistent directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/configs/c.1/strings/0x409': No such file or directory
mkdir: can't create directory '/sys/kernel/config/usb_gadget/g1/functions/ffs.adb': No such file or directory
ln: /sys/kernel/config/usb_gadget/g1/configs/c.1/ffs.adb: No such file or directory
/etc/rc.common: line 128: can't create /sys/kernel/config/usb_gadget/g1/strings/0x409/serialnumber: nonexistent directory
[ 4801.671146] mmc1: (CMD12): 0: 00000000 00000000 00000000 00000000
[ 4801.675388] mmc1: starting CMD13 arg 45670000 flags 00000195
[ 4801.678340] sunxi-mmc-base 4020000.sdmmc: cmd 13(8000014d) arg 45670000 ie 0x0000bbc6 len 0
[ 4801.685101] sunxi-mmc-base 4020000.sdmmc: irq: rq (ptrval) mi 00000004 idi 00000000
[ 4801.688294] mmc1: req done (CMD13): 0: 00000900 00000000 00000000 00000000
root@TinaLinux:/#
root@TinaLinux:/# mount
/dev/root on / type ext2 (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=47620k,nr_inodes=11905,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
root@TinaLinux:/# cat /proc/cmdline
earlyprintk=sunxi-uart,0x2500000 loglevel=8 initcall_debug=1 rodata=0 console=ttyS0,115200 rootwait root=/dev/mmcblk1
【【开源,粉丝团福利】【arm9单片机自制USB显示屏】阶段4:粉丝团优先体验版发布-哔哩哔哩】 https://b23.tv/Z7w0dB0
[置顶]1. 性能参数1024*600屏,彩色11fps,黑白20fps.
支持运动时切换颜色模式
2.Win10 idd驱动源码
https://github.com/chuanjinpang/win10_idd_xfz1986_usb_display_drv_f1c200s
3.f1c200s usb显示屏源码,基于Linux实现.
https://github.com/chuanjinpang/buildroot-tiny200-qemu
目前是粉丝福利期,粉丝团优先体验,仅对粉丝开源。有一个patch加密了,需解密后编译生成img。readme.md开头就讲了怎么解密patch。感兴趣的可以私信我拿到密码。
4.后期还会有小的修改。非粉丝应该要到明年春节开源。[吃瓜]
666,这项目软件硬件开源不?开源的话,可以推广一下
github上有大佬开源了f1c100s的qemu模拟器,可以跑uboot.
然后修了修,目前可以勉强跑Linux 进命令行。
以下是演示视频:
https://b23.tv/g96rz7F
模拟器跑在ubuntu上,手机ssh上去的。
以下是uboot,kernel,logoin
666,有demo视频吗?
简介
使用f1c200s tiny200s货架板+1024*600RGB屏,实现一个win10 USB显示屏。
方案原理:
host: win10加载手撸的IDD显示驱动,编码桌面成jpg,然后usb发送给f1c200s.
dev: f1c200s,接收到完整一帧jpg数据,硬解码yuv,然后软件转成rgb输出给/dev/fb0映射的ram.
b站视频链接
https://b23.tv/UDaOqCa
性能:
1. 黑白模式20pfs.
2. 彩色10fps
已知bug:
1. 似乎f1c200s硬解jpg和usb传输有小概率性冲突。表现就是0.5%的帧解出来会花掉。
开源情况:
1. 开发未完成。预计农历新年github上开源。
参考:
*1.github.com/microsoft/Windows-driver-samples/tree/master/video/IndirectDisplay
*2.git://github.com/roshkins/IddSampleDriver.git
*3.https://whycan.com/t_8114.html baremetal hardware JPEG-decoder example (F1C100S)
*4.https://github.com/aodzip/buildroot-tiny200
已经github上开源: https://github.com/chuanjinpang/win10_idd_xfz1986_usb_graphic_driver_display
页次: 1