Equipment-and-Tool-Institute / j1939-84

J1939-84 implementation for etools.org
MIT License
7 stars 6 forks source link

Tool Failing for NACK sent before Request #1215

Closed anthonyhbest closed 4 months ago

anthonyhbest commented 1 year ago

Tool fails for a NACK response in DM58, but the timestamp for the NACK is before the request message is sent out:

image

ASC Log: image

ericthomasswenson commented 1 year ago

Joe, will check the log.

battjt commented 1 year ago

Can I get the complete log? What is the ECM NACKing at 49.176164?

anthonyhbest commented 1 year ago

@battjt Are you looking for the full test report or the full .asc log?

battjt commented 1 year ago

The .asc log.

The process the tool uses for each request is:

  1. start collecting all packets
  2. send request
  3. search collection for response or appropriate NACK until timeout.
  4. stop collecting
  5. report results
  6. repeat

It is possible that the tool picked up the NACK to the previous request as the NACK for this request (essentially the NACK for the previous request was received between steps 1 and 2), but that points to an error in the previous request. I'm interested in why that NACK wasn't processed during the previous request sequence.

A processing step that we can put in is to ignore all packets collected up to the request. This change would only ignore this NACK, which may be covering up another error.

anthonyhbest commented 1 year ago

.asc log provided today.

battjt commented 1 year ago

The change will take a lot of effort to work for requests that require TP, but I don't know of any that are used in -84.

I was able to implement this change for requests that do not require TP. The response may require TP.

The response stream is filtered for responses after the sent packet echoed back from the adapter.

Unsolicited NACKs may still interfere with the test, but will be less likely.