C Development for a Jib Crane

Project: January 2022 – March 2022 (3 months)

Description

Due to the worldwide shortage of microprocessors in the context of the COVID-19 pandemic and possible future discontinuations of the microprocessors in use, the customer is revising its product range. The existing control electronic for pillar- and wall-mounted slewing jibs is ported to a new microcontroller (for which second source types are also available) without reworking the application program itself. The drivers of the Hardware Abstraction Layer (HAL) are newly developed and connected to the existing application program via wrappers.

My task in the project was the development of the drivers and wrappers for ADC, I2C, UART, as well as their commissioning on the (new) target hardware.

Summary

Project C Development for a Swivel Column Crane
Duration January 2022 – March 2022 (3 months)
Customer confidential due to nondisclosure agreement
Industry Sector Industrial Applications / Heavy Duty Cranes
Role / Responsibility Implementation, Code Review, SW Commissioning, Video Calls (100% remeote)
Software / Tools / Methods Eclipse CDT (for Embedded Systems), GCC Compiler for ARM (arm-none-eabi), Microchip MPLAB X IDE and Harmony 3, JIRA (Atlassian)
Hardware Environment dsPIC30F6015, dsPIC30F3013 (Microchip), PIC32CM1216MC00048/00032 (Microchip), ARM EDBG Debugger, SEGGER J-Link, Oscilloscope, Multimeter

Hands On Detection (II)

Project: June 2021 – November 2021 (6 months)

Description

The HOD system is a capacitive measuring system to detect the drivers touch state at the steering wheel to give input to the car (e.g. for automated accelerating, braking and steering in traffic jams on highways). Its safety goal is not to send defectively a wrong touch state.

Defect analysis and repair

  • Investigation of defects and field returns
  • Remediation of software defects
  • Documentation of changes (requirements, design, code, ticket system)

Project interface

  • Participation in meetings with the customer to clarify defects and implementations
  • Participation in internal meetings to clarify defects and implementations

Summary

Project Hands On Detection (II)
Duration June 2021 – November 2021 (6 months)
Customer confidential due to nondisclosure agreement
Industry Sector Automotive
Role / Responsibility Defect Analysis, Software Architecture, Software Design, Implementation, Code Review, Project Interface
Software / Tools / Methods Enterprise Architect (Sparx), IAR Embedded Workbench for RL78, I2C Sniffer (Beagle), LIN CANoe (Vector), JIRA (Atlassian), DOORS (IBM)
Hardware Environment Renesas RL78/F14

CAN User-space Drivers for macOS®

Project: December 2020 – June 2021 (7 months)

Description

There are many companies offering multifarious CAN hardware and CAN software, but only a few of them provide a driver for macOS. In the absence of CAN drivers for macOS, I created several user-space drivers for USB-to-CAN interfaces as open-source projects. The main tasks were support of new hardware, implementation of missing features, realization of a unified API, stabilization and bug fixing. macOS user-space drivers for USB-to-CAN interfaces are available for

  • PCAN-USB Interfaces from PEAK-System
  • TouCAN USB Interfaces from Rusoku
  • CAN Leaf Interfaces from Kvaser

Summary

Project CAN User-space Drivers for macOS (Open-Source)
Duration December 2020 – June 2021 (7 months)
Customer Own development (mac-can.github.io)
Industry Sector Industrial Communication / Field Bus
Role / Responsibility System Specifications, Software Architecture, Software Design, Implementation, Function Tests, Documentation, Social Media
Software / Tools / Methods Enterprise Architect (Sparx), Apple Xcode (clang, x86_64), GoogleTest Framework, Travis CI, Doxygen, GitHub
Hardware Environment PCAN-USB Adapter (PEAK), PCAN-USB FD Adapter (PEAK), PCAN-USB Pro FD Adapter (PEAK), CAN Leaf Light Adapter (Kvaser), CAN Leaf Pro Adapter (Kvaser), TouCAN USB Adapter (Rusoku)

Hands On Detection

Project: November 2019 – November 2020 (13 months)

Description

