# lv_port_linux_frame_buffer **Repository Path**: ape-ming/lv_port_linux_frame_buffer ## Basic Information - **Project Name**: lv_port_linux_frame_buffer - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-05-15 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 一体化闸门控制系统 ## 导出编译工具链到当前shell ```shell export ARCH=arm export PATH=$PATH:/opt/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin ``` ## 1. 内核 1. 内核编译 ``` // buildroot全编译 ./build.sh config ./build.sh // 编译uboot ./build.sh brandy // 编译内核 ./build.sh kernel // 打包镜像 ./build.sh pack ``` make myd_yt113i_emmc_full_defconfig 2. 将应用一并打包 ``` 1. 将应用放到t113_i/auto-t113x-linux/build/port/app目录下(最终会被拷贝到t113_i/auto-t113x-linux/platform/framework/auto/rootfs/root目录下) 2. 修改t113_i/auto-t113x-linux/platform/framework/auto/rootfs目录下的/etc/init.d/rcS,加入应用启动脚本 3. 执行./build/mkscreen.sh并选择对应的屏幕,1为竖屏(软件旋转),2为横屏 4. 执行./build.sh config配置(全部默认)并执行./build.sh全编译 5. ./build.sh pack打包镜像,打包镜像在t113_i/auto-t113x-linux/out目录下 ``` 3. lvds dts路径 ``` auto-t113x-linux\brandy\brandy-2.0\u-boot-2018\arch\arm\dts\myir-t113-lvds.dtsi auto-t113x-linux\kernel\linux-5.4\arch\arm\boot\dts\myir-t113-lvds.dtsi ``` 4. 默认将网络功能关闭,手动开启网络将/etc/init.d目录下的两个bak.*文件前面的bak去掉,然后重启 ``` mv bak.S40network S40network mv bak.S50postgresql S50postgresql ``` 5. 修改开机logo(24位位图) ``` 替换auto-t113x-linux\device\config\chips\t113_i\configs\myir-image-yt113i-full\longan\bootlogo.bmp ``` 6. 触摸屏测试命令 ``` evtest ``` ## 2. 应用程序 ### 1. 编译应用程序 1. 进入build目录 2. 生成makefile ``` cmake -DCMAKE_TOOLCHAIN_FILE=../arm-linux-setup.cmake .. ``` 3. 编译 ``` make -j ``` ### 屏幕截图 1. 脚本 ```screenshot.sh #!/bin/bash # Get filename parameter filename=$1 # Check if filename parameter is provided if [ -z "$filename" ]; then echo "Error: No filename provided." echo "Usage: $0 filename" exit 1 fi # Execute commands echo 0 > /sys/class/disp/disp/attr/disp echo $filename > /sys/class/disp/disp/attr/capture_dump echo "Screenshot saved as: $filename" ``` 2. 添加可执行属性 ``` chmod +x screenshot.sh ``` 3. 运行 ``` ./screenshot.sh 1.bmp ``` ### scp文件下载、上传 1. 文件下载 ``` scp book@192.168.2.82:/home/book/t113x/5-bin/gate_display ./ ``` 2. 文件上传 ``` scp 1.bmp book@192.168.2.99:/home/book/t113x/6-imaegs ``` ### lv_i18n国际化 **通过cmd进入当前项目目录** 1. 使用npm安装lv_i18n包 ```sh npm i lv_i18n -g ``` 2. 在当前目录下创建translations目录,并新建`language-code`.yml文件,`language-code`可通过https://www.andiamo.co.uk/resources/iso-language-codes/查询,如:en-GB.yml zh-CN.yml ru-RU.yml。然后在每个yml文件中新增`language-code`: ~,如en-GB: ~ 导出所有的翻译文本到yml文件 ```sh lv_i18n extract -s "**/*.+(c|cpp|h|hpp)" -t "translations/*.yml" ``` 1. 在当前目录下创建lv_i18n目录,并将yml文件转换成c和H文件 ```sh lv_i18n compile -t ".\translations\*.yml" -o ".\lv_i18n" ``` 默认归属地 `en-GB` 可通过命令 `-l 'language-code'` 改变 ## 3. 版本更新记录 ### v1.2.0 1. 【新增】新增屏幕旋转使能配置,默认旋转 ### v2.0.0 1. 【新增】新增闸控配置 2. 【优化】优化部分界面 3. 【新增】新增字体大小设置 ### v2.1.0 2024.09.19 1. 【删除】删除历史数据按钮 ### v2.1.1 2025.02.19 1. 【新增】主页显示故障码 2. 【优化】屏幕休眠取消第一阶段 3. 【新增】查询间隔允许设置到1s 2s 3s ### v2.1.2 2025.02.19 1. 【新增】新增操作权限和设置权限 ### v2.2.1 2025.02.20 1. 【新增】设备重启新增弹窗确认 ### v2.2.2 2025.02.20 1. 【修改】跟H2100R通讯超时时长修改到2s ### v2.4.0 2025.04.05 1. 【新增】公司信息支持从配置文件读取 ### v2.5.2 2025.08.01 1. 【新增】左下角新增公司全称 2. 【新增】左上角标题可以根据logo的宽度自动排到左边或者居中显示 ### v2.5.3 2025.09.04 1. 【新增】新增国际化框架,翻译部分界面以观察效果 ### v2.5.4 2025.10.15 1. 【修改】cmakelists.txt最小版本修改为3.12 2. 【修改】修改主页数据曲线控件,横坐标支持显示时间,修复数值与曲线众坐标对不上的问题 ### v2.5.5 2025.11.03 1. 【BUG】修复网络配置使用strcpy拷贝导致数组越界的bug 2. 【修改】网络配置修改成V2版本命令,mqtt用户名和密码修改到64个字符 ### v2.5.6 2025.12.12 **需要用最新的ui_font_FontHanSans30.bin文件,否则乌兹别克斯坦语言的左上角标题显示不完整** 1. 【新增】新增乌兹别克斯坦语言