SMS dit: Programming embedded systems in C and C++