Using integrated circuitry, the JLR VCI has a variety of functions including: reading and clearing Diagnostic Trouble Codes; running active and utility tests; data monitoring and reprogramming.