示例#1
0
        public static async void Initialize()
        {
            _Uptime = DateTime.Now;

            string AppPath = Methods.Instance.GetApplicationPath;

            if (!File.Exists(AppPath + "AppConfig.xml"))
            {
                await GenerateDumpAppConfigAsync();
            }

            if (!File.Exists(AppPath + ".htaccess"))
            {
                new Settings().Save(".htaccess", "admin\r\nadmin");
            }

            Schedule.Init();

            if (!string.IsNullOrWhiteSpace(Comm.GetHostname))
            {
                WebServer.Start();
            }
            if (!string.IsNullOrWhiteSpace(Comm.GetLocalHost))
            {
                TcpServer.Start();
            }
            if (!string.IsNullOrWhiteSpace(Comm.GetComPort))
            {
                SerialComm.ActivateSerialPort(string.Empty); // throws exception in linux?
            }
            "%checkin%".ToValues();
        }
        public Window1()
        {
            InitializeComponent();
            InitializeWin();

            //Control AddExperiment
            AddExperiment.AddButtonClick += ControlAddExperiment_AddClick;
            AddExperiment.CloseClick     += ControlAddExperiment_CloseClick;

            //Control AddVariable
            AddVariable.AddButtonClick += ControlAddVariable_AddClick;
            AddVariable.CloseClick     += ControlAddVariable_CloseClick;

            //Control AddConnector
            AddConnector.AddButtonClick += ControlAddConnector_AddClick;
            AddConnector.CloseClick     += ControlAddConnector_CloseClick;

            //Control AddAlarm
            AddAlarm.AddButtonClick += ControlAddAlarm_AddClick;
            AddAlarm.CloseClick     += ControlAddAlarm_CloseClick;

            string conn = ConfigurationManager.AppSettings["BDConnection"];

            _BD = new DBLogger(@conn);

            _AlarmMannager = new AlarmManeger();

            string port    = ConfigurationManager.AppSettings["PortName"];
            int    b_rate  = Convert.ToInt32(ConfigurationManager.AppSettings["B_rate"]);
            int    data_Bt = Convert.ToInt32(ConfigurationManager.AppSettings["Data_Bit"]);

            _PortSerial = new SerialComm(port, b_rate, data_Bt, Parity.None, StopBits.One);
            _Station    = new ModbusStationRTU("station1", 1, _PortSerial, true);
        }
示例#3
0
 public ModbusStationRTU(string stationName, byte id, SerialComm port, bool bit_Endiang)
 {
     this.stationName = stationName;
     this.id = id;
     this.port = port;
     this.bit_Endiang = bit_Endiang;
 }
示例#4
0
        public Biz(MainWindow mainWindow)
        {
            propertyGrid = mainWindow.PropertyGrid;
            window       = mainWindow;
            LoadParams();
            propertyGrid.SelectedObject = DetectParam;
            serialComm = new SerialComm(SerialParam, DetectParam.CameraNo);
            AlarmRecord.TotalLoopCount = AlarmParam.TotalLoopCount;
            m_FrameCallback            = new pfnCameraGrabberFrameCallback(CameraGrabberFrameCallback);
            if (InitCamera())
            {
                mainWindow.RectBorder.Visibility = System.Windows.Visibility.Collapsed;
                GPIO.Init(m_hCamera);
            }
            else
            {
                InitLocalCamera();
            }

            StartDetect();
            Task.Run(() =>
            {
                Algorithm.svm_start();
                AutoDeletePics();
            });
        }
示例#5
0
        public Command(Controller c)
        {
            this.c = c;
            SerialComm comm = c.r.comm;

            ID = comm.NextCommandID();
        }
示例#6
0
    // Считаем показатель охлаждения реактора и проверяем на победу
    void calculateCooling()
    {
        int temp = 0;

        for (int i = 0; i < 4; i++)
        {
            temp += pots [i];
        }
        coolingEfficiency = temp / 4000f;

        GameObject.Find("CoolingEfficiency").GetComponent <Text> ().text = Math.Round(coolingEfficiency * 100) + " %";

        float tempCap = 1206 - coolingEfficiency * 1206;

        temperature = Mathf.Clamp(temperature, 0f, tempCap);

        CoreTempText.text = Mathf.Round(temperature) + " °C";

        if (temperature >= 1201 && !overheatSent)
        {
            SerialComm.WriteToArduino("#E");
            mainCamera.GetComponent <CameraFilterPack_FX_Glitch1> ().enabled     = true;
            mainCamera.GetComponent <CameraFilterPack_TV_BrokenGlass> ().enabled = true;
            overheatSent = true;
        }
    }
