Exemple #1
0
        private static int ProcessFile(FileInfo file)
        {
            if (!file.Exists)
            {
                Console.WriteLine("ERROR: file '{0}' not found.", file.FullName);
                return(1);
            }

            try {
                // try to convert daq to csv
                using (var daqDataFileReader = new DaqDataFileReader(file)) {
                    return(SaveCsv(ReadAll(daqDataFileReader), file.FullName));
                }
            }
            catch (IOException ex) {
                if (!file.Extension.EndsWith("csv", StringComparison.OrdinalIgnoreCase))
                {
                    Console.WriteLine("ERROR: csv may already exist.");
                }
            }
            catch (Exception ex) {
                return(1);
            }

            try {
                using (var csvDataFileReader = new CsvDataFileReader(file.FullName)) {
                    return(SaveDat(CorrectTimeStamps(csvDataFileReader.ReadAll()), file.FullName));
                }
            }
            catch (Exception ex) {
                ;                 // not a CSV file?
            }

            return(2);
        }
Exemple #2
0
 private static IEnumerable <PackedReading> ReadAll(DaqDataFileReader reader)
 {
     while (reader.MoveNext())
     {
         yield return(reader.Current);
     }
 }
Exemple #3
0
        public void FirstHeaderDateTimeTest()
        {
            var firstDate   = default(DateTime);
            var recordsRead = -999;

            using (var stream = DaqDataFileTestUtility.CreateSampleDaqFileStream()) {
                using (var reader = new DaqDataFileReader(stream)) {
                    recordsRead = reader.ReadNextValidStamp(out firstDate);
                }
            }

            Assert.AreNotEqual(-999, recordsRead, "Tested method was not executed.");
            Assert.AreNotEqual(-1, firstDate, "Valid date was not found.");
            Assert.AreNotEqual(default(DateTime), firstDate, "Valid date was not found.");

            Assert.AreEqual(new DateTime(2010, 3, 15, 19, 30, 23), firstDate, "Wrong date was read.");
        }
Exemple #4
0
        public void ReadFirstThreeRecordsTest()
        {
            DateTime stamp;

            // setup the stamp variable to compare
            Assert.True(DaqDataFileInfo.TryConvert7ByteDateTime(
                            new byte[] { 0x07, 0xda, 0x03, 0x0f, 0x13, 0x1e, 0x17, 0xa5 },
                            0, out stamp
                            ));
            using (var stream = DaqDataFileTestUtility.CreateSampleDaqFileStream()) {
                using (var reader = new DaqDataFileReader(stream)) {
                    Assert.True(reader.MoveNext());
                    Assert.AreEqual(
                        PackedReadingValues.FromDeviceBytes(new byte[] {
                        0x00, 0x01, 0x09, 0x41, 0x33, 0x60, 0x00, 0x1f
                    }, 0),
                        reader.Current.Values
                        );
                    Assert.AreEqual(stamp.Add(new TimeSpan(0, 0, 0, 1)), reader.Current.TimeStamp);

                    Assert.True(reader.MoveNext());
                    Assert.AreEqual(
                        PackedReadingValues.FromDeviceBytes(new byte[] {
                        0x00, 0x01, 0x05, 0x41, 0x33, 0x60, 0x00, 0x1f
                    }, 0),
                        reader.Current.Values
                        );
                    Assert.AreEqual(stamp.Add(new TimeSpan(0, 0, 0, 2)), reader.Current.TimeStamp);

                    Assert.True(reader.MoveNext());
                    Assert.AreEqual(
                        PackedReadingValues.FromDeviceBytes(new byte[] {
                        0x00, 0x01, 0x09, 0x41, 0x33, 0x60, 0x00, 0x1f
                    }, 0),
                        reader.Current.Values
                        );
                    Assert.AreEqual(stamp.Add(new TimeSpan(0, 0, 0, 3)), reader.Current.TimeStamp);
                }
            }
        }