Exemplo n.º 1
0
        public SoccerBotViewModel(ISoccerBot soccerBot, ISoccerBotLogger logger, Server server)
        {
            _server = server;

            _logger = logger;

            _soccerBot = soccerBot;
        }
Exemplo n.º 2
0
        public ChannelWatcherBase(ISoccerBotLogger logger)
        {
            _logger = logger;

            StartWatcherCommand        = RelayCommand.Create(StartWatcher);
            StopWatcherCommand         = RelayCommand.Create(StopWatcher);
            StopWatcherCommand.Enabled = false;
        }
Exemplo n.º 3
0
 public MainViewModel(ISoccerBotLogger logger)
 {
     _logger              = logger;
     _availableChannels   = new ObservableCollection <IChannel>();
     _channelWatchers     = new ObservableCollection <IChannelWatcher>();
     _connectedDevices    = new ObservableCollection <ISoccerBotCommands>();
     StartWatchersCommand = new RelayCommand(StartWatchers);
     StopWatchersCommand  = new RelayCommand(StopWatchers);
 }
Exemplo n.º 4
0
        private async Task InitSoccerBot()
        {
            var hostNames    = NetworkInformation.GetHostNames();
            var computerName = hostNames.FirstOrDefault(name => name.Type == HostNameType.DomainName)?.DisplayName ?? "???";



            var pin = await LagoVista.Core.PlatformSupport.Services.Storage.GetKVPAsync <string>("PIN");

            if (String.IsNullOrEmpty(pin))
            {
                var rnd = new Random();
                pin = rnd.Next(1000, 9999).ToString();
                await LagoVista.Core.PlatformSupport.Services.Storage.StoreKVP("PIN", pin);
            }

            Debug.Write("========================================");
            Debug.Write("NOTE: NOTE: NOTE: Your PIN is: " + pin);
            Debug.Write("========================================");

            _logger = new Loggers.DebugLogger();

            switch (AnalyticsInfo.VersionInfo.DeviceFamily)
            {
            case "Windows.IoT":
                var ports = (await LagoVista.Core.PlatformSupport.Services.DeviceManager.GetSerialPortsAsync());
                if (ports.Count == 0)
                {
                    throw new Exception("Could not find any serial ports, a serial port is required.");
                }
                else if (ports.Count > 1)
                {
                    throw new Exception("Found more than one serial port, please add additional logic to select the serial port the mBot is connected to.");
                }

                var serialPortChannel = new SerialChannel(ports.First().Id, _logger);
                await serialPortChannel.ConnectAsync();

                _soccerBot     = new mBlockSoccerBot(serialPortChannel, _logger, pin);
                _sensorManager = new SensorManager();
                await _sensorManager.InitAsync();

                _sensorManager.Start();

                Managers.ConnectionManager.Instance.MakeDiscoverable(computerName);
                break;

            case "Windows.Desktop":
                _soccerBot = new SimulatedSoccerBot();

                break;
            }

            Managers.ConnectionManager.Instance.Init(_soccerBot, _logger);
            Managers.ConnectionManager.Instance.StartWebServer(80, computerName);
            Managers.ConnectionManager.Instance.StartTCPServer(9000, _soccerBot, _sensorManager);
        }
Exemplo n.º 5
0
 public TCPListener(ISoccerBotLogger logger, Server server, int port)
 {
     _server = server;
     _logger = logger;
     _port   = port;
     _logger.NotifyUserInfo("TCPIP Listener", $"Created Listener");
     _listener = new Windows.Networking.Sockets.StreamSocketListener();
     _listener.ConnectionReceived += _listener_ConnectionReceived;
 }
Exemplo n.º 6
0
        public BluetoothChannel(DeviceInformation deviceInfo, ISoccerBotLogger logger)
        {
            _logger     = logger;
            _deviceInfo = deviceInfo;
            Id          = _deviceInfo.Id;
            DeviceName  = _deviceInfo.Name;

            State = States.Disconnected;
            _logger.NotifyUserInfo("BT Channel", "Created");
        }
