123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- //
- // Created by huli on 2020/10/20.
- //
- #ifndef NNXX_TESTS_CARRIER_TASK_H
- #define NNXX_TESTS_CARRIER_TASK_H
- #include "../error_code/error_code.h"
- #include "../task/task_command_manager.h"
- #include "../task/task_base.h"
- #include <mutex>
- class Carrier_task :public Task_Base
- {
- public:
- //指令完成状态, 搬运器答复指令, 返回任务完成的情况
- enum Respons_status
- {
- RESPONS_NORMAL = 0, //正常
- RESPONS_OVER = 1, //任务完成
- RESPONS_MINOR_ERROR = 100, //一般故障, 可恢复
- RESPONS_CRITICAL_ERROR = 101, //致命故障,不可恢复
- };
- public:
- Carrier_task();
- Carrier_task(const Carrier_task& other)= default;
- Carrier_task& operator =(const Carrier_task& other)= default;
- ~Carrier_task();
- public://API functions
- //初始化任务单,必须初始化之后才可以使用,(可选参数)
- // input:tast_receiver 接受对象
- // input:task_over_time 超时时间
- Error_manager task_init(void* p_tast_receiver,
- std::chrono::milliseconds task_over_time,
- unsigned short parkspace_unit_id,
- unsigned shortparkspace_floor_id,
- unsigned shortparkspace_room_id,
- std::string command_key,
- unsigned char motion_direction = 0,
- float car_center_x = 0,
- float car_center_y = 0,
- float car_angle = 0
- );
- public://get or set member variable
- protected://member functions
- public://member variable
- std::mutex m_lock; //锁
- //搬运器的目标车位
- unsigned short m_parkspace_unit_id; //车位单元号(楚天项目为1~3)
- unsigned short m_parkspace_floor_id; //车位楼层号(楚天项目为1~14)
- unsigned short m_parkspace_room_id; //车位同层的房间号 (楚天项目一楼为1~4, 楼上为1~6)
- std::string m_command_key; //任务唯一码
- unsigned char m_motion_direction; //调度方向, 根据停车取车选择出入口, 1=入口,0=非入口
- float m_car_center_x; //汽车的中心坐标x
- float m_car_center_y; //汽车的中心坐标y
- float m_car_angle; //汽车的旋转角(角度-90~90)
- //任务执行结果
- Respons_status m_respons_status; //指令完成状态, 搬运器答复指令, 返回任务完成的情况
- private:
- };
- #endif //NNXX_TESTS_CARRIER_TASK_H
|