...
CAN messages will be defined as Protocol Buffers. Protocol buffers are a language-agnostic way for serializing structured data, which ensures that we can define CAN messages and enforce a schema on these definitions. Most projects will deal with CAN messages in their Protobuf representation—that is, aside from the embedded C code, which will use the generated template.
Template Rendering
Templates will be rendered, and then run through clang-format for any formatting fixes. Since this code is generated, clang-format should catch any style issues and fix them.
Not Doing
- Windows support—may be done in the future, but priority is getting it to work on Unix + CI environments
- Validating rendered template output—this is deferred to the compiler