September 15th 2011, 12:30 – 16:00
Paddock Suite, Donington Park
CAN Tool Open Source WorkshopSeptember 15th 2011, 12:30 – 16:00
Paddock Suite, Donington Park
Overview
As part of Driving Innovation 2011 ETAS will be offering a technical workshop for software development engineers who are interested in becoming part of the Open Source community based around a CAN monitoring and simulation tool (details below). Refreshments will be provided.
To attend the workshop, please register here and type “CAN Workshop” in the field “Emails of others who may be interested”.
Tool Functionality
The tool offers functionality for monitoring, simulation and analysis of CAN communication. It has an integrated editor and database for messages and signals, including import and export filter for the de-facto CANdb (.DBC) format. Nodes can be programmed in ANSI C using an integrated IDE. CAPL programs can be imported.
Product history
The tool will be published in an attempt to make CAN hardware interfaces and application tools independent of each other. Open Source provides the unique possibility to support a multitude of CAN interfaces and drivers under a common API and ready to use application. This model has already proven to be successful with the Linux SocketCAN API.
User Interface
Following a top-down approach, the workshop will first give a short introduction in the major elements and functionality of the User Interface. This helps first time users to understand the tool and its possibilities. The developer has later on the possibility to identify the corresponding software modules behind it.
Software architecture
The tool follows certain high level design principles. They lead to the current software architecture consisting of approx. 25 modules. These modules can be roughly related to the graphical presentation and interaction and interfaces to ext. programs, formats and hardware interfaces. They interact by using worker threads and dedicated memory structures that ensure fast and fault-free communication. We will review these modules and discuss the various interfaces.
Getting the source code
Using git the repository can be cloned to the local PC. Each module and its source code are organized in a flat directory structure. Beside the source code itself, there is an automatic GUI test suite, a license file, architecture documentation, an installation manual and a user manual. In addition doxygen allows the generation of source code documentation. We will review the source structure and download process.
Development environment
The installation manual describes which tools should be used for the development. They consist of MS Visual C++ Express, some SDKs to add necessary header files, a resource editor, a GUI test tool and an installer tool. The manual describes where to get these tools and how to configure them. At the end the tool should successfully build and pass the automatic GUI tests on the local PC.
Demonstration
CAN was designed for a bandwidth of up to 1Mbit/s on a 40m terminated differential bus wire. Smaller physical dimensions are common practice and provide a safe operation. Using the tool software small virtual ECU applications can be programmed. A CAN hardware interface allows the ECU application to communicate on the CAN bus with each other’s ECU application and vice-versa.
OSS community
Each user and developer can help by reporting bugs, providing feature requests and new ideas, improving documentations including compatibility reports and ideally by collaborating in the further development of the tool. All tools necessary to communicate and interact with the project team and other interesting users and developers are provided.
Conclusion
By the end of the workshop the delegate should have an understanding of how to use and develop the tool from a technical point of view and regarding the interaction with the OSS community.
