Message Handling in Embedded: a Declarative, Modern C++ Approach - Michael Caisse - CppNow 2022
Slides: https://github.com/boostcon CppNow Website: https://www.cppnow.org CppNow Twitter: @CppNow --- Message Handling in Embedded: a Declarative, Modern C++ Approach - Michael Caisse - CppNow 2022 A common characteristic of embedded systems is that they have a broad interface surface interacting with many distinct devices. Often the interfaces support a message passing protocol. This is true at the device to device level with implementations on I2C, SPI, and CAN as well as deeply embedded systems communicating within a chip package. Messages usually arrive asynchronously and need to be efficiently parsed. Often the structure and semantics of a message packet depend on the value of a series of bits within the message. In event driven designs, messages are filtered and routed to proper handlers. This talk will dive into a declarative approach to solving common problems with message handling: bit mapping fields, filtering, and dispatching to handlers. The solution is sensitive to small footprint embedded targets yet fairly flexible. We will build up the basic idioms employed in the solution, look at some language gotchas and options, and end our spelunking with a performance critique. While the application is for a deeply embedded device, the message handling is applicable to bit-field aggregated message formats and the techniques are useful in declarative libraries. I hope you will join me as we explore this C++17 library. --- Michael Caisse --- Videos Filmed & Edited By Bash Films https://bashfilms.com/ YouTube Channel Managed By Digital Medium Ltd: https://events.digital-medium.co.uk #Boost #Cpp #CppNow

Keynote: Employing Senders & Receivers to Tame Concurrency in C++ Embedded Systems - Michael Caisse

C++Now 2018: Michael Caisse “Modern C++ in Embedded Systems”

Branchless Programming in C++ - Fedor Pikus - CppCon 2021

Modern C++: C++ Patterns to Make Embedded Programming More Productive - Steve Bush - CppCon 2022

Cost of C++ Abstractions in C++ Embedded Systems - Marcell Juhasz - CppCon 2024

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

Composition on Tiny Embedded Systems in C++ - Luke Valenty - CppNow 2023

C++ for Embedded Development

CppCon 2018: Michael Caisse “Modern C++ in Embedded Systems - The Saga Continues”

C++ in the World of Embedded Systems - Vladimir Vishnevskii - ACCU 2022

Luke Valenty - High-Performance Message Dispatch in C++ - emBO++ 2023

Writing better embedded Software - Dan Saks - Keynote Meeting Embedded 2018

Casey Muratori – The Big OOPs: Anatomy of a Thirty-five-year Mistake – BSC 2025

What is Low Latency C++? (Part 1) - Timur Doumler - CppNow 2023

The Cost of Concurrency Coordination with Jon Gjengset

Keynote: What can C++ do for embedded systems developers? - Bjarne Stroustrup

Programming in Assembly without an Operating System

Using C++14 in an Embedded “SuperLoop” Firmware - Erik Rainey - CppCon 2022

Once You Understand it, You Will Think Everything Else is Silly - Toyota E-CVT

