.. |degc| unicode:: U+02103 .. DEGREE CELSIUS

Properties
==========

Configuration, status and telemetry download from the device is handled using a number of property variables. Each variable has a type (signed/unsigned integers, floating point numbers, strings, etc.) and a default value. Some properties are used for configuration and can be modified and stored in (optionally write-protected) non-volatile memory. Others are read-only and used for telemetry purposes. Some property changes take effect immediately, while others require a store and a system reset after update.

The system properties are divided into a number of property groups, each covering a specific part of the firmware. 

Property values can be listed, modified and stored using the ``prop`` debug shell commands or remotely through the :ref:`prop-client` library.  As an example, to change the CSP address of the device to 11 and the default interface to RS422/KISS, run:

.. code-block:: none

    [srs-4] prop get sys.csp.address
    24
    [srs-4] prop set sys.csp.address 11
    [srs-4] prop set sys.csp.routes "0/0 KISS"
    [srs-4] prop unlock sys
    [srs-4] prop save sys
    [srs-4] prop unlock -f sys
    [srs-4] prop save -f sys
    [srs-4] reboot
    ...
    [srs-4] prop get sys.csp.address
    11 
    [srs-4] prop get sys.csp.routes
    "0/0 KISS"

System Group
------------

The ``sys`` group contains system parameters that should remain fixed after launch. The group can be stored twice in ``boot`` and ``fallback`` configuration. Both are write-protected and must be unlocked using ``prop unlock`` before they can be written to.

.. include:: ../../build/client/props/doc/sys.rst

Calibration Group
-----------------

The ``cal`` group contains factory calibration settings and should not be modified.

Transmitter Group
-----------------

The ``tx`` group contains settings for the transmitter. The group can be stored twice in ``boot`` and ``fallback`` configuration. The ``fallback`` configuration is write-protected and must be unlocked using ``prop unlock`` before it can be written to.

.. include:: ../../build/client/props/doc/tx.rst

Receiver Group
--------------

The ``rx`` group contains settings for the receiver. The group can be stored twice in ``boot`` and ``fallback`` configuration. The ``fallback`` configuration is write-protected and must be unlocked using ``prop unlock`` before it can be written to.

.. include:: ../../build/client/props/doc/rx.rst

Telemetry Group
---------------

Telemetry values are stored in the ``tm`` group and updated once every second. The group does not support storage.

.. include:: ../../build/client/props/doc/tm.rst
