Common IO settings » History » Version 2
Adam Klama, 06/21/2026 02:40 PM
| 1 | 1 | Adam Klama | # Common IO Settings |
|---|---|---|---|
| 2 | |||
| 3 | Every input and output shares a small set of user-facing settings, regardless of |
||
| 4 | its type. Type-specific options are documented on each IO's own page. |
||
| 5 | |||
| 6 | > Schema: the `Input` and `Output` messages in `config/Config.proto`. Several |
||
| 7 | > fields on those messages are managed internally and are **not** shown to the |
||
| 8 | > user (datalogger channel, type, min/max, unit, preset). |
||
| 9 | |||
| 10 | ## Shared settings |
||
| 11 | |||
| 12 | | Setting | Applies to | Meaning | |
||
| 13 | |---|---|---| |
||
| 14 | | **Name** | All IO | Human-readable name shown throughout the app (e.g. `Oil Temp`, `Line Pressure Solenoid`). Everything else — maps, drivers, other IO — references this IO by its alias. | |
||
| 15 | | **Pin** | Hardware IO only | The physical pin the IO is bound to. Logical/computed IO (maths, compare, map, etc.) reference other IO instead and have no pin; CAN IO uses the CAN bus. | |
||
| 16 | |||
| 17 | ## Value scale |
||
| 18 | Many values follow a common full-scale convention of **1024**: |
||
| 19 | - **Booleans:** true = `1024`, false = `0` (e.g. a |
||
| 20 | 2 | Adam Klama | [Compare Input](Compare_Input) or a |
| 21 | [Digital Input](Digital_Input) that is on). |
||
| 22 | 1 | Adam Klama | - **Percentages / proportions:** full scale = `1024` (e.g. TPS 100 % = `1024`). |
| 23 | |||
| 24 | This is why threshold-based features use `512` as the mid-point (half of `1024`). |
||
| 25 | |||
| 26 | ## Good practice |
||
| 27 | - Give every IO a clear, unique **alias** — everything else references it by name. |
||
| 28 | - For hardware IO, choose the **pin** to match how the device is physically wired. |