private static byte[] ByteArrayForGetCoilsMessagePhase1(NeuronSpiCommand command, ushort coil, ushort numberOfCoils) { var lenght = Convert.ToByte(4 + (((numberOfCoils + 15) >> 4) << 1)); var data = new List <byte> { (byte)command, lenght }; data.AddRange(BitConverter.GetBytes(coil)); var crc = CreateCrc(data.ToArray()); data.AddRange(crc); var array = data.ToArray(); return(array ?? new byte[0]); //var lenght = Convert.ToByte(4 + numberOfCoils); //var data = new List<byte> { (byte)command, lenght }; //data.AddRange(BitConverter.GetBytes(coil)); //var crc = CreateCrc(data.ToArray()); //data.AddRange(crc); //var array = data.ToArray(); //return array ?? new byte[0]; }
private static byte[] ByteArrayForReadRegisterMessagePhase2(NeuronSpiCommand command, ushort register, byte numberOfRegisters) { var data = new List <byte> { (byte)command, 0 }; data.AddRange(BitConverter.GetBytes(register)); data.AddRange(new byte[4 + numberOfRegisters * 2 - data.Count + 2]); var array = data.ToArray(); return(array ?? new byte[0]); }
private static byte[] ByteArrayForReadRegisterMessagePhase1(NeuronSpiCommand command, ushort register, byte numberOfRegisters) { var lenght = Convert.ToByte(4 + numberOfRegisters * 2); var data = new List <byte> { (byte)command, lenght }; data.AddRange(BitConverter.GetBytes(register)); var crc = CreateCrc(data.ToArray()); data.AddRange(crc); var array = data.ToArray(); return(array ?? new byte[0]); }
private static byte[] ByteArrayForSetCoilsMessage(NeuronSpiCommand command, ushort register, byte value) { var data = new List <byte> { (byte)command, value }; data.AddRange(BitConverter.GetBytes(register)); var crc = CreateCrc(data.ToArray()); data.AddRange(crc); var array = data.ToArray(); return(array ?? new byte[0]); }
private static byte[] ByteArrayForSetRegisterMessagePhase2(NeuronSpiCommand command, ushort register, ushort value, ushort currentCrc) { var lenght = Convert.ToByte(1); var data = new List <byte> { (byte)command, lenght }; data.AddRange(BitConverter.GetBytes(register)); data.AddRange(BitConverter.GetBytes(value)); var crc = CreateCrc(data.ToArray(), 0, currentCrc); data.AddRange(crc); var array = data.ToArray(); return(array ?? new byte[0]); }
private static byte[] ByteArrayForGetCoilsMessagePhase2(NeuronSpiCommand command, ushort coil, ushort numberOfCoils) { var data = new List <byte> { (byte)command, 0 }; data.AddRange(BitConverter.GetBytes(coil)); data.AddRange(new byte[4 + (((numberOfCoils + 15) >> 4) << 1) - data.Count + 2]); var array = data.ToArray(); return(array ?? new byte[0]); //var data = new List<byte> { (byte)command, 0 }; //data.AddRange(BitConverter.GetBytes(coil)); //data.AddRange(new byte[4 + numberOfCoils - data.Count + 2]); //var array = data.ToArray(); //return array ?? new byte[0]; }
internal NeuronSpiMessage(NeuronSpiCommand operation, ushort register, byte numberOfRegisters) { Operation = operation; NumberOfRegisters = numberOfRegisters; Register = register; }