コード例 #1
0
        public UC_OneScreenLayout(string commPort, ILEDDisplayInfo ledDisplayInfo,
                                  Dictionary<string, byte> curAllSettingDic,
                                  SettingCommInfo commInfo, 
                                  SettingMonitorCntEventHandler SetOneScanBoardInfoEvent)
        {
            InitializeComponent();
            this.Disposed += new EventHandler(UC_OneScreenLayout_Disposed);

            _commPort = commPort;
            _curLedInf = ledDisplayInfo;
            _curSettingDic = curAllSettingDic;

            _customToolTipFont = this.Font;
            _complexScreenFont = this.Font;
            _simpleOrStandardScreenFont = this.Font;
            try
            {
                _commonInfo = (SettingCommInfo)commInfo.Clone();
            }
            catch
            {
                _commonInfo = new SettingCommInfo();
            }
            _setOneScanBoardInfoEvent = SetOneScanBoardInfoEvent;

            _ledType = _curLedInf.Type;
            if (_ledType == LEDDisplyType.ComplexType)
            {
                _complexLayout = new UC_ComplexLayout(_commonInfo);
                _complexLayout.Parent = doubleBufferPanel_SettingZoon;
                _complexLayout.Dock = DockStyle.Fill;
                _complexLayout.SetComplexScreenInfEvent += new SettingMonitorCntEventHandler(ComplexScreenSetInfo);
                groupBox_ScalingRate.Visible = false;
            }
            else
            {
                _standarAndSimpleLayout = new UC_StandarAndSimpleLayout(_commonInfo);
                _standarAndSimpleLayout.DefaultFocusStyle.BackColor = Color.Wheat;
                _standarAndSimpleLayout.IsCanSelect = true;
                _standarAndSimpleLayout.IsCanSelectMoreGrid = true;
                _standarAndSimpleLayout.Parent = doubleBufferPanel_SettingZoon;
                _standarAndSimpleLayout.Dock = DockStyle.Fill;
                _standarAndSimpleLayout.BorderStyle = BorderStyle.FixedSingle;
                _standarAndSimpleLayout.BackColor = Color.Transparent;
                _standarAndSimpleLayout.ClearAllRectangularGrid();
                _standarAndSimpleLayout.ContextMenuStrip = contextMenuStrip_Set;
                _standarAndSimpleLayout.GridMouseMove += new RectangularGridMouseEventHandler(StandarAndSimpleLayout_GridMouseMove);

                _standarAndSimpleLayout.GridMouseDoubleClick += new RectangularGridMouseEventHandler(StandarAndSimpleLayout_GridMouseDoubleClick);

                groupBox_ScalingRate.Visible = true;
            }
            UpdateDisplay();
            if (_standarAndSimpleLayout != null)
            {
                vScrollBar_PixelLength_Scroll(null, null);
            }
        }
