/// <summary>
 /// Initializes a new instance of the <see cref="CSVfileWriter"/> class.
 /// </summary>
 /// <param name="fileBasePath">
 /// Base path of file. File name automatically extended with appropriate identifier and file extension.
 /// </param>
 public CSVfileWriter(string fileBasePath)
 {
     if (Directory.Exists(Path.GetDirectoryName(fileBasePath)) && (Path.GetFileName(fileBasePath) != ""))
     {
         FileBasePath = fileBasePath;
     }
     else
     {
         throw new Exception("Invalid file path.");
     }
     PacketsWrittenCounter = new PacketCount();
     FilesCreated          = null;
     writesEnabled         = true;
     streamWriters         = new StreamWriter[(int)FileIndexes.NumberOfFiles];
     CSVheadings           = new string[(int)FileIndexes.NumberOfFiles];
     CSVheadings[(int)FileIndexes.Errors]            = "Packet number,Error code,Error message";
     CSVheadings[(int)FileIndexes.Commands]          = "Packet number,Command code,Command message";
     CSVheadings[(int)FileIndexes.Registers]         = "Packet number,Address,Value,Fixed-point value,Name";
     CSVheadings[(int)FileIndexes.DateTime]          = "Packet number,Year,Month,Day,Hours,Minutes,Seconds";
     CSVheadings[(int)FileIndexes.RawBattAndTherm]   = "Packet number,Battery voltage (lsb),Thermometer (lsb)";
     CSVheadings[(int)FileIndexes.CalBattAndTherm]   = "Packet number,Battery voltage (V),Thermometer (degrees C)";
     CSVheadings[(int)FileIndexes.RawInertialAndMag] = "Packet number,Gyroscope X (lsb),Gyroscope Y (lsb),Gyroscope Z (lsb),Accelerometer X (lsb),Accelerometer Y (lsb),Accelerometer Z (lsb),Magnetometer X (lsb),Magnetometer Y (lsb),Magnetometer Z (lsb)";
     CSVheadings[(int)FileIndexes.CalInertialAndMag] = "Packet number,Gyroscope X (deg/s),Gyroscope Y (deg/s),Gyroscope Z (deg/s),Accelerometer X (g),Accelerometer Y (g),Accelerometer Z (g),Magnetometer X (G),Magnetometer Y (G),Magnetometer Z (G)";
     CSVheadings[(int)FileIndexes.Quaternion]        = "Packet number,Element 1, Element 2, Element 3, Element 4";
     CSVheadings[(int)FileIndexes.RotationMatrix]    = "Packet number,Element 11, Element 12, Element 13, Element 21, Element 22, Element 23, Element 31, Element 32, Element 33";
     CSVheadings[(int)FileIndexes.EulerAngles]       = "Packet number,Roll | Phi | X (degrees), Pitch | Theta | Y (degrees), Yaw | Psi | Z (degrees)";
     CSVheadings[(int)FileIndexes.DigitalIO]         = "Packet number,AX0 direction, AX1 direction, AX2 direction, AX3 direction, AX4 direction, AX5 direction, AX6 direction, AX7 direction, AX0 state, AX1 state, AX2 state, AX3 state, AX4 state, AX5 state, AX6 state, AX7 state,";
     CSVheadings[(int)FileIndexes.RawAnalogueInput]  = "Packet number,AX0 (lsb),AX1 (lsb),AX2 (lsb),AX3 (lsb),AX4 (lsb),AX5 (lsb),AX6 (lsb),AX7 (lsb)";
     CSVheadings[(int)FileIndexes.CalAnalogueInput]  = "Packet number,AX0 (V),AX1 (V),AX2 (V),AX3 (V),AX4 (V),AX5 (V),AX6 (V),AX7 (V)";
     CSVheadings[(int)FileIndexes.PWMoutput]         = "Packet number,AX0,AX2,AX4,AX6";
     CSVheadings[(int)FileIndexes.RawADXL345bus]     = "Packet number,ADXL345 A X (lsb), ADXL345 A Y (lsb), ADXL345 A Z (lsb),ADXL345 B X (lsb), ADXL345 B Y (lsb), ADXL345 B Z (lsb),ADXL345 C X (lsb), ADXL345 C Y (lsb), ADXL345 C Z (lsb),ADXL345 D X (lsb), ADXL345 D Y (lsb), ADXL345 D Z (lsb)";
     CSVheadings[(int)FileIndexes.CalADXL345bus]     = "Packet number,ADXL345 A X (g), ADXL345 A Y (g), ADXL345 A Z (g),ADXL345 B X (g), ADXL345 B Y (g), ADXL345 B Z (g),ADXL345 C X (g), ADXL345 C Y (g), ADXL345 C Z (g),ADXL345 D X (g), ADXL345 D Y (g), ADXL345 D Z (g)";
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="CSVfileWriter"/> class.
 /// </summary>
 /// <param name="fileBasePath">
 /// Base path of file. File name automatically extended with appropriate identifier and file extension.
 /// </param>
 public CSVfileWriter(string fileBasePath)
 {
     if (Directory.Exists(Path.GetDirectoryName(fileBasePath)) && (Path.GetFileName(fileBasePath) != ""))
     {
         FileBasePath = fileBasePath;
     }
     else
     {
         throw new Exception("Invalid file path.");
     }
     PacketsWrittenCounter = new PacketCount();
     FilesCreated = null;
     writesEnabled = true;
     streamWriters = new StreamWriter[(int)FileIndexes.NumberOfFiles];
     CSVheadings = new string[(int)FileIndexes.NumberOfFiles];
     CSVheadings[(int)FileIndexes.Errors] = "Packet number,Error code,Error message";
     CSVheadings[(int)FileIndexes.Commands] = "Packet number,Command code,Command message";
     CSVheadings[(int)FileIndexes.Registers] = "Packet number,Address,Value,Fixed-point value,Name";
     CSVheadings[(int)FileIndexes.DateTime] = "Packet number,Year,Month,Day,Hours,Minutes,Seconds";
     CSVheadings[(int)FileIndexes.RawBattAndTherm] = "Packet number,Battery voltage (lsb),Thermometer (lsb)";
     CSVheadings[(int)FileIndexes.CalBattAndTherm] = "Packet number,Battery voltage (V),Thermometer (degrees C)";
     CSVheadings[(int)FileIndexes.RawInertialAndMag] = "Packet number,Gyroscope X (lsb),Gyroscope Y (lsb),Gyroscope Z (lsb),Accelerometer X (lsb),Accelerometer Y (lsb),Accelerometer Z (lsb),Magnetometer X (lsb),Magnetometer Y (lsb),Magnetometer Z (lsb)";
     CSVheadings[(int)FileIndexes.CalInertialAndMag] = "Packet number,Gyroscope X (deg/s),Gyroscope Y (deg/s),Gyroscope Z (deg/s),Accelerometer X (g),Accelerometer Y (g),Accelerometer Z (g),Magnetometer X (G),Magnetometer Y (G),Magnetometer Z (G)";
     CSVheadings[(int)FileIndexes.Quaternion] = "Packet number,Element 1, Element 2, Element 3, Element 4";
     CSVheadings[(int)FileIndexes.RotationMatrix] = "Packet number,Element 11, Element 12, Element 13, Element 21, Element 22, Element 23, Element 31, Element 32, Element 33";
     CSVheadings[(int)FileIndexes.EulerAngles] = "Packet number,Roll | Phi | X (degrees), Pitch | Theta | Y (degrees), Yaw | Psi | Z (degrees)";
     CSVheadings[(int)FileIndexes.DigitalIO] = "Packet number,AX0 direction, AX1 direction, AX2 direction, AX3 direction, AX4 direction, AX5 direction, AX6 direction, AX7 direction, AX0 state, AX1 state, AX2 state, AX3 state, AX4 state, AX5 state, AX6 state, AX7 state,";
     CSVheadings[(int)FileIndexes.RawAnalogueInput] = "Packet number,AX0 (lsb),AX1 (lsb),AX2 (lsb),AX3 (lsb),AX4 (lsb),AX5 (lsb),AX6 (lsb),AX7 (lsb)";
     CSVheadings[(int)FileIndexes.CalAnalogueInput] = "Packet number,AX0 (V),AX1 (V),AX2 (V),AX3 (V),AX4 (V),AX5 (V),AX6 (V),AX7 (V)";
     CSVheadings[(int)FileIndexes.PWMoutput] = "Packet number,AX0,AX2,AX4,AX6";
     CSVheadings[(int)FileIndexes.RawADXL345bus] = "Packet number,ADXL345 A X (lsb), ADXL345 A Y (lsb), ADXL345 A Z (lsb),ADXL345 B X (lsb), ADXL345 B Y (lsb), ADXL345 B Z (lsb),ADXL345 C X (lsb), ADXL345 C Y (lsb), ADXL345 C Z (lsb),ADXL345 D X (lsb), ADXL345 D Y (lsb), ADXL345 D Z (lsb)";
     CSVheadings[(int)FileIndexes.CalADXL345bus] = "Packet number,ADXL345 A X (g), ADXL345 A Y (g), ADXL345 A Z (g),ADXL345 B X (g), ADXL345 B Y (g), ADXL345 B Z (g),ADXL345 C X (g), ADXL345 C Y (g), ADXL345 C Z (g),ADXL345 D X (g), ADXL345 D Y (g), ADXL345 D Z (g)";
 }
Exemple #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="xIMUfile"/> class.
 /// </summary>
 /// <param name="filePath">
 /// Path of file.
 /// </param>
 /// <param name="overwrite">
 /// Enable overwrite. true = create or overwrite file, false = create or open file.
 /// </param>
 public xIMUfile(string filePath, bool overwrite)
 {
     FilePath         = filePath;
     fileStream       = new FileStream(FilePath, overwrite ? FileMode.Create : FileMode.OpenOrCreate, FileAccess.ReadWrite);
     backgroundWorker = new BackgroundWorker();
     backgroundWorker.WorkerSupportsCancellation = true;
     backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker_DoWork);
     ReadErrors            = 0;
     PacketsReadCounter    = new PacketCount();
     PacketsWrittenCounter = new PacketCount();
 }
