Hako Streamlines ECU Software Development with Acam and Sumac

How a leading manufacturer of industrial cleaning machines automated full signal visibility and parameter tuning without a debugger. 

About Hako
Hako is a German manufacturer of professional cleaning and municipal technology, headquartered in Bad Oldesloe. Their product range spans walk-behind and ride-on sweepers, scrubber-driers, and street cleaning vehicles. Behind each machine is increasingly sophisticated embedded software — and with it, the challenge of managing ECU development on a scale.

The Challenge
Modern cleaning machines rely on electronic control units that coordinate sensors, actuators, and software logic across complex systems. For Hako’s software team, this means navigating the full embedded development cycle: systems engineering, requirement management, writing code, validating behavior, calibrating parameters—all without slowing down iteration.

Two persistent pain points stood out: the manual overhead of generating and
maintaining A2L files, and the difficulty of observing runtime behavior without relying on a hardware debugging interface.

Acam: A2L Generation Without the Overhead  
Hako addressed the A2L challenge by integrating Acam directly into their CMake build system.

“We integrated Acam into our CMake project, so A2L generation is fully automated,”
says Thomas Kucharczyk, Software Developer at Hako. “In general, Acam makes the A2L generation flawless.”

With Acam’s a2l annotation, developers mark variables for measurement or calibration directly in source code. There is no manual file editing, no configuration dialogs — just a standard build that produces a ready-to-use A2L.

“The @a2l on comment makes measurement and calibration generation headache-free. No clicking or manual manipulation is necessary — just hit build and you’ll get an A2L. As a bonus Acam’s annotations are fully compatible with Doxygen.” 

Sumac: Seeing What the Software Sees

With A2L generation handled, Sumac gave Hako’s team the signal visibility they needed during development and validation.

“We use Sumac to see what the software sees, without using a debugging interface,” explains Mr. Kucharczyk.

In practice, this means using Yt-Scope to analyze state machine behavior and trace variable inputs and outputs in real time. The team verifies software initialization against the ECU’s basic software, checks that sensor signals behave as expected, and validates prototype harnesses — for example, confirming that temperature measurements respond correctly.

Where traditional debugging might expose only a handful of variables, Sumac opens an order of magnitude more signals simultaneously. It also unifies CAN and XCP communication on a single interface, supporting both legacy CAN signals and modern XCP-based measurements on the same bus. When a new build changes to the A2L, Sumac detects it automatically.

A screenshot of Sumac in action is visible below

 

Key Benefits 
• Fully automated A2L generation integrated into CMake
• Human-readable enum labels in place of raw numeric values
• Real-time signal observation without a hardware debugger 
 • State machine analysis and variable tracing via Yt-Scope
• Simultaneous CAN and XCP measurement on a single bus interface
• Automatic A2L reload on build change
• Prototype harness validation during early development phases

Learn more about XCP – a powerful protocol with multiple applications  

Download as pdf