private async void onTaskOrder(string strTaskid, string[] missionbuf, string taskname, string strMissionid_list, string strRobotlist, int ntaskcnt) { try { Task_Order taskorder = new Task_Order(); int cnt = missionbuf_in.Length; List <MisssionInfo> missioninfo_list = new List <MisssionInfo>(); for (int i = 0; i < cnt; i++) { MisssionInfo missioninfo = mainform.dbBridge.onDBRead_Mission(missionbuf_in[i]); missioninfo_list.Add(missioninfo); } taskorder.task_id = strTaskid; taskorder.loop_flag = ntaskcnt; taskorder.missionlist = strMissionid_list; taskorder.robotlist = strRobotlist; mainform.commBridge.onTaskrder_publish(taskorder, taskname, missioninfo_list); // var task = Task.Run(() => mainform.commBridge.onTaskrder_publish(taskorder, taskname, missioninfo_list)); // await task; } catch (Exception ex) { Console.WriteLine("onTaskOrder err=" + ex.Message.ToString()); } }
/// <summary> /// 등록된 미션 리스트 읽어오기 /// </summary> public void onDBRead_Missionlist() { string sql = ""; bool bdataok = false; try { missionlisttable.missioninfo = new List <MisssionInfo>(); sql = string.Format("SELECT * FROM missionlist_t "); DataSet ds = new DataSet(); MySqlDataAdapter da = new MySqlDataAdapter(sql, G_SqlCon); da.Fill(ds); int ncnt = ds.Tables[0].Rows.Count; if (ncnt > 0) { for (int i = 0; i < ncnt; i++) { MisssionInfo missioninfo = new MisssionInfo(); string strmissionid = ds.Tables[0].Rows[i]["mission_id"].ToString(); string strmissionname = ds.Tables[0].Rows[i]["mission_name"].ToString(); int nmissionlevel = int.Parse(ds.Tables[0].Rows[i]["mission_level"].ToString()); string strworkdata = ds.Tables[0].Rows[i]["work"].ToString(); missioninfo.strMisssionID = strmissionid; missioninfo.strMisssionName = strmissionname; missioninfo.nMisssionLevel = nmissionlevel; missioninfo.work = strworkdata; missionlisttable.missioninfo.Add(missioninfo); } } } catch (MySqlException ex) { MessageBox.Show("onDBRead_Missionlist err" + ex.Message.ToString()); } catch (Exception ex2) { MessageBox.Show("onDBRead_Missionlist err" + ex2.Message.ToString()); } }
private void test() { try { int cnt = missionbuf_in.Count(); WorkFlowGoal workflowgoal = new WorkFlowGoal(); workflowgoal.work_id = "TEMP_"; workflowgoal.action_start_idx = 0; workflowgoal.loop_flag = 1; for (int i = 0; i < cnt; i++) { DB_MissionData db_missiondata = new DB_MissionData(); MisssionInfo missioninfo = new MisssionInfo(); string strmissionid = missionbuf_in[i]; missioninfo = mainform.dbBridge.onDBRead_Mission(strmissionid); string strwork = missioninfo.work; db_missiondata = JsonConvert.DeserializeObject <DB_MissionData>(strwork); float x = db_missiondata.work[0].action_args[0]; float y = db_missiondata.work[0].action_args[1]; float theta = db_missiondata.work[0].action_args[2]; Action act = new Action(); act.action_type = (int)Data.ACTION_TYPE.Goal_Point; act.action_args.Add(x); act.action_args.Add(y); act.action_args.Add(theta); ParameterSet paramset = new ParameterSet(); paramset.param_name = "max_trans_vel"; paramset.type = "float"; paramset.value = "1.0"; act.action_params.Add(paramset); paramset = new ParameterSet(); paramset.param_name = "xy_goal_tolerance"; paramset.type = "float"; paramset.value = "0.15"; act.action_params.Add(paramset); paramset = new ParameterSet(); paramset.param_name = "yaw_goal_tolerance"; paramset.type = "float"; paramset.value = "0.05"; act.action_params.Add(paramset); paramset = new ParameterSet(); paramset.param_name = "p_drive"; paramset.type = "float"; paramset.value = "0.4"; act.action_params.Add(paramset); paramset = new ParameterSet(); paramset.param_name = "d_drive"; paramset.type = "float"; paramset.value = "1.2"; act.action_params.Add(paramset); paramset = new ParameterSet(); paramset.param_name = "wp_tolerance"; paramset.type = "float"; paramset.value = "1"; act.action_params.Add(paramset); paramset = new ParameterSet(); paramset.param_name = "avoid"; paramset.type = "bool"; paramset.value = "true"; act.action_params.Add(paramset); paramset = new ParameterSet(); paramset.param_name = "passing_flag"; paramset.type = "bool"; paramset.value = "true"; act.action_params.Add(paramset); workflowgoal.work.Add(act); } string strMissionData_Json = JsonConvert.SerializeObject(workflowgoal); mainform.dbBridge.onDBInsert_Missionlist(DateTime.Now.ToString("LS_" + "yyyyMMddhhmm"), "TEMP_", "0", "", strMissionData_Json); } catch (Exception e) { Console.WriteLine("insert mission buf error -> {0}", e); } }