PassThru (SAE J2534) DLL
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.
Introduction to PassThru (J2534) Programming
The PassThru (SAE J2534-1) v0404 specification can be purchased from SAE by clicking HERE. 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) |