Example #1
0
 //-------------------------------------------------------------------------------------------------------------------------------------------
 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);
 }
Example #2
0
        //-------------------------------------------------------------------------------------------------------------------------------------------
        /// <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);
        }
Example #3
0
        //-------------------------------------------------------------------------------------------------------------------------------------------
        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);
        }