//------------------------------------------------------------------------------------------------------------------------------------------- private void SendResponse(byte command_byte, byte[] buffer, byte value) { char[] value_array = NumberConversions.ByteToCharArray(value); byte[] response = new byte[] { (byte)(command_byte + 0x10), buffer[1], buffer[2], (byte)value_array[0], (byte)value_array[1] }; Debug.Print("Sending response: "); NumberConversions.PrintByteArray(response); _port.Write(response, 0, response.Length); }
//------------------------------------------------------------------------------------------------------------------------------------------- /// <summary> /// Sets the specified byte in the Amulet touchscreen /// </summary> /// <param name="index"></param> /// <returns></returns> public byte GetByte(byte index) { char[] nibbles = NumberConversions.ByteToCharArray(index); _port.Write(new byte[] { 0xD0, (byte)nibbles[0], (byte)nibbles[1] }, 0, 3); // set timer to check response time long start = Microsoft.SPOT.Hardware.Utility.GetMachineTime().Ticks; // wait for response from Amulet byte result = ParseResponseForByte(); long end = Microsoft.SPOT.Hardware.Utility.GetMachineTime().Ticks; long ms = (end - start) / System.TimeSpan.TicksPerMillisecond; return(result); }
//------------------------------------------------------------------------------------------------------------------------------------------- private void SendResponse(byte command_byte, byte[] buffer, byte[] value) { int value_length = value.Length; byte[] response = new byte[3 + value_length * 2 + 1]; // need to create extra space since each byte is broken up into high and low nibbles, plus 1 for null terminator response[0] = (byte)(command_byte + 0x10); response[1] = buffer[1]; response[2] = buffer[2]; for (int i = 0; i < value_length; i++) { char[] element_nibbles = NumberConversions.ByteToCharArray(value[i]); response[3 + (i * 2)] = (byte)element_nibbles[0]; response[3 + (i * 2) + 1] = (byte)element_nibbles[1]; } Debug.Print("Sending response: "); NumberConversions.PrintByteArray(response); _port.Write(response, 0, response.Length); }