Model - CSV

Synposis

A model for setting simulation signals with values read from a CSV file.

Model

Structure

examples/csv
    └── sim
        ├── data
        │    └── simulation.yml
        └── model
            └── input
                └── lib/libcsv.so
                └── data
                    └── model.yml
                    └── valueset.csv    <-- CSV File.

CSV File

Timestamp;A;B;C
0.0000;1.0;2.0;3.0
0.0005;-1.1;2.1;3.1
0.0010;1.2;-2.2;3.2
0.0015;1.3;2.3;-3.3

Examples

Simulation / DSE Script

simulation
channel physical

uses
dse.modelc https://github.com/boschglobal/dse.modelc v2.1.32

model input dse.modelc.csv
channel physical signal_channel
envar CSV_FILE model/input/data/valueset.csv
file valueset.csv input.csv

Simulation / Stack

---
kind: Stack
metadata:
  name: csv_stack
spec:
  connection:
    transport:
      redispubsub:
        uri: redis://localhost:6379
        timeout: 60
  models:
    - name: simbus
      model:
        name: simbus
      channels:
        - name: physical
          expectedModelCount: 1
    - name: input
      uid: 42
      model:
        name: dse.modelc.csv
      runtime:
        env:
          CSV_FILE: data/valueset.csv
      channels:
        - name: physical
          alias: signal_channel
---
kind: Model
metadata:
  name: simbus
---
kind: SignalGroup
metadata:
  name: signal_vector
  labels:
    channel: signal_vector
spec:
  signals:
    - signal: A
    - signal: B
    - signal: C