コード例 #2
0
        public UC_OneScreenLayout(string commPort, ILEDDisplayInfo ledDisplayInfo,
                                  Dictionary <string, byte> curAllSettingDic,
                                  SettingCommInfo commInfo,
                                  SettingMonitorCntEventHandler SetOneScanBoardInfoEvent)
        {
            InitializeComponent();
            this.Disposed += new EventHandler(UC_OneScreenLayout_Disposed);

            _commPort      = commPort;
            _curLedInf     = ledDisplayInfo;
            _curSettingDic = curAllSettingDic;

            _customToolTipFont          = this.Font;
            _complexScreenFont          = this.Font;
            _simpleOrStandardScreenFont = this.Font;
            try
            {
                _commonInfo = (SettingCommInfo)commInfo.Clone();
            }
            catch
            {
                _commonInfo = new SettingCommInfo();
            }
            _setOneScanBoardInfoEvent = SetOneScanBoardInfoEvent;

            _ledType = _curLedInf.Type;
            if (_ledType == LEDDisplyType.ComplexType)
            {
                _complexLayout        = new UC_ComplexLayout(_commonInfo);
                _complexLayout.Parent = doubleBufferPanel_SettingZoon;
                _complexLayout.Dock   = DockStyle.Fill;
                _complexLayout.SetComplexScreenInfEvent += new SettingMonitorCntEventHandler(ComplexScreenSetInfo);
                groupBox_ScalingRate.Visible             = false;
            }
            else
            {
                _standarAndSimpleLayout = new UC_StandarAndSimpleLayout(_commonInfo);
                _standarAndSimpleLayout.DefaultFocusStyle.BackColor = Color.Wheat;
                _standarAndSimpleLayout.IsCanSelect         = true;
                _standarAndSimpleLayout.IsCanSelectMoreGrid = true;
                _standarAndSimpleLayout.Parent      = doubleBufferPanel_SettingZoon;
                _standarAndSimpleLayout.Dock        = DockStyle.Fill;
                _standarAndSimpleLayout.BorderStyle = BorderStyle.FixedSingle;
                _standarAndSimpleLayout.BackColor   = Color.Transparent;
                _standarAndSimpleLayout.ClearAllRectangularGrid();
                _standarAndSimpleLayout.ContextMenuStrip = contextMenuStrip_Set;
                _standarAndSimpleLayout.GridMouseMove   += new RectangularGridMouseEventHandler(StandarAndSimpleLayout_GridMouseMove);

                _standarAndSimpleLayout.GridMouseDoubleClick += new RectangularGridMouseEventHandler(StandarAndSimpleLayout_GridMouseDoubleClick);

                groupBox_ScalingRate.Visible = true;
            }
            UpdateDisplay();
            if (_standarAndSimpleLayout != null)
            {
                vScrollBar_PixelLength_Scroll(null, null);
            }
        }
コード例 #3
0
        private void SetAutoReader(string sn, string comName, ILEDDisplayInfo scrInfo, List <SenderRedundancyInfo> reduInfoList)
        {
            if (string.IsNullOrEmpty(comName) || string.IsNullOrEmpty(sn) || scrInfo == null)
            {
                return;
            }
            ScannerPropertyReader scan      = new ScannerPropertyReader(_serverProxy, comName);
            ScanBoardRegionInfo   scanBoard = null;

            scrInfo.GetFirstScanBoardInList(out scanBoard);
            if (scanBoard != null)
            {
                ScanBoardPosition pos = new ScanBoardPosition();
                pos.SenderIndex = scanBoard.SenderIndex;
                pos.PortIndex   = scanBoard.PortIndex;
                pos.ScanBdIndex = scanBoard.ConnectIndex;
                ScanBoardPosition posSlave = new ScanBoardPosition();
                if (reduInfoList != null)
                {
                    for (int j = 0; j < reduInfoList.Count; j++)
                    {
                        if (reduInfoList[j].MasterSenderIndex == scanBoard.SenderIndex &&
                            reduInfoList[j].MasterPortIndex == scanBoard.PortIndex)
                        {
                            posSlave.SenderIndex = reduInfoList[j].SlaveSenderIndex;
                            posSlave.PortIndex   = reduInfoList[j].SlavePortIndex;
                            posSlave.ScanBdIndex = scanBoard.ConnectIndex;
                        }
                    }
                }
                lock (_lockObj)
                {
                    _sn_ScannerInfos.Add(new SN_ScannerPropertyReader()
                    {
                        SN = sn,
                        ScannerProperty        = scan,
                        ScanPosition           = pos,
                        ScanRedundancyPosition = posSlave
                    });
                }
            }
            if (_sn_ScannerInfos != null && _sn_ScannerInfos.Count == 1)
            {
                if (_sn_BrightSensors == null)
                {
                    _sn_BrightSensors = new Dictionary <string, List <PeripheralsLocation> >();
                }
                _autoTimer.Change(_interval, _interval);
            }
        }
