# Project Settings

## Overview

The **Project Settings Module** is used to choose and customize settings for different functionalities within **Incari**, such as **Communications**, the **Profiler Module**, *fonts*, or *layouts* for **On-Screen Keyboards**.

{% tabs %}
{% tab title="CAN" %}

#### CAN

![The CAN Settings.](/files/jC63wMm2xOpNVncMzZDL)

The **CAN Settings** cover the necessary data to provide functionality to the **CAN Nodes**.

`Interface Name (Linux - SocketCAN)` is the identifying name of the *CAN* Bus. *Virtual CAN* is also possible within **Incari**.

`Baudrate (Windows - PCAN)` is the speed of the communication for the channel. More information about this metric can be found in the **External Links** section.

`Channel Name (Windows - PCAN)` is the USB port that *CAN* is connected to on *Windows*.

A `DBC File` needs to be uploaded and selected. This `DBC File` is a vital part of the **CAN** protocol, as it stores all data regarding the connections between devices.

`Autostart` can be enabled or disabled and dictates when the channel is run (from the beginning of an application's life cycle or when the appropriate **Nodes** are used).
{% endtab %}

{% tab title="Fonts" %}

#### Fonts

![The Project Settings Fonts Attributes.](/files/XvxqMyyHH8Mq36f4Aobo)

The **Fonts Settings** let the user define different types of *fonts* to add personalized style to texts.

In the **Font Manager**, the user can manage their *fonts*: using the `+` button to add a new one and the `x` to delete all existing *fonts*. Furthermore, each *font* can be individually deleted with the `x` button next to it.

`Family Name` is automatically filled in with the **Font's** name when a **Font** file is chosen. The text can also be edited manually.

`Font Asset` is the **Font** file that is uploaded and selected for use. The **Font** file needs to be in the **Project's** **Asset Folder**.
{% endtab %}

{% tab title="HTTP" %}

#### HTTP

![The Project Settings HTTP Attributes.](/files/cKf5IQO2gsE7CYBxpenQ)

The **HTTP Settings** cover the necessary data to provide functionality to the **HTTP Nodes**.

`Name` is an identifying name of a *HTTP* server chosen at the user's discretion. This will show up in the **Nodes** as a choice for the `Configuration` **Attribute**.

`Is IPv6` can be enabled or disabled. *IPv6* is the newest version of the *Internet Protocol*. More information about *IPv6* can be found in the **External Links** section.

`Local port` is the port the user chooses to use for their *HTTP* server. More information on ports and port forwarding can be found in the **External Links** section.

`Is auto start` can be enabled or disabled and dictates when the server is run (from the beginning of an application's life cycle or when the appropriate **Nodes** are used).
{% endtab %}

{% tab title="Keyboard" %}

#### Keyboard

![The Keyboard Settings.](/files/zThahynR4aAgs49RG4m8)

The **Keyboard Settings** let the user define new *layouts* that can then be used for **On-Screen Keyboards**.

In the **Layout Manager**, the user can manage all their custom *layouts*: using the `+` button to add a new one and the `x` to delete all existing custom *layouts*. Furthermore, each *layout* can be individually deleted with the `x` button next to it.

To create a new *layout*, a **Keyboard Layout** **Asset** is necessary. One can be created either in the **Asset Manager** or directly in the **Layout Manager** by clicking on the `Layout Asset` slot. The default for a newly created **Keyboard Layout** **Asset** is the English keyboard, which can be further modified in the **Code Editor**.

The `Layout Name` is also defined in the **Layout Manager**. This is the name with which custom *layouts* defined in the **Layout Manager** will appear in the `Layout` **Attribute** for **On-Screen Keyboards**.
{% endtab %}

{% tab title="MQTT" %}

#### MQTT

![The Project Settings MQTT Attributes.](/files/2ENdh30MkFwV2HcWFt8m)

The **MQTT Settings** allow to manage the **MQTT Connections** and cover the necessary data to provide functionality to the **MQTT Nodes**.

`Name` is an identifying name of an *MQTT* connection chosen at the user's discretion.

`Is IPv6` can be enabled or disabled. *IPv6* is the newest version of the *Internet Protocol*. More information about *IPv6* can be found in the **External Links** section.

`Remote ip address` is the IP address from which the connection originates.

`Remote port` is the port number of the connection.

`Is auto start` can be enabled or disabled and dictates when the connection is run (from the beginning of an application's life cycle or when the appropriate **Nodes** are used).
{% endtab %}

{% tab title="Profiler" %}

#### Profiler

![The Project Settings Profiler Attributes.](/files/kzb46eJOAD5KW3sBVucz)

The **Profiler Settings** cover the necessary data to provide functionality to the **Profiler** **Module**.

`Enable` enables or disables the **Profiler**, which can be edited in the **Profiler View Module**.

`Port` is the port number to which the **Profiler Module** has to connect.
{% endtab %}

{% tab title="Serial" %}

#### Serial

![The Project Settings Serial Attributes.](/files/8IB64iLCZRnVUSySKEqD)

The **Serial Settings** allow the user to manage the **Serial Connections** and cover the necessary data to provide functionality to the **Serial** **Nodes**.

`Name` is an identifying name of a *Serial* connection chosen at the user's discretion.

`ChannelName (Linux)` is the USB port that a *Serial* set-up is connected to on *Linux*.

`ChannelName (Windows)` is the USB port that a *Serial* set-up is connected to on *Windows*.

Furthermore, the `ChannelNames` can both be specified, in the case that the user's platform is different than the target platform. If there is no difference in platforms, only one `ChannelName` needs to be filled in.

`Baudrate` is the speed of the communication for a channel. More information about this metric can be found in the **External Links** section.
{% endtab %}
{% endtabs %}

## See Also

* [**Communication Nodes**](/incari-studio/2022.1/toolbox/communication.md)
* [**Profiler View**](/incari-studio/2022.1/modules/profiler-view.md)

## External Links

* More information on the [*Baud metric*](https://en.wikipedia.org/wiki/Baud).
* More information on [*IPv6*](https://en.wikipedia.org/wiki/IPv6).
* More information on [*ports*](https://en.wikipedia.org/wiki/Port_\(computer_networking\)).
* More information on [*port forwarding*](https://en.wikipedia.org/wiki/Port_forwarding).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.incari.com/incari-studio/2022.1/modules/project-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
