Example #1
0
        public FusionBridge(string debugMzML, string logDir, bool showConsoleLogs)
        {
            Logs            = new List <string>();
            LogDir          = logDir;
            ShowConsoleLogs = showConsoleLogs;

            IFusionInstrumentAccessContainer fusionContainer = null;

            if (!String.IsNullOrEmpty(debugMzML)) // create fake Fusion container that reads from mzML file
            {
                WriteLog("FusionBridge constructor called in debug mode");
                WriteLog(string.Format("Reading scans from {0}", debugMzML));
                fusionContainer = new MzMLFusionContainer(debugMzML);
            }
            else // needs license to connect to the real instrument
            {
                //// Use the Factory creation method to create a Fusion Access Container
                WriteLog("FusionBridge constructor called");
                fusionContainer = getIFusionInstrumentAccessContainer();
            }


            // Connect to the service by going 'online'
            fusionContainer.StartOnlineAccess();

            // Wait until the service is connected
            // (better through the event, but this is nice and simple)
            while (!fusionContainer.ServiceConnected)
            {
                ;
            }

            // From the instrument container, get access to a particular instrument
            InstrumentAccess = fusionContainer.Get(1);
            ScanContainer    = InstrumentAccess.GetMsScanContainer(0);
            WriteLog("Detector class: " + ScanContainer.DetectorClass);

            // Dump key-value pairs in cs.Values
            WriteLog("Custom scan parameters: ");
            InstrumentControl = InstrumentAccess.Control;
            ScanControl       = InstrumentControl.GetScans(false);
            ICustomScan cs = ScanControl.CreateCustomScan();

            foreach (KeyValuePair <string, string> kvp in cs.Values)
            {
                string kvpString = string.Format("- cs.Values\tKey = {0}, Value = {1}", kvp.Key, kvp.Value);
                WriteLog(kvpString);
            }

            // Print instrument state
            WriteLog("FusionBridge constructor initialised");
            IState state = InstrumentControl.Acquisition.State;
            string msg   = string.Format("System mode = {0}, system state = {1}", state.SystemMode,
                                         state.SystemState);

            WriteLog(msg);
        }
Example #2
0
        public Form1()
        {
            InitializeComponent();
            _instAccessContainer = Factory <IFusionInstrumentAccessContainer> .Create();

            _instAccessContainer.ServiceConnectionChanged += _instAccessContainer_ServiceConnectionChanged;

            _instAccessContainer.StartOnlineAccess();
        }
Example #3
0
File: Form1.cs Project: 5ggg/vimms
        public Form1()
        {
            InitializeComponent();

            analogGroupBoxes = new GroupBox[] { groupBox3, groupBox4 };

            _instAccessContainer = Factory <IFusionInstrumentAccessContainer> .Create();

            _instAccessContainer.ServiceConnectionChanged += _instAccessContainer_ServiceConnectionChanged;
            _instAccessContainer.MessagesArrived          += _instAccessContainer_MessagesArrived;
        }
Example #4
0
        static void Main(string[] args)
        {
            // Use the Factory creation method to create a Fusion Access Container
            IFusionInstrumentAccessContainer fusionContainer = Factory <IFusionInstrumentAccessContainer> .Create();

            // Connect to the service by going 'online'
            fusionContainer.StartOnlineAccess();

            // Wait until the service is connected
            // (better through the event, but this is nice and simple)
            while (!fusionContainer.ServiceConnected)
            {
                ;
            }

            // From the instrument container, get access to a particular instrument
            IFusionInstrumentAccess fusionAccess = fusionContainer.Get(1);

            // Get the MS Scan Container from the fusion
            IFusionMsScanContainer fusionScanContainer = fusionAccess.GetMsScanContainer(0);

            // Run forever until the user Escapes
            ConsoleKeyInfo cki;

            while ((cki = Console.ReadKey()).Key != ConsoleKey.Escape)
            {
                switch (cki.Key)
                {
                case ConsoleKey.S:
                    // Subscribe to whenever a new MS scan arrives
                    fusionScanContainer.MsScanArrived += FusionScanContainer_MsScanArrived;
                    break;

                case ConsoleKey.U:
                    // Unsubscribe
                    fusionScanContainer.MsScanArrived -= FusionScanContainer_MsScanArrived;
                    break;

                default:
                    Console.WriteLine("Unsupported Key: {0}", cki.Key);
                    break;
                }
            }
        }
Example #5
0
        //IInstrumentValues _instValues;
        //IScans _scans;

        public InstrumentAPI()
        {
            _instAccessContainer = Factory <IFusionInstrumentAccessContainer> .Create();
        }
Example #6
0
 public FindImplementations()
 {
     IFusionInstrumentAccessContainer fusionContainer = FindImplementations <IFusionInstrumentAccessContainer> .Create();
 }