Ejemplo n.º 1
0
        public NecComPortHandler(IComPortDevice comPort)
        {
            _comPort = comPort;
            RxQueue  = new CrestronQueue <byte>(1000);

            var port = _comPort as ComPort;

            if (port != null)
            {
                if (!port.Registered)
                {
                    if (port.Register() != eDeviceRegistrationUnRegistrationResponse.Success)
                    {
                        ErrorLog.Error("Could not register com port {0}", _comPort.ID);
                    }
                }
            }

            var spec = new ComPort.ComPortSpec()
            {
                BaudRate          = ComPort.eComBaudRates.ComspecBaudRate9600,
                DataBits          = ComPort.eComDataBits.ComspecDataBits8,
                Parity            = ComPort.eComParityType.ComspecParityNone,
                StopBits          = ComPort.eComStopBits.ComspecStopBits1,
                Protocol          = ComPort.eComProtocolType.ComspecProtocolRS232,
                HardwareHandShake = ComPort.eComHardwareHandshakeType.ComspecHardwareHandshakeNone,
                SoftwareHandshake = ComPort.eComSoftwareHandshakeType.ComspecSoftwareHandshakeNone,
                ReportCTSChanges  = false
            };


            _comPort.SetComPortSpec(spec);
        }
Ejemplo n.º 2
0
        internal ChristieComPortHandler(IComPortDevice comPort)
        {
            _comPort = comPort;

            var port = _comPort as CrestronDevice;

            if (port != null && !port.Registered)
            {
                var result = port.Register();
                if (result != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CloudLog.Error("Could not register {0}, {1}", port, result);
                }
            }

            _comPort.SetComPortSpec(new ComPort.ComPortSpec()
            {
                BaudRate          = ComPort.eComBaudRates.ComspecBaudRate115200,
                DataBits          = ComPort.eComDataBits.ComspecDataBits8,
                StopBits          = ComPort.eComStopBits.ComspecStopBits1,
                Parity            = ComPort.eComParityType.ComspecParityNone,
                Protocol          = ComPort.eComProtocolType.ComspecProtocolRS232,
                ReportCTSChanges  = false,
                HardwareHandShake = ComPort.eComHardwareHandshakeType.ComspecHardwareHandshakeNone,
                SoftwareHandshake = ComPort.eComSoftwareHandshakeType.ComspecSoftwareHandshakeNone,
            });

            _bytes     = new byte[1000];
            _byteIndex = 0;

            _comPort.SerialDataReceived += ComPortOnSerialDataReceived;
        }
Ejemplo n.º 3
0
        public void Initialize()
        {
            if (_initialized)
            {
                return;
            }

            var port = _comPort as PortDevice;

            if (port != null && !port.Registered)
            {
                var result = port.Register();
                if (result != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CloudLog.Error("Could not register {0} with ID {1}, {2}", port.GetType().Name, port.ID, result);
                }
            }

            var spec = new ComPort.ComPortSpec()
            {
                BaudRate          = ComPort.eComBaudRates.ComspecBaudRate9600,
                DataBits          = ComPort.eComDataBits.ComspecDataBits8,
                Parity            = ComPort.eComParityType.ComspecParityNone,
                StopBits          = ComPort.eComStopBits.ComspecStopBits1,
                Protocol          = ComPort.eComProtocolType.ComspecProtocolRS232,
                HardwareHandShake = ComPort.eComHardwareHandshakeType.ComspecHardwareHandshakeNone,
                SoftwareHandshake = ComPort.eComSoftwareHandshakeType.ComspecSoftwareHandshakeNone,
                ReportCTSChanges  = false
            };

            _comPort.SetComPortSpec(spec);

            _comPort.SerialDataReceived += (device, args) =>
            {
                var bytes = args.SerialData.ToByteArray();
#if DEBUG
                Debug.WriteSuccess("Samsung Rx",
                                   Debug.AnsiBlue + Tools.GetBytesAsReadableString(bytes, 0, bytes.Length, false) +
                                   Debug.AnsiReset);
#endif
                foreach (var b in bytes)
                {
                    _rxQueue.Enqueue(b);
                }

                if (_rxThread != null && _rxThread.ThreadState == Thread.eThreadStates.ThreadRunning)
                {
                    return;
                }
                _rxThread = new Thread(ReceiveBufferProcess, null, Thread.eThreadStartOptions.CreateSuspended)
                {
                    Priority = Thread.eThreadPriority.UberPriority,
                    Name     = string.Format("Samsung Display ComPort - Rx Handler")
                };
                _rxThread.Start();
            };
            _initialized = true;
        }
