Project

General

Profile

Configuration Concepts » History » Version 2

Adam Klama, 06/21/2026 03:38 PM

1 1 Adam Klama
# Configuration Concepts
2
3 2 Adam Klama
This page explains how configuration works at a conceptual level. It describes how
4
signals flow through the device, what each configuration section represents, and
5
where user responsibility begins and ends.
6 1 Adam Klama
7 2 Adam Klama
It is **not** a click-through guide to the configuration tool. It explains how the
8
system is designed to work, so configurations can be created safely and
9
predictably.
10 1 Adam Klama
11 2 Adam Klama
> **A note on terms:** *IOcan* (or simply *the device*) is the hardware running the
12
> configuration. A *controller* is a transmission control strategy that runs on it
13
> (in the schema this is a *driver*). The two are different things.
14 1 Adam Klama
15 2 Adam Klama
## What configuration means
16 1 Adam Klama
17 2 Adam Klama
The device contains no fixed logic for a specific vehicle or transmission. Its
18
behaviour is defined **entirely** by configuration, which determines:
19 1 Adam Klama
20 2 Adam Klama
- where signals come from,
21
- how they are processed,
22
- how they are translated into transmission commands,
23
- how transmission state is exposed to the rest of the vehicle.
24 1 Adam Klama
25 2 Adam Klama
The configuration is executed **deterministically**. The device does not guess
26
missing information and applies no hidden defaults beyond explicitly defined
27
optional behaviour.
28 1 Adam Klama
29 2 Adam Klama
## Signal flow overview
30 1 Adam Klama
31 2 Adam Klama
At a high level, signals flow in a loop:
32 1 Adam Klama
33 2 Adam Klama
```
34
Inputs  →  Controller  →  CAN Presets  →  Transmission
35
Outputs ←  Controller  ←  CAN Presets  ←  Transmission
36
```
37 1 Adam Klama
38 2 Adam Klama
Each block has a clearly defined role, described below.
39 1 Adam Klama
40 2 Adam Klama
## Inputs
41 1 Adam Klama
42 2 Adam Klama
Inputs describe engine and chassis state — what a controller needs to know to
43
function. Typical required and optional signals include:
44 1 Adam Klama
45 2 Adam Klama
- engine speed
46
- throttle position
47
- accelerator pedal position
48
- fuelling information (fuel pressure, injection timing)
49
- brake pedal state
50
- wheel speed (optional)
51 1 Adam Klama
52 2 Adam Klama
See [Configuring Inputs](Configuring_Inputs) for the full list of input types.
53 1 Adam Klama
54 2 Adam Klama
### Input sources
55
A signal can originate from:
56 1 Adam Klama
57 2 Adam Klama
- **CAN bus messages** — via a preset ([CAN Object Input](CAN_Object_Input)) or a
58
  raw frame ([CAN Bus Input](CAN_Bus_Input));
59
- **analog inputs** — voltage sensors ([Analog Input](Analog_Input)), digital
60
  buttons ([Digital Input](Digital_Input)), or resistor-divider switches for
61
  several buttons on one pin ([Analog Switch Input](Analog_Switch_Input));
62
- **frequency inputs** ([Frequency Input](Frequency_Input)) — engine speed, wheel
63
  speed and other pulse-based signals.
