/* * Copyright (C) 2018 Beduino Master Projekt - University of Bremen * 2019 HAW Hamburg * * This file is subject to the terms and conditions of the GNU Lesser * General Public License v2.1. See the file LICENSE in the top level * directory for more details. */ /** * @ingroup pkg_wakaama * @ingroup config * @defgroup lwm2m_client_config Wakaama LwM2M Client configuration * * @brief Configuration options for the LwM2M client implementation * based on the Wakaama package. * @{ * * @file * @brief LwM2M client configurations * * @author Christian Manal * @author Leandro Lanzieri */ #ifndef LWM2M_CLIENT_CONFIG_H #define LWM2M_CLIENT_CONFIG_H #ifdef __cplusplus extern "C" { #endif /** * @brief CoAP default port of the LwM2M server */ #ifndef CONFIG_LWM2M_STANDARD_PORT #define CONFIG_LWM2M_STANDARD_PORT "5683" #endif /** * @brief CoAPS default port of the LwM2M server */ #ifndef CONFIG_LWM2M_DTLS_PORT #define CONFIG_LWM2M_DTLS_PORT "5684" #endif /** * @brief CoAP default port of the LwM2M bootstrap server */ #ifndef CONFIG_LWM2M_BSSERVER_PORT #define CONFIG_LWM2M_BSSERVER_PORT "5685" #endif /** * @brief Default port for the local LwM2M instance */ #ifndef CONFIG_LWM2M_LOCAL_PORT #define CONFIG_LWM2M_LOCAL_PORT "5683" #endif /** * @brief Device name used to register at the LwM2M server */ #ifndef CONFIG_LWM2M_DEVICE_NAME #define CONFIG_LWM2M_DEVICE_NAME "testRIOTDevice" #endif /** * @brief Lifetime of the device object on the LwM2M server */ #ifndef CONFIG_LWM2M_DEVICE_TTL #define CONFIG_LWM2M_DEVICE_TTL 300 #endif /** * @brief LwM2M server URI to register/bootstrap with * * @note The host part of the URI MUST be a valid IPv6 address. Host names can * not be resolved at this time. */ #ifndef CONFIG_LWM2M_SERVER_URI #define CONFIG_LWM2M_SERVER_URI "coap://[fd00:dead:beef::1]" #endif /** * @brief Numeric ID of CONFIG_LWM2M_SERVER_URI */ #ifndef CONFIG_LWM2M_SERVER_ID #define CONFIG_LWM2M_SERVER_ID 10 #endif /** * @brief Alternate path to place LwM2M resources */ #ifndef CONFIG_LWM2M_ALT_PATH #define CONFIG_LWM2M_ALT_PATH NULL #endif /** * @brief Define to 1 to specify that @ref CONFIG_LWM2M_SERVER_URI is a bootstrap server * * To define just add it to your `CFLAGS` in your application's Makefile: * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.mk} * CFLAGS += -DCONFIG_LWM2M_BOOTSTRAP=1 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ #ifdef DOXYGEN #define CONFIG_LWM2M_BOOTSTRAP #endif /** * @brief Device object manufacturer string */ #ifndef CONFIG_LWM2M_DEVICE_MANUFACTURER #define CONFIG_LWM2M_DEVICE_MANUFACTURER "A RIOT maker" #endif /** * @brief Device object model. * * @note Defaults to the board name */ #ifndef CONFIG_LWM2M_DEVICE_MODEL #define CONFIG_LWM2M_DEVICE_MODEL RIOT_BOARD #endif /** * @brief Device object serial number */ #ifndef CONFIG_LWM2M_DEVICE_SERIAL #define CONFIG_LWM2M_DEVICE_SERIAL "undefined" #endif /** * @brief Device object firmware version * * @note Defaults to the running RIOT version */ #ifndef CONFIG_LWM2M_DEVICE_FW_VERSION #define CONFIG_LWM2M_DEVICE_FW_VERSION RIOT_VERSION #endif /** * @{ * @name Device bindings and queue modes * * This options are meant to be set either via Kconfig or CFLAGS: * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {.mk} * CFLAGS += -DCONFIG_LWM2M_DEVICE_BINDING_UQ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * @note Only one option should be selected. If more than one is defined the * priority follows this order. By default * @ref CONFIG_LWM2M_DEVICE_BINDING_U is assumed. */ #ifdef DOXYGEN /** * @brief UDP binding */ #define CONFIG_LWM2M_DEVICE_BINDING_U /** * @brief UDP binding with Queue mode */ #define CONFIG_LWM2M_DEVICE_BINDING_UQ /** * @brief SMS binding */ #define CONFIG_LWM2M_DEVICE_BINDING_S /** * @brief SMS binding with Queue mode */ #define CONFIG_LWM2M_DEVICE_BINDING_SQ /** * @brief UDP and SMS bindings */ #define CONFIG_LWM2M_DEVICE_BINDING_US /** * @brief UDP and SMS bindings with Queue mode */ #define CONFIG_LWM2M_DEVICE_BINDING_UQS #endif /** @} */ /** * @brief Device object device type */ #ifndef CONFIG_LWM2M_DEVICE_TYPE #define CONFIG_LWM2M_DEVICE_TYPE "RIOT device" #endif /** * @brief Device object hardware version * * @note Defaults to the board name */ #ifndef CONFIG_LWM2M_DEVICE_HW_VERSION #define CONFIG_LWM2M_DEVICE_HW_VERSION RIOT_BOARD #endif /** * @brief Device object software version * * @note Defaults to the running RIOT version */ #ifndef CONFIG_LWM2M_DEVICE_SW_VERSION #define CONFIG_LWM2M_DEVICE_SW_VERSION RIOT_VERSION #endif /** * @brief Device binding and queue mode * * @note Select using CONFIG_LWM2M_DEVICE_BINDING_* */ #if defined(CONFIG_LWM2M_DEVICE_BINDING_U) #define CONFIG_LWM2M_DEVICE_BINDINGS "U" #elif defined(CONFIG_LWM2M_DEVICE_BINDING_UQ) #define CONFIG_LWM2M_DEVICE_BINDINGS "UQ" #elif defined(CONFIG_LWM2M_DEVICE_BINDING_S) #define CONFIG_LWM2M_DEVICE_BINDINGS "S" #elif defined(CONFIG_LWM2M_DEVICE_BINDING_SQ) #define CONFIG_LWM2M_DEVICE_BINDINGS "SQ" #elif defined(CONFIG_LWM2M_DEVICE_BINDING_US) #define CONFIG_LWM2M_DEVICE_BINDINGS "US" #elif defined(CONFIG_LWM2M_DEVICE_BINDING_UQS) #define CONFIG_LWM2M_DEVICE_BINDINGS "UQS" #else #define CONFIG_LWM2M_DEVICE_BINDINGS "U" #endif #ifdef __cplusplus } #endif #endif /* LWM2M_CLIENT_CONFIG_H */ /** @} */