Skip to content

Category Archives: Projects

cojson – a JSON parser for constrained platforms

Introduction cojson is a C++ pull-type JSON parser/serializer for constrained platforms, such as bare metal applications on low-end MCUs. It does not use memory allocation and has almost no external dependencies. It is not intrusive – it neither forces nor implies any particular design of the application. Instead it adapts to fit any existing application […]

Моторес додаток для Android смартфону

Вступ Бензинові двигуни в косарках, мотоблоках та садових тракторах потребують регулярного обслуговування (заміни оливи, повітряного фільтра, тощо) кожні 20-30 годин роботи. Цей додаток допоможе відстежувати мотогодини в ручному режимі, коли користувач власноруч ініціює події пуску і зупинки, чи у напівавтоматичному режимі через "прислуховування" до шуму. Коли лічильник мотогодин досягне відмітки в графіку обслуговування, додаток відобразить […]

Motores app for Android phones

Introduction Petrol engines used in lawnmowers, tillers, garden tractors require regular maintenance (such as changing oil, air cleaner, etc) every 20-30 hours of runtime. This app helps tracking engine runtime in manual mode, when user initiates start and stop events or in semi-automatic mode by "listening" to the noise. Once engine's runtime reaches a point […]

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 […]

Tablet-friendly web gallery engine

Recently I’ve been looking for a tablet-friendly web gallery engine to browse our family’s photo archive. I’ve googled a lot, read couple dozen of reviews, and finally came up with a short list of five galleries to evaluate. Indeed, managed to install only three of them and, unfortunately, none of them was exact match to […]

Simplescope v1.1 released

This is a maintenance release of the product that includes the following fixes: 1. SISAN v 1.1   1.1. Added SISAM88 hardware schematic   1.2. Fixed TX/RX typo on SISAM690 schematic   1.3. Fixed issue with beam pattern affecting ruler pattern 2. SISAM1 v 1.1   2.1. Fixed diagnostic failure, which made product unusable if high baudrate cannot be set   2.2. Fixed issue with […]

MIHA675 – Multi Input Hall Automaton

Previous examples illustrated VELOOS programming aspects. This post provides an example of using object oriented paradigm for designing VELOOS application. Unlike the previous examples which were purely programming exercises, this example is dedicated to a utilitarian home appliance application and provides a "reference design" for VELOOS applications.

VELOOS Example 3

This example for PIC12F675 implements set of “actuators” and “generators” controlled via USART. Actuators produce one 300 ms pulse when it receives command ‘ON’ and three 100 ms pulses delimited with 100 ms spaces (pauses) on command ‘OFF’. Generators, when turned on, produce pulses and spaces of the specified duration (1..255).

VELOOS 1.0 released

VELOOS is an object-oriented message-triggered cooperative operating system for 8-bit Microchip microcontrollers licensed to public under the Open Software License Release 1.0 includes VELOOS kernel and two timer drivers (TMR0 and TMR2 based). It has been tested on the following devices: PIC12F675, PIC16F690, PIC18F248. Download VELOOS v.1.0