Features of Arnodiqa

Analysis, rest-bus simulation, diagnostics, flashing and test automation for CAN, CAN FD, CAN XL, LIN and J1939, in one engine for the desktop and the command line. It is intended for development, simulation, test automation and validation.

Desktop application

The desktop application connects to the engine and holds the project, the measurement windows and the editors.

Project explorerNetworks, databases, nodes, panels and system variables of the project.
Engine connectionIf the connection to the engine is lost, the application reports it and reconnects automatically with the last loaded project.
Simulation SetupSwitch nodes on and off, and start and stop the interaction layer during the measurement.
Windows and layoutsDockable windows spread over several desktops, layouts saved as files, command palette (Ctrl+K), light and dark theme.
Measurement SetupGraphical editor in which you add, connect and configure blocks.
Hardware dialogChannel assignment, status per driver, baud rate scanner.
Database EditorEdits 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 bundleApplication 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.

TraceChronological or fixed-position view, quick filter, signal decoding, highlighting.
Graphics, DataSignal plots and current values, with a signal picker.
StatisticsBus load, frames/s, cycle times, error frames, TEC/REC and controller state, per channel and ID.
WriteMessage window with message levels and search.
Measurement SetupFilter, trigger, logging, view and break blocks, parallel branches and merging.
Online and offlineLive 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 layerDriven 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 simulationEvery database node becomes a simulated node. The ECU under test is excluded.
Alive counters, fault injectionAlive counters. Fault injection through script functions, such as disabling messages or changing cycle times.
Interactive GeneratorSend frames manually or periodically, with signal values from the database.
Virtual CAN/CAN FD busArbitration, bit stuffing, fault confinement and bus load. Deterministic.
Time, replay, variablesSimulated time, replay blocks with channel mapping, system variables with types and value tables.
E2E and SecOCE2E 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 StatusWindow showing, per PDU, the E2E state, lost, repeated and faulty messages, and MAC and freshness errors.
E2E and SecOC fault injectionOn counter, CRC, freshness and authenticator, also from CAPL scripts.

Panels

Control panels for operating signals and variables during a measurement.

ControlsMeters, analog gauges, sliders, LEDs, buttons, switches, radio buttons, input and output boxes, tabs and pictures.
BindingTo signals (through the interaction layer), system variables or messages.
Panel EditorToolbox, grid, alignment, property panel, undo. Signals can be dragged from the Trace onto the canvas.
File formatPanels are stored as YAML files in the project.
System VariablesWindow 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-TPISO 15765-2 for CAN and CAN FD, including passive decoding in the Trace.
UDS clientISO 14229. P2/P2* timing, NRC 0x78, Tester Present, functional requests.
ECU simulationDIDs, fault memory, routines, sessions, security access with lockout, download.
DoIPISO 13400-2 over TCP and TLS, with a gateway to CAN ECUs.
ODX/PDX, OBD-IIODX/PDX import for symbolic diagnostics. OBD-II.
Seed & KeyThrough existing DLLs, including 32-bit DLLs, in a separate process.
Diagnostic windowsDiagnostic Console, Fault Memory, ECU Control
FlashWindow with progress per step and per block, cancel and report. Stopping the measurement while flashing asks for confirmation first.
Flashing via UDSIntel 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 claimingJ1939-81, with NAME, basic and arbitrary address capable. Address violation detection.
Transport protocolsBAM, CMDT and ETP (J1939-21), Multi-PG and FD.TP (J1939-22).
DiagnosticsJ1939-73. DTCs with SPN, FMI and OC, lamp status, DM1/DM2, clearing with DM3/DM11, DM13, memory access DM14 to DM16.
Interaction layer and decodingInteraction layer nodes from the DBC with requests and ACK/NACK. Decoding by PGN, including PGs from transport protocols.
J1939 MonitorNodes 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 filesLDF 1.3 to 2.2A, ISO 17987 and SAE J2602, also LIN clusters from ARXML.
Master and slave simulationSchedule tables, schedule changes during the measurement, event-triggered and sporadic frames.
Sleep and wake-upThe reason is shown in the Trace.
Trace and statisticsPID, checksum, no response, sync, parity and bit errors.
Virtual bus, logging, CAPLVirtual 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 VMRuns existing CAPL programs as simulation nodes, with event procedures, timers, messages and signals, and system variables.
Function libraryFunctions for the interaction layer, logging, diagnostics, files and INI profiles, regular expressions.
CAPL EditorBuilt 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 CodeLanguage 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 checkCompiles with per-line diagnostics, also as JSON.
Project files in VS CodeAutocomplete from the JSON Schema.

