1.7 KiB
1.7 KiB
1. 原网络及采集链路调整与重构
- 1.1 在
prj/TCPClient/User/main.c中删除或注释掉陈旧的一般 TCP 阻塞式轮询测试发送代码/函数。 - 1.2 在全局预分配 2 个带偏移量预留空间的网络封包静态池结构
TcpTxBuffer_t。 - 1.3 移除 DVP 中断或其附带任务中直接封包或打印大量数据的行为,只保留
Line_Ready_Flag或向外吐出可用 Buffer 的指针指示功能。
2. 图像预处理流水线接入
- 2.1 在
main初始化中添加Preprocess_Init例程并配置默认的二维参数最大宽高。 - 2.2 在主循环里,当获取到一完整帧缓存后,包装成
RawImageBuffer_t。 - 2.3 调用
Preprocess_CheckInternalTrigger2D进行掩膜触发扫描校验,如果返回值验证被触发通过(1),进入提取分支,否则略过。 - 2.4 在触发分支内应用被锁定的物理 Frame 内存和空闲的一侧
TcpTxBuffer,调用Preprocess_Execute零拷贝执行滑窗提取操作获取有效数据负载与温度统计极值。
3. TCP 协议接管与外部交互
- 3.1 在
main初始化网卡层等底层网络完成后,调用TcpLogic_Init和TcpLogic_Start。 - 3.2 定义系统被上位机修改参数时的回调
ConfigUpdateCallback_t,在其内部联级调用Preprocess_Settings_Change来影响全局阈值。 - 3.3 定义接收上位机检测下发判断的
DetectionResultCallback_t,预留好对某一设定 GPIO 口拉高(作为报警/废品剔除气缸动作)响应函数。 - 3.4 经过
Preprocess_Execute获取到的有效内容数组,作为参量通过调用TcpLogic_BuildAndSendTemperatureFrame执行偏移组包完成以太网 DMA 数据包压入队列工作。