예제 #1
0
 internal ProfileAssembler(BlockingCollection <Profile> profiles, AllDataFormat dataFormat,
                           IDictionary <Camera, AlignmentParameters> alignmentParameters)
 {
     this.dataFormat          = dataFormat;
     this.profiles            = profiles;
     this.alignmentParameters = alignmentParameters;
     rawPointsArray           = new Point2D[RawPointsArrayCapacity * Globals.RawProfileDataLength];
     rawPointsArrayIndex      = 0;
 }
        internal void StartScanning(double scanRate, AllDataFormat dataFormat, short startColumn, short endColumn)
        {
            this.dataFormat  = dataFormat;
            this.scanRate    = scanRate;
            this.startColumn = startColumn;
            this.endColumn   = endColumn;
            profileAssembler = new ProfileAssembler(scanHead.Profiles, dataFormat, scanHead.Alignment);
            ClearScanRequests();
            lock (scanRequestPacketLock)
            {
                scanRequestPacket = CreateScanRequest();
            }

            evt.Set();
        }
예제 #3
0
        internal void StartScanning(double scanRate, AllDataFormat dataFormat)
        {
            if (!Enabled)
            {
                return;
            }

            if (scanRate > Status.MaxScanRate)
            {
                throw new ArgumentException(
                          $"Requested scan rate ({scanRate}Hz) is greater than that allowed by the " +
                          $"current scan head configuration ({Status.MaxScanRate}Hz) for scan head {ID}.");
            }

            ClearProfiles();
            senderReceiver.StartScanning(scanRate, dataFormat, scanSystem.StartColumn, scanSystem.EndColumn);
        }
예제 #4
0
        internal ProfileAssembler(BlockingCollection <Profile> profiles, AllDataFormat dataFormat,
                                  IDictionary <Camera, AlignmentParameters> alignmentParameters)
        {
            this.dataFormat          = dataFormat;
            this.profiles            = profiles;
            this.alignmentParameters = alignmentParameters;

            dataTypes = new DataType[Enum.GetValues(typeof(DataType)).Length];
            var i = 0;

            foreach (DataType dt in Enum.GetValues(typeof(DataType)))
            {
                dataTypes[i++] = dt;
            }

            rawPointsArray      = new Point2D[RawPointsArrayCapacity * Globals.RawProfileDataLength];
            rawPointsArrayIndex = 0;
        }
 internal static short[] GetStep(AllDataFormat p)
 {
     return(Presets[(int)p].Steps);
 }
 internal static DataType GetDataType(AllDataFormat p)
 {
     return(Presets[(int)p].Dt);
 }