Systemprogrammierer ingowolf.de
Projekte
aktuelle am Anfang
Datenbanken & Frontends
Branche: Verwaltung
-
Weiterentwicklung von Datenbanken und Frontends zur Rechnungs-Erfassung/Prüfung
-
Anpassung von Perl- und Shell-Im/Export-Skripten an geänderte Standards
-
Erweiterung von Windows-GUIs nach neuen Anforderungen der Sachbearbeitung
-
Anpassung von SQL Business Logik
-
Jira Projektmanagement
Software: MS SQL Server 2017, MS Visual Studio 2017, C++, C#, SQL, Perl, Regex, Jira, Linux Shell Skripte, make, MSYS, Skype Business, Labor Leipzig
Funk-Schlüssel Internet of Things
Branche: Zutrittskontrollsysteme
-
Implementation eines weiteren Funk-Schlüssel-Protokolls in ein Zutrittskontrollsystem
- Einarbeitung in das bestehende Zutrittskontrollsystem
-
Analyse neues Protokoll und Verschlüsselung
- Konzept für Parallelbetrieb neues und altes Protokoll
-
Implementation und Test der Erweiterung
Software: Atmel Studio, C, Git, Wireshark, 802.15.4, Mesh, IoT
Hardware: Atmel ATSAMR21G18A, ATmega128RFA1, AT86RF233, CC2531, 2.4GHz, Labor Leipzig
Medizin Qt Android App
Branche: Medizintechnik
-
Überarbeitung einer Qt Android App zur Parametrisierung eines medizinischen
Trainings-Gerätes, sowie Ablaufsteuerung und Monitoring des Trainings
-
Umsetzen neuer Ergebnisse aus der klinischen Studie in der App
-
Änderung der Ablaufsteuerung / Feedback-Berechnung aus Sensordaten
- Überarbeitung Bluetooth-Handler für Verbindungsstabilität / AutoReconnect
-
Erweiterung der App-Oberfläche um neue Parameter
-
Bugfixing / Optimierung
Software: Qt 5.12, QtQuick, QtCreator 4.8.1, C++, Android Studio 3.3, NDK, Git
Hardware: Android Tab, Bluetooth, Trainingsgerät, Bewegungssensoren, Feedback, Labor Leipzig
Testautomatisierung - Entwicklung von NUnit 3 Tests
Branche: Energieversorgung
- Entwicklung von NUnit 3 Tests in Visual C# zur Validierung eines M-Bus-Parsers gegen die EN13757 Normen
- Generierung von M-Bus-Messages nach Norm als Input für den Parser
- Anpassung einer Python Test Suite zur Generierung von Testdaten
- Prüfung der SQL/JSON Ausgaben für eine Datenbank gegen die Spezifikation
- Test sämtlicher Funk-Protokoll-Layer einschließlich Verschlüsselung
- Test TCP/IP, UDP, HTTP, DNS-Layer des Bus-Ethernet Gateways zur Cloud
- Dokumentation und Fehlerverwaltung im Redmine Projektmanagementsystem
- Alles und Kommunikation in Englisch, da Lieferant nicht deutschsprachig
Software: Visual Studio 2017, C# 7.2, .NET 4.6.1, .NET Core 2.1.5, NUnit 3, Python, JSON, OMS, TCP/IP, UDP, HTTP, DNS, SQL, Git, Redmine
Bootloader mit Echtzeitprotokollhandler
Branche: Telekommunikationslösungen
-
Echtzeitprotokollhandler auf STM32F0, Interface zwischen Echtzeitbus und
nicht echtzeitfähigem Telekommunikationsmodul -
Custom STM32F0 Bootloader mit individueller Boardinitialisierung und
parallelem rudimentären Bushandling während des Updates - Skripte für das UMTS-Modul zum Kommunikationstest mit dem STM-Kontroller
- Linux Arm Server Test-Applikation zum Test des Remote Update via UMTS, TCP/IP, HTTP/UDP, DNS
Software: STM32 Workbench, Arm 32 Compiler, C, Javascript, Node.js, Eclipse, Git, Linux, Cloud
Hardware: STM32F0, ST-Link, Java UMTS Modul, RS485, Torsteuerung, Raspberry Pi, Labor Leipzig
Unit-Testing + Bugfixing Steuerung
Branche: Luftfahrtzubehör
- Bugfixing, Überarbeitung und Inbetriebnahme eines embedded Softwareprototypen mit embedded Linux Touch Steuercomputer und dessen Unit-Tests
- Bugfixing des Unit-Test Frameworks
- Korrektur von Hardware-Simulationen in den Tests entsprechend der realen Hardware
- Test und Analyse der Implementation des Prototypen, Korrekturen
- Dauertests, Provozieren von Störungen in Bussen und Sensoren
- Verbesserung von Fehlerhandlern, Workarounds für Instabilitäten in Hardwareeinheiten
- Überarbeitung der QT5-Applikation für den Touchscreen
- Verbesserung von Optik und Funktionalität von Widgets
- Optimierung der seriellen Verbindungen zu Steuer- und Touch-Kontroller für geringere Latenz
Software:
Windows 10, Simplicity Studio, Ubuntu, Eclipse, Qt 5, Qt Creator/Designer, Yocto, GNU C Intel/Arm, Git, Remote Desktop
Hardware:
TI EFM Arm 32, Lage / Beschleunigungssensoren, I2C, RS232, Logic-Analyser, Custom Arm Linux Board, Touchscreen, Labor Leipzig
Steuersoftware elektromotorischer Industrietisch
Branche: Industrie
- Analyse und Optimierung der Steuersoftware einer elektromotorischen Tripod Tischsäule zur Höhen- und Neigungsverstellung von verschiedenen Tischplatten, teils mit weiteren Motoren für Längsverschiebung und separat bewegbaren Teilsegmenten, vernetzt mit OpenCAN-Bus
- Einarbeitung in komplexen Code, Erweiterung von Logging/Debugging, Performance-Optimierungen
- Windows CAN Tracing App basierend auf Systec Opencan Dll in C#
- Verbesserung von Kollisionsalgorithmen für parallele Multisegmentbewegungen innerhalb der mechanischen Limite und entlang von Kollisionsrändern, Positionsfahrten, Ablaufsteuerungen, Anbindung an Kontroll- und Diagnosesoftware auf Windows-Pcs über USB oder Wlan
- CAN-Tracing, CAN Node-, Fehler- und Lastsimulationen mit Raspberry Pi und Testskripten
- Überarbeitung des CAN Message Scheduling für Latenz / Robustheit
- Source Verwaltung und Dokumentation im Atlassian Jira/Bitbucket/Git System
- Synchronisation von Repositorys, Builds/Tests durch Commithistorie zur Lokalisierung von Fehlern, Systematisierung Änderungsabhängigkeiten in Commitfolge
- Erstellen von Installationspackages mit Linux Buildsystem in VMware
Software:
Windows 7, Visual Studio 2015, Crossworks Arm IDE / GNU C, Eclipse, OpenCAN, Linux Socket CAN, Scilab, MATLAB, VMware
Hardware:
ARM7TDMI-S, ARM Cortex-M4, MCP2515 CAN Controller, Raspberry Pi, Elektromotoren, diverse CANBusteilnehmer
Embedded USB- und FAT32-Treiber
Branche: Industrie
- Optimierung von USB- und FAT32-Treibern von Mikrocontrollern einer Rolltorsteuerung zur Log- und Parameter-Speicherung auf USB-Stick
- Kontroll- und I/O-Prozessor verbunden über SPI mit verteiltem Aufgabenbereich
- Komplexe Multi-Thread/Prio/Prozessor Steuerungssoftware in C / C++ auf Arm
- Python Test/Analyse-Scripte for Beagle USB Logger/Debugger
- USB-Serial-Verbindung zur Parametrisierung via PC, Tests/Optimierung
- Test/Simulation des Parametrisierungsprotokolls mit Python-Scripten
Software: Eclipse, Git, IAR-Compiler/Workbench, Windows, Linux, Active Disk Editor, Python
Hardware: Freescale Kinetis K22, Infineon XMC 4500, Beagle USB Protocol Analyzer
Programmierung von Car-Navigation-Infotainment-Radios
Branche: Automobilzulieferer
- Programmierung von Car-Navigation-Infotainment-Radios
- Multiprozessor-Systeme: Texas Instruments J5 (Cortex A8, Cortex M3 als Can-Bus-Prozessor) + Freescale IMX (Cortex A9) verbunden über PCI Express Bus
- Ansteuerung des proprietären grafischen User-Interfaces vom Autohersteller über proprietäre Interfaces
- Weiterentwicklung des Softwareupdates des Gerätes
- Parallelisierung des Updates von Submodulen zur Zeitersparnis in der Werkstatt
- Optimierung + Verteilung der Update-Threads auf die Prozessoren entsprechend Anbindung der Sub-Devices ( eMMC, Tuner, USB, Bluetooth, EEPROM, Flash )
- Zusammenstellung und Generierung von Notflashbootimages für Fortsetzung nach Stromausfall beim Update des Kernsystems, EmergencyBootHandling
- Test und Debugging der USB-Mirrorlink-Verbindung mit Samsung und Sony-Geräten, MTP-Extension für H.263 Videostreaming über USB
- Nachführung der Softwarearchitekturschemas in Enterprise Architect
- Doxygen Quelltext Dokumentation
System:
Ubuntu-Entwicklungs-Computer, Eclipse, C/C++, Portage, CMake, Jenkins, Arm-Crosscompiler, QNX
Monitoring Heizungssteuerung
-
Protokoll-Analyse/Implementation/Optimierung für Heizungssteuerung MAX ELV
- Langzeiterfassung in MySQL Datenbank
-
Webseite für Monitoring, Statistik und Steuerung
Software:
Wireshark, TCP, Telnet, Maxbuddy, Maxstats, MySQL, PHP5, Apache, Debian, Shell
Android/Linux Kernel-Programmierung
Branche: Mobilfunkprovider
- Android/Linux Kernel-Programmierung im Bereich sichere Telekommunikation, sichere + unsichere Domain auf einem Gerät
- L4Android L4Re Mikrokernel Treiber Portierungen Sensoren
- Licht, Beschleunigung/Rotation, GPS, I2C-Bus, SPI-Bus
- Adaption des Powermanagements auf die Mikrokernelumgebung
- Lasterkennung im Scheduler
- Mikrokerneltreiber für Clock und Voltage-Units des Exynos SoCs
- Reviews und Überarbeitung mit Security Spezialisten zur BSI-Zertifizierbarkeit
- Debugging und Test mit den Applikationen
System:
Ubuntu 10.04, Eclipse, SDK, AVD, NDK, ARM, C/C++, Crosscompiler, Samsung Galaxy S2, VirtualBox
Redesign Cockpit-Interface-Computer
Branche: EADS
- Redesign des Cockpit-Interface-Computers für einen Aircraft Entwicklungs-Simulator mit Linux Einplatinen System Basis
- Auswahl aktuelles Intel-VME-Board mit RedHawk Echtzeit Linux
- Analyse der bestehenden Software auf Altsystem (Suse / QT3-App)
- Einarbeitung in die Simulation, Einrichtung von Testumgebungen
- Portierung der QT3 Konfigurations- und Steuer-Applikation nach QT 4
- Systematisierung der Interfaces zu den Simulationscomputern auf Basis von QT- Frameworks, Implementation neuer Features und GUI-Elemente
- Weiterentwicklung des Prototypen eines Software-DVI-Video-Mischers auf Basis von Video für Linux und OpenGL, Optimierung bis zum Erreichen der erforderlichen Performance zur Mischung des Cockpit-Display-Bilds auf das OTW-Bild vom Image-Generator in Echtzeit und flüssiger Framerate
- Debugging/Erweiterung des CaptureCard-Kernel-Treibers für Linux als Teil des Systems mit dem Hersteller
Software:
Suse Linux, Eclipse, GNU C/C++, QT4, OpenGL, Video for Linux, Subversion, Polarion, XML, XSLT
Hardware:
Echthardware-Cockpit, Linux-Simulations-Host, unterschiedliche Datenverbindungen, Milbus, VME, TCP/IP, Video Capture / Grafikkarte
Integration Flugzeug Cockpit Display Unit
Branche: EADS
- Integration einer original Flugzeug Cockpit Display Unit in einen Flugsimulator für Piloten-Training
- Entwicklung einer Interfacesoftware zur Ansteuerung des Displays über ARINC 429 - serieller Flugzeugbus mittels einer Condor PCI Arinc Karte in C
- Für das Display waren die ARINC-Messages/Protokolle unterschiedlicher Flugzeug-Subsysteme auf mehreren Verbindungen zu emulieren (Flight Management System FMS, Inertial System, Radar, VOR, ILS, ...)
- Dazu war Know How über Funktion, Anbindung und Bedienung der Systeme erforderlich bzw. zu vervollständigen
- Eine Kontrolleinheit war über RS422 mittels eines USB-RS422-Adapters anzubinden, nachgebaute Cockpit-Elemente per CAN-Bus auszulesen
- System- und Integrations-Tests wurden in Groovy implementiert
- Zusammenarbeit mit Mitarbeitern, Zulieferern und Piloten
- Anforderungsbeschreibung in Doors, Dokumentation mit UML
Software:
Linux, Echtzeitkernel, Eclipse, C, Groovy, Subversion, Open Office, Enterprise Architect
Hardware:
Flugsimulator - komplettes Cockpit primär CAN-Bus-vernetzt, 180°-Projektion, Verteiltes System mit Linux- und Windows-Hosts
Mess- und Testverfahren/Software für RFID
Branche: Identifikationssysteme
-
Entwicklung von Mess- und Testverfahren/Software für RFID-
Systeme - Chipkartenleser mit kontaktloser Hochfrequenzabfrage
- Programmierung eines Excel-Sheets zur Messreihenauswertung (Demodulation und Analyse von Hochfrequenz und Basisband-Signalen) und tabelarischer Darstellung von errechneten Signalparametern und deren Normkonformität.
- Konzeption und Implementation eines Software-Tools zur Ansteuerung der Chipkarten-Leser über USB und Erzeugung von Testsignalen gemäss ICAO-Normen und Anbindung von Messgeräten (Mess-Setup, Übertragung zum PC) über verschiedene Schnittstellen (GPIB, Ethernet, VISA) zwecks Automatisierung umfangreicher Messreihen nach Normvorgaben in Visual C++
Software: Windows XP, MS Visual Studio C++, Subversion, MS Excel, NI LabView, Signal Express
Hardware: USB-RFID-Chipkartenleser, Oszilloskope, Frequenzanalyser (Rohde &Schwarz)
Windows-Testapplikation mit Python Scripting zur Testautomatisierung
Branche: Digitalkameras
- Weiterentwicklung einer Windows-Testapplikation zur Ansteuerung von Mikro-Schrittmotoren in Smartphone-Zoom-Kameras mit Borland C++ Builder
- Integration des Python 2.5 Interpreters zur flexiblen Programmierung von Testläufen (Script Umgebung für die Testingenieure)
- Erstellung von Python Extension Modulen in C zur Ansteuerung der Motoren (Python Extending and Embedding)
- Erweiterung der Schrittmotor USB Kontrollboard Firmware (EZ-USB FX2LP Board CY7C68013A 8051 Keil-Umgebung) in C
- Anbindung eines Keyence LKG Lasermessgerätes mittels Python.
- Extension Modul über USB zur Ausmessung von Bewegungen
- Anbindung eines Lichtmengen / Blenden Messgerätes über RS232
- Anbindung eines PicoScope USB Oszilloskops für weitere Messwerterfassungen
- Entwicklung einer Python Script Suite zum Ausmessen / Testen von Kameramodulen, Messdatendatenbank, Fernsteuerung von Excel mit Python über Com zur Messdatenvisualisierung
Software:
Borland C++ Builder, MS Active Script, Python 2.51, Subversion, Windows XP
Hardware:
Minikamera, USB-Oszilloskop, Laser-Distanz- und Lichtmengen-Messgerät
Programmierung von Zubehör für Selectrix-Modellbahn-Feldbus
Branche: Modellbahnzubehör
-
Ansteuerung von Servomotoren zum Stellen von Weichenstraßen,
Signalen, Kränen usw. und eines Schrittmotors in einer Drehbühne entsprechend Steuerinformationen vom Selectrix-Feldbus mit Pic-Mikrocontrollern - Dekodierung des Bus-Signals und Ansteuerung des Schrittmotortreibers, bzw. Erzeugung der PWM-Signale zur Ansteuerung der Servos mit Pics
- Evaluierung von Microchip-Kontrollern zur Ansteuerung von Brushless Motoren als Alternative
- Drehfelderzeugung/Optimierung für Rundlauf/Vibration, PWM, Sinus, Rotorerkennung, A/D
- Parallele Steuerung, enge Timings, Echtzeit, zeitkritische Teile in Assembler
- Implementation der seriellen Kommunikation zur Parametrisierung der Steuerung mittels PC im Pic
- Entwurf und Implementation eines Protokolls zum Firmwareupdate über den Feldbus
-
Weiterentwicklung der PC-Parametrisiersoftware in Delphi, Integration des Firmwareupdates
Software: MPLAB, C, Assembler, Delphi, Subversion
Hardware: PIC16F874A, PIC18F4420, Schrittmotor / treiber (Allegro), BLDC, Servos, RS232
Datenbroadcast über Fernsehsender
Branche: TV/PC-Elektronik
- Programmierung verschiedener Systeme mit C / C++ zur Datenversendung über TV-Sender auf Basis von VBI/Videotext
- Entwicklung / Modifikation von passenden Protokollen, Forward Error Correction (FEC) und einer wesentlich effizienteren Modulation in Zusammenarbeit mit einem Physiker
- Implementation des Sendesystems auf Intel-Host mit embedded Trimedia PCI-Slave-Karte, des Empfangsystems auf Intel-PC mit Brooktree PCI-Videocapturekarte, sowie auf einem Embedded Standalone System (TV-Settopbox)
- Programmierung des Treibers für die Brooktree PC-Videoempfangs-Karte (PCI, DMA, Interrupt, Brooktree-Code)
- Inbetriebnahme und Test der Sendesysteme bei Sendeanstalten, Feldtests
- Portierung für Linux Server System, Kerneltreiber
Software:
Windows, Linux, PSOS, MS Visual C/C++, Sourcesafe, Intel Signalprocessing-Library, GNU C++ / Crosscompiler, MS Office
Hardware:
Intel-CPU/Brooktree-Videocapturechip/PCI-Bus (PC), Philips Trimedia SAA Videoencoder Videodecoder (Embedded), Video-Testgeneratoren, Profi-Bandmaschinen, Logic-Analyser, Oszilloskope, Messgeräte
- Realisierung von seriellen Kommunikationsprotokollen (Modbus, proprietäre) zur Abfrage/Steuerung von Datensammlern und Dateneinspeisung in Echtzeitdatenbank des Prozessleitsystems Flexcontrol unter QNX, lokal und über Fernmodemstrecken.
- Desweiteren einer Schnittstelle vom Prozessleitsystem Flexcontrol über TCP/IP zu Windows DDE zur Prozessdatenvisualisierung mit MS Excel.
Software:
QNX (RT-Unix), Windows, FlexCtrl, Watcom C, MS Visual C++, MS Excel
Hardware:
unterschiedliche Datensammler, Geber und Steuerungen in Automatisierungsanlagen, RS232, serielle Schnittstellen, Modems, Ethernet, TCP/IP
Jahr 2000
Branche: DPAG
- Unterstützung bei Y2K-Projekt in einem großen Logistikzentrum
- Softwareverteilung, Umstellung von Clients, Lösung von Detailproblemen, Mitarbeitereinweisung
Software:
Windows NT, StandardBüro und unterschiedlichste Spezialanwendungen
Windows NT Migration
Branche: Bank
- Installation eines Windows-NT-Netzwerkes in bestehender OS/2-Umgebung
- Know-How-Transfer, Installation und Test von Software zu Fernwartung (Carbon Copy), Datensicherung und Kommunikation (Lotus Notes Server unter NT)
- Einrichtung eines Internetzugangs über ISDN
Software: Windows NT, OS/2-Warp-Connect, MS Office, Lotus Notes, Carbon Copy
Hardware: IBM/Siemens-Server, diverse Datensicherungssysteme
Windows NT Netzwerkadministration
Branche: Institut für Massivbau der Universität Leipzig
- Übernahme eines NT 3.51-Netzwerkes, Konzeption eines neuen 4.0 Netzwerkes
- Server/Client-Installation, Internet-Anbindung, Anbindung Außenstellen, User-Support
- Netzverwaltung, Hardwareinventarisierung mit MS SMS/SQL-Server, Access
System:
Windows NT, NT/WfW/W95-Workstations, Linux, Netwareanbindung
Software:
MS Office, SMS, SQL, Access, Corel, Autocad, diverse andere
Hardware:
HP Server, Cad-Equipment, Fast DV Videoschnittplatz, Fast Ethernet, ISDN
- selbstständige Studien von Microchip Pic-Mikrocontrollern
- Entwicklung eines Adapters zum Anschluß von Funkfernsteuerungen (PPM-Signal) an PC-Flugsimulatoren
- Entwicklung eines Spezial- Protokolls zur Fernkonfiguration des Adapters
- Zeitkritische Parallelabläufe, Interruptsteuerung, Assembler-Optimierung
- Schaltungsdesign, Layout mit Eagle
Hardware: Microchip PIC 16C71
Branchen
- Automotive
- Telekommunikation
- Luftfahrt
- Industrie (Automatisierungstechnik)
- Medizintechnik
- Unterhaltungselektronik
- Modellbahn / bau
- Universität
- Bank
Kompetenzen
- Embedded Entwicklung, performante Anbindung von internen und externen Modulen
- Busse, Kommunikation, Multitasking auf Kleinmikrokontrollern
- Android/Linux Kernel Entwicklung, Virtuelle Treiber
- Implementationsoptimierung für Sicherheitsanforderungen
- Flugsimulatoren speziell Inter-Prozess und Host-Kommunikation und Anbindung von Flugzeug-Avionik über VMEBus, MilBus, ARINC 429 unter Linux RealTime / RedHawk
Ausbildung
Technisches Gymnasium Elektrotechnik