Message Handling in Embedded: a Declarative, Modern C++ Approach - Michael Caisse - CppNow 2022

Ғылым және технология

Slides: github.com/boostcon
CppNow Website: 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 bashfilms.com/
KZread Channel Managed By Digital Medium Ltd: events.digital-medium.co.uk
#Boost​ #Cpp​ #CppNow​

Пікірлер: 6

  • @MichaelLauerDr
    @MichaelLauerDr2 ай бұрын

    Great content, still a bit over my head, but I will rewatch later.

  • @andysa9
    @andysa9 Жыл бұрын

    Very cool stuff, splitting packets into byte frames and treating them as a single int + nice metaprogramming presentation

  • @simplecases9035
    @simplecases9035 Жыл бұрын

    bitwise structure , does it resects bitfield order and endianness . i mean do we need some different implementation based on endianness of the system ?

  • @barbiani
    @barbiani Жыл бұрын

    Is the library implemented anywhere? Repository link?

  • @MichaelCaisse_ciere

    @MichaelCaisse_ciere

    Жыл бұрын

    A version of it is available in the Intel "compile-time init and build library" : github.com/intel/compile-time-init-build

Келесі