Exemplo n.º 7
0
        public TCPIPChannel(uPnPDevice device, ISoccerBotLogger logger)
        {
            _remoteDevice = device;
            DeviceName    = device.FriendlyName;
            Id            = device.UDN + " " + device.IPAddress;
            _logger       = logger;
            _logger.NotifyUserInfo("TCPIP Channel", $"Created Device for: {DeviceName}");

            _parser = new MessageParser();
            _parser.MessageReady += _parser_MessageReady;
        }
Exemplo n.º 8
0
        public Server(ISoccerBotLogger logger, int port, ISoccerBot soccerBot, SensorManager sensorManager)
        {
            _port      = port;
            _logger    = logger;
            _soccerBot = soccerBot;

            _sensorManager = sensorManager;

            _listener = new TCPListener(_logger, this, _port);
            _clients  = new List <Client>();

            _watchDog          = new System.Threading.Timer(_watchDog_Tick, null, 0, 2500);
            _sensorUpdateTimer = new System.Threading.Timer(_sensorUpdateTimer_Tick, null, 0, 1000);
        }
Exemplo n.º 9
0
        private Client(StreamSocket socket, ISoccerBotLogger logger)
        {
            _socket = socket;
            _logger = logger;
            _parser = new MessageParser();
            _parser.MessageReady += _parser_MessageReady;

            _inputStream = socket.InputStream.AsStreamForRead();
            _reader      = new StreamReader(_inputStream);

            _outputStream = socket.OutputStream.AsStreamForWrite();
            _writer       = new StreamWriter(_outputStream);

            _lastMessageDateStamp = DateTime.Now;

            _readBuffer = new char[MAX_BUFFER_SIZE];
        }
Exemplo n.º 10
0
        public mBlockSoccerBot(IChannel channel, ISoccerBotLogger logger, string pin = "9999") : this()
        {
            _pin     = pin;
            _logger  = logger;
            _channel = channel;
            _channel.MessageReceived += _channel_MessageReceived;
            Name = "mSoccerBot";

            _timer = new Timer((state) => { RequestVersion(); }, null, 0, 5000);

            ModeACommand          = RelayCommand.Create(SendModeA);
            ModeBCommand          = RelayCommand.Create(SendModeB);
            ModeCCommand          = RelayCommand.Create(SendModeC);
            SendLEDMessageCommand = RelayCommand.Create(SendLEDMessage);

            _start = DateTime.Now;
        }
Exemplo n.º 11
0
 public SerialPortChannel(ISerialPort port, ISoccerBotLogger logger)
 {
     _port   = port;
     _logger = logger;
 }
Exemplo n.º 12
0
 public SerialChannel(string serialPortId, ISoccerBotLogger logger)
 {
     _serialPortId = serialPortId;
     _logger       = logger;
 }
Exemplo n.º 13
0
 public MotionApi(ISoccerBotCommands soccerBot, ISoccerBotLogger logger)
 {
     _soccerBot = soccerBot;
     _logger    = logger;
 }
Exemplo n.º 14
0
 public void Init(ISoccerBot soccerBot, ISoccerBotLogger logger)
 {
     _soccerBot = soccerBot;
     _logger    = logger;
 }
Exemplo n.º 15
0
 public UPNPChannelWatcher(ISoccerBotLogger logger) : base(logger)
 {
     _logger = logger;
 }
Exemplo n.º 16
0
 public static Client Create(StreamSocket socket, ISoccerBotLogger logger)
 {
     return(new Client(socket, logger));
 }
 public BluetoothChannelWatcher(ISoccerBotLogger logger) : base(logger)
 {
     _logger = logger;
 }
Exemplo n.º 18
0
 public SoccerBotClient(IChannel channel, ISoccerBotLogger logger, string pin = "9999")
 {
     _channel = channel;
     _channel.NetworkMessageReceived += _channel_NetworkMessageReceived;
     _logger = logger;
 }