コード例 #4
0
        /// <summary>
        /// ���һ����ʾ����Ϣ
        /// </summary>
        /// <param name="screenIndex"></param>
        private void AddOneScreenInf(string commPort, int pageIndex, string pageText, ILEDDisplayInfo ledInfo)
        {
            tabControl_ScreenLayout.TabPages.Add(pageText);
            if (ledInfo == null)
            {
                Label label = new Label();
                label.AutoSize = false;
                label.Text = label_Notice.Text;
                label.TextAlign = ContentAlignment.MiddleCenter;
                label.Font = new Font("System", 14, FontStyle.Bold);
                label.BackColor = Color.AliceBlue;
                label.ForeColor = Color.Green;
                label.Parent = tabControl_ScreenLayout.TabPages[pageIndex];
                label.Dock = DockStyle.Fill;
            }
            else
            {
                _oneScreenInfo = new UC_OneScreenLayout(commPort, ledInfo, _curConfigDic, _commonInfo,
                                                       new SettingMonitorCntEventHandler(SetOneScanBoardInfoEvent));
                _oneScreenInfo.GridNormalBackColor = _normalBackColor;
                _oneScreenInfo.GridNormalBorderColor = _normalBorderColor;
                _oneScreenInfo.GridNormalBorderWidth = _normalBorderWidth;
                _oneScreenInfo.GridSelectedBackColor = _selectedBackColor;
                _oneScreenInfo.GridSelectedBorderColor = _selectedBorderColor;
                _oneScreenInfo.GridSelectedBorderWidth = _selectedBorderWidth;
                _oneScreenInfo.GridFocusBackColor = _focusBackColor;
                _oneScreenInfo.GridFocusBorderColor = _focusBorderColor;
                _oneScreenInfo.GridFocusBorderWidth = _focusBorderWidth;
                _oneScreenInfo.SelectedZoonBorderColor = _selectedZoonBorderColor;

                _oneScreenInfo.CustomToolTipFont = CurrentFont;
                _oneScreenInfo.SimpleOrStandardScreenFont = CurrentFont;
                _oneScreenInfo.ComplexScreenFont = CurrentFont;

                _scanBordLayoutInfoList.Add(_oneScreenInfo);
                int nCurScreenIndex = _scanBordLayoutInfoList.Count - 1;
                _scanBordLayoutInfoList[nCurScreenIndex].Parent = tabControl_ScreenLayout.TabPages[pageIndex];
                _scanBordLayoutInfoList[nCurScreenIndex].Dock = DockStyle.Fill;
            }
        }
コード例 #5
0
        private void SendCurrentGain(ILEDDisplayInfo displayInfo, int redGain, int greenGain, int blueGain)
        {
            if (_chipConfig == null)
            {
                return;
            }
            
            #region 获取要发送的数据
            ChipRegistorConfigBase chipConfig = _chipConfig;

            int registor = 0;
            float curGainPercent = 0;
            GetRegistorGainFromStep(_curChipInfo, redGain, out registor, out curGainPercent);
            chipConfig.RedGain = (byte)registor;
            GetRegistorGainFromStep(_curChipInfo, greenGain, out registor, out curGainPercent);
            chipConfig.GreenGain = (byte)registor;
            GetRegistorGainFromStep(_curChipInfo, blueGain, out registor, out curGainPercent);
            chipConfig.BlueGain = (byte)registor;
            GetRegistorGainFromStep(_curChipInfo, redGain, out registor, out curGainPercent);
            chipConfig.VRedGain = (byte)registor;

            byte[] sendData = chipConfig.ToBytes();
            #endregion

            #region 发送数据
            List<ScreenPortAddrInfo> addrList;
            displayInfo.GetScreenPortAddrInfo(out addrList);

            for (int i = 0; i < addrList.Count; i++)
            {
                ScreenPortAddrInfo info = addrList[i];

                PackageRequestWriteData writeDataPack = null;
                if (!chipConfig.IsExtendCfgCmd)
                {
                    writeDataPack = TGProtocolParser.SetConfigRegister(SelectedPort,
                                                                       info.SenderIndex,
                                                                       info.PortIndex,
                                                                       SystemAddress.SCANBOARD_BROADCAST_ADDRESS,
                                                                       CommandTimeOut.SENDER_SIMPLYCOMMAND_TIMEOUT,
                                                                       "SetCurrentGain",
                                                                       false,
                                                                       sendData,
                                                                       null,
                                                                      CompleteRequestDealing);
                }
                else
                {
                    writeDataPack = TGProtocolParser.SetConfigRegisterWriteType2(SelectedPort,
                                                                       info.SenderIndex,
                                                                       info.PortIndex,
                                                                       SystemAddress.SCANBOARD_BROADCAST_ADDRESS,
                                                                       CommandTimeOut.SENDER_SIMPLYCOMMAND_TIMEOUT,
                                                                       "SetCurrentGain",
                                                                       false,
                                                                       sendData,
                                                                       null,
                                                                      CompleteRequestDealing);
                }
                _serverProxy.SendRequestWriteData(writeDataPack);
            }
            #endregion
        }
