RP1210 Tx/Rx Messages not processed by RP1210_Test.exe and PCAN-View as anticipated
Posted: Fri 1. Sep 2023, 00:21
The problem described below occurs with software I have written.
However, the issue is detailed using RP1210_Test.exe to remove any concerns as to the code base, so as to assist with root cause investigation.
Description:
Issue: Messages not received or transmitted between RP1210_Test.exe and PCAN-View as anticipated.
Limited message exchange can be initiated by starting a second instance of RP1210_Test.exe. An external CAN device will enable all message behaviours as anticipated.
System Configuration:
CAN: J1939 CAN 2.0B 250 kbits/s
O.S. Windows: 11 64 bit
Product: PCAN-USB firmware 5.1.1 Driver version 4.4.0
Software: PCAN-View version 5.1.0.887 (x64)
RP1210: PCAN-RP1210 C (ReadMe.txt 26/05/2023)
Application: RP1210_Test.exe
Steps to reproduce behaviour:
1) Start PCAN-View
2) Connect to PCAN-USB: Device Id 0h Settings default 250 kbit/s Extended
3) Configure an Extended address 8 byte message frame transmitted at 10 ms intervals - any content
4) Start RP1210_Test.exe
5) Select PEAKRP32
6) Select SAE J1939 Protocol
7) Select (1) PEAK-System CAN Adaptor
8) Select Baud rate (Auto)
9) Channel remains as 1
10) Press OK
11) Connect
12) Set Message Option to 'Include' and 'Accept All messages (open) and Apply
Note that no messages are received.
13) Open a second copy of RP1210_Test.exe using the same SAE J1939 protocol (it does not matter if the filter is set.
14) Press the connect button
15) Press the disconnect button
Note that messages are now received.
Additional information:
If a single powered CAN J1939 device which defaults to transmitting messages is connected to the PCAN-USB. The application RP1210_Test.exe receives both the device broadcasts and the messages from PCAN-View. i.e. it is not necessary to start a second copy of RP1210_Test.exe to enable communication. If the device is powered off the application RP1210_Test.exe stops receiving messages from any source.
The following error message is received if a single transmitted message attempt is before unblocking via a second RP1210_Test.exe instance.
Code 159
Returned if blocking is used and the message was not sent.
The following error message is received if a single transmitted message attempt is made following unblocking via a second RP1210_Test.exe instance.
Code 137
'API DLL’s transmit message queue is full.'
The single message is in fact transmitted to PCAN-View
Desired behaviour:
It is preferable that it is not necessary to start a second copy of RP1210_Test.exe to enable communication with PCAN-View. That the application receives messages without a powered external CAN device. That the application continues to receive messages from PCAN-View if the external CAN device(s) are disconnected. That the application sends messages to PCAN-View without need for a powered CAN device attached.
Question:
1) Should the first RP1210_Test.exe session send and receive messages from PCAN-View without any other actions?
2) Should the operation follow the desired behaviour described?
The same process allows my code to function, though only via using the application RP1210_Test.exe to enable the communication. Not by any code method I have been able to implement. External hardware allows communication as anticiapted. (Point the debug RP1210_ClientConnect(0,1,'J1939:Channel=1',0,0,0): 1 message 'J1939:Channel=1' does not connect in my code. My code uses the 32 bit PEAKRP32 dll version).
However, the issue is detailed using RP1210_Test.exe to remove any concerns as to the code base, so as to assist with root cause investigation.
Description:
Issue: Messages not received or transmitted between RP1210_Test.exe and PCAN-View as anticipated.
Limited message exchange can be initiated by starting a second instance of RP1210_Test.exe. An external CAN device will enable all message behaviours as anticipated.
System Configuration:
CAN: J1939 CAN 2.0B 250 kbits/s
O.S. Windows: 11 64 bit
Product: PCAN-USB firmware 5.1.1 Driver version 4.4.0
Software: PCAN-View version 5.1.0.887 (x64)
RP1210: PCAN-RP1210 C (ReadMe.txt 26/05/2023)
Application: RP1210_Test.exe
Steps to reproduce behaviour:
1) Start PCAN-View
2) Connect to PCAN-USB: Device Id 0h Settings default 250 kbit/s Extended
3) Configure an Extended address 8 byte message frame transmitted at 10 ms intervals - any content
4) Start RP1210_Test.exe
5) Select PEAKRP32
6) Select SAE J1939 Protocol
7) Select (1) PEAK-System CAN Adaptor
8) Select Baud rate (Auto)
9) Channel remains as 1
10) Press OK
11) Connect
12) Set Message Option to 'Include' and 'Accept All messages (open) and Apply
Note that no messages are received.
13) Open a second copy of RP1210_Test.exe using the same SAE J1939 protocol (it does not matter if the filter is set.
14) Press the connect button
15) Press the disconnect button
Note that messages are now received.
Additional information:
If a single powered CAN J1939 device which defaults to transmitting messages is connected to the PCAN-USB. The application RP1210_Test.exe receives both the device broadcasts and the messages from PCAN-View. i.e. it is not necessary to start a second copy of RP1210_Test.exe to enable communication. If the device is powered off the application RP1210_Test.exe stops receiving messages from any source.
The following error message is received if a single transmitted message attempt is before unblocking via a second RP1210_Test.exe instance.
Code 159
Returned if blocking is used and the message was not sent.
The following error message is received if a single transmitted message attempt is made following unblocking via a second RP1210_Test.exe instance.
Code 137
'API DLL’s transmit message queue is full.'
The single message is in fact transmitted to PCAN-View
Desired behaviour:
It is preferable that it is not necessary to start a second copy of RP1210_Test.exe to enable communication with PCAN-View. That the application receives messages without a powered external CAN device. That the application continues to receive messages from PCAN-View if the external CAN device(s) are disconnected. That the application sends messages to PCAN-View without need for a powered CAN device attached.
Question:
1) Should the first RP1210_Test.exe session send and receive messages from PCAN-View without any other actions?
2) Should the operation follow the desired behaviour described?
The same process allows my code to function, though only via using the application RP1210_Test.exe to enable the communication. Not by any code method I have been able to implement. External hardware allows communication as anticiapted. (Point the debug RP1210_ClientConnect(0,1,'J1939:Channel=1',0,0,0): 1 message 'J1939:Channel=1' does not connect in my code. My code uses the 32 bit PEAKRP32 dll version).