AFaustas

Menu:

This website development is still in progress. No category names jet. Section is not completed.

Browsing simulator

Browsing simulator

This program simulates user activity on the internet. It simulates browsing of various websites, watching Youtube videos, sending and receiving emails (supports TLS/SSL and could be used with GMail account). Also it simulates google'ing with specified queries. Queries occurs at random time in specified range. It stores settings in ini file so it is portable, no installer. It is written with C++ in Windows API and uses OpenSSL library for SSL. I developed this program for VGTU university research project ("Local outlier factor use for the network flow anomaly detection", link: https://onlinelibrary.wiley.com/doi/full/10.1002/sec.1335 ). After we published the article I didn't develop this software further. I gave source code to lecturer but I think nobody worked on it further. It is in beta status. I worked on this during 2014 July and August. This software is abandoned now but if somebody would be interesting I may be continue working on it. I will put it as is on my website as an open source project and I hope somebody will be interested in it.

Rene Search

Rene Search

It can search, highlight text in multiple colors and sort it out. This application should work with PDF files. However, since PDF file format is complicated and limited availability of open source PDF processing libraries the PDF is converted to plain text and HTML files and then they are parsed. For now highlighting is done only on converted plain text but in the future it will be shown on top of the rendered PDF. I developed it in C++ and it uses QtWidgets. It uses WebView2 (a modern Win32 COM control) as an embedded web browser which renders PDFs. It communicates with MS Excel (during export to xlsx) and MS Word (during optional PDF conversion using MS Word) via COM (Qt Activex).

Decision Tree

Decision Tree

I am working on a decision making application. It could be used to create a tree with decisions. This tree could contain thousands of items. When tree is ready, user can navigate it directly or using user-friendly multiple choice dialog. When the final decision is made, the user is presented with a report which contains all their decisions. The tree can contain explanations with pictures. Tree can be exported and imported from MS Excel, TSV. Moreover, "Rene Search" could be used to automate creation of such decision trees by parsing big PDF files (at the moment this is very limited). Trees are stored in SQLITE SQL databases.

For the application I am developing a custom Ribbon toolbar widget (it uses QtWidgets) which I will release later separately under MIT license. To my knowledge, currently other similar ribbons are available only under LGPLv3 or commercial licenses.


Dictionary Editor

Dictionary Editor

This is a small MDI aplication where user can enter or copy and paste data in rows, and then filter that data. MDI interface gives user a convenient way to compare different dictionaries. However, I thing this application is still quite useless. This is a part of Rene Search suite.


MDI Edge

MDI Edge

Few years ago Microsoft made WebView2 COM component accesible for Win32 developers. I think that MDI (Multi Document Interface) interface which went basically extinct in 2000s is actually very convenient when used together with TDI (Tabbed Document Interface). There are more people who think like me. So I decided to combine MDI with WebView 2 and as a result I have MDI web browser. I noticed that some other people have attempted to do a similar thing in the previous decade but their projects died. For this application I used C++20, Win32 API and WebView2. As a result, it is smaller than 1.5 MB.


Firmware for FTMC Magnetic Field Meter

Firmware for FTMC Magnetic Field Meter

This is very strong magnetic field meter (up to 10 Teslas). I worked on firmware development almost alone. Hardware has been developed by other people.

The system has STM32F303 MCU, it can read/write microSD card using FatFS library, uses uGUI for graphics primitives. Firmware is bare-metal (there is no any OS). It does not use any fuel gauge for battery status monitoring, it just measures voltage and get percents from predefined curve in software.



I will add more info later. More info is here.

I left the company because there is really not good place to work as a programmer or an engineer nevertheless they try to prove opposite.


I worked on this project from almost the middle of 2015 until the end of 2017.


Firmware for FTMC Electroporator previewer

Firmware for FTMC Electroporator previewer

FTMC electroporator generates high voltage, very short (lengths of nanoseconds or microseconds) impulses. My firmware has to show waveform of generated impulses. Bicubic interpolation is used (final version currently is not shown in the gallery, perhaps I will find final photos later).

Firmware for FTMC Telemetry Slave

Firmware for FTMC Telemetry Slave

My firmware is only in slave devices. Hardware and other software has been developed by other people. One device is on top of the picture, another on right.

This system has been designed for FTMC accelerator. It measures temperature and humidity.

For the firmware development I had to use mikroC compiler which personally I don't like. Slave devices use PIC16 series microcontrollers and master uses PIC18. Master communicates with slaves using RS485 protocol. Computer receives data from master via USB 2.0.


Work in a private company on a project

I worked from the middle of 2017 to the middle of 2018 in a private company on a project. The project uses embedded Linux. My main responsibility was developing a software component with UI in C. My other responsibilities included:

Simple snake game using WinAPI

Simple snake game using WinAPI

Simple snake game using plain WinAPI and C as a homework project. It is very small executable. It's size is only around 32 KB (BMP and level data are in separate files) and it does not need additional libraries. It draws to screen using GDI.

FM receiver module

FM receiver module

Universal analog digitally controlled FM receiver module. Can receive from 30 MHz to ~600 MHz. It is based on: I don't have experience in professional & high frequency PCB design so I highly relied on reference designs (examples provided by these ICs manufacurers as well as projects which uses these ICs). I designed this PCB using Altium.

Scorebord reverse engineering and modification

Scorebord reverse engineering and modification

It was a freelancing project. One person accidentally bought scoreboards which does not have functionality which he needs. Since schematics and firmware source code was not available I had to reverse engineer the protocol using an oscilloscope. Then I had to design other controller board and write my firmware. I used Atmega8 MCU and AVR-GCC. I used CodeBlocks as an IDE.

I documented the protocol on a paper by handwriting. If I will find it I will share because it is interesting and that protocol is not as easy as I thought before.

Calculator - personal project

Calculator - personal project

It was a personal project for learning MCU programming. I worked on it from 2008 and last update was in 2011. It various functionality but I think it is not very useful:
I developed it in C using ICCAVR compiler and IDE. I used Atmega32 MCU. I abandoned project because since it was my first project I didn't thought that this MCU does not have FPU. FPU emulation needs a lot of memory so I run out of memory and I didn't want to port my code and redesign PCB. Most of work had been done in 2008 and 2009.

NOTE: The picture shows early prototype. I will upload the last one later. The last one has a PCB which I designed using Proteus ARES.

Temperature Control

Temperature Control

Kind of a simple thermostat for my small project.



© Copyleft 2019-2021, Faustas - Ąžuolas Bagdonas

Some rights reserved.