コード例 #6
0
 private void SendSynchronousBright(ILEDDisplayInfo displayInfo, int bright)
 {
     SendRedBright(displayInfo, bright);
     SendGreenBright(displayInfo, bright);
     SendBlueBright(displayInfo, bright);
  
 }
コード例 #7
0
        private void SendBlueBright(ILEDDisplayInfo displayInfo, int blueBright)
        {
            List<ScreenPortAddrInfo> addrList;
            displayInfo.GetScreenPortAddrInfo(out addrList);

            for (int i = 0; i < addrList.Count; i++)
            {
                ScreenPortAddrInfo info = addrList[i];
                PackageRequestWriteData writePack = TGProtocolParser.SetBlueBrightness(SelectedPort,
                    info.SenderIndex,
                    info.PortIndex,
                    SystemAddress.SCANBOARD_BROADCAST_ADDRESS,
                    CommandTimeOut.SENDER_SIMPLYCOMMAND_TIMEOUT,
                    "SetBlueBrightness",
                    false,
                    blueBright,
                    null,
                    CompleteRequestDealing);
                _serverProxy.SendRequestWriteData(writePack);
            }
        }
コード例 #8
0
        private void SendGlobalBright(ILEDDisplayInfo displayInfo, int globalBright)
        {
            List<ScreenPortAddrInfo> addrList;
            displayInfo.GetScreenPortAddrInfo(out addrList);

            //if (!ChipInherentProperty.IsPWMChip(_scanBdProp.StandardLedModuleProp.DriverChipType))
            //{
            //    #region 将低灰模式表按亮度由低到高排序
            //    LowBrightnessTable lowBrightTable = HWAccessorCalculator.GetUseableLowBrightTable(_scanBdProp, _senderProp);
            //    lowBrightTable.LowBrightInfoList.Sort(delegate(OneLowBrightnessInfo first, OneLowBrightnessInfo second)
            //    {
            //        if (first.BrightnessEfficiency > second.BrightnessEfficiency)
            //        {
            //            return 1;
            //        }
            //        else if (first.BrightnessEfficiency < second.BrightnessEfficiency)
            //        {
            //            return -1;
            //        }
            //        else
            //        {
            //            return 0;
            //        }
            //    });
            //    #endregion

            //    #region 根据亮度获取要使用的模式表
            //    int count = lowBrightTable.LowBrightInfoList.Count;
            //    float maxBrightEf = lowBrightTable.LowBrightInfoList[count - 1].BrightnessEfficiency;
            //    float curBrightEf = globalBright / 255.0f * maxBrightEf;

            //    OneLowBrightnessInfo oneInfo = null;
            //    for (int i = 0; i < count; i++)
            //    {
            //        if (curBrightEf > lowBrightTable.LowBrightInfoList[i].BrightnessEfficiency)
            //        {
            //            continue;
            //        }
            //        oneInfo = lowBrightTable.LowBrightInfoList[i];
            //    }
            //    #endregion
            //}

            for (int i = 0; i < addrList.Count; i++)
            {
                ScreenPortAddrInfo info = addrList[i];
                PackageRequestWriteData writePack = TGProtocolParser.SetGlobalBrightness(SelectedPort,
                    info.SenderIndex,
                    info.PortIndex,
                    SystemAddress.SCANBOARD_BROADCAST_ADDRESS,
                    CommandTimeOut.SENDER_SIMPLYCOMMAND_TIMEOUT,
                    "SetGlobalBrightness",
                    false,
                    globalBright,
                    null,
                    CompleteRequestDealing);
                _serverProxy.SendRequestWriteData(writePack);
            }
        }
