.. |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`.  As an example, to change the CSP address of the device to 21 and the default interface to RS422/KISS, run:

.. code-block:: none

    [polaris] prop get sys.csp.address
    20
    [polaris] prop set sys.csp.address 21
    [polaris] prop set sys.csp.routes "0/0 KISS"
    [polaris] prop unlock sys
    [polaris] prop save sys
    [polaris] prop unlock -f sys
    [polaris] prop save -f sys
    [polaris] reboot
    ...
    [polaris] prop get sys.csp.address
    21 
    [polaris] 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

Configuration Group
-------------------

The ``conf`` group contains runtime settings.  The group can be stored to the ``boot`` configuration and is not write protected.

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

The power channels are powered off at boot time, but powered on when the demodulator starts.

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

Demodulator Group
-----------------

The ``demod`` group contains configuration and information on the demodulator. The group can be stored to the ``boot`` configuration and is not write protected.

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

Store Group
-----------

The AIS message store is controlled and monitored through the ``store`` group. The group can be stored to the ``boot`` configuration and is not write protected.

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