jumpstarter-dev / jumpstarter

http://docs.jumpstarter.dev/
1 stars 2 forks source link

Implement Isotp driver #72

Closed NickCao closed 6 days ago

mangelajo commented 1 week ago

@kirkbrauer I leave it for you to review/merge, I am unfamiliar with this.

kirkbrauer commented 1 week ago

@mangelajo Sure, the gist is that this is a protocol similar to TCP that sits on top of CAN as the base transport. It just allows us to send large "packets" to data such as an image that we flash. Originally, Nick had implemented it as a client-side driver, but the issue is the latency could mess with the stringent timing requirements. The solution was to send the entire payload via gRPC and then rely on the Linux kernel driver (or user space fallback) on the exporter side to keep the timing.