コード例 #9
0
 private void GetScanBoardInPosition(ILEDDisplayInfo displayInfo, ScanBoardRegionInfo info, ref int cols, ref int rows, ref bool isComplex)
 {
     isComplex = false;
     if (displayInfo is SimpleLEDDisplayInfo)
     {
         SimpleLEDDisplayInfo simpleLED = (SimpleLEDDisplayInfo)displayInfo;
         for (int m = 0; m < simpleLED.ScanBdCols; m++)
         {
             for (int n = 0; n < simpleLED.ScanBdRows; n++)
             {
                 ScanBoardRegionInfo data = simpleLED[m, n];
                 if (data.CompareTo(info) == 0)
                 {
                     cols = m;
                     rows = n;
                     return;
                 }
             }
         }
     }
     else if (displayInfo is StandardLEDDisplayInfo)
     {
         StandardLEDDisplayInfo StandardLED = (StandardLEDDisplayInfo)displayInfo;
         for (int m = 0; m < StandardLED.ScanBoardCols; m++)
         {
             for (int n = 0; n < StandardLED.ScanBoardRows; n++)
             {
                 ScanBoardRegionInfo data = StandardLED[m, n];
                 if (data.CompareTo(info) == 0)
                 {
                     cols = m;
                     rows = n;
                     return;
                 }
             }
         }
     }
     else
     {
         isComplex = true;
     }
 }
コード例 #10
0
 public bool GetScreenInfoByUDID(string scrUDID, out string scrComName, out ILEDDisplayInfo scrInfo)
 {
     scrComName = "";
     scrInfo = null;
     if (_allComBaseInfo == null || _allComBaseInfo.AllInfoDict == null)
     {
         return false;
     }
     try
     {
         foreach (string comName in _allComBaseInfo.AllInfoDict.Keys)
         {
             OneCOMHWBaseInfo baseInfo = _allComBaseInfo.AllInfoDict[comName];
             //枚举每个显示屏
             for (int i = 0; i < baseInfo.LEDDisplayInfoList.Count; i++)
             {
                 ILEDDisplayInfo displayInfo = baseInfo.LEDDisplayInfoList[i];
                 string curID = GetScreenUdid(baseInfo.FirstSenderSN, i);
                 if (scrUDID == curID)
                 {
                     scrComName = comName;
                     scrInfo = displayInfo;
                     return true;
                 }
             }
         }
         return false;
     }
     catch (Exception ex)
     {
         _fLogService.Error("ExistCatch:Get Screen ID Exception:" + ex.ToString());
         return false;
     }
 }
