Imprint

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