Lecture des informations sur la DLL et l'adaptateur
Dernière modification :
La fonction renvoie des informations sur la version de la bibliothèque DLL, la version du firmware de l'adaptateur et la version prise en charge du standard J2534 API. Ces données sont utiles pour le diagnostic de compatibilité et le débogage.
long PassThruReadVersion(unsigned long DeviceID, char* pFirmwareVersion, char* pDllVersion, char* pApiVersion)
PassThruOpen.| Code | Description | Causes possibles et solutions |
|---|---|---|
| STATUS_NOERROR | La fonction s'est exécutée correctement | — |
| ERR_DEVICE_NOT_CONNECTED | Aucune connexion avec l'adaptateur |
|
| ERR_INVALID_DEVICE_ID | Identifiant d'adaptateur DeviceID inexistant indiqué |
|
| ERR_NULL_PARAMETER | L'un des pointeurs est égal à NULL |
|
#include "j2534_dll.hpp"
// DeviceID obtenu précédemment de PassThruOpen
unsigned long DeviceID;
char pFirmwareVersion[80];
char pDllVersion[80];
char pApiVersion[80];
long ret = PassThruReadVersion(DeviceID, pFirmwareVersion, pDllVersion, pApiVersion);
if (ret != STATUS_NOERROR) {
char error[256];
PassThruGetLastError(error);
// Gestion de l'erreur
} else {
printf("Version du firmware : %s\n", pFirmwareVersion);
printf("Version de la DLL : %s\n", pDllVersion);
printf("Version de l'API : %s\n", pApiVersion);
}
// deviceID obtenu précédemment de ptOpen
val result = j2534.ptReadVersion(deviceID)
if (result.status == STATUS_NOERROR) {
Log.i("J2534", "Version du firmware : ${result.firmwareVersion}")
Log.i("J2534", "Version de la DLL : ${result.dllVersion}")
Log.i("J2534", "Version de l'API : ${result.apiVersion}")
} else {
Log.e("J2534", "Erreur de lecture des versions : ${result.status}")
}
# device_id obtenu précédemment de PassThruOpen
firmware_ver = ctypes.create_string_buffer(80)
dll_ver = ctypes.create_string_buffer(80)
api_ver = ctypes.create_string_buffer(80)
ret = j2534.PassThruReadVersion(device_id, firmware_ver, dll_ver, api_ver)
if ret == 0: # STATUS_NOERROR
print(f"Version du firmware : {firmware_ver.value.decode()}")
print(f"Version de la DLL : {dll_ver.value.decode()}")
print(f"Version de l'API : {api_ver.value.decode()}")
else:
print(f"Erreur de lecture des versions : {ret}")
// deviceId obtenu précédemment de PassThruOpen
StringBuilder firmwareVersion = new StringBuilder(80);
StringBuilder dllVersion = new StringBuilder(80);
StringBuilder apiVersion = new StringBuilder(80);
int ret = J2534.PassThruReadVersion(deviceId, firmwareVersion, dllVersion, apiVersion);
if (ret == 0) {
Console.WriteLine($"Version du firmware : {firmwareVersion}");
Console.WriteLine($"Version de la DLL : {dllVersion}");
Console.WriteLine($"Version de l'API : {apiVersion}");
} else {
Console.WriteLine($"Erreur de lecture des versions : {ret}");
}