Example #1
0
 public void Initialize()
 {
     if (IsInitialize)
     {
         throw new Exception("已初始化");
     }
     IsInitialize = true;
     try
     {
         if (!TCPDataService.Init(int.Parse(_conf.GetNetPort())))
         {
             throw new Exception("数据端口初始化失败");
         }
         if (!TCPCmdService.Init(int.Parse(_conf.GetNetCmdPort())))
         {
             throw new Exception("命令端口初始化失败");
         }
     }
     catch (Exception)
     {
         IsInitialize = false;
     }
     try
     {
         if (!TCPPoseService.Init(int.Parse(_conf.GetPosePort())))
         {
             throw new Exception("姿态传感器端口初始化失败");
         }
     }
     catch (Exception)
     {
         IsInitialize = false;
     }
 }
Example #2
0
 private bool CreateTCPListening()
 {
     try
     {
         if (!SonarIsOK)
         {
             TCPDataService.Start();
             TCPDataService.Register(NetDataObserver);
             TCPCmdService.Start();
             TCPCmdService.Register(NetDataObserver);
             SonarIsOK = true;
         }
         if (!PoseIsOK)
         {
             TCPPoseService.Start();
             TCPPoseService.Register(NetDataObserver);
             PoseIsOK = true;
         }
         return(PoseIsOK && SonarIsOK);
     }
     catch (Exception e)
     {
         Error = e.Message;
         return(false);
     }
 }
Example #3
0
        public void StopTCpService()
        {
            TCPShellService.UnRegister(NetDataObserver);
            TCPShellService.Stop();

            TCPDataService.UnRegister(NetDataObserver);
            TCPDataService.Stop();
            IsTCPWorking = false;
        }
Example #4
0
        public async Task <bool> DownloadFile(Stream file, DownLoadFileType type)
        {
            SendBytes = 0;
            string argu = "";

            switch (type)
            {
            case DownLoadFileType.BootLoader:
                argu = " -b";
                break;

            case DownLoadFileType.FPGA:
                argu = " -f";
                break;

            case DownLoadFileType.FixFirm:
                argu = " -u";
                break;

            case DownLoadFileType.FloatM2:
                argu = " -t -m2";
                break;

            case DownLoadFileType.FloatM4:
                argu = " -t - m4";
                break;

            case DownLoadFileType.RltUpdate:
                argu = " -l";
                break;

            case DownLoadFileType.Wave:
                argu = "";
                break;

            default:
                argu = "";
                break;
            }
            var shellcmd = new ACNTCPShellCommand(_cmdtcpClient, "gd" + argu);
            var ret      = Command.SendTCPAsync(shellcmd);

            if (await ret)
            {
                var datacmd = new ACNTCPStreamCommand(_datatcpClient, file, reportprogress);
                TCPDataService.Register(datacmd);
                return(await Command.SendTCPAsync(datacmd).ContinueWith(x =>
                {
                    TCPDataService.UnRegister(datacmd);
                    return x.Result;
                }));
            }
            return(false);
        }
Example #5
0
 public void Stop()
 {
     if (IsInitialize)
     {
         TCPDataService.UnRegister(NetDataObserver);
         TCPDataService.Stop();
         TCPCmdService.Stop();
         TCPPoseService.UnRegister(NetDataObserver);
         TCPPoseService.Stop();
     }
     IsWorking    = false;
     IsInitialize = false;
 }
Example #6
0
        /// <summary>
        /// tcp数据交换初始化
        /// </summary>
        /// <param name="configure"></param>
        /// <returns></returns>
        public bool StartTCPService()
        {
            IsTCPWorking = false;
            // 同步方法,会阻塞进程,调用init用task
            TCPShellService.ConnectSync();
            TCPDataService.ConnectSync();
            TCPShellService.Register(NetDataObserver);
            TCPDataService.Register(NetDataObserver);
            if (TCPShellService.Connected && TCPShellService.Start() && TCPDataService.Connected &&
                TCPDataService.Start())
            {
                IsTCPWorking = true;
                return(IsTCPWorking);
            }

            return(IsTCPWorking);
        }
Example #7
0
        public void Initialize()
        {
            if (IsInitialize)
            {
                throw new Exception("已初始化");
            }

            _datatcpClient = new TcpClient {
                SendTimeout = 1000
            };
            _cmdtcpClient = new TcpClient {
                SendTimeout = 1000
            };
            _posetcpClient = new TcpClient {
                SendTimeout = 1000
            };
            IsInitialize = true;
            try
            {
                if (!TCPDataService.Init(_datatcpClient, IPAddress.Parse(_conf.GetIP()), int.Parse(_conf.GetNetPort())))
                {
                    throw new Exception("数据端口初始化失败");
                }
                if (!TCPCmdService.Init(_cmdtcpClient, IPAddress.Parse(_conf.GetIP()), int.Parse(_conf.GetNetCmdPort())))
                {
                    throw new Exception("命令端口初始化失败");
                }
            }
            catch (Exception)
            {
                IsInitialize = false;
            }
            try
            {
                if (!TCPPoseService.Init(_posetcpClient, IPAddress.Parse(_conf.GetPoseIP()), int.Parse(_conf.GetPosePort())))
                {
                    throw new Exception("姿态传感器网络初始化失败");
                }
            }
            catch (Exception)
            {
                IsInitialize = false;
            }
        }
Example #8
0
 private bool CreateTCPService(BasicConf conf)
 {
     // 同步方法,会阻塞进程,调用init用task
     if (!SonarIsOK)
     {
         TCPDataService.ConnectSync();
         TCPDataService.Register(NetDataObserver);
         TCPCmdService.ConnectSync();
         TCPCmdService.Register(NetDataObserver);
     }
     if (!PoseIsOK)
     {
         TCPPoseService.ConnectSync();
         TCPPoseService.Register(NetDataObserver);
     }
     if (SonarIsOK && PoseIsOK)
     {
         return(true);
     }
     return(false);
 }