コード例 #11
0
        public void DetectPoint(string comName, ILEDDisplayInfo ledDisplayInfo, DetectConfigParams detectParams, object usertoken)
        {
            lock (detectPointObj)
            {
                if (_serverProxy == null)
                {
                    _detectPointRes = new SpotInspectionResult();
                    _detectPointRes.Result = false;
                    if (DetectPointCompletedEvent != null)
                        DetectPointCompletedEvent(_detectPointRes, usertoken);
                    return;
                }
                var _detectPointPerformer = new DetectPointPerformer(AppDataConfig.RAMTable_PATH, usertoken as string);
                _detectPointPerformer.CompletedDetectOneScanBdEvent += detectPointPerformer_CompletedDetectOneScanBdEvent;
                _detectPointPerformer.CompletedDetectAllScanBdEvent += detectPointPerformer_CompletedDetectAllScanBdEvent;
                _detectPointPerformer.ServerProxy = _serverProxy;
                _detectPointPerformer.SelectedPortName = comName;

                _detectPointUserToken = usertoken;
                _detectPointRes = new SpotInspectionResult();
                _detectPointRes.Result = true;
                if (_spotInspectionReusltTable.ContainsKey(usertoken as string))
                {
                    _spotInspectionReusltTable[usertoken as string] = _detectPointRes;
                }
                else
                {
                    _spotInspectionReusltTable.Add(usertoken as string, _detectPointRes);
                }
                DetectConfigParams tmpDetect = null;
                if (ledDisplayInfo.VirtualMode == VirtualModeType.Led4Mode1 || ledDisplayInfo.VirtualMode == VirtualModeType.Led4Mode2) tmpDetect = new DetectConfigParams(detectParams.DriverChipType, true, detectParams.ThresholdGrade, detectParams.DetectType, detectParams.IsUseCurrentGain, detectParams.RedGain, detectParams.GreenGain, detectParams.BlueGain, detectParams.VRedGain);
                else tmpDetect = new DetectConfigParams(detectParams.DriverChipType, false, detectParams.ThresholdGrade, detectParams.DetectType, detectParams.IsUseCurrentGain, detectParams.RedGain, detectParams.GreenGain, detectParams.BlueGain, detectParams.VRedGain);
                DetectPointError res = _detectPointPerformer.DetectPoint(ledDisplayInfo, tmpDetect);
                if (res != DetectPointError.OK)
                {
                    _detectPointRes = new SpotInspectionResult();
                    _detectPointRes.Id = usertoken as string;
                    _detectPointRes.Result = false;
                    if (DetectPointCompletedEvent != null)
                        DetectPointCompletedEvent(_detectPointRes, usertoken);
                }
            }
        }
コード例 #12
0
 private void SetNormalScreen(TransferType transType, string commPort, ILEDDisplayInfo led,
     byte value, object userToken)
 {
     ReadMonitorDataErrType res = IsExcute();
     if (res != ReadMonitorDataErrType.OK)
     {
         TransFerDataHandlerCallback(transType, "false", userToken);
         return;
     }
     List<ScreenPortAddrInfo> list = null;
     led.GetScreenPortAddrInfo(out list);
     if (list == null || list.Count == 0)
     {
         TransFerDataHandlerCallback(transType, "false", userToken);
         return;
     }
     TransFerDataHandlerCallback(transType, "true", userToken);
 }
コード例 #13
0
 private void SetBlackScreen(TransferType transType, string commPort, ILEDDisplayInfo led,
     byte value, object userToken)
 {
     ReadMonitorDataErrType res = IsExcute();
     if (res != ReadMonitorDataErrType.OK)
     {
         TransFerDataHandlerCallback(transType, "false", userToken);
         return;
     }
     List<ScreenPortAddrInfo> list = null;
     led.GetScreenPortAddrInfo(out list);
     if (list == null || list.Count == 0)
     {
         TransFerDataHandlerCallback(transType, "false", userToken);
         return;
     }
     TransFerDataHandlerCallback(transType, "true", userToken);
     //PackageRequestWriteData writeDataPack = null;
     //foreach (ScreenPortAddrInfo screen in list)
     //{
     //    writeDataPack = TGProtocolParser.SetKillMode(commPort,
     //                                                   screen.SenderIndex,
     //                                                   screen.PortIndex,
     //                                                   SystemAddress.SCANBOARD_BROADCAST_ADDRESS,
     //                                                   CommandTimeOut.SENDER_SIMPLYCOMMAND_TIMEOUT,
     //                                                   "KillBlackScreen",
     //                                                   false,
     //                                                   value,
     //                                                   null, CompleteControlRequst);
     //    //new CompletePackageRequestEventHandler(CompleteScreenControlRequst));
     //    writeDataPack.UserToken=userToken;
     //    _serverProxy.SendRequestWriteData(writeDataPack);
     //}
 }
