Embedded Systems Weekly #115
Tags: cpp, c, embeddedsystems, embedded
Published: 2022-08-26 14:32:31

Happy Friday embedded systems enthusiastic! In this new issue, you'll read content about the CAN bus or the Ada programming language and, of course, about C++. I hope you'll like the selection I do for you.

If you appreciate my work, please, talk about the newsletter with your coworkers, friends or even partner! It means everything to me. Happy reading!

## Articles 
[Defending Controller Area Network (CAN) Buses](https://www.ndia-mich.org/images/events/gvsets/2022/Papers/cgs/Defending%20Controller%20Area%20Network%20Buses.pdf)
All or most of all the ground vehicles use CAN bus for their ECUs connection network. In cars, tractors or army vehicles, CAN bus does is job perfectly. Unfortunately, he has no built-in protections against malicious attacks. This paper, written by Kenneth Tindell (specialist of CAN), gives guidelines on how to proactively defend your next design. For those who prefer video presentations, Kenneth produced a four-part video series on Youtube: [Defending CAN bus](https://youtube.com/playlist?list=PLUK9gNqk6nQxoNGavGxk1NdqCQmDqKPK2).

[C++17’s Useful Features for Embedded Systems](https://medium.com/@caglayandokme/c-17s-useful-features-for-embedded-systems-3322bee83541)
If you are in the position to build an argument to migrate a code base from C++11 to C++17, this article is going to give you dozens of arguments. The development team of the author specialised in the defense and security did it, and he is sharing the advantages he discovered along the path.

[An illustration of good taste in code](https://felipec.github.io/good-taste/parts/1.html)
We definitely address a point of conflict here. Nevertheless, I believe that this article in three parts ([part 2](https://felipec.github.io/good-taste/parts/2.html), [part 3](https://felipec.github.io/good-taste/parts/3.html)) is doing a great job at explaining how a correct piece of code can become an elegant piece of code.

[The Unreasonable Effectiveness of Makefiles](https://matt-rickard.com/the-unreasonable-effectiveness-of-makefiles)
Like every year, every month it's always a good moment to take a step back on make: our venerable build automation tool (makefile forever!)

[Introduction to Ada](https://learn.adacore.com/pdf_books/courses/intro-to-ada.pdf)
Definitely the best resource for anyone who wants to start with Ada. On another hand, C, C++ and Rust developers should take the time to discover Ada and his advantages by themselves.

## News / Business
[A new jailbreak for John Deere tractors rides the right-to-repair wave](https://arstechnica.com/information-technology/2022/08/a-new-jailbreak-for-john-deere-tractors-rides-the-right-to-repair-wave/)
More and more manufacturers lock their product to try to own the entire lifecycle of what they sell. The reasons behind this practice, good or bad, are not to be discussed here. However, it is impossible to deny the right-to-repair of the buyers. European laws will probably make it a non-negotiable consumer right. Meanwhile, we are witnessing this fascinating battle between manufacturers and hackers.

## Jobs
[char.gy, Head of Hardware Engineering, Full-time, England, United Kingdom (Open to remote)](https://jobs.embedsysweekly.com/job/mopezk2K/head-of-hardware-engineering)
char.gy is an electric vehicle charging service. We design and manufacture the hardware, and write the software that communicates with the charge points and that the customers use to charge their car

## Misc
[Joint Strike Fighter: Air Vehicle C++ coding standards for the system development and demonstration program](https://www.stroustrup.com/JSF-AV-rules.pdf)
I was curious to discover what are the C++ coding rules followed to code the famous F35. In the end, it's an interesting extension/adaptation of the MISRA rules. Although the document dates from 2005, it still has value today.