# User Modes

Modes are applications that control how different sensor inputs are measured, evaluated, encoded, and reported. **You can say that each mode is a totally different device.**

The behavior of each mode is predefined but almost anything can be customized via register settings. Changing modes and register settings are done via [*downlink*](https://ask.simplehw.eu/kb/simple-api-6-generation/broken-reference).

End-users should **never** switch between modes! The devices should be set up by integrators only.

You can also receive messages that are sent **regardless** of mode and these can be fine-tuned as well - you can read more here: [*Mode-independent information and events*](https://ask.simplehw.eu/kb/simple-api-6-generation/broken-reference)*.*

There are currently **more than 50** modes in total and they can be categorized into 2 major groups:

**Standard user modes** are the basis for all the other mode types but only work with Sigfox. You can find detailed descriptions of all of them in one place here:

[*Standard user modes*](https://ask.simplehw.eu/kb/simple-api-6-generation/modes/api-6-standard-user-modes_15400961)

***

**WiFi-enabled user modes** are more precise versions of the Standard modes - event messages are sent with nearby MAC addresses in various formats, which allows for precise localisation. There are three types of WiFi-enabled user modes that differ slightly in how they report data from the WiFi module. In-depth descriptions of these user modes can be found here:

[*WiFi user modes*](https://ask.simplehw.eu/kb/simple-api-6-generation/modes/wifi-user-modes)\
[*WiFi Atlas user modes*](https://ask.simplehw.eu/kb/simple-api-6-generation/modes/api-6-wifi-atlas-user-modes_15269894)\
[*WiFi SuperLocal user modes*](https://ask.simplehw.eu/kb/simple-api-6-generation/modes/api-6-wifi-superlocal-user-modes_15466519)

If your use case is not supported by any of our modes (which itself should be unlikely), be sure to contact us and **we can work something out**. There’s still some space left in the API 6 code!
