2013-2016
Rolle: Software Entwickler & Abteilungsleiter
Kunde: Electronic Design Chemnitz GmbH
Aufgaben
2009 - 2013
Rolle: Werkstudententätigkeiten & Abschlussarbeiten
Aufgaben
Qyro, ASIC Entwicklungs Werkzeug, closed-source
Als Unterstützung für die ASIC Entwicklung bei EDC habe ich ein Werkzeug zum Register lesen und schreiben entwickelt,
das über SPI (mit einem FDTI Modul) kommuniziert. Da die meisten ASICs für Sensoren entwickelt wurden benötigte die
Software hohe Datenraten und Visualisierung. Zusätzlich habe ich ein Plugin-System gebaut, damit immer die richtige ASIC
Bibliothek geladen wird und einen Json-Rpc Server für Skript- Erweiterungen. Letzterer hatte APIs in C# (für LabVIEW Import), Python und Java (für Matlab).
Technologien
C++, Qt, qwt, FTDI/SPI, Json-Rpc, Python, Java, C#
boost.process
Ich habe 2016 die Entwicklung von boost.process übernommen und sowohl das Interface als auch einen Großteil der Implementation überarbeitet, ohne das grundlegenden Design zu verwerfen. Die eigentliche Herausforderung war die Schnittmenge an Funktionen und Konzepten beider Plattformen (Windows und Linux) zu finden um eine portable Bibliothek zu gestalten. Die Bibliothek ist Teil von boost 1.64 oder kann hier gefunden werden und ich habe bei Cpp Cast darüber gesprochen.
Technologien
C++11, boost.asio, posix, win-api
mw.test
Als Teil meiner eigenen Unternehmensgründung programmiere ich gerade einige Werkzeuge für das Test von Mikrocontroller Software. Die grundlegende Idee ist so viel wie möglich durch den Debugger erledigen zu lassen, weshalb der Kern der debuggerrunner ist, d.h. ein Programm, dass den Debugger automatisch ausführt und mit ihm kommuniziert. Das beste Beispiel dafür ist unser Test backend, dass ohne debuggerrunner ein einfaches binäres Resultat abliefert, mit jedoch alle verfügbare Information ausgibt. Das Projekt ist aktuell in alpha und hier zu finden.
Technologien
C++14, gdb, unit-tests, ld, pegtl, python
Experimentelles Messsystem, Inhalt vertraulich
Zur Entwicklung eines experimentellen Messverfahrens, habe ich eine Controller Software in C geschrieben, die hohen Anforderungen wie Echtzeit genügen musste. Der Code war stellenweise derart optimiert, dass auch Assembler Befehle zählen mit zum Aufgabenfeld gehörte.
Technologien
C, stm32f4, Keil Vision
Mikro- und Nanoelektronik
Automatisierungstechnik
Interessen:
? Modernes C++
? Controller programmierung
? System programmierung
? Template Programmierung
? Build Systeme
Sprachen
Boost, pybind11, Qt, gcc, clang, boost, build
Open-Source Beiträge
2013-2016
Rolle: Software Entwickler & Abteilungsleiter
Kunde: Electronic Design Chemnitz GmbH
Aufgaben
2009 - 2013
Rolle: Werkstudententätigkeiten & Abschlussarbeiten
Aufgaben
Qyro, ASIC Entwicklungs Werkzeug, closed-source
Als Unterstützung für die ASIC Entwicklung bei EDC habe ich ein Werkzeug zum Register lesen und schreiben entwickelt,
das über SPI (mit einem FDTI Modul) kommuniziert. Da die meisten ASICs für Sensoren entwickelt wurden benötigte die
Software hohe Datenraten und Visualisierung. Zusätzlich habe ich ein Plugin-System gebaut, damit immer die richtige ASIC
Bibliothek geladen wird und einen Json-Rpc Server für Skript- Erweiterungen. Letzterer hatte APIs in C# (für LabVIEW Import), Python und Java (für Matlab).
Technologien
C++, Qt, qwt, FTDI/SPI, Json-Rpc, Python, Java, C#
boost.process
Ich habe 2016 die Entwicklung von boost.process übernommen und sowohl das Interface als auch einen Großteil der Implementation überarbeitet, ohne das grundlegenden Design zu verwerfen. Die eigentliche Herausforderung war die Schnittmenge an Funktionen und Konzepten beider Plattformen (Windows und Linux) zu finden um eine portable Bibliothek zu gestalten. Die Bibliothek ist Teil von boost 1.64 oder kann hier gefunden werden und ich habe bei Cpp Cast darüber gesprochen.
Technologien
C++11, boost.asio, posix, win-api
mw.test
Als Teil meiner eigenen Unternehmensgründung programmiere ich gerade einige Werkzeuge für das Test von Mikrocontroller Software. Die grundlegende Idee ist so viel wie möglich durch den Debugger erledigen zu lassen, weshalb der Kern der debuggerrunner ist, d.h. ein Programm, dass den Debugger automatisch ausführt und mit ihm kommuniziert. Das beste Beispiel dafür ist unser Test backend, dass ohne debuggerrunner ein einfaches binäres Resultat abliefert, mit jedoch alle verfügbare Information ausgibt. Das Projekt ist aktuell in alpha und hier zu finden.
Technologien
C++14, gdb, unit-tests, ld, pegtl, python
Experimentelles Messsystem, Inhalt vertraulich
Zur Entwicklung eines experimentellen Messverfahrens, habe ich eine Controller Software in C geschrieben, die hohen Anforderungen wie Echtzeit genügen musste. Der Code war stellenweise derart optimiert, dass auch Assembler Befehle zählen mit zum Aufgabenfeld gehörte.
Technologien
C, stm32f4, Keil Vision
Mikro- und Nanoelektronik
Automatisierungstechnik
Interessen:
? Modernes C++
? Controller programmierung
? System programmierung
? Template Programmierung
? Build Systeme
Sprachen
Boost, pybind11, Qt, gcc, clang, boost, build
Open-Source Beiträge
Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.