Example #1
0
 /// <summary>
 /// Constructs a read date/time packet.
 /// </summary>
 /// <returns>
 /// Constructed and encoded read date/time packet
 /// </returns>
 public static byte[] ConstructReadDateTimePacket()
 {
     byte[] decodedPacket = new byte[] { (byte)PacketHeaders.ReadDateTime,
                                         0 };
     decodedPacket = InsertChecksum(decodedPacket);
     return(PacketEncoding.EncodePacket(decodedPacket));
 }
Example #2
0
 /// <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));
 }
Example #3
0
 /// <summary>
 /// Constructs an encoded command packet.
 /// </summary>
 /// <param name="commandCode">
 /// Command code. See <see cref="CommandCodes"/>.
 /// </param>
 /// <returns>
 /// Constructed and encoded command packet.
 /// </returns>
 public static byte[] ConstructCommandPacket(CommandCodes commandCode)
 {
     byte[] decodedPacket = new byte[] { (byte)PacketHeaders.Command,
                                         (byte)((ushort)commandCode >> 8),
                                         (byte)commandCode,
                                         0 };
     decodedPacket = InsertChecksum(decodedPacket);
     return(PacketEncoding.EncodePacket(decodedPacket));
 }
Example #4
0
 /// <summary>
 /// Constructs an encoded digital I/O packet.
 /// </summary>
 /// <param name="digitalIOdata">
 /// DigitalIOdata object containing output states to be set.
 /// </param>
 /// <returns>
 /// Constructed and encoded digital I/O packet.
 /// </returns>
 public static byte[] ConstructDigitalIOpacket(DigitalIOdata digitalIOdata)
 {
     byte[] decodedPacket = new byte[] { (byte)PacketHeaders.DigitalIOdata,
                                         0x00,
                                         digitalIOdata.State.ConvertToByte(),
                                         0 };
     decodedPacket = InsertChecksum(decodedPacket);
     return(PacketEncoding.EncodePacket(decodedPacket));
 }
Example #5
0
 /// <summary>
 /// Constructs a write date/time packet.
 /// </summary>
 /// <param name="dateTimeData">
 /// <see cref="DateTimeData"/> instance containing data to be written.
 /// </param>
 /// <returns>
 /// Constructed and encoded write date/time packet
 /// </returns>
 public static byte[] ConstructWriteDateTimePacket(DateTimeData dateTimeData)
 {
     byte[] decodedPacket = new byte[] { (byte)PacketHeaders.WriteDateTime,
                                         (byte)(((((dateTimeData.Year - 2000) % 100) / 10) << 4) | ((dateTimeData.Year - 2000) % 10)),
                                         (byte)(((((dateTimeData.Month) % 100) / 10) << 4) | (dateTimeData.Month % 10)),
                                         (byte)(((((dateTimeData.Day) % 100) / 10) << 4) | (dateTimeData.Day % 10)),
                                         (byte)(((((dateTimeData.Hours) % 100) / 10) << 4) | (dateTimeData.Hours % 10)),
                                         (byte)(((((dateTimeData.Minutes) % 100) / 10) << 4) | (dateTimeData.Minutes % 10)),
                                         (byte)(((((dateTimeData.Seconds) % 100) / 10) << 4) | (dateTimeData.Seconds % 10)),
                                         0 };
     decodedPacket = InsertChecksum(decodedPacket);
     return(PacketEncoding.EncodePacket(decodedPacket));
 }
Example #6
0
 /// <summary>
 /// Constructs an encoded PWM output data packet.
 /// </summary>
 /// <param name="PWMoutputData">
 /// PWM output data.
 /// </param>
 /// <returns>
 /// Constructed and encoded PWM output data packet.
 /// </returns>
 public static byte[] ConstructPWMoutputPacket(PWMoutputData PWMoutputData)
 {
     byte[] decodedPacket = new byte[] { (byte)PacketHeaders.PWMoutputData,
                                         (byte)(PWMoutputData.AX0 >> 8),
                                         (byte)PWMoutputData.AX0,
                                         (byte)(PWMoutputData.AX2 >> 8),
                                         (byte)PWMoutputData.AX2,
                                         (byte)(PWMoutputData.AX4 >> 8),
                                         (byte)PWMoutputData.AX4,
                                         (byte)(PWMoutputData.AX6 >> 8),
                                         (byte)PWMoutputData.AX6,
                                         0 };
     decodedPacket = InsertChecksum(decodedPacket);
     return(PacketEncoding.EncodePacket(decodedPacket));
 }