The HOD system is a capacitive measuring system to detect the drivers touch state at the steering wheel to give input to the car (e.g. for automated accelerating, braking and steering in traffic jams on highways). Its safety goal is not to send defectively a wrong touch state.
Support of the Software Team with the following tasks:

  • Software Architecture ASIL compliance
  • Software Design ASIL compliance
  • Software inspections
  • Software safety analyses

Summary

Project Hands On Detection
Duration November 2019 – November 2020 (13 months)
Customer confidential due to nondisclosure agreement
Industry Sector Automotive
Role / Responsibility Software Architectural Design, Software Inspections (acc. ISO 26262-2018), Joint FuSa Review (with British OEM)
Software / Tools / Methods Enterprise Architect (Sparx), Enterprise Architect VB Script, Python & C# (EA Win32 COM Interface), IAR Embedded Workbench for RL78, JIRA (Atlassian), DOORS (IBM)
Hardware Environment Renesas RL78/F14

Gateway Unit for Filter Fan Unit Systems

Project: September 2019 – October 2019 (2 months)

Description

The fan controllers are networked via RS-485 bus in a hierarchical, multi-level topology. A specific 9-bit protocol (with one wake-up bit) is used. A gateway unit connects the system to the control system via an RS-232 interface. Some systems have been in operation for more than 20 years. Replacement devices for the gateway units are no longer available. The aim of the project was to re-implement the used serial protocols on an evaluation board with a current (ARM-based) microcontroller.

Summary

Project Gateway Unit for Filter Fan Unit Systems
Duration September 2019 – October 2019 (2 months)
Customer confidential due to nondisclosure agreement
Industry Sector Clean Room Technology
Role / Responsibility Software Design, Implementation, Function Tests, Documentation, Order Processing
Software / Tools / Methods Keil uVision 5 (ARM-MDK), Enterprise Architect (Sparx), Git (Distributed Version Control System)
Hardware Environment STM32F072 (ARM Cortex-M0), Rigol Oscilloscope, Multimeter

Active Front Steering

Project: January 2018 – June 2019 (18 months)

Description

Active front steering project for an American automobile manufacturer. Support of the software team in Berlin with the following tasks:

  • Safety Check – Rework of Software Architecture, Gap Analysis, Software Requirements, Test Vectors and Review of Unit Test Cases
  • Rootcausing – Incident Analysis, Impact Analysis, Implementation and Documentation of Software Changes
  • Golden Showcase – Exemplary revision of the software component ‘Steering Wheel Heating’ for takeover in an AutoSAR project
  • Design and implementation of a software for an endurance testbench to record time vs. distance data of a locking unit on USB mass storage (with a sampling rate of 10kHz)
  • Supervision of working students when creating a S-Function wrapper from software architecture

As early as 2012 to 2015, I was involved in the software development of the B-sample and C-sample at this company.

Summary

Project Active Front Steering
Duration January 2018 – June 2019 (18 months)
Customer confidential due to nondisclosure agreement
Industry Sector Automotive
Role / Responsibility Software Design, Implementation, Unit Tests, Code Reviews, static Code Analysis, Issue Analysis (System Level)
Software / Tools / Methods Enterprise Architect (Sparx), GHS C-Compiler (Green Hills), Atollic TrueSTUDIO for STM32, PC-lint (MISRA-C 2004 rules), PolySpace (MathWorks), CANdelaStudio (Vector), CANoe (Vector), DET (Ford), DOORS (IBM), JIRA (Atlassian)
Hardware Environment Freescale MPC5643 Dual-Core Microcontroller, Lauterbach Trace32 Debugger, CAN Interface Board (Vector), STM32F746ZI (ARM Cortex-M7), Light Grid Sensor, Laser Distance Sensor

Connectivity / IoT

May 2017 – December 2017 (8 months)

Description

The customer is one of the world’s leading companies for home appliances and the largest home appliance manufacturer in Europe. Support of the software project team ‘HomeConnect’ in Berlin with the following tasks:

  • Consulting in software development for embedded systems for the control and networking of washers, dryers and washer-dryers
  • Implementation of software architecture and software design
  • Analysis, conception and estimation of new requirements
  • Testing and consultation on the created software

Summary

