08-31-2015 04:33 PM
09-02-2015 03:25 AM
Hey Sachin,
I think you will receive the best answer, if you use the board for LIN communication for your question:
Automotive and Embedded Networks - [CAN, FlexRay, LIN, ECU MC, Diagnostic, I2C, SPI]
http://forums.ni.com/t5/Automotive-and-Embedded-Networks/bd-p/30
Regards, Stephan
09-02-2015 05:14 AM
Hi Sachin,
first of all: good job on using a state machine! However I feel, it might be much more effective if you used a) descriptive names in your enum and b) a typedef. This enables you to update multiple "constants" at once, when you add states.
To your problem: I think the problem is in understanding of the LIN bus. 5 Minutes is a really long time in any bus communication. What does your LDF say about the timing? I would guess the schedule is a lot faster than 5 minute intervals, so my first question would be: What happens in between the "Frames".
Second: What are you refering to as frame? As I said before communication on the LIN happens all the time normally, according to the schedule. This doesn't mean you have to send something or update the signals, it just means that the last value will be sent according to the schedule. So what does "Frame" mean in your case? Just an update to the signal?
Finally, you should take a look at the manual, where they explain about the XNET write modes- Sorry, I can't find the link online, but you should find it by looking up frame out queued in the manual. There they explain how queueing in this case works. If I remember correctly: queued means, that you change the frame and it then gets send when the schedule says it's time.
Also, I think I don't fully understand your problem: Do you not see the frame? have you tried sending the frame with frame output? What is the behaviour you see, that's not what you want?
Best regards,
Pete