Exemple #4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="xIMUfile"/> class.
 /// </summary>
 /// <param name="filePath">
 /// Path of file.
 /// </param>
 /// <param name="overwrite">
 /// Enable overwrite. true = create or overwrite file, false = create or open file.
 /// </param>
 public xIMUfile(string filePath, bool overwrite)
 {
     FilePath = filePath;
     fileStream = new FileStream(FilePath, overwrite ? FileMode.Create : FileMode.OpenOrCreate, FileAccess.ReadWrite);
     backgroundWorker = new BackgroundWorker();
     backgroundWorker.WorkerSupportsCancellation = true;
     backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker_DoWork);
     ReadErrors = 0;
     PacketsReadCounter = new PacketCount();
     PacketsWrittenCounter = new PacketCount();
 }
Exemple #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="xIMUserial"/> class.
 /// </summary>
 /// <param name="portName">
 /// Name of the port the x-IMU appears as (for example, COM1).
 /// </param>
 public xIMUserial(string portName)
 {
     serialPort           = new SerialPort(portName, 115200, Parity.None, 8, StopBits.One);
     serialPort.Handshake = Handshake.RequestToSend;
     serialPort.ReceivedBytesThreshold = 1;
     serialPort.WriteTimeout           = 500;
     serialPort.ReadTimeout            = 500;
     serialPort.DataReceived          += new SerialDataReceivedEventHandler(serialPort_DataReceived);
     ReceptionErrors       = 0;
     PacketsReadCounter    = new PacketCount();
     PacketsWrittenCounter = new PacketCount();
 }