示例#7
0
文件: frmMain.cs 项目: SK21/AOG_RC
 public frmMain()
 {
     InitializeComponent();
     Tls                       = new clsTools(this);
     CommPort                  = new SerialComm(this, PortID);
     UDPmodulesConfig          = new UDPComm(this, 29900, 28800, 1482); // pcb config
     CommPort.ModuleConnected += CommPort_ModuleConnected;
 }
示例#8
0
 /// <summary>
 /// Initialize for base station (include serial)
 /// </summary>
 /// <param name="routing"></param>
 /// <param name="macBase"></param>
 /// <param name="lcd"></param>
 /// <param name="serialComm"></param>
 public static void Initialize(MACBase macBase, EnhancedEmoteLCD lcd, SerialComm serialComm, int SendPacketInterval)
 {
     _serialComm = serialComm;
     Initialize(macBase, lcd);
     _sendMsgNum = 0;
     _rand       = new Random();
     //_packetTimer = new Timer(SendPacketMessage, null, 130 * 1000, SendPacketInterval);
 }
示例#9
0
        private void C2StateRdy(SerialComm sender)
        {
            TimeSpan timeSpan = TimeSpan.FromSeconds((sender as ControllerState).Tick / 32.0);

            lc2Ot.Text = string.Format(CultureInfo.InvariantCulture,
                                       "{0}:{1:D2}:{2:D2}",
                                       (int)timeSpan.TotalHours, timeSpan.Minutes, timeSpan.Seconds);
        }
示例#10
0
        private void Form1_Load(object sender, EventArgs e)
        {
            comm  = new SerialComm(null, "COM6");
            local = new Localisation(comm);
            comm.SetLocalisation(local);

            cam = new Camera(pictureBox1.Width, pictureBox1.Height, (float)(local.B / 2), (float)(local.A / 2));
        }
示例#11
0
 public static void Dispose()
 {
     SerialComm.DeactivateSerialPort();
     WebServer.Stop();
     TcpServer.Stop();
     Parser.ParserState = false;
     System.Environment.Exit(0);
 }
示例#12
0
 public RS232Transport(XmlElement configuration)
 {
     _log.Info("Loading RS232 Transport layer...");
     _log.Verbose("RS232 Transport layer using configuration: {0}", configuration.OuterXml);
     _serialPort          = new SerialComm();
     _serialPort.AutoOpen = false;
     _serialPort.SetupCommunication(configuration);
     _serialPort.OnDataReceived += new OnDataReceivedDelegate(_serialPort_OnDataReceived);
 }
示例#13
0
 void initSerial()
 {
     keyStates = new bool[charsNumber];
     for (int i = 0; i < charsNumber; i++)
     {
         keyStates [i] = false;
     }
     serialClass = gameObject.GetComponent <SerialComm> ();
 }
 public RS232Transport(XmlElement configuration)
 {
     _log.Info("Loading RS232 Transport layer...");
     _log.Verbose("RS232 Transport layer using configuration: {0}", configuration.OuterXml);
     _serialPort              = new SerialComm();
     MASTER_RESPONES_TIMEOUT  = XmlHelper.ReadInt(configuration, "TimeoutT4", 180000);
     RECEIVE_RESPONSE_TIMEOUT = XmlHelper.ReadInt(configuration, "TimeoutT3", 5000);
     _serialPort.AutoOpen     = false;
     _serialPort.SetupCommunication(configuration);
     _serialPort.OnDataReceived += _serialPort_OnDataReceived;
 }
