Desktop application
The desktop application connects to the engine and holds the project, the measurement windows and the editors.
| Project explorer | Networks, databases, nodes, panels and system variables of the project. |
| Engine connection | If the connection to the engine is lost, the application reports it and reconnects automatically with the last loaded project. |
| Simulation Setup | Switch nodes on and off, and start and stop the interaction layer during the measurement. |
| Windows and layouts | Dockable windows spread over several desktops, layouts saved as files, command palette (Ctrl+K), light and dark theme. |
| Measurement Setup | Graphical editor in which you add, connect and configure blocks. |
| Hardware dialog | Channel assignment, status per driver, baud rate scanner. |
| Database Editor | Edits messages, signals, nodes and bit layout in DBC and LDF files, with undo/redo and lint while editing. On opening, the editor shows which content it cannot keep. Before saving, it asks for confirmation. |
| Logs and support bundle | Application logs and crash reports. The support bundle is a zip file with logs and system information, in which user names and serial numbers are anonymised. It stays on the computer and is not uploaded. |
Analysis
Measurement windows for the live bus and for recorded log files.
| Trace | Chronological or fixed-position view, quick filter, signal decoding, highlighting. |
| Graphics, Data | Signal plots and current values, with a signal picker. |
| Statistics | Bus load, frames/s, cycle times, error frames, TEC/REC and controller state, per channel and ID. |
| Write | Message window with message levels and search. |
| Measurement Setup | Filter, trigger, logging, view and break blocks, parallel branches and merging. |
| Online and offline | Live bus, or BLF/ASC playback in real time, with an animation factor or as fast as possible. Pause and single step. |
Simulation and stimulation
Rest-bus simulation, stimulation and a virtual bus, configured from the database.
| Interaction layer | Driven by the DBC. All message and signal send types (Cyclic, OnChange, OnWrite, IfActive and combinations), cycle time, fast cycle, repetitions, start delay, start and inactive values. |
| Rest-bus simulation | Every database node becomes a simulated node. The ECU under test is excluded. |
| Alive counters, fault injection | Alive counters. Fault injection through script functions, such as disabling messages or changing cycle times. |
| Interactive Generator | Send frames manually or periodically, with signal values from the database. |
| Virtual CAN/CAN FD bus | Arbitration, bit stuffing, fault confinement and bus load. Deterministic. |
| Time, replay, variables | Simulated time, replay blocks with channel mapping, system variables with types and value tables. |
| E2E and SecOC | E2E protection (AUTOSAR profiles 1, 2, 4, 5 and 11) and SecOC (CMAC/AES-128, freshness as counter or time) in the interaction layer. Configuration from ARXML or the project. Keys are stored locally. |
| E2E / SecOC Status | Window showing, per PDU, the E2E state, lost, repeated and faulty messages, and MAC and freshness errors. |
| E2E and SecOC fault injection | On counter, CRC, freshness and authenticator, also from CAPL scripts. |
Panels
Control panels for operating signals and variables during a measurement.
| Controls | Meters, analog gauges, sliders, LEDs, buttons, switches, radio buttons, input and output boxes, tabs and pictures. |
| Binding | To signals (through the interaction layer), system variables or messages. |
| Panel Editor | Toolbox, grid, alignment, property panel, undo. Signals can be dragged from the Trace onto the canvas. |
| File format | Panels are stored as YAML files in the project. |
| System Variables | Window with a tree per namespace, live values, range, unit and value tables. Values are written with validation. |
Diagnostics
Diagnostic protocols, ECU simulation and ECU flashing over CAN, CAN FD and DoIP.
| ISO-TP | ISO 15765-2 for CAN and CAN FD, including passive decoding in the Trace. |
| UDS client | ISO 14229. P2/P2* timing, NRC 0x78, Tester Present, functional requests. |
| ECU simulation | DIDs, fault memory, routines, sessions, security access with lockout, download. |
| DoIP | ISO 13400-2 over TCP and TLS, with a gateway to CAN ECUs. |
| ODX/PDX, OBD-II | ODX/PDX import for symbolic diagnostics. OBD-II. |
| Seed & Key | Through existing DLLs, including 32-bit DLLs, in a separate process. |
| Diagnostic windows | Diagnostic Console, Fault Memory, ECU Control |
| Flash | Window with progress per step and per block, cancel and report. Stopping the measurement while flashing asks for confirmation first. |
| Flashing via UDS | Intel HEX, S-record, binary and ODX-F/PDX. Default sequence or custom steps, checksums (CRC-8 to CRC-32), progress and cancel. arnodiqa flash writes a JSON report for CI and the production line. |
J1939
Address claiming, transport protocols and diagnostics according to SAE J1939.
| Address claiming | J1939-81, with NAME, basic and arbitrary address capable. Address violation detection. |
| Transport protocols | BAM, CMDT and ETP (J1939-21), Multi-PG and FD.TP (J1939-22). |
| Diagnostics | J1939-73. DTCs with SPN, FMI and OC, lamp status, DM1/DM2, clearing with DM3/DM11, DM13, memory access DM14 to DM16. |
| Interaction layer and decoding | Interaction layer nodes from the DBC with requests and ACK/NACK. Decoding by PGN, including PGs from transport protocols. |
| J1939 Monitor | Nodes with their NAME, DTC monitor with lamp status, event log with claims and transport errors. Requests, DM11 and DM3 directly from the window. |
LIN
LIN simulation and analysis based on LDF or ARXML.
| Description files | LDF 1.3 to 2.2A, ISO 17987 and SAE J2602, also LIN clusters from ARXML. |
| Master and slave simulation | Schedule tables, schedule changes during the measurement, event-triggered and sporadic frames. |
| Sleep and wake-up | The reason is shown in the Trace. |
| Trace and statistics | PID, checksum, no response, sync, parity and bit errors. |
| Virtual bus, logging, CAPL | Virtual LIN bus, LIN in BLF, ASC and MF4, LIN functions for CAPL nodes. |
Scripting
Existing CAPL programs run as simulation nodes. Editing support is available in the application and in VS Code.
| Script VM | Runs existing CAPL programs as simulation nodes, with event procedures, timers, messages and signals, and system variables. |
| Function library | Functions for the interaction layer, logging, diagnostics, files and INI profiles, regular expressions. |
| CAPL Editor | Built into the application. Syntax highlighting, diagnostics while typing, completion with messages, signals and system variables from the project, hover details. CAPL nodes are added from the Simulation Setup, with templates. |
| CAPL language server, VS Code | Language server and VS Code extension with diagnostics while typing, completion with signals and system variables from the project, hover and go to definition. Installable offline as .vsix. |
arnodiqa capl check | Compiles with per-line diagnostics, also as JSON. |
| Project files in VS Code | Autocomplete from the JSON Schema. |
Test
Test modules in CAPL, test units in YAML and reports for CI.
| Test modules in CAPL | Wait functions, checks and stimuli. |
| Test Runner | Window to select and run units, with a verdict per test case. The report opens in the application and exports to HTML, JUnit XML and JSON. |
| Test units and test trees | In YAML, with parameters and variants. |
| Reports | HTML, JSON and JUnit XML. Reproducible on the simulated bus. |
arnodiqa test | Exit code based on the verdict. |
Automation and CI
The command line uses the same engine as the desktop application and runs without a display.
| Headless CLI | Commands run, validate, test, flash, capl, convert, export, stats, db, hw, support, license, schema. |
| Results | JSON report and documented exit codes. |
| Reproducibility | Fixed start time for reproducible log files. Ctrl+C stops the run in a controlled way. |
| Project files | YAML with JSON Schema, suited to git. |
| Database checks | In the pipeline with db lint (GitHub annotations) and db convert --check. |
Logging and export
Log files are read and written in the common formats. Signals export to formats for data analysis.
| BLF, ASC, MF4 | Read and write. MF4 as ASAM MDF 4.1 bus logging for CAN, CAN FD and LIN. |
| PCAPNG | For CAN. Opens in Wireshark. |
arnodiqa convert, arnodiqa stats | Conversion between ASC, BLF, MF4 and PCAPNG. Statistics on the contents. |
| Signal export | To CSV, MATLAB (.mat) and Parquet, per message or as a long table (arnodiqa export). |
| Export from Trace and Graphics | Shown or selected rows, or the visible range, to BLF, ASC, MF4 or PCAPNG. Signals as CSV. |
| Crash and power loss | BLF, MF4, ASC and PCAPNG recordings are written out every second and synchronised to disk at regular intervals. After a crash or power loss the file remains readable; at most the last few seconds are missing. |
| File handling | File names with field codes, rollover by size or time, pre- and post-trigger. zlib/deflate compression and streaming of large files. |
Databases
Supported description formats and database tools.
| DBC | Read and write. Intel/Motorola, signed, float, (extended) multiplexing, value tables, J1939 PGNs. |
| ARXML | Import (AUTOSAR Classic 4.x and 3.x) of CAN, CAN FD, container PDUs and LIN clusters. E2E and SecOC properties are read. |
| LDF | Read and write (LIN 1.3 to 2.2A, ISO 17987, SAE J2602). |
| FIBEX | Import for decoding (ASAM FIBEX 2.x to 4.x, FlexRay clusters). |
| ODX/PDX | For diagnostics. |
| Database tools | db lint, db diff (also across formats), db convert (ARXML to DBC/LDF, normalisation), db info with bus load estimate. |
Hardware
Hardware interfaces are used through the manufacturer's official driver. Simulation needs no hardware.
| Virtual bus | Multiple channels, for simulation without hardware. |
| Configuration | Hardware dialog, bit timing calculation, baud rate scanner, arnodiqa hw list. |
| Supported interfaces | PEAK PCAN-Basic, Vector XL, Kvaser CANlib, SLCAN, candleLight/gs_usb, via the manufacturer's official driver. |
| CAN XL | On the virtual bus. The Trace shows SDT, VCID, acceptance field and the full payload. |
| Hardware Self-Test | In the application and as arnodiqa hw selftest. Tests a channel pair, or one channel with loopback, including LIN. Checks with explanations; report as HTML or JSON. |
The manufacturer's driver library is loaded at runtime and is not part of the installation. Use the Hardware Self-Test to check an interface in your own setup.