# README ## 工程初始化 ``` ./init.sh ``` ## 工程编译 ``` ./build.sh ``` ``` ``` ``` 第三方库说明: https://iflytop1.feishu.cn/wiki/wikcnDuCFRGDunHGzns8gRV4Ahh sudo apt install clang llvm gcc-aarch64-linux-gnu g++-aarch64-linux-gnu ``` ## 配置文件说明 ```ini [server] cmdport=19004 wsport=19005 # # zexcan # 概述: zexcan 是公司内部自定义的can底层协议 # 目的: 为了解决can单包数据太短的问题 # 实现: 具体协议参考 .... # [[channels]] type="zexcan" name="zcan" ifname="can0" baudrate=500000 enable=true [[channels]] type="uart" name="printer" ifname="/dev/ttyS1" baudrate=115200 enable=true [[channels]] type="inputkey" name="emergency-key" pinnum="GPIO2-A3" enable=true [[channels]] type="uart" name="lis" ifname="/dev/ttyS2" baudrate=115200 enable=true ``` ## zexcan协议 ```txt | ID | byte0 | byte1...7 | | from | [7:4] packet_num [3:0] packet_off | data | 1. 通过packet_num和packet_off多个can帧,组装成一个长数据。 2. 主机端使用默认ID 1 3. 对上层来说,只透传data区的内容。 ```