readme.txt 5.8 KB

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