示例#15
0
        private void button1_Click(object sender, EventArgs e)
        {
            #region 단일 포트 테스트

            //var portName = comboBox1.Text;
            //var baudRate = Convert.ToInt32(textBox1.Text);
            //var dataBits = Convert.ToInt32(textBox2.Text);
            //var stopBits = (StopBits)Enum.Parse(typeof(StopBits), comboBox2.Text);
            //var parity = (Parity)Enum.Parse(typeof(Parity), comboBox3.Text);

            //scan1 = new SerialComm();
            //scan1._deviceID = "SCAN1";
            //scan1.DataReceivedHandler = DataReceivedHandler;
            //scan1.DisconnectedHandler = DisconnectedHandler;

            //if (scan1.IsOpen) scan1.CloseComm();
            //var openResult = scan1.OpenComm(portName, baudRate, dataBits, stopBits, parity, Handshake.None);

            //if (openResult) richTextBox1.AppendText("Open success(" + scan1.serialPort.PortName + ")\r\n");
            //else richTextBox1.AppendText("Open failed(" + scan1.serialPort.PortName + ")\r\n");

            #endregion 단일 포트 테스트

            #region 다중 포트 테스트


            scan1 = new SerialComm("SCAN1");
            scan1.DataReceived += Scan_DataReceived;
            scan1.Disconnected += Scan_Disconnected;

            if (scan1.IsOpen)
            {
                scan1.CloseComm();
            }

            var resultMsg1 = scan1.OpenComm("COM2");
            richTextBox1.AppendText(resultMsg1);



            scan2 = new SerialComm("SCAN2");
            scan2.DataReceived += Scan_DataReceived;
            scan2.Disconnected += Scan_Disconnected;

            if (scan2.IsOpen)
            {
                scan2.CloseComm();
            }

            var resultMsg2 = scan2.OpenComm("COM3");
            richTextBox1.AppendText(resultMsg2);

            #endregion 다중 포트 테스트
        }
示例#16
0
        public LightControlService(CoreConfig coreConfig)
        {
            _serialComm = new SerialComm();
            _coreConfig = coreConfig;

            _logger = LogManager.GetCurrentClassLogger();

            _serialComm.DataReceived += DataReceived;

            _resetEvent = new ManualResetEvent(false);
        }
示例#17
0
        public AnalyzerForm(SerialPort machine, SerialComm Api)
        {
            InitializeComponent();

            MachineBaudrate = machine.BaudRate;
            MachinePortName = machine.PortName;
            initAnalyzers();

            hub = new eApi.Analyzer.Hub.ComportHub(machine, MachineAnalyzer, ApiAnalyzer, Api);

            this.FormClosing += new FormClosingEventHandler(AnalyzerForm_FormClosing);
        }
        public ComportHub(SerialPort machine, SerialComm machineAnalyzer, SerialComm apiAnalyzer, SerialComm api)
        {
            Machine = machine;
            ApiAnalyzer = apiAnalyzer;
            Api = api;
            MachineAnalyzer = machineAnalyzer;

            Api.RegisterDataSentInterceptHandler(ApiSentDataInterceptHandler);
            Machine.DataReceived += new SerialDataReceivedEventHandler(MachineDataReceived);

            Machine.Open();
        }
示例#19
0
 private void btnStart_Click(object sender, EventArgs e)
 {
     map        = new MemoryMap();
     serialPort = new SerialComm("COM1", 19200, ComPortLib.Parity.None, 8, ComPortLib.StopBits.One);
     cts        = new CancellationTokenSource();
     try
     {
         slave = new Slave(0x1, serialPort, map, cts.Token);
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.ToString());
     }
 }
示例#20
0
        /// <summary>
        /// Initialize for base station (include serial)
        /// </summary>
        /// <param name="routing"></param>
        /// <param name="macBase"></param>
        /// <param name="lcd"></param>
        /// <param name="serialComm"></param>
        public static void Initialize(MACBase macBase, EnhancedEmoteLCD lcd, SerialComm serialComm)
        {
            //initialize static vlaues
            _destination   = 0;
            _packetNumber  = 0;
            _TTL           = 0;
            _pathLength    = 0;
            _path          = new ushort[0];
            _payloadLength = 0;
            _serialPacket  = new byte[0];

            _serialComm = serialComm;
            Initialize(macBase, lcd);
        }
示例#21
0
        private void PresentData(SerializeSystem data)
        {
            _AlarmMannager  = data.AlarmManeger;
            _PortSerial     = data.Com;
            _Connector      = data.Connectors;
            _BD             = data.DB;
            _ExperimentList = data.Experiments;
            _Station        = data.Station;

            for (int i = 0; i < List_Experiment.Items.Count; i++)
            {
                List_Experiment.Items.RemoveAt(i);
            }
            for (int i = 0; i < List_Drivers.Items.Count; i++)
            {
                List_Drivers.Items.RemoveAt(i);
            }
            for (int i = 0; i < Alarms.Items.Count; i++)
            {
                Alarms.Items.RemoveAt(i);
            }
            for (int i = 0; i < _ExperimentList.Count; i++)
            {
                TreeViewItem itemExp = new TreeViewItem();
                itemExp.Header      = _ExperimentList[i].Name;
                itemExp.ContextMenu = _ExperimentContextMenu;
                List_Experiment.Items.Add(itemExp);
                for (int j = 0; j < _ExperimentList[i].Variables.Count; j++)
                {
                    TreeViewItem itemVar = new TreeViewItem();
                    itemVar.Header      = _ExperimentList[i].Variables[j].Name;
                    itemVar.ContextMenu = _VariableContextMenu;
                    itemExp.Items.Add(itemVar);
                }
            }
            for (int i = 0; i < _Connector.Count; i++)
            {
                TreeViewItem item = new TreeViewItem();
                item.Header      = _Connector[i].ConnectorName;
                item.ContextMenu = _delConnectorContextMenu;
                List_Drivers.Items.Add(item);
            }
            for (int i = 0; i < _AlarmMannager.Alarms.Count; i++)
            {
                TreeViewItem item = new TreeViewItem();
                item.Header      = _AlarmMannager.Alarms[i].VariableName;
                item.ContextMenu = _delAlarmContextMenu;
                Alarms.Items.Add(item);
            }
        }
