SAE J2534-1 API is the "Recommended Practice for Microsoft Windows 32-Bit Application Programming Interface for Pass-Through Vehicle Reprogramming". Vehicle manufacturers will be required to provide a Windows software application for reprogramming their model year 2004 and beyond vehicles using a J2534-1 capable interface (e.g. CarDAQ-Plus). This standard and associated EPA requirements will give all vehicle service/repair facilities, not just dealers, the ability to perform in-field ECU software updates.

In addition to reprogramming, J2534 supports diagnostics and calibration. The API provides protocol-independent functions to: read and write messages, establish periodic messages, perform filtering, and assert ECU reprogramming voltages.

The PassThru (SAE J2534-1) v0404 specification can be purchased from SAE. The following pages explain DrewTech's implementation, and should be useful to end-users who want to program with our DLL:

Category Name Description
Setup PassThruOpen Initialize and connect to a CarDAQ
PassThruClose Disconnect from a CarDAQ
PassThruConnect Connect to a vehicle network
PassThruDisconnect Disconnect from vehicle network
PassThruIoctl Fast init sequence (ISO 9141)
PassThruIoctl Five baud init sequence (ISO 9141)
PassThruIoctl Report configuration parameter
PassThruIoctl Set configuration parameter
PassThruIoctl Add functional address (J1850PWM)
PassThruIoctl Delete functional address (J1850PWM)
PassThruIoctl Clear functional address table (J1850PWM)
Status PassThruReadVersion Report version information
PassThruGetLastError Describe most recent error
PassThruIoctl Read vehicle battery voltage
Reading PassThruReadMsgs Receive network message(s)
PassThruStartMsgFilter Apply a network message filter
PassThruStopMsgFilter Stop a network message filter
PassThruIoctl Halt all network message filters
PassThruIoctl Clear receive buffer
Writing PassThruWriteMsgs Transmit network message(s)
PassThruStartPeriodicMsg Continuously transmit message(s)
PassThruStopPeriodicMsg Stop transmitting a message continuously
PassThruIoctl Halt all continuous messages
PassThruIoctl Clear transmit queue
Reflashing PassThruSetProgrammingVoltage Apply voltage on J1962 pin
PassThruIoctl Report programming voltage
Analog PassThruIoctl Read most recent analog sample
PassThruIoctl Read stored analog sample(s)