Exemplo n.º 1
0
 protected RegnumProvider(FrameProvider frameProvider, MouseProvider mouseProvider, ILogger log)
 {
     this._frameProvider      = frameProvider;
     this._mouseProvider      = mouseProvider;
     this._log                = log;
     this._frameEventHandlers = new Dictionary <EventType, List <IFrameEventHandler> >();
 }
        public void TryParse_ShouldReturnFalse_OnIncompleteMetadata()
        {
            var frame      = FrameProvider.GetRandom(1, 5);
            var reader     = new SequenceReader <byte>(frame.Slice(0, 5));
            var couldParse = _parser.TryParse(ref reader, out _);

            Assert.False(couldParse);
        }
Exemplo n.º 3
0
        public void GetFramesOf_ShouldParseAll_OnValidFrame(int messageId, params int[] framesLength)
        {
            var framesBuffer = FrameProvider.GetMultiplesRandom(messageId, framesLength);
            var frames       = _decoder.GetFramesOf(new SequenceHolder(framesBuffer)).ToArray();

            Assert.Equal(framesLength.Length, frames.Length);
            Assert.All(frames, f => Assert.Equal(f.Metadata.GetMessageId(), messageId));
            Assert.All(framesLength, len => Assert.Contains(frames, f => f.Metadata.Length == len));
        }
Exemplo n.º 4
0
        public void GetFramesOf_ShouldBreak_OnOneAndHalfFrame()
        {
            var buffer = FrameProvider.GetMultiplesRandom(5, 4, 6).Slice(0, 14);
            var holder = new SequenceHolder(buffer);
            var frames = _decoder.GetFramesOf(holder)
                         .ToArray();

            Assert.Single(frames);
            Assert.Equal(buffer.GetPosition(10), holder.Buffer.Start);
        }
        public void TryParse_ShouldReturnTrue_OnValidFrame(short messageId, int length)
        {
            var frame      = FrameProvider.GetRandom(messageId, length);
            var reader     = new SequenceReader <byte>(frame);
            var couldParse = _parser.TryParse(ref reader, out var metadata);

            Assert.True(couldParse);
            Assert.NotNull(metadata);
            Assert.Equal(metadata.Length, length);
            Assert.Equal(metadata.GetMessageId(), messageId);
        }
        public void Write_ShouldSerializeCorrectly(short messageId, int length)
        {
            var metadata = FrameProvider.GetRandom(messageId, length)
                           .Slice(0, 6).ToArray();

            var meta            = new MessageMetadata(messageId, length);
            var writtenMetadata = new byte[_parser.GetLength(meta)];

            _parser.Write(writtenMetadata, meta);

            Assert.Equal(metadata, writtenMetadata);
        }
Exemplo n.º 7
0
        public CommucationFacade(ICommPresenter presenter)
        {
            _presenter           = presenter;
            _myTcpClient         = new BitkyTcpClient(this);
            _myPortClient        = new SerialPortClient(this);
            _controlFrameBuilder = new ControlFrameBuilder();
            _frameProvider       = new FrameProvider();

            //子帧收集计时器
            _timerFrameCollect = new Timer(PresetInfo.FrameReceiveTimeout)
            {
                AutoReset = false
            };
            _timerFrameCollect.Elapsed += FrameCollect;
        }
        public async Task WriteFrameAsync_ShouldSerializeCorrectly(short messageId, int length)
        {
            var encodedFrame = FrameProvider.GetRandom(messageId, length);
            var metadata     = new MessageMetadata(messageId, length);
            var frame        = new Frame(encodedFrame.Slice(
                                             _encoder.GetLength(metadata)), metadata);

            var pipe        = new Pipe();
            var writeResult = await _encoder.WriteFrameAsync(pipe.Writer, frame);

            Assert.True(!writeResult.IsCompleted && !writeResult.IsCanceled);

            pipe.Reader.TryRead(out var result);
            var expected = encodedFrame.ToArray();
            var actual   = result.Buffer.ToArray();

            Assert.Equal(expected, actual);
        }
        public async Task ReadFramesAsync_ShouldBreak_OnReaderCompletedAtLast(short messageId, params int[] framesLength)
        {
            var random = new Random();

            var(decoder, pipe) = CreateConsumer();
            var enumerator = decoder.ReadFramesAsync().GetAsyncEnumerator();

            foreach (var len in framesLength)
            {
                var meta    = new MessageMetadata(messageId, len);
                var encoded = FrameProvider.GetRandomAsBuffer(messageId, len, random);
                await pipe.Writer.WriteAsync(encoded).ConfigureAwait(false);

                Assert.True(await enumerator.MoveNextAsync());
                Assert.Equal(meta, enumerator.Current.Metadata);
                Assert.Equal(encoded.Slice(_parser.GetLength(meta)).ToArray(),
                             enumerator.Current.Payload.ToArray());
            }

            pipe.Reader.Complete();
            Assert.False(await enumerator.MoveNextAsync()); // will break since tryAdvance returns false whenever the pipe is completed (by throwing an InvalidOperationException)
        }
