public void Start() { try { ProtocolSection config = (ProtocolSection)ConfigurationManager.GetSection("ProtocolList"); //for (int i = 0; i < config.ProtocolList.Count; i++) for (int i = 0; i < Convert.ToInt32(ConfigurationManager.AppSettings["TestClientCount"] ?? "10"); i++) { //var ptr = config.ProtocolList[i]; var tHandler = new Thread((x) => { //ProcessProtocols(ptr.Name, ptr.Payload); Console.WriteLine("Starting for: " + x); ProcessProtocols("TestClient " + x, (int)x); }); tHandler.Start(i); threads.Add(tHandler); } } catch (Exception e) { Console.WriteLine("Error..... " + e.StackTrace); } }
private void Read(BinaryReader reader) { // determine where all the sections are HeaderSection = new(reader); ProtocolSection = new(reader); AdcSection = new(reader); DacSection = new(reader); StringsSection = new(reader); TagSection = new(reader); DataSection = new(reader); SynchArraySection = new(reader); EpochSection = new(reader); EpochPerDacSection = new(reader); AdcPerDacSection = new(reader); UserListSection = new(reader); StatsRegionSection = new(reader); MathSection = new(reader); ScopeSection = new(reader); DeltaSection = new(reader); VoiceTagSection = new(reader); AnnotationSection = new(reader); StatsSection = new(reader); // populate header values from each section ReadGroup1(); ReadGroup2(); ReadGroup3(); ReadGroup5(); ReadGroup6(); ReadGroup7(); ReadGroup9(); ReadGroup10(); ReadGroup12(); // use header values to put additional information in the header object float tagTimeMult = (fSynchTimeUnit == 0) ? SamplePeriod / ChannelCount : fSynchTimeUnit / 1e6f; Tags = TagSection.GetTags(tagTimeMult); }
public void ReadProtocolSection() { log.Debug("Reading Protocol Section"); br.BaseStream.Seek(sectionMap.Protocol.byteStart, SeekOrigin.Begin); protocolSection = new ProtocolSection(); protocolSection.nOperationMode = FileReadShort(-1, 1); protocolSection.fADCSequenceInterval = FileReadFloat(-1, 1); protocolSection.bEnableFileCompression = FileReadByte(-1, 1); protocolSection.sUnused = FileReadBytes(-1, 3); protocolSection.uFileCompressionRatio = FileReadUnsignedInt(-1, 1); protocolSection.fSynchTimeUnit = FileReadFloat(-1, 1); protocolSection.fSecondsPerRun = FileReadFloat(-1, 1); protocolSection.lNumSamplesPerEpisode = FileReadInt(-1, 1); protocolSection.lPreTriggerSamples = FileReadInt(-1, 1); protocolSection.lEpisodesPerRun = FileReadInt(-1, 1); protocolSection.lRunsPerTrial = FileReadInt(-1, 1); protocolSection.lNumberOfTrials = FileReadInt(-1, 1); protocolSection.nAveragingMode = FileReadShort(-1, 1); protocolSection.nUndoRunCount = FileReadShort(-1, 1); protocolSection.nFirstEpisodeInRun = FileReadShort(-1, 1); protocolSection.fTriggerThreshold = FileReadFloat(-1, 1); protocolSection.nTriggerSource = FileReadShort(-1, 1); protocolSection.nTriggerAction = FileReadShort(-1, 1); protocolSection.nTriggerPolarity = FileReadShort(-1, 1); protocolSection.fScopeOutputInterval = FileReadFloat(-1, 1); protocolSection.fEpisodeStartToStart = FileReadFloat(-1, 1); protocolSection.fRunStartToStart = FileReadFloat(-1, 1); protocolSection.lAverageCount = FileReadInt(-1, 1); protocolSection.fTrialStartToStart = FileReadFloat(-1, 1); protocolSection.nAutoTriggerStrategy = FileReadShort(-1, 1); protocolSection.fFirstRunDelayS = FileReadFloat(-1, 1); protocolSection.nChannelStatsStrategy = FileReadShort(-1, 1); protocolSection.lSamplesPerTrace = FileReadInt(-1, 1); protocolSection.lStartDisplayNum = FileReadInt(-1, 1); protocolSection.lFinishDisplayNum = FileReadInt(-1, 1); protocolSection.nShowPNRawData = FileReadShort(-1, 1); protocolSection.fStatisticsPeriod = FileReadFloat(-1, 1); protocolSection.lStatisticsMeasurements = FileReadInt(-1, 1); protocolSection.nStatisticsSaveStrategy = FileReadShort(-1, 1); protocolSection.fADCRange = FileReadFloat(-1, 1); protocolSection.fDACRange = FileReadFloat(-1, 1); protocolSection.lADCResolution = FileReadInt(-1, 1); protocolSection.lDACResolution = FileReadInt(-1, 1); protocolSection.nExperimentType = FileReadShort(-1, 1); protocolSection.nManualInfoStrategy = FileReadShort(-1, 1); protocolSection.nCommentsEnable = FileReadShort(-1, 1); protocolSection.lFileCommentIndex = FileReadInt(-1, 1); protocolSection.nAutoAnalyseEnable = FileReadShort(-1, 1); protocolSection.nSignalType = FileReadShort(-1, 1); protocolSection.nDigitalEnable = FileReadShort(-1, 1); protocolSection.nActiveDACChannel = FileReadShort(-1, 1); protocolSection.nDigitalHolding = FileReadShort(-1, 1); protocolSection.nDigitalInterEpisode = FileReadShort(-1, 1); protocolSection.nDigitalDACChannel = FileReadShort(-1, 1); protocolSection.nDigitalTrainActiveLogic = FileReadShort(-1, 1); protocolSection.nStatsEnable = FileReadShort(-1, 1); protocolSection.nStatisticsClearStrategy = FileReadShort(-1, 1); protocolSection.nLevelHysteresis = FileReadShort(-1, 1); protocolSection.lTimeHysteresis = FileReadInt(-1, 1); protocolSection.nAllowExternalTags = FileReadShort(-1, 1); protocolSection.nAverageAlgorithm = FileReadShort(-1, 1); protocolSection.fAverageWeighting = FileReadFloat(-1, 1); protocolSection.nUndoPromptStrategy = FileReadShort(-1, 1); protocolSection.nTrialTriggerSource = FileReadShort(-1, 1); protocolSection.nStatisticsDisplayStrategy = FileReadShort(-1, 1); protocolSection.nExternalTagType = FileReadShort(-1, 1); protocolSection.nScopeTriggerOut = FileReadShort(-1, 1); protocolSection.nLTPType = FileReadShort(-1, 1); protocolSection.nAlternateDACOutputState = FileReadShort(-1, 1); protocolSection.nAlternateDigitalOutputState = FileReadShort(-1, 1); protocolSection.fCellID = FileReadFloats(-1, 3); protocolSection.nDigitizerADCs = FileReadShort(-1, 1); protocolSection.nDigitizerDACs = FileReadShort(-1, 1); protocolSection.nDigitizerTotalDigitalOuts = FileReadShort(-1, 1); protocolSection.nDigitizerSynchDigitalOuts = FileReadShort(-1, 1); protocolSection.nDigitizerType = FileReadShort(-1, 1); }
/// <summary> /// Create a new ViewModel using data object retrieved from server. /// </summary> /// <param name="data">Retrieved data.</param> public SectionViewModel(ProtocolSection data) { Error = ""; Data = data; Audio = new AudioViewModel(); }