With the automotive industry shifting to software as the decisive factor for future vehicles, it is necessary to rethink how this software is developed. Any approach must ensure high quality and cost efficiency. However, most of today’s software in automotive is written in C and C++, which leads to excessive manual and tooling efforts to produce high-quality software.
Player unavailable or embedding blocked? Use the YouTube link above.
PyO3 is used to build dual-language Rust and Python projects. After a brief introduction to the basics, in this tutorial we'll focus on building a Python module with Rust at its core. Along the way we'll learn about the advantages and disadvantages of mixing Rust and Python in this way.
Reasoning through concurrent systems has always been a challenging task. Poor code can be riddled with race conditions, non-terminating cases and other complex concurrency bugs; and even well-written code can be hard to understand. Async programming is an innovative concurrent programming model that rises to this challenge. In this talk, we'll explore reasoning with async Rust. We'll be introduced to its fundamental building blocks, such as `async`, `await`, `join` and `Pin`, and learn how to predict the behavior of code written with them. We'll build on these to simplify more complex concurrency puzzlers. Finally, we'll explore other models of concurrent programming to see how async Rust compares.
The SD Card specification is an interesting example of a protocol which runs over an SPI bus, and provides access to blocks on the disk. We’ll dig into the Embedded Devices Working Group’s “embedded-hal”, which allows us to write an SD Card driver that works with almost any microcontroller and see how we can use Rust types to represent the commands and responses we need to be able to talk to an SD Card and get it initialised. We’ll then look at the Microsoft FAT filesystem, and see how blocks on disk can represent the files and directories we’re familiar with. We’ll then run a few demos to see what we’ve learned in action.