UDS_Initialize_2013 Return code 0x80000200

A free API for the communication with control devices according to UDS (ISO 14229-1)
Post Reply
jbert33
Posts: 1
Joined: Thu 2. Jun 2022, 20:06

UDS_Initialize_2013 Return code 0x80000200

Post by jbert33 » Thu 2. Jun 2022, 20:13

I am attempting to incorporate the PCAN_UDS API into LabVIEW. While I am able to initialize the PCAN-USB hardware we are most likely to use for the foreseeable future, I'd like to incorporate error handling for any future applications. When I try to initialize other hardware (PCI, LAN, PCC, other USB channels I'm not using) I get cantp_status = 0x1 (PCANTP_STATUS_NOT_INITIALIZED); what I would expect given I don't have that hardware. However, when I attempt to initialize an ISA or DNG bus I get return code 0x80000200 which I do not see documented as a valid cantp_status value. For my application I may just be able to ignore this as I do not see using these devices but I am wondering why this return value is not documented and if I am missing something fundamental?

K.Wagner
Software Development
Software Development
Posts: 1082
Joined: Wed 22. Sep 2010, 13:36

Re: UDS_Initialize_2013 Return code 0x80000200

Post by K.Wagner » Fri 3. Jun 2022, 08:11

Hello,
jbert33 wrote:
Thu 2. Jun 2022, 20:13
When I try to initialize other hardware (PCI, LAN, PCC, other USB channels I'm not using) I get cantp_status = 0x1 (PCANTP_STATUS_NOT_INITIALIZED); what I would expect given I don't have that hardware.
This is because you have the driver for those devices installed on your system. Note that the PEAK Drivers setup installs all Plug&Play drivers. So, for the API, you just don't have a hardware connected, because the driver for it is active.
jbert33 wrote:
Thu 2. Jun 2022, 20:13
However, when I attempt to initialize an ISA or DNG bus I get return code 0x80000200 which I do not see documented as a valid cantp_status value
ISA and DNG are non-Plug&Play devices, and for those there are also no driver installed (there is an extra setup for them, called Legacy Drivers). For this reason you get an error from the network layer, the flag 0x80000000 (PCAN-Basic), stating that the driver for it is not loaded (0x200).
jbert33 wrote:
Thu 2. Jun 2022, 20:13
code 0x80000200 which I do not see documented as a valid cantp_status value
It is documented. Also note that this type is a flag and can have several values combined. You can see this in the docuemntation of uds_status:
UDS_Status.PNG
UDS_Status.PNG (47.17 KiB) Viewed 1664 times
Added to this, you can see following in all header files (this is from the C++ header file):
UDS_Flags.PNG
UDS_Flags.PNG (18.03 KiB) Viewed 1664 times
UDS_PCAN_Flag.PNG
UDS_PCAN_Flag.PNG (20.03 KiB) Viewed 1664 times
PCAN_NotLoaded.PNG
PCAN_NotLoaded.PNG (32.5 KiB) Viewed 1664 times
I hope this is more clear now.
Best regards,
Keneth

Post Reply