Exemplo n.º 10
0
        static void Main(string[] args)
        {
            FrameProvider frameProvider = new FrameProvider();

            Assembler assembler = new Assembler();

            Thread provider = new Thread(frameProvider.Start);

            provider.Start();

            for (int i = 0; i < 5; i++)
            {
                new Thread(assembler.Start).Start();
            }

            Thread.Sleep(10000);

            ListManager.StopTrigger = true;
            Console.WriteLine(ListManager.GetInfo());
            Console.ReadLine();
            Console.ReadLine();
        }
Exemplo n.º 11
0
 public PiedraProvider(FrameProvider frameProvider, MouseProvider mouseProvider, ILogger log) : base(frameProvider, mouseProvider, log)
 {
 }
Exemplo n.º 12
0
 public ObjetivoProvider(FrameProvider frameProvider, MouseProvider mouseProvider, ILogger log) : base(frameProvider, mouseProvider, log)
 {
 }
Exemplo n.º 13
0
 public AventuraProvider(FrameProvider frameProvider, MouseProvider mouseProvider, ILogger log) : base(frameProvider, mouseProvider, log)
 {
     this._posicionCoordenadas = new Rectangle(0, 0, 320, 90);
 }
Exemplo n.º 14
0
 public StatsProvider(FrameProvider frameProvider, ILogger log) : base(frameProvider, null, log)
 {
     this._posicionStats = new Rectangle(0, 0, 220, 200);
 }
Exemplo n.º 15
0
 private void Mp4Player_Load(object sender, EventArgs e)
 {
     InitDecoder();
     data = FrameProvider.GetH264FileData();
 }
Exemplo n.º 16
0
    /// <summary>
    /// Start point.
    /// </summary>
    protected void OnEnable()
    {
        DebugTargets[] debugs = gameObject.GetComponents <DebugTargets>();
        if (debugs.Length > 0)
        {
            Debug.LogError("Debug create dynamically, component will be removed.");
            foreach (DebugTargets debug in debugs)
            {
                DestroyImmediate(debug);
            }
        }

        Debug.Log("Start tracking.");

        //File calibration
        if (parameters.use_file_calibration)
        {
            string path = Path.Combine(Application.streamingAssetsPath, parameters.path_subfolder_calibration);
            if (!Directory.Exists(path))
            {
                throw new System.Exception("Folder " + path + " does not exist.");
            }
            if (!CARDSCalibrationPlugin.GetPoseParametersWrapped(path, ref parameters.calibration))
            {
                throw new System.Exception("Loading parameters " + path + " failed.");
            }
        }
        else if (parameters.device_index != -1)
        {
            Debug.LogWarning("Not recommended to not use calibrtation file in other context than virtual.");
        }

        // Init video
        if (parameters.UseWebcam)
        {
            video = new WebcamTexture();
            gameObject.AddComponent <DebugTargetsWebcam>();
        }
        else if (parameters.device_index == -1)
        {
            video = new VirtualCameraTexture();
            gameObject.AddComponent <DebugTargetsVirtual>();
        }
        else if (parameters.device_index == -2)
        {
            video = new VideoFileTexture();
            gameObject.AddComponent <DebugTargetsVideo>();
        }
        video.Init(parameters);

        // Init plugin
        unsafe
        {
            fixed(Target *outTargets = targets)
            {
                CARDSTrackingPlugin.InitWrapped(outTargets, ref nb_targets, max_targets);
            }
        }

        //Init detection
        if (parameters.use_detection)
        {
            zone_detection = ConvertUnityScreenToRect(parameters.rect_detection);
        }

        nb_frame = -1;
    }
Exemplo n.º 17
0
 public CoordenadasProvider(FrameProvider frameProvider, MouseProvider mouseProvider, ILogger log) : base(frameProvider, mouseProvider, log)
 {
     this._posicionCoordenadas = new Rectangle(frameProvider.Width - 140, 93, 140, 35);
 }