/// <summary>
 /// Constructs a read register packet.
 /// </summary>
 /// <param name="registerData">
 /// <see cref="RegisterData"/> instance containing register address to be read.
 /// </param>
 /// <returns>
 /// Constructed and encoded read register packet
 /// </returns> 
 public static byte[] ConstructReadRegisterPacket(RegisterData registerData)
 {
     byte[] decodedPacket = new byte[] { (byte)PacketHeaders.ReadRegister,
                                         (byte)((ushort)registerData.Address >> 8),
                                         (byte)registerData.Address,
                                         0};
     decodedPacket = InsertChecksum(decodedPacket);
     return PacketEncoding.EncodePacket(decodedPacket);
 }
Beispiel #2
0
 protected virtual void OnRegisterDataReceived(RegisterData e) { if (RegisterDataReceived != null) RegisterDataReceived(this, e); }
Beispiel #3
0
 /// <summary>
 /// Sends write register packet.
 /// </summary>
 /// <param name="registerData">
 /// Register data containing register address and value.
 /// </param>
 public void SendWriteRegisterPacket(RegisterData registerData)
 {
     SendByteArray(PacketConstruction.ConstructWriteRegisterPacket(registerData));
     PacketsWrittenCounter.WriteRegisterPackets++;
 }
 /// <summary>
 /// Write <see cref="RegisterData"/> to CSV file. Will create new file if required.
 /// </summary>
 /// <param name="registerData">
 /// x-IMU register data.
 /// </param>
 public void WriteRegisterData(RegisterData registerData)
 {
     string fixedPointValue = "NaN";
     try
     {
         fixedPointValue = registerData.ConvertValueToFloat().ToString(CultureInfo.InvariantCulture);
     }
     catch { }
     WriteCSVlineAtFileIndex(((ushort)registerData.Address).ToString(CultureInfo.InvariantCulture) + "," + registerData.Value.ToString(CultureInfo.InvariantCulture) + "," + fixedPointValue + "," + Enum.GetName(typeof(RegisterAddresses), registerData.Address), FileIndexes.Registers);
     PacketsWrittenCounter.WriteRegisterPackets++;
 }
Beispiel #5
0
 /// <summary>
 /// Writes write register packet.
 /// </summary>
 /// <param name="registerData">
 /// Register data containing register address and value.
 /// </param>
 public void WriteWriteRegisterPacket(RegisterData registerData)
 {
     WriteByteArray(PacketConstruction.ConstructWriteRegisterPacket(registerData));
     PacketsWrittenCounter.WriteRegisterPackets++;
 }
 /// <summary>
 /// Sends read register packet.
 /// </summary>
 /// <param name="registerData">
 /// Register data containing register address.
 /// </param>
 public void SendReadRegisterPacket(RegisterData registerData)
 {
     SendByteArray(PacketConstruction.ConstructReadRegisterPacket(registerData));
     PacketsWrittenCounter.ReadRegisterPackets++;
 }
Beispiel #7
0
 /// <summary>
 /// Register data received event to read x-IMU device ID.
 /// </summary>
 private void xIMUserialobj_RegisterDataReceived(object sender, RegisterData e)
 {
     if (e.Address == RegisterAddresses.DeviceID)
     {
         receivedDeviceID = string.Format("{0:X4}", e.Value);
     }
 }