注意:每次使用完cubemax生成程序后,要修改启动文件start.s中的堆栈深度, Stack_Size EQU 0x800 Heap_Size EQU 0x1000 保证程序正常运行。 16:51 2024/5/7 基本应用逻辑写完,开始测试。 11:31 2024/5/8 1. 重写初始化函数 初始化函数包含,完成VIN码的备份和开机获取比对,判断是否出现中控板迁移事件, 陀螺仪的初始化 2. 4G模块初始化,初始化4G模块并连接MQTT服务器,初始化GNSS,订阅应答主题, 围栏数据获取,上电后获取电子围栏数据,并进行电子围栏数据的有效性检查(围栏数据不可能出现数据0)。若已获取,则进入围栏判断逻辑;若未获取,检查与MQTT的通信状态,根据通信状态决定是否等待围栏数据或限制车速为0。如果数据有效,进入围栏判断逻辑;如果无效,立即尝试重新获取。同时,设置一个合理的超时时间,超时后采取安全措施(如限速为0) 没有写入初始化操作,因为不好重试 17:15 2024/5/9 1. OTA下载功能验证完毕; 2. MQTT通讯异常,485通信异常验证通过; 9:19 2024/5/10 1. 故障上传测试通过; 2. 蜂鸣器功能,---OTA升级测试通过,限速故障测试通过; 3. 发现一个问题,在debug完成后,退出debug后,读取姿态角出现问题,会卡住;---------------- 4. 超出围栏,GPS定位丢失,电池故障,4G模块初始化故障,MQTT通讯异常,485通信异常,升级故障,测试通过; 5. 远程控制之超级权限功能测试通过; 6. 车速控制之运行态出现限速故障,限制车速功能测试通过,超级权限解除限制车速测试通过; 7. 车辆状态转换功能测试通过; 9:39 2024/5/11 1. 增加OTA升级故障处理; 2. 发现上传时间由3s变成了4s多,检查问题,发现获取陀螺仪数据时有很多死延时,导致任务周期变长; 3. 解决第二点问题,增加一个任务用来单独处理陀螺仪数据,使其不影响其他功能的正常运行。 9:39 2024/5/13 1. 增加历史故障存储,存在故障时1s更新1次,500条滚动,仅测试了写入和读取,未测试大规模的写入和读取; 2. 更改中控板故障处理,增加限速和锁车配置; 10:27 2024/5/15 1. 增加时间数据保存; 2. 更改故障保存和上传逻辑,故障代码不同时,保存故障到flash中,故障代码相同时,每隔两分钟保存一次,保存索引和上传索引不同时就上传一次,直至相同,上传间隔为1s; 3. 获取的围栏数据中,增加限速数据,停驻超时时间数据,超时时间数据,超运行围栏超时数据; 4. 增加超速故障和对应的故障处理,增加超时时间,超时时间,超运行围栏超时时间可配置; 5. 远程控制增加,更新围栏数据、车辆限速、解锁车功能; 6. 所有可配置的参数都存入flash中; 7. 测试需要,注释 蜂鸣器功能,和围栏接收中的其他字段接收****** 8. 远程锁车,解锁,设置限速,更新围栏数据测试通过; 9. 测试需要,注释掉故障存储的条件判断,测试是否可以完整的存储500条数据并上传,测试通过,已解除注释; 10. 发现时间戳计算错误,原因为输入时间是北京时间而不是utc时间,已更改; 15:27 2024/5/20 1. 发现问题,上传的定位信息没有小时点后的数据,数据处理问题,已修改; 9:41 2024/5/21 1. 发现问题,上传的经纬度数据格式出现问题,已修改; 9:41 2024/5/22 1. 修改上传逻辑,对时帧只发送一次,而不用每次上传信息前,都进行对时; 10:00 2024/5/23 1. 修改固件更新时,发送限制车速为0,锁定车辆; 9:09 2024/5/27 1. 修改4g模块的重连机制; 2. 增加订阅主题失败,发布消息失败,获取定位信息失败的记录; 3. 增加故障上报是否正常的判断,正常再去更新索引; 4. 在重连时,清除模块初始化完成标志; 9:42 2024/5/28 1. 更改故障上传的限制条件,用于上传订阅主题失败,发布消息失败,获取定位信息失败的记录,测试上传成功; 2. 增加配置信息的初始设置,避免在参数区数据尚未正常读取的情况下,系统非正常运行; 3. 出去跑车3圈,数据上传没问题,围栏报警通过,等待后台轨迹; 9:47 2024/5/29 1. 增加通过车辆的累积总里程来计算当日行驶里程,本次行驶里程; 2. 增加单次运行时间,累积行驶总时长,当日行驶时长的计算; 9:16 2024/5/30 1. 测试行驶里程的计算,累积时长的计算,测试通过; 2. 跑车,测试轨迹等。 9:20 2024/5/31 1. 增加上传实时数据中VIN码不为空的判断;(后台要求) 2. 围栏判断出错,定位问题为围栏算法问题; 9:33 2024/6/3 1. 更换围栏算法,验证围栏算法; 2. 更改gnss的初始化,启用AP-flash的热启动功能,开启 GNSS 后,条件允许时进行热启动,增快定位速度; 3. 信号差的原因找到了,没有插信号天线,插入信号天线后,经过测试,轨迹非常好; 4. 需要对初始化的时间进行优化,信息上传时间控制在5s以内; 11:34 2024/6/4 1. 优化开机初始化的时间,信息上传时间控制在2s以内; 2. 上电从本地获取备份的VIN,使用此VIN码获取围栏信息,避免485通信故障无法获取车架号导致车辆失控的情况; 3. 从485实时获取VIN码,比对车辆信息,若车辆VIN码比对不正确,则保存新的车辆信息,并重新获取围栏信息; 获取围栏增加 -- 报警 限速 锁车 4G通信初始化--可限速 可配置 停驻,超速,超运行围栏 主动更新围栏 可增加的 配置参数--服务器端口,地址,软复位等