pref: 注册时直接传入任务类
feat: 分任务设置检测计数值
This commit is contained in:
35
main.py
35
main.py
@@ -4,6 +4,10 @@ import threading
|
||||
from loguru import logger
|
||||
import subtask as sb
|
||||
import majtask as mj
|
||||
from by_cmd_py import by_cmd_py
|
||||
import time
|
||||
cmd_py_obj = by_cmd_py()
|
||||
sb.import_obj(cmd_py_obj)
|
||||
|
||||
# 读取配置
|
||||
cfg_main = toml.load('cfg_main.toml')
|
||||
@@ -12,17 +16,18 @@ cfg_main = toml.load('cfg_main.toml')
|
||||
logger.add(cfg_main['debug']['logger_filename'], format=cfg_main['debug']['logger_format'], retention = 5, level="INFO")
|
||||
|
||||
# 向任务队列添加任务
|
||||
# TODO 任务关闭相关联
|
||||
task_queue = queue.Queue()
|
||||
task_queue.put(sb.task(sb.get_block.exec, sb.get_block.find, cfg_main['task']['GetBlock_enable']))
|
||||
task_queue.put(sb.task(sb.put_block.exec, sb.put_block.find, cfg_main['task']['PutBlock_enable']))
|
||||
task_queue.put(sb.task(sb.get_bball.exec, sb.get_bball.find, cfg_main['task']['GetBBall_enable']))
|
||||
task_queue.put(sb.task(sb.up_tower.exec, sb.up_tower.find, cfg_main['task']['UpTower_enable']))
|
||||
task_queue.put(sb.task(sb.get_rball.exec, sb.get_rball.find, cfg_main['task']['GetRBall_enable']))
|
||||
task_queue.put(sb.task(sb.put_bball.exec, sb.put_bball.find, cfg_main['task']['PutBBall_enable']))
|
||||
task_queue.put(sb.task(sb.put_hanoi1.exec, sb.put_hanoi1.find, True)) # 无论是否进行任务,检测标识并转向都是必须进行的
|
||||
task_queue.put(sb.task(sb.put_hanoi2.exec, sb.put_hanoi2.find, cfg_main['task']['PutHanoi_enable']))
|
||||
task_queue.put(sb.task(sb.move_area.exec, sb.move_area.find, cfg_main['task']['MoveArea_enable']))
|
||||
task_queue.put(sb.task(sb.kick_ass.exec, sb.kick_ass.find, cfg_main['task']['KickAss_enable']))
|
||||
task_queue.put(sb.task(sb.get_block, cfg_main['find_counts']['GetBlock_counts'], cfg_main['task']['GetBlock_enable']))
|
||||
task_queue.put(sb.task(sb.put_block, cfg_main['find_counts']['PutBlock_counts'], cfg_main['task']['PutBlock_enable']))
|
||||
task_queue.put(sb.task(sb.get_bball, cfg_main['find_counts']['GetBBall_counts'], cfg_main['task']['GetBBall_enable']))
|
||||
task_queue.put(sb.task(sb.up_tower, cfg_main['find_counts']['UpTower_counts'], cfg_main['task']['UpTower_enable']))
|
||||
task_queue.put(sb.task(sb.get_rball, cfg_main['find_counts']['GetRBall_counts'], cfg_main['task']['GetRBall_enable']))
|
||||
task_queue.put(sb.task(sb.put_bball, cfg_main['find_counts']['PutBBall_counts'], cfg_main['task']['PutBBall_enable']))
|
||||
task_queue.put(sb.task(sb.put_hanoi1, cfg_main['find_counts']['PutHanoi1_counts'], True)) # 无论是否进行任务,检测标识并转向都是必须进行的
|
||||
task_queue.put(sb.task(sb.put_hanoi2, cfg_main['find_counts']['PutHanoi2_counts'], cfg_main['task']['PutHanoi_enable']))
|
||||
task_queue.put(sb.task(sb.move_area, cfg_main['find_counts']['MoveArea_counts'], cfg_main['task']['MoveArea_enable']))
|
||||
task_queue.put(sb.task(sb.kick_ass, cfg_main['find_counts']['KickAss_counts'], cfg_main['task']['KickAss_enable']))
|
||||
|
||||
# 将任务队列传入调度模块中
|
||||
task_queuem_t = sb.task_queuem(task_queue)
|
||||
@@ -35,12 +40,18 @@ def worker_thread():
|
||||
# 启动工作线程
|
||||
worker = threading.Thread(target=worker_thread, daemon=True)
|
||||
worker.start()
|
||||
if (cmd_py_obj.send_angle_camera(180) == -1):
|
||||
cmd_py_obj.send_angle_camera(180)
|
||||
time.sleep(2)
|
||||
# cmd_py_obj.send_speed_x(5)
|
||||
|
||||
# cmd_py_obj.send_position_axis_z(10, 100)
|
||||
# 创建主任务
|
||||
main_task_t = mj.main_task(None) # TODO 初始化时传入 zmq socket 对象
|
||||
main_task_t = mj.main_task(cmd_py_obj) # 初始化时传入 zmq socket 对象
|
||||
|
||||
# 主线程仅在子线程搜索 (SEARCHING) 和 空闲 (IDLE) 状态下进行操作
|
||||
while task_queuem_t.busy is True:
|
||||
# while task_queuem_t.busy is True:
|
||||
while True:
|
||||
if task_queuem_t.status is sb.task_queuem_status.EXECUTING:
|
||||
pass
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user