hunting/application/MissionManager
2024-05-07 21:10:51 +08:00
..
include Improve:clang-format setting. 2024-03-26 18:46:17 +08:00
src Backup. 2024-05-07 21:10:51 +08:00
CMakeLists.txt Backup:Upgrade State. 2024-05-07 15:53:27 +08:00
README.md Backup:Upgrade State. 2024-05-07 15:53:27 +08:00

1. 相机任务管理

  相机主业务逻辑使用状态机机制进行管理。

1.1. 任务状态

  任务状态是指相机启动需要执行的任务,可能是拍照 / 视频,可能是其它任务。

例如:

  1. 移动物体侦测启动;
  2. 定时启动拍照 / 录像;
  3. 测试启动;

1.2. 状态机设计

stateDiagram-v2
[*] --> TopState
TopState --> PowerOff
TopState --> MSDCState
TopState --> DeviceAbnormal
TopState --> MissionState
MissionState --> 存储管理
存储管理 --> EMMC
存储管理 --> SD卡
SD卡 --> 插卡
SD卡 --> 拔卡
SD卡 --> 卡异常
MissionState --> 网络管理
网络管理 --> 联网
联网 --> 上传文件
网络管理 --> 未联网
MissionState --> 直播
MissionState --> 4G管理
4G管理 --> Sim卡初始化
4G管理 --> 注网状态
MissionState --> Upgrade

1.3. 任务状态获取启动

  应用程序运行后,首先需要知道主控是由于何种任务被唤醒,然后根据任务来执行相应的功能代码;

时序图

sequenceDiagram
participant MCU
participant 大核
MCU ->> MCU:待机
opt MCU上电
    MCU ->> 大核:上电
    activate 大核
        大核 ->> 大核:系统初始化
        大核 ->> 大核:启动脚本拉起APP
        大核 ->> +MCU:读取启动任务
        MCU -->> -大核:return
        alt PIR触发
            大核 ->> 大核:APP初始化
            大核 ->> 大核:抓拍并保存
        else 定时
            大核 ->> 大核:APP初始化
            大核 ->> 大核:抓拍并保存
        else TEST
            大核 ->> 大核:APP初始化
            大核 ->> 大核:待机
        end
    deactivate 大核
end