Good morning
I have a similar issue. The example shared above (with ld_receive_message, diag_get_flag, diag_clear_flag and ld_send_message) seems to work, but sometimes it fails (I get the diag_get_flag, but then the req_data buffer is full of 0s) and sometimes it "crashes" into DefaultISR. I don't understand if there is a better way to manage the diagnostic services, different from polling.
Is it possible to have a more complex example, where more than one UDS is used? For instance the UDS 0x10 (session), 0x34 (download), 0x36 (transfer data) and so on. How to manage more than one UDS? How to manage negative responses for UDS servicese? (in particular how to manage the 0x78 (response pending) negative response? probably negative responses must be "prepared" before sending ld_send_message?).
Could you please provide a feedback as soon as possible? It's very urgent in our development.
Is it possible to be contacted by phone (or through Meet or similar platforms) in order to discuss the topic in detail?
Thank you in advance and kind regards,
Francesco Solito
Hello
I'm referring to the example mentioned in this topic:
https://community.nxp.com/t5/S32K/S32K116-LIN-Diagnostic-Example/m-p/1196377
Anyway I'm asking for general indications about diagnostic services and for a more complex example, where many diagnostic services are used.
I'm using a S32K118 device, I'm developing on S32DS for ARM with SDK RTM 4.0.1.
Thank you and kind regards,
Francesco Solito
Thank you for your reply, but the example you shared is similar to the one in the post I mentioned; it is very simple. If you put more than one UDS you will find many troubles in your example. Anyway I solved in a different way. In particular I don't force variable lenght at each cycle, but only after a diagnostic frame was received (otherwise length is overwritten and you loose the lenght of the incoming diagnostic frame).
Kind regards,
Francesco