Ejemplo n.º 4
0
        public FaMotorController(IComPortDevice comPort)
        {
            _comPort = comPort;

            if (comPort is ComPort)
            {
                var result = ((ComPort)comPort).Register();
                if (result != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CloudLog.Error("Could not register comport \"{0}\" for {1}", comPort.ToString(), GetType().Name);
                }
            }

            comPort.SetComPortSpec(ComSpec);
        }
Ejemplo n.º 5
0
        public LgComPortHandler(IComPortDevice comPort)
        {
            CrestronEnvironment.ProgramStatusEventHandler += type =>
            {
                _programStopping = type == eProgramStatusEventType.Stopping;
            };

            _comPort = comPort;
            var port = _comPort as ComPort;

            if (port != null)
            {
                port.Register();
            }
            _comPort.SetComPortSpec(_spec);
            _comPort.SerialDataReceived += ComPortOnSerialDataReceived;
        }
Ejemplo n.º 6
0
        public SurfaceHubDisplay(string name, IComPortDevice comPort) : base(name)
        {
            CrestronEnvironment.ProgramStatusEventHandler += type =>
            {
                _programStopping = type == eProgramStatusEventType.Stopping;
            };

            _comPort = comPort;
            var port = _comPort as ComPort;

            if (port != null)
            {
                port.Register();
            }
            _comPort.SetComPortSpec(_portSpec);
            _comPort.SerialDataReceived += ComPortOnSerialDataReceived;
        }
Ejemplo n.º 7
0
        public SmartBoardComPortHandler(IComPortDevice comPort)
        {
            CrestronEnvironment.ProgramStatusEventHandler += type =>
            {
                _programStopping = type == eProgramStatusEventType.Stopping;
                if (_rxThread != null && _rxThread.ThreadState == Thread.eThreadStates.ThreadRunning)
                {
                    _rxQueue.Enqueue(0x00);
                }
            };

            _comPort = comPort;

            var port = _comPort as CrestronDevice;

            if (port != null && !port.Registered)
            {
                var result = port.Register();
                if (result != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CloudLog.Error("Could not register {0}, {1}", port, result);
                }
            }

            _comPort.SetComPortSpec(new ComPort.ComPortSpec()
            {
                BaudRate          = ComPort.eComBaudRates.ComspecBaudRate19200,
                DataBits          = ComPort.eComDataBits.ComspecDataBits8,
                StopBits          = ComPort.eComStopBits.ComspecStopBits1,
                Parity            = ComPort.eComParityType.ComspecParityNone,
                Protocol          = ComPort.eComProtocolType.ComspecProtocolRS232,
                ReportCTSChanges  = false,
                HardwareHandShake = ComPort.eComHardwareHandshakeType.ComspecHardwareHandshakeNone,
                SoftwareHandshake = ComPort.eComSoftwareHandshakeType.ComspecSoftwareHandshakeNone,
            });

            _comPort.SerialDataReceived += PortOnSerialDataReceived;
        }
Ejemplo n.º 8
0
        public ComPortHandler(IComPortDevice comPort)
        {
            _bytes   = new byte[10000];
            _port    = comPort;
            _rxQueue = new CrestronQueue <byte[]>();

            var cp = _port as ComPort;

            if (cp != null && !cp.Registered)
            {
                var result = cp.Register();
                if (result != eDeviceRegistrationUnRegistrationResponse.Success)
                {
                    CloudLog.Warn("Registering comport for {0} result: {1}", GetType().Name, result);
                }
            }

            try
            {
                var spec = new ComPort.ComPortSpec()
                {
                    BaudRate          = ComPort.eComBaudRates.ComspecBaudRate38400,
                    DataBits          = ComPort.eComDataBits.ComspecDataBits8,
                    StopBits          = ComPort.eComStopBits.ComspecStopBits1,
                    Parity            = ComPort.eComParityType.ComspecParityNone,
                    HardwareHandShake = ComPort.eComHardwareHandshakeType.ComspecHardwareHandshakeNone,
                    SoftwareHandshake = ComPort.eComSoftwareHandshakeType.ComspecSoftwareHandshakeNone,
                    Protocol          = ComPort.eComProtocolType.ComspecProtocolRS232,
                    ReportCTSChanges  = false
                };
                _port.SetComPortSpec(spec);
            }
            catch (Exception e)
            {
                CloudLog.Error("Error could not set comport spec for {0}, {1}", GetType().Name, e.Message);
            }
        }