Skip to content

Category Archives: Research

Off-target testing embedded projects with STUBMMIO

Introduction Off-target testing - building and running tests "on a development host or build server rather than on the target hardware" . [3] stubmmio is a C++ library for off-target embedded unit tests by stubbing MCU’s MMIO regions on a Linux machine. Memory-mapped I/O (MMIO) is a method of performing I/O through registers, mapped to […]

setof – an iterable set of strongly typed enumerations

This post suggests an implementation of template class setof which facilitates features of a bit set and a forward-iterable container.

Enabling C++ for PSoC projects

PSoC — Programmable System on Chip - is an ARM Cortex based family of MCUs (wiki) by Cypress Semiconductor. Cypress offers developers a dedicated IDE - PSoC Creator. Unfortunately, PSoC Creator, (as of version 4.2) does not support C++, despite the underlying GGC Toolchain (arm-none-eabi-gcc-5.4) has C++ support at descent level. PSoC Creator has an […]

Building OpenSplice DDS for LinkIt Smart 7688 (and other OpenWRT on MIPS)

This post describes how to build OpenSplice DDS for LinkIt Smart 7688 and other OpenWRT targets

Cascaded Configuration Sets for C++1y

Introduction Preprocessor macros are widely used in C++ for configuring reusable modules, targeting different platforms or working around compiler’s differences. Such approach is inherited from C and used even in modern pure C++ libraries, such as boost. The aim of this work is to research on suitability of C++ templates and language features for establishing […]

Simple RJ45-pluggable IR-repeater

Design of this IR-repeater is based on a photo detector TSMP58138 made by Vishay. This detector differs from many others of this kind by the carrier out signal. The datasheet gives a sample circuit for a repeater application. This design offers slightly modified circuit with visual feedback and an implementation in form of a RJ45 […]

Implementing C++ designated initializers with templetized constructor

C99 facilitates support designated initializers: I found this handy feature very useful, since it does not require remembering order of the struct fields and simplifies refactoring and/or evolving of the existing code. C++0X and C++1X does not allow this (please follow this link for more details) This page has inspired me on a practical solution […]

Theoretical aspects of dimming an incandescent lamp

Abstract A dimmer is an electronic device that controls alternate voltage applied to a lamp through delivering a selected portion of the mains sinusoid. Engineer, designing a dimmer needs to estimate how big this portion should be to get a desired luminance level. This article uses a model of incandescent lamp, tungsten resistivity, and human […]

e# roadmap

Refine vision Establish requirements Design a device metamodel

Concept of a new PL for embedded applications

Preface I would like to discuss with you my ideas on new programming language for embedded applications, denoted further as e#. I value your time and therefore in this post I am trying to be short and precise as much as possible.