Project

General

Profile

Configuration Concepts » History » Version 1

Adam Klama, 02/04/2026 01:35 PM

1 1 Adam Klama
# Configuration Concepts
2
3
This page explains how configuration in IOcan works at a conceptual level. It describes how signals flow through the device, what each configuration section represents, and where user responsibility begins and ends.
4
5
This page does not describe how to click through the configuration tool. It explains how the system is designed to work so that configurations can be created safely and predictably.
6
7
8
9
What Configuration Means in IOcan
10
11
IOcan does not contain fixed logic for a specific vehicle or transmission. Instead, its behavior is entirely defined by configuration.
12
13
Configuration determines:
14
	•	where signals come from
15
	•	how they are processed
16
	•	how they are translated into transmission commands
17
	•	how transmission state is exposed to the rest of the vehicle
18
19
IOcan executes the configuration deterministically. It does not guess missing information and does not apply hidden defaults beyond explicitly defined optional behavior.
20
21
22
23
Signal Flow Overview
24
25
At a high level, signal flow inside IOcan follows this structure:
26
27
Inputs → Controller → CAN Presets → Transmission
28
Transmission → CAN Presets → Controller → Outputs
29
30
Each block has a clearly defined role.
31
32
33
34
Inputs
35
36
Inputs describe the engine and chassis state. These signals represent what the transmission needs to know in order to function correctly.
37
38
Typical required and optional input signals include:
39
	•	engine speed
40
	•	throttle position
41
	•	accelerator pedal position
42
	•	fueling-related information (fuel pressure, injection timing)
43
	•	brake pedal state
44
	•	wheel speed (optional)
45
46
Input Sources
47
48
Signals can originate from:
49
	•	CAN bus messages
50
	•	analog inputs
51
	•	frequency inputs
52
53
Analog inputs can be configured for signal processing functions, including:
54
	•	voltage-based analog signals
55
	•	digital button inputs
56
	•	resistor divider modes for multiple buttons on a single input
57
58
Frequency inputs are typically used for:
59
	•	engine speed
60
	•	wheel speed
61
	•	other pulse-based signals
62
63
Input Assignment Rules
64
65
IOcan can read any number of signals for logging purposes, but:
66
	•	only one signal can be assigned as the active source for a given logical input
67
	•	additional signals may be visible in the datalogger but are ignored by controllers
68
69
If a mandatory signal is missing:
70
	•	the controller reports a configuration fault
71
	•	IOcan halts operation
72
	•	logging remains available
73
	•	the transmission will not run
74
75
If an optional signal is missing:
76
	•	a default internal value is used
77
	•	IOcan remains operational
78
	•	if the signal later becomes available, it is used automatically
79
80
81
82
Controllers
83
84
The controller is the core decision-making component of IOcan.
85
86
Controllers are responsible for:
87
	•	processing input signals
88
	•	validating signal availability
89
	•	emulating missing non-critical signals
90
	•	managing transmission behavior
91
	•	enforcing configuration correctness
92
93
A controller does not directly send CAN messages or drive hardware outputs. Instead, it produces calculated signals that are consumed by CAN presets and outputs.
94
95
If a controller is misconfigured:
96
	•	a fault is reported
97
	•	IOcan stops operating
98
	•	no transmission control is performed
99
100
Controllers exist to allow:
101
	•	different transmission types
102
	•	different OEM protocols
103
	•	different signal emulation strategies
104
105
Multiple controllers can exist, but multi-controller setups are considered advanced usage.
106
107
108
109
CAN Presets
110
111
CAN presets are protocol-level building blocks.
112
113
They implement:
114
	•	reading CAN frames
115
	•	writing CAN frames
116
	•	decoding and encoding OEM or aftermarket protocols
117
118
The purpose of presets is to:
119
	•	hide protocol complexity
120
	•	eliminate manual frame configuration
121
	•	provide reusable protocol implementations
122
123
Examples include:
124
	•	OEM dashboards
125
	•	OEM shifters
126
	•	standalone aftermarket ECUs
127
	•	OEM transmission protocols
128
129
Presets translate controller signals into CAN messages and collect CAN messages back into signals.
130
131
Preset Categories
132
133
Presets fall into two general categories:
134
135
OEM Emulation Presets
136
For example, BMW 8HP emulation presets use internally routed signals and closely reproduce OEM communication behavior.
137
138
Signal-Exposing Presets
139
Most presets expose inputs and outputs to the controller. This allows:
140
	•	signal substitution
141
	•	signal scaling
142
	•	using alternative data sources
143
144
For example, if pedal position is not available on the CAN bus, torque demand may be used instead and mapped accordingly.
145
146
147
148
CAN Networks
149
150
CAN networks define transport configuration, not logic.
151
152
A CAN network specifies:
153
	•	bitrate
154
	•	termination
155
	•	direction (read/write)
156
	•	physical bus properties
157
158
CAN networks do not interpret messages and do not control behavior.
159
160
Presets use CAN networks to send and receive messages. Multiple presets and controllers can use the same CAN network.
161
162
163
164
Outputs
165
166
Outputs expose transmission and controller state to the outside world.
167
168
Outputs can be:
169
	•	CAN messages
170
	•	digital outputs
171
172
Examples include:
173
	•	reverse light control
174
	•	gear display
175
	•	transmission mode indication
176
	•	torque management signals sent to the ECU
177
178
Output Rules
179
	•	Outputs do nothing on their own
180
	•	Outputs must be driven by a controller
181
	•	Each output must be assigned to a single controller function
182
	•	Assigning the same output to multiple controllers results in undefined behavior
183
184
Outputs reflect the internal state of the controller and the transmission.
185
186
187
188
Auxiliary Controllers
189
190
In addition to the main transmission controller, auxiliary controllers can be configured for supporting functions, such as:
191
	•	vacuum pump control
192
	•	auxiliary power management
193
194
These are advanced features and are not required for basic transmission operation.
195
196
197
198
Configuration Responsibility and Safety
199
200
IOcan guarantees:
201
	•	deterministic execution of configuration
202
	•	fault reporting for missing mandatory signals
203
	•	consistent signal routing
204
205
IOcan does not guarantee:
206
	•	mechanical safety
207
	•	drivability correctness
208
	•	suitability for a specific vehicle
209
210
The user is responsible for:
211
	•	validating signal correctness
212
	•	verifying scaling and ranges
213
	•	testing behavior in controlled conditions
214
	•	ensuring safety during operation
215
216
217
218
Common Conceptual Errors
219
220
Common configuration mistakes include:
221
	•	assigning multiple sources to the same input
222
	•	configuring CAN networks without assigning presets
223
	•	expecting outputs to work without a controller
224
	•	assuming missing mandatory signals will be emulated
225
	•	mismatched CAN network configuration
226
227
Understanding the concepts described on this page prevents most configuration issues.
228
229
230
231
Summary
232
233
Configuration in IOcan defines how signals flow from the engine and driver, through controllers, into the transmission, and back into the vehicle.
234
235
Inputs describe state.
236
Controllers define behavior.
237
Presets implement protocols.
238
CAN networks transport data.
239
Outputs expose results.
240
241
Understanding this structure is essential before creating or modifying configurations.