GET_DEVICE_INFO — Información sobre el dispositivo
Devuelve información sobre las capacidades del dispositivo: protocolos compatibles, número de canales simultáneos, número de serie y otras características. Se invoca con el DeviceID obtenido de PassThruOpen.
IoctlID
0x800C
pInput
SCONFIG_LIST* — lista de parámetros solicitados
pOutput
NULL (el resultado se escribe en pInput)
A diferencia de GET_CONFIG, la función GET_DEVICE_INFO se invoca con el DeviceID y no con el ChannelID.
GET_PROTOCOL_INFO — Información sobre el protocolo
Devuelve información sobre las capacidades de un protocolo concreto: tamaños máximos de los búferes, número de filtros, parámetros compatibles. Se invoca con el ChannelID obtenido de PassThruConnect.
IoctlID
0x800D
pInput
SCONFIG_LIST* — lista de parámetros solicitados
pOutput
NULL (el resultado se escribe en pInput)
Estructuras de datos
typedef struct {
unsigned long Parameter; // Identificador del parámetro
unsigned long Value; // Valor devuelto
} SCONFIG;
typedef struct {
unsigned long NumOfParams; // Número de parámetros en la lista
SCONFIG *ConfigPtr; // Puntero al array SCONFIG
} SCONFIG_LIST;
Códigos de error devueltos
Código
Descripción
Posibles causas y soluciones
STATUS_NOERROR
La función se ejecutó correctamente
—
ERR_DEVICE_NOT_CONNECTED
No hay conexión con el adaptador
El adaptador está apagado o fuera de alcance
Solución: compruebe la alimentación y la conexión
ERR_INVALID_DEVICE_ID
Identificador de dispositivo no válido
El DeviceID no se obtuvo mediante PassThruOpen
Solución: ejecute PassThruOpen
ERR_INVALID_CHANNEL_ID
Identificador de canal no válido
El ChannelID no se obtuvo mediante PassThruConnect (para GET_PROTOCOL_INFO)
Solución: ejecute PassThruConnect
ERR_NULL_PARAMETER
Se pasó NULL en lugar de un puntero
pInput es igual a NULL
Solución: pase un puntero a SCONFIG_LIST
ERR_NOT_SUPPORTED
Parámetro no compatible
El parámetro solicitado no está disponible
Solución: consulte la lista de parámetros compatibles
ERR_FAILED
Error indefinido
Error interno
Solución: invoque PassThruGetLastError()
Parámetros de GET_DEVICE_INFO
Identificación del dispositivo
Parámetro
Valor
Descripción
SERIAL_NUMBER
0x01
Número de serie del dispositivo (cadena)
PART_NUMBER
0x49
Número de referencia del dispositivo
Compatibilidad con protocolos
Devuelven SUPPORTED (1) o NOT_SUPPORTED (0).
Parámetro
Valor
Protocolo
J1850PWM_SUPPORTED
0x02
J1850 PWM (Ford)
J1850VPW_SUPPORTED
0x03
J1850 VPW (GM)
ISO9141_SUPPORTED
0x04
ISO 9141-2
ISO14230_SUPPORTED
0x05
ISO 14230 (KWP2000)
CAN_SUPPORTED
0x06
CAN (raw)
ISO15765_SUPPORTED
0x07
ISO 15765 (CAN UDS)
SCI_A_ENGINE_SUPPORTED
0x08
SCI-A Engine (Chrysler)
SCI_A_TRANS_SUPPORTED
0x09
SCI-A Transmission (Chrysler)
SCI_B_ENGINE_SUPPORTED
0x0A
SCI-B Engine (Chrysler)
SCI_B_TRANS_SUPPORTED
0x0B
SCI-B Transmission (Chrysler)
SW_ISO15765_SUPPORTED
0x0C
Single-Wire ISO 15765
SW_CAN_SUPPORTED
0x0D
Single-Wire CAN (GM)
GM_UART_SUPPORTED
0x0E
GM UART
UART_ECHO_BYTE_SUPPORTED
0x0F
UART Echo Byte
HONDA_DIAGH_SUPPORTED
0x10
Honda DIAG-H
J1939_SUPPORTED
0x11
J1939 (vehículos pesados)
J1708_SUPPORTED
0x12
J1708 (vehículos pesados)
TP2_0_SUPPORTED
0x13
TP 2.0 (VAG)
J2610_SUPPORTED
0x14
J2610 (Chrysler DRB-III)
ANALOG_IN_SUPPORTED
0x15
Entradas analógicas
FT_CAN_SUPPORTED
0x31
Fault-Tolerant CAN
FT_ISO15765_SUPPORTED
0x32
FT ISO 15765
FD_CAN_SUPPORTED
0x4C
CAN FD
FD_ISO15765_SUPPORTED
0x4D
ISO 15765 mediante CAN FD
ETHERNET_NDIS_SUPPORTED
0x54
Ethernet NDIS (DoIP)
Canales simultáneos
Número de canales que pueden estar abiertos simultáneamente para cada protocolo.
Parámetro
Valor
Protocolo
J1850PWM_SIMULTANEOUS
0x35
J1850 PWM
J1850VPW_SIMULTANEOUS
0x36
J1850 VPW
ISO9141_SIMULTANEOUS
0x37
ISO 9141
ISO14230_SIMULTANEOUS
0x38
ISO 14230
CAN_SIMULTANEOUS
0x39
CAN
ISO15765_SIMULTANEOUS
0x3A
ISO 15765
SW_CAN_SIMULTANEOUS
0x40
SW-CAN
J1939_SIMULTANEOUS
0x44
J1939
TP2_0_SIMULTANEOUS
0x46
TP 2.0
FD_CAN_SIMULTANEOUS
0x4E
CAN FD
FD_ISO15765_SIMULTANEOUS
0x4F
ISO 15765 FD
Asignación de pines J1962
Devuelven la máscara de pines OBD-II utilizados para el protocolo.
Parámetro
Valor
Protocolo
CAN_PS_J1962
0x1F
CAN (Pin 6, 14)
ISO15765_PS_J1962
0x20
ISO 15765 (Pin 6, 14)
ISO9141_PS_K_LINE_J1962
0x1B
ISO 9141 K-Line (Pin 7)
ISO9141_PS_L_LINE_J1962
0x1C
ISO 9141 L-Line (Pin 15)
ISO14230_PS_K_LINE_J1962
0x1D
ISO 14230 K-Line (Pin 7)
ISO14230_PS_L_LINE_J1962
0x1E
ISO 14230 L-Line (Pin 15)
SW_CAN_PS_J1962
0x21
SW-CAN (Pin 1)
J1850PWM_PS_J1962
0x19
J1850 PWM (Pin 2, 10)
J1850VPW_PS_J1962
0x1A
J1850 VPW (Pin 2)
FD_CAN_PS_J1962
0x50
CAN FD (Pin 6, 14)
FD_ISO15765_PS_J1962
0x51
ISO 15765 FD (Pin 6, 14)
Capacidades adicionales
Parámetro
Valor
Descripción
MAX_NON_VOLATILE_STORAGE
0x16
Tamaño de la memoria no volátil (bytes)
SHORT_TO_GND_J1962
0x17
Compatibilidad con la detección de cortocircuito a masa
PGM_VOLTAGE_J1962
0x18
Compatibilidad con la tensión de programación
READ_J1962PIN_VOLTAGE_SUPPORTED
0x52
Compatibilidad con la lectura de tensión en los pines
READ_J1962PIN_VOLTAGE_MAX
0x53
Tensión máxima de lectura (mV)
Parámetros de GET_PROTOCOL_INFO
Parámetro
Valor
Descripción
MAX_RX_BUFFER_SIZE
0x01
Tamaño máximo del búfer de recepción (bytes)
MAX_PASS_FILTER
0x02
Número máximo de PASS_FILTER
MAX_BLOCK_FILTER
0x03
Número máximo de BLOCK_FILTER
MAX_FILTER_MSG_LENGTH
0x04
Longitud máxima del mensaje del filtro (bytes)
MAX_PERIODIC_MSGS
0x05
Número máximo de mensajes periódicos
MAX_PERIODIC_MSG_LENGTH
0x06
Longitud máxima del mensaje periódico (bytes)
DESIRED_DATA_RATE
0x07
Velocidad de transmisión recomendada (bit/s)
MAX_FLOW_CONTROL_FILTER
0x12
Número máximo de FLOW_CONTROL_FILTER
MAX_ISO15765_WFT_MAX
0x13
Valor máximo de ISO15765_WFT_MAX
NETWORK_LINE_SUPPORTED
0x0A
Compatibilidad con la selección de la línea de red
MAX_FUNCT_MSG_LOOKUP
0x0B
Tamaño máximo de la tabla de direcciones funcionales
PARITY_SUPPORTED
0x0C
Compatibilidad con la configuración de paridad
DATA_BITS_SUPPORTED
0x0D
Compatibilidad con la configuración de bits de datos (7/8)
FIVE_BAUD_MOD_SUPPORTED
0x0E
Compatibilidad con los modos de inicialización a 5 baudios
L_LINE_SUPPORTED
0x0F
Compatibilidad con la línea L
CAN_11_29_IDS_SUPPORTED
0x10
Compatibilidad con CAN ID de 11 y 29 bits
CAN_MIXED_FORMAT_SUPPORTED
0x11
Compatibilidad con el formato mixto de CAN
TIMESTAMP_RESOLUTION
0x1B
Resolución de las marcas de tiempo (μs)
FD_CAN_DATA_PHASE_DATA_RATE_SUPPORTED
0x6C
Velocidades de CAN FD compatibles
Ejemplos
GET_DEVICE_INFO — obtención de las capacidades del dispositivo