示例#22
0
        public void IssueSingleCommand(Command comm)
        {
            SerialComm serialComm = r.comm;
            CommBuffer buffer     = serialComm.outputBuffer;

            bool send, free;

            if (comm.Send(buffer, out send, out free))
            {
                if (send)
                {
                    serialComm.ForceSendMessage();
                }
            }
        }
示例#23
0
    void Start()
    {
        m_serialManager = SerialComm.Instance as SerialComm;
        Debug.Log("GRT Version: " + Classifier.GrtVersion(m_classifier));
        string filePath = Application.dataPath + "/Resources/DTWModel.txt";

        int result = Classifier.LoadModelFromFile(m_classifier, filePath);

        Debug.Log("Loading classification model..." +
                  (result == 1? "Success" : "Failed!"));
        if (result == 1)
        {
            StartCoroutine(PredictionRoutine());
        }
    }
示例#24
0
        public AnalyzerForm(string PortName, int BaudRate, SerialComm Api)
        {
            InitializeComponent();

            addSpfToApi     += new ControlCallback(addSerialPacketFieldApi);
            addSpfToMachine += new ControlCallback(addSerialPacketFieldMachine);

            MachineBaudrate = BaudRate;
            MachinePortName = PortName;
            SerialPort machine = new SerialPort(PortName, BaudRate);

            initAnalyzers();

            hub = new eApi.Analyzer.Hub.ComportHub(machine, MachineAnalyzer, ApiAnalyzer, Api);
        }
示例#25
0
        private void AirStateRdy(SerialComm sender)
        {
            AirCondState acstate = sender as AirCondState;

            blowerLvl.Content = (acstate.FanLevel > 0) ?
                                acstate.FanLevel.ToString("P0", CultureInfo.InvariantCulture) : "Off";
            blowerFrp.Text   = acstate.RPMFront.ToString(CultureInfo.InvariantCulture);
            blowerRrp.Text   = acstate.RPMRear.ToString(CultureInfo.InvariantCulture);
            blowerIload.Text = string.Format(CultureInfo.InvariantCulture,
                                             "{0:G4}A", acstate.CurrentDraw);
            showerT.Text = string.Format(CultureInfo.InvariantCulture,
                                         "{0:G3}°C", acstate.InsideT);
            showerRH.Text = string.Format(CultureInfo.InvariantCulture,
                                          "{0:P1}", acstate.InsideRH);
        }
示例#26
0
        private void C1StateRdy(SerialComm sender)
        {
            ControllerState state = sender as ControllerState;

            kitchenLL.Content = !state.IsLinkValid(0) ? "N/C" :
                                ((state.GetLinkLevel(0) > 0) ?
                                 state.GetLinkLevel(0).ToString("P0", CultureInfo.InvariantCulture) : "Off");
            roomaLL.Content = !state.IsLinkValid(1) ? "N/C" :
                              ((state.GetLinkLevel(1) > 0) ?
                               state.GetLinkLevel(1).ToString("P0", CultureInfo.InvariantCulture) : "Off");
            toiletLL.Content = !state.IsLinkValid(2) ? "N/C" :
                               ((state.GetLinkLevel(2) > 0) ?
                                state.GetLinkLevel(2).ToString("P0", CultureInfo.InvariantCulture) : "Off");
            tableLL.Content = !state.IsLinkValid(3) ? "N/C" :
                              ((state.GetLinkLevel(3) > 0) ? "On" : "Off");
        }