Exemple #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="xIMUserial"/> class.
 /// </summary>
 /// <param name="portName">
 /// Name of the port the x-IMU appears as (for example, COM1).
 /// </param>
 public xIMUserial(string portName)
 {
     serialPort = new SerialPort(portName, 115200, Parity.None, 8, StopBits.One);
     serialPort.Handshake = Handshake.RequestToSend;
     serialPort.ReceivedBytesThreshold = 1;
     serialPort.WriteTimeout = 500;
     serialPort.ReadTimeout = 500;
     serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived);
     ReceptionErrors = 0;
     PacketsReadCounter = new PacketCount();
     PacketsWrittenCounter = new PacketCount();
 }
 /// <summary>
 /// Initialises a new instance of the <see cref="AsyncReadCompletedEventArgs"/> class.
 /// </summary>
 /// <param name="packetCounter">
 /// <see cref="PacketCount"/> data of read.
 /// <param name="error">
 /// Error <see cref="Exception"/> if occurred.
 /// </param>
 /// <param name="cancelled">
 /// Value indicating whether the asynchronous scan was cancelled.
 /// </param>
 public AsyncReadCompletedEventArgs(PacketCount packetCounter, Exception error, bool cancelled)
 {
     PacketCounter = packetCounter;
     Error = error;
     Cancelled = cancelled;
 }
 /// <summary>
 /// Initialises a new instance of the <see cref="AsyncReadCompletedEventArgs"/> class.
 /// </summary>
 /// <param name="packetCounter">
 /// <see cref="PacketCount"/> data of read.
 /// <param name="error">
 /// Error <see cref="Exception"/> if occurred.
 /// </param>
 /// <param name="cancelled">
 /// Value indicating whether the asynchronous scan was cancelled.
 /// </param>
 public AsyncReadCompletedEventArgs(PacketCount packetCounter, Exception error, bool cancelled)
 {
     PacketCounter = packetCounter;
     Error         = error;
     Cancelled     = cancelled;
 }