How genivi/candevstudio works
CANdevStudio is a modular visual CAN simulation and development application. The main workflow is to create or load a project, configure a CAN device and connect components in the project graph, start simulation, then inspect traffic or exercise signal and raw-frame tools. Its component library also covers filtering, logging, playback, database-backed signal decoding and encoding, and scripting. The README documents the device-to-view workflow; unsampled component wiring is shown only as unverified. Evidence is limited to the README and the supplied source excerpts and index.
Main entry points: candevice.cpp CAN Device · projectconfig Project Editor · canrawsender.h Raw Sender · mainwindow.cpp Main Window
Components 19
Application
- Main Window
src/gui/mainwindow.cpp - Project Editor
src/gui/projectconfig
Component Framework
- Component Runtime
src/common
Raw CAN Tools
- CAN Device
src/components/candevice/candevice.cpp - Raw Viewer
src/components/canrawview/canrawview_p.h - Raw Filter
src/components/canrawfilter/canrawfilter_p.cpp - Raw Logger
src/components/canrawlogger/canrawlogger_p.cpp - Raw Player
src/components/canrawplayer/canrawplayer_p.cpp - Raw Sender
src/components/canrawsender/canrawsender.h - Frame Controls
src/components/canrawsender/newlinemanager.cpp - Bus Load
src/components/canload/canload.cpp
Signal Tools
- Signal Database
src/components/cansignaldata/cansignaldata.cpp - Signal Decoder
src/components/cansignaldecoder/cansignaldecoder_p.cpp - Signal Viewer
src/components/cansignalviewer/cansignalviewer_p.cpp - Signal Encoder
src/components/cansignalencoder/cansignalencoder_p.cpp - Signal Sender
src/components/cansignalsender/cansignalsender_p.cpp
Scripting
- QML Executor
src/components/qmlexecutor/qmlexecutor.cpp
Other components
- Engineer
- CAN Interface
Connections 17
- Engineer → Main Window: uses
- Main Window → Project Editor: opens editor
src/gui/mainwindow.cpp - Project Editor → Component Runtime: hosts components
src/gui/projectconfig/pcimpl.h - Project Editor → CAN Device: configures
- Project Editor → Raw Viewer: connects
- CAN Device → CAN Interface: accesses bus
- CAN Device → Raw Viewer: passes traffic
- CAN Device → Raw Filter: passes traffic
- Raw Filter → Raw Logger: filtered frames
- Raw Player → CAN Device: replays frames
- Raw Sender → Frame Controls: uses controls
src/components/canrawsender/newlinemanager.cpp - Raw Sender → CAN Device: sends frames
- Signal Database → Signal Decoder: supplies database
- Signal Decoder → Signal Viewer: decoded signals
- Signal Encoder → Signal Sender: encoded signals
- Signal Sender → CAN Device: sends signals
- QML Executor → CAN Device: controls bus