System programmer ingowolf.de
Projects
current at the beginning
Currently: C# .NET FullStack, Visual Studio, Oracle DB, LINQ, Win10
Windows 10 USB driver
Industry: Automotive
- Optimization of USB communication to vehicle interfaces
- Switch to current Windows 10 driver APIs / interfaces
- New USB drivers
- Customization of C++ applications
Software: MS Visual Studio, C++, Windows DDK, Wireshark, USB Tracer
Databases & Front Ends
Industry: Administration
- Further development of databases and frontends for invoice entry/verification
- Adjustment of Perl and shell im/export scripts to changing standards
- Extension of Windows GUIs according to new processing requirements
- Adjustment of SQL business logic
- Jira Project Management
Software: MS SQL Server, MS Visual Studio, C++, C#, SQL, Perl, Regex, Jira, Linux Shell Scripts, make, MSYS, Skype Business
Radio Key Internet of Things
Industry: Access control systems
- Implementation of another wireless key protocol in an access control system
- Familiarization with the existing access control system
- Analysis of new protocol and encryption
- Concept for parallel operation of new and old protocol
- Implementation and testing of the extension
Software: Atmel Studio, C, Git, Wireshark, 802.15.4, Mesh, IoT
Hardware: Atmel ATSAMR21G18A, ATmega128RFA1, AT86RF233, CC2531, 2.4GHz
Medicine Qt Android App
Industry: Medical technology
- Revision of a Qt Android app for parameterizing a medical Training device, as well as process control and monitoring of the training
- Application of new results from the clinical study in the app
- Change of flow control / feedback calculation from sensor data
- Revision Bluetooth handler for connection stability / AutoReconnect
- Extension of the app interface with new parameters
- Bugfixing / Optimization
Software: Qt, QtQuick, QtCreator, C++, Android Studio, NDK, Git
Hardware: Android Tab, Bluetooth, training device, motion sensors, feedback
Test automation - development of NUnit tests
Industry: Power Supply
- Development of NUnit tests in Visual C# to validate an M-Bus parser against EN13757 standards
- Generation of standard M-Bus messages as input for the parser
- Adaptation of a Python test suite to generate test data
- Checking the SQL/JSON output for a database against the specification
- Test of all radio protocol layers including encryption
- Test TCP/IP, UDP, HTTP, DNS layer of the bus Ethernet gateway to the cloud
- Documentation and error management in the Redmine project management system
- Everything and communication in English, as the supplier does not speak German
Software: Visual Studio, C#.NET, NUnit, Python, JSON, OMS, TCP/IP, UDP, HTTP, DNS, SQL, Git, Redmine
Bootloader with real-time protocol handler
Industry: Telecommunications solutions
- Real-time protocol handler on STM32F0, interface between real-time bus and
non-real-time-capable telecommunications module - Custom STM32F0 bootloader with individual board initialization and
parallel rudimentary bus handling during the update - Scripts for the UMTS module to test communication with the STM controller
- Linux Arm Server test application for testing the 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 module, RS485, gate control, Raspberry Pi
Unit testing + bug fixing control
Industry: Aviation Accessories
- Bug fixing, revision and commissioning of an embedded software prototype with embedded Linux Touch control computer and its unit tests
- Bugfixing of the unit test framework
- Correction of hardware simulations in the tests according to the real hardware
- Test and analysis of the prototype implementation, corrections
- Endurance tests, provoking faults in buses and sensors
- Improvement of error handlers, workarounds for instabilities in hardware units
- Revision of the QT application for the touchscreen
- Improving the look and functionality of widgets
- Optimization of serial connections to steering and touch controllers for lower latency
Software: Windows 10, Simplicity Studio, Ubuntu, Eclipse, Qt, Qt Creator/Designer, Yocto, GNU C Intel/Arm, Git, Remote Desktop
Hardware: TI EFM Arm 32, position / acceleration sensors, I2C, RS232, logic analyzer, custom arm Linux board, touch screen
Control software for electromotive industrial table
Industry: Industry
- Analysis and optimization of the control software of an electromotive tripod table column for adjusting the height and inclination of different table tops, some with additional motors for longitudinal adjustment and separately movable sub-segments, networked with the OpenCAN bus
- Familiarization with complex code, extension of logging/debugging, performance optimization
- Windows CAN Tracing App based on Systec Opencan Dll in C#
- Improvement of collision algorithms for parallel multi-segment movements within the mechanical limits and along collision edges, position movements, sequence controls, connection to control and diagnostic software on Windows PCs via USB or WiFi
- CAN tracing, CAN node, error and load simulations with Raspberry Pi and test scripts
- Revision of CAN message scheduling for latency / robustness
- Source management and documentation in the Atlassian Jira/Bitbucket/Git system
- Synchronization of repositories, builds/tests using commit history to localize errors, systematization of change dependencies in commit order
- Creating installation packages with Linux Buildsystem in VMware
Software: Windows, Visual Studio, Crossworks Arm IDE / GNU C, Eclipse, OpenCAN, Linux Socket CAN, Scilab, MATLAB, VMware
Hardware: ARM7TDMI-S, ARM Cortex-M4, MCP2515 CAN controller, Raspberry Pi, electric motors, various CAN bus participants
Embedded USB and FAT32 drivers
Industry: Industry
- Optimization of USB and FAT32 drivers of microcontrollers of a roller door control for log and parameter storage on a USB stick
- Control and I/O processor connected via SPI with distributed task
- Complex multi-thread/prio/processor control software in C/C++ on Arm
- Python Test/Analysis Scripts for Beagle USB Logger/Debugger
- USB serial connection for parameterization via PC, tests/optimization
- Test/simulation of the parameterization protocol with Python scripts
Software: Eclipse, Git, IAR Compiler/Workbench, Windows, Linux, Active Disk Editor, Python
Hardware: Freescale Kinetis K22, Infineon XMC 4500, Beagle USB Protocol Analyzer
Programming of car navigation infotainment radios
Industry: Automotive suppliers
- Programming of car navigation infotainment radios
- Multiprocessor systems: Texas Instruments J5 (Cortex A8, Cortex M3 as Can-Bus processor) + Freescale IMX (Cortex A9) connected via PCI Express Bus
- Control of the car manufacturer's proprietary graphical user interface via proprietary interfaces
- Further development of the software update of the device
- Parallel update of submodules to save time in the workshop
- Optimization + distribution of the update threads to the processors according to the connection of the sub-devices (eMMC, tuner, USB, Bluetooth, EEPROM, flash)
- Collection and generation of emergency flash boot images for power failure recovery when updating the core system, EmergencyBootHandling
- Testing and debugging USB Mirrorlink connection with Samsung and Sony devices, MTP extension for H.263 video streaming over USB
- Tracking of software architecture schemes in Enterprise Architect
- Doxygen source code documentation
System: Ubuntu Development Computer, Eclipse, C/C++, Portage, CMake, Jenkins, Arm Crosscompiler, QNX
Monitoring heating control
- Protocol analysis/implementation/optimization for heating control MAX ELV
- Long-term recording in MySQL database
- Website for monitoring, statistics and control
Software: Wireshark, TCP, Telnet, Maxbuddy, Maxstats, MySQL, PHP, Apache, Debian, Shell
Android/Linux kernel programming
Industry: Cellular Provider
- Android/Linux kernel programming in the field of secure telecommunications, secure + insecure domain on one device
- L4Android L4Re microkernel driver ports sensors
- Light, acceleration/rotation, GPS, I2C bus, SPI bus
- Adaptation of the power management to the microkernel environment
- Load detection in the scheduler
- Microkernel driver for clock and voltage units of the Exynos SoC
- Reviews and revision with security specialists for BSI certification
- Debugging and testing with the applications
System: Ubuntu, Eclipse, SDK, AVD, NDK, ARM, C/C++, Crosscompiler, Samsung Galaxy, VirtualBox
Redesign cockpit interface computer
Industry: EADS
- Redesign of the cockpit interface computer for an aircraft development simulator with a Linux single-board system basis
- Selection of current Intel VME board with RedHawk real-time Linux
- Analysis of the existing software on the old system (Suse / QT app)
- Familiarization with the simulation, setup of test environments
- Porting of the QT configuration and control application
- Systematization of the interfaces to the simulation computers based on QT frameworks, implementation of new features and GUI elements
- Further development of the prototype of a software DVI video mixer based on video for Linux and OpenGL, optimization to achieve the required performance for mixing the cockpit display image to the OTW image from the image generator in real time and smooth frame rate
- Debugging/extending the CaptureCard kernel driver for Linux as part of the system with the vendor
Software: Suse Linux, Eclipse, GNU C/C++, QT, OpenGL, Video for Linux, Subversion, Polarion, XML, XSLT
Hardware: Real hardware cockpit, Linux simulation host, different data connections, Milbus, VME, TCP/IP, video capture / graphics card
Integration Airplane Cockpit Display Unit
Industry: EADS
- Integrating an original aircraft cockpit display unit into a flight simulator for pilot training
- Development of an interface software for controlling the display via ARINC 429 - serial aircraft bus using a Condor PCI Arinc card in C
- For the display, the ARINC messages/protocols of different aircraft subsystems had to be emulated on several connections (flight management system FMS, inertial system, radar, VOR, ILS, ...)
- For this purpose, know-how about the function, connection and operation of the systems was required or had to be completed
- A control unit had to be connected via RS422 using a USB-RS422 adapter, and read out replica cockpit elements via CAN bus
- System and integration tests have been implemented in Groovy
- Collaboration with employees, suppliers and pilots
- Requirements description in Doors, documentation with UML
Software: Linux, real-time kernel, Eclipse, C, Groovy, Subversion, Open Office, Enterprise Architect
Hardware: Flight simulator - complete cockpit primarily CAN bus networked, 180° projection, distributed system with Linux and Windows hosts
Measuring and testing methods/software for RFID
Industry: Identification systems
- Development of measurement and test methods/software for RFID
systems - chip card readers with contactless high-frequency query - Programming of an Excel sheet for the evaluation of measurement series (demodulation and analysis of high-frequency and baseband signals) and tabular display of calculated signal parameters and their standard conformity.
- Design and implementation of a software tool for controlling the chip card reader via USB and generating test signals in accordance with ICAO standards and connecting measuring devices (measurement setup, transfer to the PC) via various interfaces (GPIB, Ethernet, VISA) for the purpose Automation of extensive series of measurements according to standard specifications in Visual C++
Software: Windows, MS Visual Studio C++, Subversion, MS Excel, NI LabView, Signal Express
Hardware: USB-RFID chip card reader, oscilloscopes, frequency analyzer (Rohde & Schwarz)
Windows test application with Python scripting for test automation
Industry: digital cameras
- Further development of a Windows test application for controlling micro stepper motors in smartphone zoom cameras with Borland C++ Builder
- Integration of the Python interpreter for flexible programming of test runs (script environment for test engineers)
- Creation of Python extension modules in C to control the motors (Python Extending and Embedding)
- Upgrade of Stepper Motor USB Control Board Firmware (EZ-USB FX2LP Board CY7C68013A 8051 Keil Environment) in C
- Connection of a Keyence LKG laser measuring device using Python.
- Extension module via USB for measuring movements
- Connection of a light quantity / aperture measuring device via RS232
- Connection of a PicoScope USB oscilloscope for further data logging
- Development of a Python script suite for measuring / testing camera modules, measurement data database, remote control of Excel with Python via Com for measurement data visualization
Software: Borland C++ Builder, MS Active Script, Python, Subversion, Windows
Hardware: Mini camera, USB oscilloscope, laser distance and light quantity measuring device
Programming of accessories for Selectrix model railway fieldbus
Industry: Model railway accessories
- Activation of servomotors for setting routes, signals, cranes, etc. and a stepping motor in a revolving platform according to control information from the Selectrix fieldbus with Pic microcontrollers
- Decoding of the bus signal and control of the stepper motor driver, or generation of the PWM signals for controlling the servos with Pics
- Evaluation of microchip controllers for controlling brushless motors as an alternative
- Rotational field generation/optimization for concentricity/vibration, PWM, sine, rotor detection, A/D
- Parallel control, tight timings, realtime, time critical parts in assembler
- Implementation of the serial communication for the parameterization of the control using a PC in the Pic
- Design and implementation of a protocol for firmware updates via the fieldbus
- Further development of the PC parameterization software in Delphi, integration of the firmware update
Software: MPLAB, C, Assembler, Delphi, Subversion
Hardware: PIC16F874A, PIC18F4420, Stepper Motor / Driver (Allegro), BLDC, Servos, RS232
Data broadcast via TV channels
Industry: TV/PC Electronics
- Programming of various systems with C / C++ for data transmission via TV stations based on VBI/Videotext
- Development / modification of suitable protocols, Forward Error Correction (FEC) and a much more efficient modulation in cooperation with a physicist
- Implementation of the transmission system on an Intel host with an embedded Trimedia PCI slave card, the reception system on an Intel PC with a Brooktree PCI video capture card, and on an embedded standalone system (TV set-top box)
- Programming the driver for the Brooktree PC video reception card (PCI, DMA, interrupt, Brooktree code)
- Commissioning and testing of the transmission systems at broadcasters, field tests
- Port for Linux Server System, kernel driver
Software: Windows, Linux, PSOS, MS Visual C/C++, Sourcesafe, Intel Signal Processing Library, GNU C++ / Crosscompiler, MS Office
Hardware: Intel CPU/Brooktree video capture chip/PCI bus (PC), Philips Trimedia SAA video encoder video decoder (embedded), video test generators, professional tape machines, logic analyzers, oscilloscopes, measuring devices
Serial communication protocols for process control system
Industry: Process control systems
- Realization of serial communication protocols (Modbus, proprietary) for querying/controlling data collectors and data injection into the real-time database of a process control system, locally and via remote modem routes.
- Furthermore, an interface from the process control system via TCP/IP to Windows DDE for process data visualization with MS Excel.
Software: QNX (RT Unix), Windows, Watcom C, MS Visual C++, MS Excel
Hardware: Different data collectors, encoders and controllers in automation systems, RS232, serial interfaces, modems, Ethernet, TCP/IP
Windows Migration
Industry: Bank
- Installation of a Windows network in an existing OS/2 environment
- Know-how transfer, installation and testing of software for remote maintenance (Carbon Copy), data backup and communication (Lotus Notes Server)
- Setting up Internet access via ISDN
Software: Windows, OS/2 Warp Connect, MS Office, Lotus Notes, Carbon Copy
Hardware: IBM/Siemens server, various data backup systems
Windows Network Administration
Industry: Civil Engineering Institute
- Support and development of the Windows network
- Server/client installation, Internet connection, connection to branch offices, user support
- Network management, hardware inventory with MS SMS/SQL server, Access
System: Windows, Linux, Netware connection
Software: MS Office, SMS, SQL, Access, Corel, Autocad, various others
Hardware: HP server, CAD equipment, Fast DV video editing station, Fast Ethernet, ISDN
Microcontroller Circuits and Software
- Autonomous studies of Microchip Pic microcontrollers
- Development of an adapter for connecting radio remote controls (PPM signal) to PC flight simulators
- Development of a special protocol for remote configuration of the adapter
- Time-critical parallel processes, interrupt control, assembler optimization
- Circuit design, layout with Eagle
Software: PIC assembler, programmer, simulator, Eagle
Hardware: Microchip PIC 16C71
Industries
- Automotive
- Telecommunications
- Aviation
- Industry (automation technology)
- Medical technology
- Consumer Electronics
- model railway / construction
- University
- Bank
Education
Studies in computer science/electrical engineering/business administration
Technical High School Electrical Engineering