Ejemplo n.º 1
0
        public Demo(IDriverEx driver, IDDK ddk, Config.Demo config, string id, InstrumentDataList instrumentDataList, string driverFolder)
            : base(driver, ddk, config, typeof(Demo).Name, id)
        {
            Log.TaskBegin(Id);
            try
            {
                if (string.IsNullOrEmpty(driverFolder))
                {
                    throw new ArgumentNullException("driverFolder");
                }
                if (instrumentDataList == null)
                {
                    throw new ArgumentNullException("instrumentDataList");
                }

                m_Properties = new DemoProperties(driver, m_DDK, config, m_Device);

                //-------------------------------------------------------------------------------------------------------------------
                if (m_DDK.InstrumentMap == null)
                {
                    throw new InvalidOperationException("DDK.InstrumentMap is Null");
                }
                long instrumentsMap = m_DDK.InstrumentMap.Value;
                if (instrumentsMap == (long)InstrumentID.None)
                {
                    throw new InvalidOperationException("DDK.InstrumentMap = " + instrumentsMap.ToString() + " must be != " + ((long)InstrumentID.None).ToString());
                }
                string instrumentsMapBinary = InstrumentData.GetBitMapBinary(instrumentsMap);
                string instrumentsNames     = instrumentDataList.GetNames();

                bool   logInFile      = LogInFile;
                string fileNamePrefix = instrumentDataList[0].Name;
                Log.Init(Id, logInFile, fileNamePrefix);

                // Logging in a file starts here, if logInFile is True
                const string indent = "\t";
                string       text   = Environment.NewLine + Environment.NewLine +
                                      indent + "Driver Folder \"" + driverFolder + "\"" + Environment.NewLine +
                                      indent + "Name        \"" + Name + "\", IsSimulated = " + IsSimulated.ToString() + Environment.NewLine +
                                      indent + "USB Address \"" + UsbAddress + "\"" + Environment.NewLine +
                                      indent + "DDK.InstrumentMap = " + instrumentsMap.ToString() + " = " + instrumentsMapBinary + " = " + instrumentsNames +
                                      Environment.NewLine;
                Log.WriteLine(Id, text);

                //-------------------------------------------------------------------------------------------------------------------
                m_Properties.LogInFile.OnSetProperty += OnPropertyLogInFileSet;

                //-------------------------------------------------------------------------------------------------------------------
                CommandTestInit();
                CommandStartStopInit();

                Log.TaskEnd(Id);
            }
            catch (Exception ex)
            {
                Log.TaskEnd(Id, ex);
                throw;
            }
        }
Ejemplo n.º 2
0
        public string GetReportText(IInstrumentInfo instrumentInfo, long instrumentsMap)
        {
            if (instrumentInfo == null)
            {
                throw new ArgumentNullException("instrumentInfo");
            }

            const string  sprt = "\t";
            StringBuilder sb   = new StringBuilder();

            sb.AppendLine("Driver     " + sprt + Id);
            sb.AppendLine("Description" + sprt + Description);
            sb.AppendLine("IsSimulated" + sprt + Demo.IsSimulated.ToString());
            sb.AppendLine("Firmware Version" + sprt + Demo.FirmwareVersion);
            sb.AppendLine("Serial Number" + sprt + Demo.SerialNo);
            sb.AppendLine("USB Address" + sprt + Demo.FirmwareUsbAddress);
            sb.AppendLine();

            AddReportDevice(sb, sprt, Demo);
            sb.AppendLine("Name" + sprt + Demo.Name);
            sb.AppendLine();

            AddReportDevice(sb, sprt, Heater);
            sb.AppendLine("Product Description" + sprt + Heater.ProductDescription);
            sb.AppendLine();

            AddReportDevice(sb, sprt, Detector);
            sb.AppendLine("Property B" + sprt + Detector.ChannelsNumber.ToString(CultureInfo.InvariantCulture));

            InstrumentDataList instruments = new InstrumentDataList(instrumentInfo, instrumentsMap);

            if (instruments.Count > 1)
            {
                string instrumentsText = instruments.GetNames();
                AddReportParam(sb, sprt, "Shared in instruments", instrumentsText);
            }
            sb.AppendLine();

            string result = sb.ToString();

            return(result);
        }