示例#27
0
        public override State DoStuff()
        {
            Command_StopAll comm = new Command_StopAll(c);

            Robot      r          = c.r;
            SerialComm serialComm = r.comm;
            CommBuffer buffer     = serialComm.outputBuffer;

            bool send, free;

            comm.Send(buffer, out send, out free);

            serialComm.ForceSendMessage();

            return(this);
        }
示例#28
0
        private void C2StateRdy(SerialComm sender)
        {
            ControllerState state = sender as ControllerState;

            roombLL.Content = !state.IsLinkValid(0) ? "N/C" :
                              ((state.GetLinkLevel(0) > 0) ?
                               state.GetLinkLevel(0).ToString("P0", CultureInfo.InvariantCulture) : "Off");
            roomcLL.Content = !state.IsLinkValid(1) ? "N/C" :
                              ((state.GetLinkLevel(1) > 0) ?
                               state.GetLinkLevel(1).ToString("P0", CultureInfo.InvariantCulture) : "Off");
            corridorLL.Content = !state.IsLinkValid(2) ? "N/C" :
                                 ((state.GetLinkLevel(2) > 0) ?
                                  state.GetLinkLevel(2).ToString("P0", CultureInfo.InvariantCulture) : "Off");
            showerLL.Content = !state.IsLinkValid(3) ? "N/C" :
                               ((state.GetLinkLevel(3) > 0) ? "On" : "Off");
            msenState.Text = state.MSenState;
        }
示例#29
0
        private void AirConfigRdy(SerialComm sender)
        {
            AirCondConfig config = sender as AirCondConfig;

            minTT.Text  = string.Format(CultureInfo.InvariantCulture, "{0:F1}°C", config.MinT);
            maxTT.Text  = string.Format(CultureInfo.InvariantCulture, "{0:F1}°C", config.MaxT);
            minTrh.Text = string.Format(CultureInfo.InvariantCulture, "{0:F0}%", config.MinRH);
            maxTrh.Text = string.Format(CultureInfo.InvariantCulture, "{0:F0}%", config.MaxRH);
            if (!refreshReq)
            {
                config.MinT     = (float)minT.Value;
                config.MaxT     = (float)maxT.Value;
                config.MinRH    = (float)minRH.Value;
                config.MaxRH    = (float)maxRH.Value;
                config.FanLevel = (float)fanLvl.Value / 100;
            }
        }
示例#30
0
        private void StateRdy(SerialComm sender)
        {
            float al = state.GetChLevel(chANum), bl = state.GetChLevel(chBNum), cl = state.GetChLevel(chCNum);

            lampaTlvl.Text = (chANum != 8) ?
                             al.ToString("P0", CultureInfo.InvariantCulture) : (al > 0 ? "On" : "Off");
            lampbTlvl.Text = bl.ToString("P0", CultureInfo.InvariantCulture);
            lampcTlvl.Text = cl.ToString("P0", CultureInfo.InvariantCulture);
            if (chBNum == 9 && 9 == chCNum) //Only one active channel
            {
                groupTlvl.Text = lampaTlvl.Text;
            }
            else if (chCNum == 9) //Two active channels
            {
                float x = .5f * (al + bl);
                groupTlvl.Text = x.ToString("P0", CultureInfo.InvariantCulture);
                if (Math.Abs(x - al) >= .01 || Math.Abs(x - bl) >= .01)
                {
                    groupTlvl.Text += "⚠";
                }
            }
            else
            {
                float x = (al + bl + cl) / 3;
                groupTlvl.Text = x.ToString("P0", CultureInfo.InvariantCulture);
                if (Math.Abs(x - al) >= .01 || Math.Abs(x - bl) >= .01 || Math.Abs(x - cl) >= .01)
                {
                    groupTlvl.Text += "⚠";
                }
            }
            if (refState)
            {
                groupSLlvl.Value = state.GetChLevel(chANum) * 100;
                lampaSLlvl.Value = state.GetChLevel(chANum) * 100;
                lampbSLlvl.Value = state.GetChLevel(chBNum) * 100;
                lampcSLlvl.Value = state.GetChLevel(chCNum) * 100;
                refState         = false;
            }
            if (pivot.Items.Contains(msen))
            {
                opmodeT.Text = state.MSenState;
            }
            rsLoad.Text = "RS485: " + s485Dispatcher.Statistics;
        }
示例#31
0
 private void _SerialPort_Error(object sender, SerialComm.ErrorEventArgs e)
 {
     MessageBox.Show("The serial port encountered an error: " + e.Message);
 }