Skip to main content

Command Palette

Search for a command to run...

Projects

Open Source Software

Maintainer

Simple Management Protocol (SMP)

SMP is widely used by embedded systems firmware to provide secure device firmware update (DFU) for MCUBoot.

smp

https://github.com/JPhutchins/smp

Python de/serialization of the Simple Management Protocol.

smpclient

https://github.com/intercreate/smpclient

Python transport layers for the Simple Management Protocol.

smpmgr

https://github.com/intercreate/smpmgr

Windows, macOS, & Linux CLI tool for interacting with embedded systems firmware and performing remote firmware updates "Over the Air" (OTA).

envr

https://github.com/JPHutchins/envr

envr is a self-contained zero-dependency cross-platform script that facilitates specification of environment variables, aliases, and additions to the system PATH.

envr unifies the command line development interface for [Windows, macOS, Linux] * [bash, zsh, powershell].

In a nutshell, your development environments and build systems won't need to maintain separate documentation or scripts for different OS and shells. For example, instead of providing separate instructions to Windows and Linux users for Python venv activation, all users would be directed to activate the environment with envr, which has the same syntax across all supported OS and shell combinations.

Test CMake

https://github.com/intercreate/test-cmake

test_cmake is a unit test framework for CMake projects. That is, it test CMake scripts themselves. Intercreate CMake has an example test suite that runs in GitHub workflows in order to prevent regressions in the CMake scripting.

Intecreate CMake

https://github.com/intercreate/ic-cmake

This CMake package adds build system metadata as both CMake variables and #defines. These are used to package well-named firmware release bundles for distribution.

Intercreate Macros

https://github.com/intercreate/ic-macros

The <ic_macros.h> header is mostly a repackaging of the utility C preprocessor macros found in Zephyr, which in turn tend to come from the Linux Kernel.

The Intercreate Macros project implements:

  • compatibility with any development environment (e.g. no dependency on Zephyr)

  • full cross-platform and cross-compiler test coverage

  • macros are single evaluation by default default

  • "safe" type casting macros 🤷‍♀️

  • comprehensive compile-time operations and assertions

Intercreate Macro Magic

https://github.com/intercreate/ic-macro-magic

Disclaimer: Ideologically, I no longer support attempts to improve C via the preprocessor and instead believe that all effort should go into replacing C entirely. However, some projects are "gonna be C" - still, meta programming like this should be used with extreme care!

The <ic_macro_magic.h> header contains many macros some some consider to be unnatural. It repackages uSHET/cpp_magic.h as well as the Zephyr macro loops and adds unit test coverage.

Required reading: http://jhnet.co.uk/articles/cpp_magic