Test

Test modules in CAPL, test units in YAML and reports for CI.

Test modules in CAPLWait functions, checks and stimuli.
Test RunnerWindow 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 treesIn YAML, with parameters and variants.
ReportsHTML, JSON and JUnit XML. Reproducible on the simulated bus.
arnodiqa testExit 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 CLICommands run, validate, test, flash, capl, convert, export, stats, db, hw, support, license, schema.
ResultsJSON report and documented exit codes.
ReproducibilityFixed start time for reproducible log files. Ctrl+C stops the run in a controlled way.
Project filesYAML with JSON Schema, suited to git.
Database checksIn 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, MF4Read and write. MF4 as ASAM MDF 4.1 bus logging for CAN, CAN FD and LIN.
PCAPNGFor CAN. Opens in Wireshark.
arnodiqa convert, arnodiqa statsConversion between ASC, BLF, MF4 and PCAPNG. Statistics on the contents.
Signal exportTo CSV, MATLAB (.mat) and Parquet, per message or as a long table (arnodiqa export).
Export from Trace and GraphicsShown or selected rows, or the visible range, to BLF, ASC, MF4 or PCAPNG. Signals as CSV.
Crash and power lossBLF, 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 handlingFile 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.

DBCRead and write. Intel/Motorola, signed, float, (extended) multiplexing, value tables, J1939 PGNs.
ARXMLImport (AUTOSAR Classic 4.x and 3.x) of CAN, CAN FD, container PDUs and LIN clusters. E2E and SecOC properties are read.
LDFRead and write (LIN 1.3 to 2.2A, ISO 17987, SAE J2602).
FIBEXImport for decoding (ASAM FIBEX 2.x to 4.x, FlexRay clusters).
ODX/PDXFor diagnostics.
Database toolsdb 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 busMultiple channels, for simulation without hardware.
ConfigurationHardware dialog, bit timing calculation, baud rate scanner, arnodiqa hw list.
Supported interfacesPEAK PCAN-Basic, Vector XL, Kvaser CANlib, SLCAN, candleLight/gs_usb, via the manufacturer's official driver.
CAN XLOn the virtual bus. The Trace shows SDT, VCID, acceptance field and the full payload.
Hardware Self-TestIn 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.

Supported buses and protocols

Bus / protocolScope
CAN 2.0 A/B (11/29 bit)Virtual bus, hardware, log files, DBC, interaction layer
CAN FD (ISO / non-ISO, BRS)Up to 64 bytes
ISO-TP, UDS, OBD-IIClient, ECU simulation and flashing
DoIPTCP and TLS, gateway to CAN
LIN (LDF, ARXML)Master and slave simulation, schedule tables, sleep/wake-up, virtual LIN bus
J1939Address claiming, transport protocols (including J1939-22), DM messages, J1939 Monitor
CAN XLVirtual bus. Logging in ASC.
FlexRayFIBEX import and decoding

System requirements

Operating systemWindows 11 (x64)
Hardware interfaceNot required for simulation, test and offline analysis. Live measurements need a supported interface with the manufacturer's driver.
NetworkNo internet connection required. No telemetry.
LicenceSigned licence file, checked locally. Without a licence, all features are available for 30 days. After that, a limited mode keeps opening, viewing, offline replay, conversion and export available.
InstallationWindows installer (MSI or setup.exe) with WebView2 runtime. Installs without internet; no automatic updater.