コード例 #14
0
        private void SendBrightToHW(string comName, ILEDDisplayInfo scrInfo, byte bright)
        {
            List<ScreenPortAddrInfo> portList;
            scrInfo.GetScreenPortAddrInfo(out portList);
            _isWrightDataOK = true;
            for (int i = 0; i < portList.Count; i++)
            {
                string tag = "SendBrightToHW";
                if (i == portList.Count - 1)
                {
                    tag = "SendBrightToHW_Complete";
                }
                ScreenPortAddrInfo addrInfo = portList[i];

                _fLogService.Info(string.Format("设置串口:{0},发送卡:{1},网口:{2},亮度:{3}",
                    comName, addrInfo.SenderIndex, addrInfo.PortIndex, bright));

                PackageRequestWriteData dataPack = TGProtocolParser.SetGlobalBrightness(comName, addrInfo.SenderIndex,
                    addrInfo.PortIndex, SystemAddress.SCANBOARD_BROADCAST_ADDRESS,
                    CommandTimeOut.SENDER_SIMPLYCOMMAND_TIMEOUT, tag, false,
                    bright, null, CompletedSetBrightness);
                _serverProxy.SendRequestWriteData(dataPack);
            }
        }
コード例 #15
0
 private ChipType ReadChipType(ILEDDisplayInfo ledDisplayInfo, string portName)
 {
     ChipType cType = ChipType.Unknown;
     if (_serverProxy == null || !_serverProxy.IsRegisted)
     {
         return cType;
     }
     ScanBoardRegionInfo scanBdInfo;
     ledDisplayInfo.GetFirstScanBoardInList(out scanBdInfo);
     if (scanBdInfo == null)
     {
         return cType;
     }
     PackageRequestReadData readPack = TGProtocolParser.ReadDriverType(portName,
         scanBdInfo.SenderIndex,
         scanBdInfo.PortIndex,
         scanBdInfo.ConnectIndex,
         CommandTimeOut.SENDER_SIMPLYCOMMAND_TIMEOUT,
         "ReadDriverType",
         null,
         (object sender, CompletePackageRequestEventArgs e) =>
         {
             PackageBase readRequest = e.Request;
             if (readRequest != null)
             {
                 string strTag = readRequest.Tag;
                 if ((AckResults)readRequest.AckCode != AckResults.ok
                     || readRequest.CommResult != CommResults.ok
                     || readRequest.PackResult != PackageResults.ok)
                 {
                     if (strTag == "ReadDriverType")
                     {
                         cType = ChipType.Unknown;
                     }
                 }
                 else
                 {
                     if (strTag == "ReadDriverType")
                     {
                         PackageRequestReadData readRquest = (PackageRequestReadData)readRequest;
                         int driverType;
                         bool res = TGProtocolParser.ParsDeviceType(readRquest, out driverType);
                         object chip = Enum.Parse(typeof(ChipType), driverType.ToString());
                         cType = (ChipType)chip;
                     }
                 }
             }
             _waitForGetChipTypeCompletedMetux.Set();
         });
     _serverProxy.SendRequestReadData(readPack);
     _waitForGetChipTypeCompletedMetux.WaitOne();
     return cType;
 }
コード例 #16
0
        private void SendGamma(ILEDDisplayInfo displayInfo, int gammaValue,
            bool isCustomGamma, ScreenQuality screenDisplayQuality, GammaABMode gammaABMode)
        {
            bool isContrastStrength = false;
            bool isModeB = false;
            if (screenDisplayQuality == ScreenQuality.Enhance)
            {
                isContrastStrength = true;
            }
            if (gammaABMode == GammaABMode.GammaB)
            {
                isModeB = true;
            }
            //这里的gammaValue是没有添加上自定义信息之前的gamma
            SaveToGammaTable(gammaValue, isContrastStrength, isModeB);

            byte sendGamma = CustomTransform.LogicalGammaToRealGamma((byte)gammaValue, isCustomGamma, isContrastStrength, isModeB);


            List<ScreenPortAddrInfo> addrList;
            displayInfo.GetScreenPortAddrInfo(out addrList);
            for (int i = 0; i < addrList.Count; i++)
            {
                ScreenPortAddrInfo info = addrList[i];
                PackageRequestWriteData writePack = TGProtocolParser.SetGamma(SelectedPort,
                    info.SenderIndex,
                    info.PortIndex,
                    SystemAddress.SCANBOARD_BROADCAST_ADDRESS,
                    CommandTimeOut.SENDER_SIMPLYCOMMAND_TIMEOUT,
                    "SetGamma",
                    false,
                    sendGamma,
                    null,
                    CompleteRequestDealing);
                _serverProxy.SendRequestWriteData(writePack);

                PackageRequestWriteFile writeFilePack = TGProtocolParser.SetRedGammaTable(SelectedPort,
                                                             info.SenderIndex,
                                                             info.PortIndex,
                                                             SystemAddress.SCANBOARD_BROADCAST_ADDRESS,
                                                             CommandTimeOut.SENDER_SIMPLYFILE_TIMEOUT,
                                                             "SetRedGammaTable",
                                                             false,
                                                             ConstValue.TEMP_GAMMA_FILE,
                                                             0,
                                                             null,
                                                             null);
                _serverProxy.SendRequestWriteFile(writeFilePack);
            }
        }
