Long Overview

Detailed list of projects with description and extended list of technologies.

Open Source (own projects)

ntpd-setwait

ntpd-setwait is very small program that ensures time is synchronized before ntpd daemon can be started.

Project site: https://ntpd-setwait.bofc.pl

libfo

Library which allows for very easy mocking of POSIX, libc and any other dynamically loaded functions. Library uses special handle RTLD_NEXT for dlsym().

Project site: https://libfo.bofc.pl

librb

Ring buffer implementation which is thread-safe and in the same time small and quick with very little memory footprint with posix-like interface known from read/send functions family. Library was created with embedded devices with limited resources in mind, but it can work with every operating system that implements c89 and pthread (optional dependency).

Project site: https://librb.bofc.pl

embedlog

Logger created with embedded devices with limited resources in mind, which will, of course, work with every operating system that implements c89. Implemented functions among others are, adding timestamps to messages (with different formats), place where log was printed from (file and line number), log level info, colors (depending on message level). Logger can also store logs to file with optional log rotatio - which can be customized for max file size and number of files before oldest logs shall be deleted. Almost all of these functions can be disabled in compile time to save precious memory.

Project site: https://embedlog.bofc.pl

psmq

Very portable and small packet which allows publish-subscribe communication implemented on top of POSIX mqueue. Packet consists of, server/broker which handles communication between clients, library for clients for easy implementation, publish commans which allows to publish messages directly from command line and program to listen and log to file communication on psmq bus.

Project site: httpss://psmq.bofc.pl

kursg

Simple static site generated from markdown and html files. Website is generated based on file structure and only one control file is needed to generate functionl webpage.

Project site: https://kursg.bofc.pl

termsend

Server to allow very easy file sharing without leaving our beloved terminal. To upload files only netcat is needed, and to retrieve files one can manage only with curl. Both binary and text files can be exchanged. It's something like no-paste but from terminal.

Project site: https://termsend.bofc.pl

mtest

Very easy and very simple but sufficient framework for testing in c/c++ or shell using TAP (test anything protocol).

Project site: https://mtest.bofc.pl

builder

Project based on buildroot that generates complete environment for testing c/c++ software on different architectures (arm, mips, x86), many C libraries (gnu, musl, uclibc) and many operating systems (linux, freebsd, netbsd, openbsd, solaris).

nuttx (posix rtos)

port for stm32butterfly2 board, added support for: spi, rs232, ethernet, sd card, adc, console over uart, joystick, usb host

Commercial

bofc.pl

set-top boxes

solar panels and inverter controller

smart shopping label

solar panel controller

engine power

aestethic device

video mixer

memperf

pqtt

lte

embedded c software engineer [10.2015 - 06.2016] (full time)

Projects:

embedded c/c++ software engineer [03.2014 - 10.2015] (full time)

Projects (working under Linux)

embedded c++ software engineer [10.2012 - 03.2014] (full time)

graphical user interface for solar panel cluster controller (group project)

junior C++ software engineer [09.2011 - 10.2012] (full time)

Maintanence and development of raporting module in BST (wcdma)