I designed a LIN-LIN gateway with S32K144(IDE is S32DS for ARM 2.2), LIN1 worked as slave, LIN2 as master. Some of the frames recieved by LIN1 should be forwarded to slaves via LIN2, but I found when go-to-sleep frame is received, LIN2 can NOT send it out to slaves, any suggestions?
Solved! Go to Solution.
Hi,
When LIN1 receives a go-to-sleep frame, your gateway firmware should detect this frame (by ID and content). Then, manually trigger LIN2 to send a go-to-sleep frame using its master schedule or via an API call (e.g., LIN_DRV_GoToSleepMode()).
If LIN2 uses a schedule table, add a conditional entry that sends a go-to-sleep frame when a flag is set. Set this flag in your gateway logic when LIN1 receives the sleep frame.
LIN stack may not allow sending go-to-sleep frames dynamically unless the bus is idle or in a specific state. Make sure
- LIN2 is not busy or in an error state.
- You’re not trying to send the frame during an ongoing schedule.
BR, Petr
Hi,
When LIN1 receives a go-to-sleep frame, your gateway firmware should detect this frame (by ID and content). Then, manually trigger LIN2 to send a go-to-sleep frame using its master schedule or via an API call (e.g., LIN_DRV_GoToSleepMode()).
If LIN2 uses a schedule table, add a conditional entry that sends a go-to-sleep frame when a flag is set. Set this flag in your gateway logic when LIN1 receives the sleep frame.
LIN stack may not allow sending go-to-sleep frames dynamically unless the bus is idle or in a specific state. Make sure
- LIN2 is not busy or in an error state.
- You’re not trying to send the frame during an ongoing schedule.
BR, Petr