コード例 #17
0
        /// <summary>
        /// 添加一个显示屏信息
        /// </summary>
        /// <param name="screenIndex"></param>
        private void AddOneScreenInf(string commPort, int pageIndex, string pageText, ILEDDisplayInfo ledInfo)
        {
            tabControl_ScreenLayout.TabPages.Add(pageText);
            if (ledInfo == null)
            {
                Label label = new Label();
                label.AutoSize  = false;
                label.Text      = label_Notice.Text;
                label.TextAlign = ContentAlignment.MiddleCenter;
                label.Font      = new Font("System", 14, FontStyle.Bold);
                label.BackColor = Color.AliceBlue;
                label.ForeColor = Color.Green;
                label.Parent    = tabControl_ScreenLayout.TabPages[pageIndex];
                label.Dock      = DockStyle.Fill;
            }
            else
            {
                _oneScreenInfo = new UC_OneScreenLayout(commPort, ledInfo, _curConfigDic, _commonInfo,
                                                        new SettingMonitorCntEventHandler(SetOneScanBoardInfoEvent));
                _oneScreenInfo.GridNormalBackColor     = _normalBackColor;
                _oneScreenInfo.GridNormalBorderColor   = _normalBorderColor;
                _oneScreenInfo.GridNormalBorderWidth   = _normalBorderWidth;
                _oneScreenInfo.GridSelectedBackColor   = _selectedBackColor;
                _oneScreenInfo.GridSelectedBorderColor = _selectedBorderColor;
                _oneScreenInfo.GridSelectedBorderWidth = _selectedBorderWidth;
                _oneScreenInfo.GridFocusBackColor      = _focusBackColor;
                _oneScreenInfo.GridFocusBorderColor    = _focusBorderColor;
                _oneScreenInfo.GridFocusBorderWidth    = _focusBorderWidth;
                _oneScreenInfo.SelectedZoonBorderColor = _selectedZoonBorderColor;

                _oneScreenInfo.CustomToolTipFont          = CurrentFont;
                _oneScreenInfo.SimpleOrStandardScreenFont = CurrentFont;
                _oneScreenInfo.ComplexScreenFont          = CurrentFont;


                _scanBordLayoutInfoList.Add(_oneScreenInfo);
                int nCurScreenIndex = _scanBordLayoutInfoList.Count - 1;
                _scanBordLayoutInfoList[nCurScreenIndex].Parent = tabControl_ScreenLayout.TabPages[pageIndex];
                _scanBordLayoutInfoList[nCurScreenIndex].Dock   = DockStyle.Fill;
            }
        }
コード例 #18
0
 private int GetCommportSenderCount(ILEDDisplayInfo leds)
 {
     int count = 0;
     List<ScreenSenderAddrInfo> senders = null;
     leds.GetScreenSenderAddrInfo(out senders);
     if (senders == null)
     {
         return count;
     }
     foreach (ScreenSenderAddrInfo sender in senders)
     {
         if (count < sender.SenderIndex)
         {
             count = sender.SenderIndex;
         }
     }
     return count;
 }