64 1 Adam Klama
65 2 Adam Klama
Raw values are scaled to engineering units as described in
66
[Scaling & Maps](Scaling_and_Maps).
67 1 Adam Klama
68 2 Adam Klama
### Input assignment rules
69
The device can read any number of signals for **logging**, but:
70 1 Adam Klama
71 2 Adam Klama
- only **one** signal can be the active source for a given logical input;
72
- additional signals may appear in the datalogger but are ignored by controllers.
73 1 Adam Klama
74 2 Adam Klama
**If a mandatory signal is missing:**
75 1 Adam Klama
76 2 Adam Klama
- the controller reports a configuration fault;
77
- the device halts transmission operation;
78
- logging remains available;
79
- the transmission will not run.
80 1 Adam Klama
81 2 Adam Klama
**If an optional signal is missing:**
82 1 Adam Klama
83 2 Adam Klama
- a default internal value is used;
84
- the device stays operational;
85
- if the signal later becomes available, it is used automatically.
86 1 Adam Klama
87 2 Adam Klama
## Controllers
88 1 Adam Klama
89 2 Adam Klama
A controller is the core decision-making component. It is responsible for:
90 1 Adam Klama
91 2 Adam Klama
- processing input signals,
92
- validating signal availability,
93
- emulating missing non-critical signals,
94
- managing transmission behaviour,
95
- enforcing configuration correctness.
96 1 Adam Klama
97 2 Adam Klama
A controller does **not** send CAN messages or drive hardware outputs directly.
98
Instead it produces calculated signals that CAN presets and outputs consume.
99 1 Adam Klama
100 2 Adam Klama
If a controller is misconfigured, a fault is reported, the device stops operating,
101
and no transmission control is performed.
102 1 Adam Klama
103 2 Adam Klama
Controllers exist so the same device can support different transmission types, OEM
104
protocols and signal-emulation strategies. Multiple controllers can coexist, but
105
multi-controller setups are **advanced usage**.
106 1 Adam Klama
107 2 Adam Klama
## CAN Presets
108 1 Adam Klama
109 2 Adam Klama
CAN presets are protocol-level building blocks. They implement reading and writing
110
CAN frames and the decoding/encoding of OEM or aftermarket protocols, so you don't
111
configure frames by hand. See
112
[Working with the CAN Bus](Working_with_the_CAN_Bus#can-presets).
113 1 Adam Klama
114 2 Adam Klama
Presets translate controller signals into CAN messages and collect CAN messages
115
back into signals. Examples: OEM dashboards, OEM shifters, standalone aftermarket
116
ECUs, OEM transmission protocols.
117 1 Adam Klama
118
Presets fall into two general categories:
119
120 2 Adam Klama
- **OEM emulation presets** — e.g. BMW 8HP emulation; they use internally routed
121
  signals and closely reproduce OEM communication behaviour.
122
- **Signal-exposing presets** — most presets; they expose inputs and outputs to the
123
  controller, allowing signal substitution, scaling, or alternative data sources.
124
  For example, if pedal position is not on the CAN bus, torque demand can be used
125
  instead and mapped accordingly.
126 1 Adam Klama
127 2 Adam Klama
## CAN networks
128 1 Adam Klama
129 2 Adam Klama
A CAN network defines **transport**, not logic:
130 1 Adam Klama
131 2 Adam Klama
- bitrate,
132
- termination,
133
- direction (read/write),
134
- physical bus properties.
135 1 Adam Klama
136 2 Adam Klama
CAN networks do not interpret messages or control behaviour. Presets use them to
137
send and receive; multiple presets and controllers can share one network. See
138
[Working with the CAN Bus](Working_with_the_CAN_Bus).
139 1 Adam Klama
140 2 Adam Klama
## Outputs
141 1 Adam Klama
142 2 Adam Klama
Outputs expose transmission and controller state to the outside world. They can be
143
CAN messages or hardware outputs — for example reverse-light control, gear display,
144
transmission-mode indication, or torque-management signals to the ECU. See
145
[Configuring Outputs](Configuring_Outputs).
146 1 Adam Klama
147 2 Adam Klama
**Output rules:**
148 1 Adam Klama
149 2 Adam Klama
- outputs do nothing on their own — they must be **driven by a controller**;
150
- each output must be assigned to a **single** controller function;
151
- assigning the same output to multiple controllers gives **undefined behaviour**.
152 1 Adam Klama
153
Outputs reflect the internal state of the controller and the transmission.
154
155 2 Adam Klama
## Auxiliary controllers
156 1 Adam Klama
157 2 Adam Klama
Besides the main transmission controller, **auxiliary controllers** can handle
158
supporting functions such as vacuum-pump control or auxiliary power management.
159 1 Adam Klama
These are advanced features and are not required for basic transmission operation.
160
161 2 Adam Klama
## Configuration responsibility and safety
162 1 Adam Klama
163 2 Adam Klama
The device **guarantees**:
164 1 Adam Klama
165 2 Adam Klama
- deterministic execution of the configuration,
166
- fault reporting for missing mandatory signals,
167
- consistent signal routing.
168 1 Adam Klama
169 2 Adam Klama
The device does **not** guarantee:
170 1 Adam Klama
171 2 Adam Klama
- mechanical safety,
172
- drivability correctness,
173
- suitability for a specific vehicle.
174 1 Adam Klama
175 2 Adam Klama
**You are responsible for** validating signal correctness, verifying scaling and
176
ranges, testing behaviour in controlled conditions, and ensuring safety during
177
operation.
178 1 Adam Klama
179 2 Adam Klama
## Common conceptual errors
180 1 Adam Klama
181 2 Adam Klama
- assigning multiple sources to the same input;
182
- configuring a CAN network without assigning any preset;
183
- expecting outputs to work without a controller;
184
- assuming missing **mandatory** signals will be emulated;
185
- mismatched CAN network configuration.
186 1 Adam Klama
187 2 Adam Klama
Understanding the concepts on this page prevents most configuration issues.
188 1 Adam Klama
189 2 Adam Klama
## Summary
190 1 Adam Klama
191 2 Adam Klama
Configuration defines how signals flow from the engine and driver, through
192
controllers, into the transmission, and back into the vehicle:
193 1 Adam Klama
194 2 Adam Klama
- **Inputs** describe state.
195
- **Controllers** define behaviour.
196
- **CAN Presets** implement protocols.
197
- **CAN networks** transport data.
198
- **Outputs** expose results.
199 1 Adam Klama
200 2 Adam Klama
Understanding this structure is essential before creating or modifying a
201
configuration.