压力调节第一版
This commit is contained in:
+12
-10
@@ -469,17 +469,17 @@ PicScene (QGraphicsScene) # 场景,管理所有图元
|
||||
└─── 软解动态图元 (PicDateItem PicScheduleShiftItem PicCodeItem)
|
||||
└── onPreviewScene() 与静态图元一样,进入onPreviewScene()
|
||||
└── variableItemsUpdate() 动态检查图元是否发生变化,更新数据
|
||||
└── SendPrintDataToFpga() 局部发送更新后的点阵数据至FPGA
|
||||
└── SendPrintDataToFpga() 发送更新后的点阵数据至FPGA
|
||||
```
|
||||
|
||||
**打印内容相关的几个重要的函数:**
|
||||
[SendPrintDataToFpga()](../mainwidget.cpp#L935) 负责将打印数据、打印设置和变量控制通过串口发送给FPGA,FPGA接收后驱动喷头进行喷印。该函数被设计成支持全量更新与局部更新,静态图元在打印开始前一次性发送,而动态图元则在每次变化时局部更新。局部更新时,SendPrintDataToFpga不会发送打印设置和变量控制数据,只会按列为单位更新打印缓冲区的点阵数据。
|
||||
[SendPrintDataToFpga()](../mainwidget.cpp#L935) 负责将打印数据、打印设置和变量控制通过串口发送给FPGA,FPGA接收后驱动喷头进行喷印。静态图元在打印开始前一次性发送,而动态图元则在每次变化时更新打印数据。更新打印数据时,SendPrintDataToFpga不会发送打印设置和变量控制数据,只会按列为单位更新打印缓冲区的点阵数据。
|
||||
|
||||
[imageToPrintData()](../mainwidget.cpp#L675) 将 QImage 转换为点阵数据,该函数可将图像填充至打印缓冲区的指定位置,随后由 SendPrintDataToFpga() 发送至FPGA。动态软解图元(如日期、计数器、二维码)在每次变化时调用该函数刷新打印缓冲区。
|
||||
|
||||
[onPreviewScene()](../mainwidget.cpp#L1888) 是场景预览的核心函数,负责将场景中的所有图元渲染为 QImage,并调用 imageToPrintData() 全量写入打印缓冲区。
|
||||
|
||||
[variableItemsUpdate()](../mainwidget.cpp#L1024) 动态检查图元是否发生变化,配合 imageToPrintData()、SendPrintDataToFpga() 实现局部更新打印数据。
|
||||
[variableItemsUpdate()](../mainwidget.cpp#L1024) 动态检查图元是否发生变化,配合 imageToPrintData()、SendPrintDataToFpga() 实现更新打印数据。
|
||||
|
||||
|
||||
### 7.2 从文件到打印的数据流向
|
||||
@@ -546,7 +546,6 @@ RFIDManager::sig_showMsg ──→ InkJetPrinter::slt_showMsg()
|
||||
```
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 8. RFID刷卡模块
|
||||
@@ -560,7 +559,6 @@ RFIDManager::sig_showMsg ──→ InkJetPrinter::slt_showMsg()
|
||||
**功能**:
|
||||
- 墨水/溶剂添加验证(刷卡 + 物理添加)
|
||||
- 保养卡识别与提醒
|
||||
- 自动扣减卡内余额
|
||||
- 卡片使用标记(防重复使用)
|
||||
- 超级卡的识别与处理
|
||||
|
||||
@@ -588,7 +586,7 @@ RFIDManager::sig_showMsg ──→ InkJetPrinter::slt_showMsg()
|
||||
|
||||
**目标平台**:
|
||||
- ARM Linux: `TARGET = QtUI`
|
||||
- 交叉编译: 使用 `linux-arm-g++` mkspec
|
||||
- 交叉编译: 使用 `linux-aarch64-gnu-g++` mkspec
|
||||
- x86桌面: 使用 `linux-g++` mkspec,用于开发调试
|
||||
|
||||
### 9.2 模块依赖
|
||||
@@ -598,17 +596,21 @@ QT += core gui network serialport virtualkeyboard sql xml
|
||||
```
|
||||
|
||||
### 9.3 编译命令
|
||||
下面给出 InkjetUbuntu-T1 环境下调试、发布的编译方式
|
||||
|
||||
```bash
|
||||
# ARM交叉编译
|
||||
qmake -spec /usr/local/Trolltech/QtEmbedded-4.6.3-arm/mkspecs/qws/linux-arm-g++ \
|
||||
"DEFINES+=ARM" "DEFINES+=QTV3" "DEFINES+=VNLG"
|
||||
cd /path_to_your_arm_build_dir/ && /home/inkjet/QtSDK/bin/qmake /path_to_your_sources_dir/QtUI.pro -spec linux-aarch64-gnu-g++ CONFIG+=release
|
||||
make -j
|
||||
|
||||
# x86桌面编译(调试)
|
||||
qmake "DEFINES+=X86TEST"
|
||||
make
|
||||
cd /path_to_your_x86_build_dir/ && /home/inkjet/QtSDKPC/bin/qmake /path_to_your_sources_dir/QtUI.pro -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug
|
||||
make -j
|
||||
```
|
||||
|
||||
### 9.4 发行编译
|
||||
VX5 Release编译发行.md 给出了如何发布带崩溃转储的程序的流程
|
||||
|
||||
---
|
||||
|
||||
## 10. 关键配置与宏定义
|
||||
|
||||
Reference in New Issue
Block a user