public override void ClearTire(byte instance)
        {
            var message = new OutgoingJ1708Message()
            {
                USBPrefix = 'S',
                Mid       = 0xB6,
                Pid       = 0xFE,
                Data      = new List <byte>()
                {
                    PProDeviceMid,
                    0x01,
                    (byte)((byte)(0x10 * (byte)(PProDeviceMid - 0xA6)) + instance),
                    0x00,
                    0x00,
                    0x00,
                    0xFF,
                    0xFF,
                    0xFF,
                    0x00,
                    0xFF,
                    0xFF,
                    0x00
                }
            };

            PendingPosition = instance;
            CommunicationManager.Instance.SendMessage(message);
        }
        public override void AbortLearn()
        {
            var message = new OutgoingJ1708Message()
            {
                USBPrefix = 'S',
                Mid       = 0xB6,
                Pid       = 0xFE,
                Data      = new List <byte>()
                {
                    PProDeviceMid,
                    0xFD
                }
            };

            PendingPosition = 0xFF;
            CommunicationManager.Instance.SendMessage(message);
        }
        public override void LearnTire(byte instance)
        {
            OutgoingJ1708Message message = new OutgoingJ1708Message()
            {
                USBPrefix = 'S',
                Mid       = 0xB6,
                Pid       = 0xFE,
                Data      = new List <byte>()
                {
                    PProDeviceMid,
                    0xFC,
                    0xFF,
                    0xFF
                },
            };

            CommunicationManager.Instance.SendMessage(message);
            PendingIndex    = instance;
            PendingPosition = instance;
        }
        private void SendLearnVerification(List <byte> buffer)
        {
            var clearMessage = new OutgoingJ1708Message()
            {
                USBPrefix = 'S',
                Mid       = 0xB6,
                Pid       = 0xFE,
                Data      = new List <byte>()
                {
                    PProDeviceMid,
                    0x01,
                    (byte)(0x10 * (PProDeviceMid - 0xA6) + PendingPosition),
                    buffer[3],
                    buffer[4],
                    buffer[5],
                    0xFF,
                    0xFF,
                    0xFF,
                    0x00,
                    PendingPosition,
                    0xFF,
                    0x00
                },
            };

            CommunicationManager.Instance.SendMessage(clearMessage);
            var quitListenMessage = new OutgoingJ1708Message()
            {
                USBPrefix = 'S',
                Mid       = 0xB6,
                Pid       = 0xFE,
                Data      = new List <byte>()
                {
                    PProDeviceMid,
                    0xFD
                }
            };

            CommunicationManager.Instance.SendDelayedMessage(quitListenMessage, 1000);  //allow one second gap for the clearMessage to be processed by the device
        }