Project Connectivity / IoT
Duration May 2017 – December 2017 (8 months
Customer confidential due to nondisclosure agreement
Industry Sector Industrial Manufacturer
Role / Responsibility Concept Design, Software Architecture, Software Design, Software Tests, Static Code Analysis, Issue Analysis
Software / Tools / Methods Enterprise Architect, Eclipse, IAR Workbench, Python, Py.test, PC-lint, Serena Dimensions CM, Subversion, BitBucket (git), Atlassian JIRA, JFrog Artifactory
Hardware Environment ‘Simulation’ on PC

Battery Management System

Project: June 2016 – March 2017 (10 months)

Description

The customer was developing an auxiliary energy storage (lithium ion battery) for FMA support (freewheel engine-off), start/stop operation and emergency support. My main tasks in the project were code reviews (based on checklists and coding rules), static code analysis (MISRA-C:2012 with QAC, Polyspace CodeProver, PC-lint), code quality measurements (HIS metrics with QAC and Polyspace BugFinder), justification of deviations, as well as issue analysis (problem reports on system level).

Summary

Project Battery Management System
Duration June 2016 – March 2017 (10 months)
Customer confidential due to nondisclosure agreement
Industry Sector Automotive
Role / Responsibility Concept Design, Software Design, Unit Tests (C1 Coverage), Code Reviews, Static Code Analysis, Issue Analysis
Software / Tools / Methods IBM Rational DOORS (IBM), STAGES Process Management (methodpark), Redmine Project Management (open source), Enterprise Architect (Sparx), QA-C/MISRA (PRQA), PC-lint (MISRA-C), Polyspace (MathWorks), Tessy (Hitex)
Hardware Environment Freescale MPC5606B (Bolero), ASIC Atic157 (proprietary)

UDS-based Communication Stack for Encoders

Project: August 2015 – May 2016 (10 months)

Description

Development of server-side application layer services according to ISO-14229 as part of a platform software for encoders. The work packet includes the following tasks:

  • Definition of software architecture components
  • Capturing the component requirements (in Polarion)
  • Creating the component and class design (in Enterprise Architect)
  • Implementation of source code modules in C, taking into account coding rules for safety-relevant software
  • Performing static code analysis with PC-lint (MISRA-C:2012)
  • Implementation of white-box tests with GoogleTest
  • Continuous Integration (Jenkins)
  • Documentation of the software modules using Doxgen comments and UML diagrams (activity diagrams, sequence diagrams, state charts)
  • Further development of the software architecture and source code modules of the platform software (persistent data memory, firmware update, HAL for SPI, on-chip flash, CRC-32)
  • HAL: code refactoring (Non-STLibrary)

Summary

Project UDS-based Communication Stack for Encoders
Duration August 2015 – May 2016 (10 months)
Customer confidential due to nondisclosure agreement
Industry Sector Industry / Heavy Duty Encoders
Role / Responsibility Software Design, Implementation, Documentation, Code-Reviews
Software / Tools / Methods Polarion ALM (Polarion Software), Enterprise Architect (Sparx), ARM GCC, SCons, Keil uVision 5, PC-lint (MISRA-C)
Hardware Environment STM32F0 (ARM Cortex-M0)

Inductive Coupler with CAN Interface

Project: June 2015 – July 2015 (2 months)

Description

Planning and creating of the firmware for a CAN repeater (quasi-repeater) as a plug replacement for sensor data acquisition in tunnel construction machines. CAN messages are converted to UART to transmit them via an air gap using a FSK modem. To supply the sensors in the drill head, the coupler provides 500mA of current.

Summary

Project Inductive Coupler with CAN Interface
Duration June 2015 – July 2015 (2 months)
Customer confidential due to nondisclosure agreement
Industry Sector Industrial Communication / Field Bus
Role / Responsibility Software Design, Implementation, Function Tests, Documentation, Order Processing
Software / Tools / Methods Atmel SAM4E Microcontroller, Rigol Oscilloscope, Multimeter, CAN Interface Boards (Peak, Vector, IXXAT)
Hardware Environment Atmel Studio (Version 6.2), Enterprise Architect (Sparx)