1# Copyright (c) 2017 Linaro Limited 2# SPDX-License-Identifier: Apache-2.0 3 4menuconfig LWM2M 5 bool "OMA LwM2M protocol stack" 6 select COAP 7 select HTTP_PARSER_URL 8 select NET_SOCKETS 9 help 10 This option adds logic for managing OMA LwM2M data 11 12if LWM2M 13 14module = LWM2M 15module-dep = LOG 16module-str = Log level for LwM2M library 17source "subsys/net/Kconfig.template.log_config.net" 18 19menu "Protocol versions" 20 21choice LWM2M_VERSION 22 prompt "LwM2M protocol version" 23 default LWM2M_VERSION_1_0 24 help 25 Select which version of the LwM2M protocol is used 26 27config LWM2M_VERSION_1_0 28 bool "LwM2M version 1.0" 29 imply LWM2M_RW_OMA_TLV_SUPPORT 30 31config LWM2M_VERSION_1_1 32 bool "LwM2M version 1.1" 33 imply LWM2M_RW_CBOR_SUPPORT 34 imply ZCBOR 35 36endchoice # "LwM2M protocol version" 37 38choice 39 prompt "LwM2M Security object version" 40 default LWM2M_SECURITY_OBJECT_VERSION_1_0 if LWM2M_VERSION_1_0 41 default LWM2M_SECURITY_OBJECT_VERSION_1_1 if LWM2M_VERSION_1_1 42 help 43 Select which version of the security object should be used. 44 45config LWM2M_SECURITY_OBJECT_VERSION_1_0 46 bool "Security object version 1.0" 47 48config LWM2M_SECURITY_OBJECT_VERSION_1_1 49 bool "Security object version 1.1" 50 51endchoice # "LwM2M Security object version" 52 53choice 54 prompt "LwM2M Server object version" 55 default LWM2M_SERVER_OBJECT_VERSION_1_0 if LWM2M_VERSION_1_0 56 default LWM2M_SERVER_OBJECT_VERSION_1_1 if LWM2M_VERSION_1_1 57 help 58 Select which version of the Server object should be used. 59 60config LWM2M_SERVER_OBJECT_VERSION_1_0 61 bool "Server object version 1.0" 62 63config LWM2M_SERVER_OBJECT_VERSION_1_1 64 bool "Server object version 1.1" 65 66endchoice # "LwM2M Server object version" 67 68endmenu # "Protocol versions" 69 70menu "Engine features" 71 72config LWM2M_DTLS_SUPPORT 73 bool "DTLS support in the LwM2M client" 74 75 76config LWM2M_DNS_SUPPORT 77 bool "DNS support in the LwM2M client" 78 default y if DNS_RESOLVER 79 80config LWM2M_COAP_BLOCK_TRANSFER 81 bool "CoAP block transfer support for big outgoing LwM2M messages [EXPERIMENTAL]" 82 select EXPERIMENTAL 83 help 84 LwM2M messages with a big body that exceed the block size will be split 85 into blocks for sending. 86 To append CoAP ETag option into outgoing block transfers, CONFIG_SYS_HASH_FUNC32 should 87 be enabled. 88 89config LWM2M_CANCEL_OBSERVE_BY_PATH 90 bool "Use path matching as fallback for cancel-observe" 91 help 92 Some ambiguous language in the LwM2M spec causes some LwM2M server 93 implementations to implement cancel-observe by specifying the resource 94 path rather than the token of the original observe request. Without 95 this option, cancel-observe may not work properly when connecting to 96 those servers. 97 98config LWM2M_QUEUE_MODE_ENABLED 99 bool "Queue Mode UDP binding" 100 help 101 Set the transport binding to UDP with Queue Mode (UQ). 102 103config LWM2M_QUEUE_MODE_UPTIME 104 int "Specify time the LwM2M client should stay online in queue mode." if LWM2M_QUEUE_MODE_ENABLED 105 default 93 106 help 107 This config specifies time (in seconds) the device should stay online 108 after sending a message to the server. Note, that LwM2M specification 109 recommends this to be CoAP MAX_TRANSMIT_WAIT parameter (which 110 defaults to 93 seconds, see RFC 7252), it does not forbid other 111 values though. 112 113config LWM2M_QUEUE_MODE_NO_MSG_BUFFERING 114 bool "Disable buffering notifications and messages on queue mode" 115 select EXPERIMENTAL 116 help 117 Messages are sent right away instead of waiting for next registration update. 118 This might not be supported on all servers. 119 120config LWM2M_TLS_SESSION_CACHING 121 bool "TLS session caching" 122 help 123 Enabling this only when feature is supported in TLS library. 124 125config LWM2M_DTLS_CID 126 bool "DTLS Connection Identifier support" 127 default y if MBEDTLS_SSL_DTLS_CONNECTION_ID 128 help 129 Request TLS stack to enable DTLS Connection identifier. This requires stack that support it 130 and actual effect depends on the target server as well. 131 132config LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP 133 bool "Bootstrap support" 134 help 135 Enabling this setting allows the RD client to support bootstrap mode. 136 137config LWM2M_ENGINE_ALWAYS_REPORT_OBJ_VERSION 138 bool "LwM2M engine always report object version" 139 help 140 According to LwM2M specification v1.0 and v1.1, non-core object versions other than 1.0 141 'must' be provided, while all other versions 'may' be provided. With specification v1.2, 142 a client 'can always attach Object Version Information'. Enable this configuration to 143 always report all object versions. 144 145choice 146prompt "Socket handling at idle state" 147 148config LWM2M_RD_CLIENT_CLOSE_SOCKET_AT_IDLE 149 bool "Close socket when entering RX idle" 150 151config LWM2M_RD_CLIENT_SUSPEND_SOCKET_AT_IDLE 152 bool "Stop polling on RX idle and close only when resuming" 153 154config LWM2M_RD_CLIENT_STOP_POLLING_AT_IDLE 155 bool "Stop polling the socket on RX idle" 156 157config LWM2M_RD_CLIENT_LISTEN_AT_IDLE 158 bool "Keep open and listening" 159 160endchoice 161 162choice 163 prompt "LwM2M Engine operation mode" 164 default LWM2M_TICKLESS if ZVFS_EVENTFD_MAX > 1 165 default LWM2M_INTERVAL 166 167config LWM2M_TICKLESS 168 bool "Tickless operation mode" 169 depends on ZVFS_EVENTFD 170 171config LWM2M_INTERVAL 172 bool "Interval based polling mode" 173 174endchoice 175 176config LWM2M_SERVER_DEFAULT_SSID 177 int "Default server ssid when using the lwm2m-client. (used for access control)" 178 default 101 179 help 180 When bootstrap is not enabled, access control needs a default owner. 181 182config LWM2M_PEER_PORT 183 int "LWM2M server port" 184 default 5683 185 help 186 This is the default server port to connect to for LwM2M communication. 187 188config LWM2M_FIRMWARE_PORT_NONSECURE 189 int "LWM2M firmware server port non-secure" 190 default 5683 191 help 192 This is the default server port to connect to for LwM2M firmware downloads over coap. 193 194config LWM2M_FIRMWARE_PORT_SECURE 195 int "LWM2M firmware server port secure" 196 default 5684 197 help 198 This is the default server port to connect to for LwM2M firmware downloads over coaps. 199 200config LWM2M_SERVER_DEFAULT_PMIN 201 int "Default server record PMIN" 202 default 0 203 help 204 Default minimum amount of time in seconds the client must wait 205 between notifications. If a resource has to be notified during this 206 minimum time period, the notification must be sent after the time 207 period expires. 208 209config LWM2M_SERVER_DEFAULT_PMAX 210 int "Default server record PMAX" 211 default 0 212 help 213 Default maximum amount of time in seconds the client may wait 214 between notifications. When this time period expires a notification 215 must be sent. 216 217config LWM2M_RD_CLIENT_MAX_RETRIES 218 int "Specify maximum number of registration retries" 219 default 5 220 help 221 Specify maximum number of registration retries, before the application 222 is notified about the network failure. Once application is notified, 223 it's up to the application to handle this situation in a way 224 appropriate for the specific use-case (for instance by waiting for 225 LTE link to be re-established). 226 227config LWM2M_RESOURCE_DATA_CACHE_SUPPORT 228 bool "Resource Time series data cache support" 229 depends on (LWM2M_RW_SENML_JSON_SUPPORT || LWM2M_RW_SENML_CBOR_SUPPORT) 230 depends on RING_BUFFER 231 help 232 Enable time series data storage. 233 Requires time() to provide current Unix timestamp. 234 235if LWM2M_RESOURCE_DATA_CACHE_SUPPORT 236config LWM2M_MAX_CACHED_RESOURCES 237 int "Maximum # of cached resources" 238 default 4 239 help 240 This settings define how many different resources may have cache enabled. 241 This affects static memory usage of engine. 242choice 243 prompt "Cache full policy" 244 default LWM2M_CACHE_DROP_OLDEST 245 246config LWM2M_CACHE_DROP_LATEST 247 bool "Drop new data when cache is full" 248 249config LWM2M_CACHE_DROP_OLDEST 250 bool "Drop oldest data when cache is full" 251 252endchoice 253 254endif # LWM2M_RESOURCE_DATA_CACHE_SUPPORT 255 256endmenu # "Engine features" 257 258menu "Memory and buffer size configuration" 259 260config LWM2M_ENGINE_STACK_SIZE 261 int "LWM2M engine stack size" 262 default 2560 if NET_LOG 263 default 2048 264 help 265 Set the stack size for the LwM2M library engine (used for handling 266 OBSERVE and NOTIFY events) 267 268config LWM2M_ENGINE_MAX_MESSAGES 269 int "LWM2M engine max. message object" 270 default 10 271 help 272 Set the maximum message objects for the LwM2M library client 273 274config LWM2M_COAP_BLOCK_SIZE 275 int "LWM2M CoAP block-wise transfer size" 276 default 512 277 range 64 1024 278 help 279 CoAP block size used by LwM2M when performing block-wise 280 transfers. Possible values: 64, 128, 256, 512 and 1024. 281 When adjusting the value, ensure that LWM2M_COAP_MAX_MSG_SIZE is large enough 282 to fit all CoAP headers and full block size. 283 284config LWM2M_COAP_MAX_MSG_SIZE 285 int "LWM2M CoAP maximum message size" 286 default 1232 if !LWM2M_DTLS_SUPPORT 287 default 1195 if LWM2M_DTLS_SUPPORT && !LWM2M_DTLS_CID 288 default 1187 if LWM2M_DTLS_SUPPORT && LWM2M_DTLS_CID 289 help 290 CoAP message size used by LWM2M. Default is the maximum 291 packet size for IPv6 network (MTU(1280)-IPv6(40)-UDP(8)-DTLS(29..53)). 292 If the network has a smaller MTU, this value should be adjusted accordingly. 293 If CoAP block-wise transfer is enabled, this value should be larger than 294 the block size and estimated CoAP header sizes. 295 296config LWM2M_ENGINE_VALIDATION_BUFFER_SIZE 297 int "Size of the validation buffer for the incoming data" 298 default 64 299 help 300 LwM2M will use the validation buffer during the write operation, to 301 decode the resource value before validating it (applies for resources 302 for which validation callback has been registered). Set this value to 303 the maximum expected size of the resources that need to be validated 304 (and thus have validation callback registered). 305 Setting the validation buffer size to 0 disables validation support. 306 307config LWM2M_ENGINE_MAX_PENDING 308 int "LWM2M engine max. pending objects" 309 default 5 310 help 311 Set the maximum pending objects for the LwM2M library client 312 313config LWM2M_ENGINE_MAX_REPLIES 314 int "LWM2M engine max. reply objects" 315 default 5 316 help 317 Set the maximum reply objects for the LwM2M library client 318 319config LWM2M_ENGINE_MAX_OBSERVER 320 int "Maximum # of observable LwM2M resources" 321 default 10 322 range 5 200 323 help 324 This value sets the maximum number of resources which can be 325 added to the observe notification list. 326 327config LWM2M_RD_CLIENT_ENDPOINT_NAME_MAX_LENGTH 328 int "Maximum length of client endpoint name" 329 default 33 330 help 331 Default: room for 32 hexadecimal digits (UUID) + NULL 332 333config LWM2M_SECURITY_KEY_SIZE 334 int "Buffer size of the security key resources" 335 default 16 336 help 337 This setting establishes the size of the key (pre-shared / public) 338 resources in the security object instances. 339 340config LWM2M_SECURITY_DTLS_TLS_CIPHERSUITE_MAX 341 int "Maximum # of DTLS/TLS ciphersuite resource instances" 342 default 5 343 range 0 20 344 depends on LWM2M_SECURITY_OBJECT_VERSION_1_1 345 help 346 This setting sets the maximum number of the resource instances of 347 a security object defined in LwM2M version 1.1. Affects the resource 348 0/X/16, where X is the object instance number. 349 350config LWM2M_SECURITY_INSTANCE_COUNT 351 int "Maximum # of LwM2M Security object instances" 352 default 2 if LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP 353 default 1 354 range 1 10 355 help 356 This setting establishes the total count of LwM2M Security instances 357 available to the client. 358 359config LWM2M_SERVER_INSTANCE_COUNT 360 int "Maximum # of LwM2M Server object instances" 361 default 2 if LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP 362 default 1 363 range 1 10 364 help 365 This setting establishes the total count of LwM2M Server instances 366 available to the client (including: bootstrap and regular servers). 367 368if LWM2M_COAP_BLOCK_TRANSFER 369config LWM2M_COAP_ENCODE_BUFFER_SIZE 370 int "LwM2M CoAP buffer size for encoding the full message for block-wise transfer" 371 default 1024 372 help 373 Size of buffers for serializing big LwM2M CoAP messages that need to be 374 split into blocks for sending. 375 376config LWM2M_NUM_OUTPUT_BLOCK_CONTEXT 377 int "Maximum # of LwM2M block contexts used for outgoing messages" 378 default 3 379 help 380 Maximum number of CoAP block contexts needed to split messages into blocks for 381 sending. This limits the number of messages that need block transfer that can be 382 handled at the same time. 383 384config LWM2M_LOG_ENCODE_BUFFER_ALLOCATIONS 385 bool "Log allocations of encode buffers for block wise transfer" 386 select MEM_SLAB_TRACE_MAX_UTILIZATION 387 help 388 The allocation of encode buffers can be tracked to analyse the usage and 389 to optimize the configuration of number of block contexts and indirectly 390 the number of available encode buffers. 391endif # LWM2M_COAP_BLOCK_TRANSFER 392 393config LWM2M_NUM_BLOCK1_CONTEXT 394 int "Maximum # of LwM2M block1 contexts" 395 default 3 396 help 397 This value sets up the maximum number of block1 contexts for 398 CoAP block-wise transfer we can handle at the same time. 399 400config LWM2M_SWMGMT_PACKAGE_URI_LEN 401 int "Maximum size of the software management object's download URI string" 402 default 128 403 404config LWM2M_COMPOSITE_PATH_LIST_SIZE 405 int "Maximum # of composite read and send operation URL path" 406 default 6 407 help 408 Define path list size for Composite Read and send operation. 409 410config LWM2M_DEVICE_ERROR_CODE_SETTINGS 411 bool "Use settings to store error codes across device resets" 412 depends on SETTINGS 413 help 414 Store the device error code list in settings. Ensures error list can 415 be transferred to LwM2M server even if the device is reset. 416 417config LWM2M_DEVICE_PWRSRC_MAX 418 int "Maximum # of device power source records" 419 default 5 420 range 1 20 421 help 422 This value sets the maximum number of power source data that a device 423 can store. These are displayed via the "Device" object /3/0/6, 424 /3/0/7 and /3/0/8 resources. 425 426config LWM2M_DEVICE_ERROR_CODE_MAX 427 int "Maximum # of device obj error codes to store" 428 default 10 429 range 1 20 430 help 431 This value sets the maximum number of error codes that the device 432 object will store before ignoring new values. 433 434config LWM2M_DEVICE_EXT_DEV_INFO_MAX 435 int "Maximum # of device obj external device info to store" 436 default 5 437 range 1 20 438 help 439 This value sets the maximum number of external device info that the 440 device object will store before ignoring new values. 441 442config LWM2M_NUM_ATTR 443 int "Maximum # of LwM2M attributes" 444 default 20 445 help 446 This value sets up the maximum number of LwM2M attributes that 447 we can handle at the same time. 448 449config LWM2M_MAX_NOTIFIED_NUMERICAL_RES_TRACKED 450 int "Maximum # of resources that can track last notified value for gt/lt/st" 451 default 4 452 help 453 This value specifies the maximum number of numerical LwM2M resources 454 that can track the last notified resource value for gt/lt/st attribute 455 handling. 456 457endmenu # "Memory and buffer size configuration" 458 459menu "Content format supports" 460config LWM2M_RW_OMA_TLV_SUPPORT 461 bool "TLV data format" 462 help 463 Include support for write / parse TLV data 464 465config LWM2M_RW_JSON_SUPPORT 466 bool "support for JSON writer" 467 depends on JSON_LIBRARY 468 help 469 Include support for writing JSON data 470 471 472config LWM2M_RW_SENML_JSON_SUPPORT 473 bool "SENML JSON data format" 474 depends on BASE64 475 depends on JSON_LIBRARY 476 help 477 Include support for write / parse SENML JSON data 478 479config LWM2M_RW_CBOR_SUPPORT 480 bool "support for CBOR writer" 481 depends on ZCBOR 482 help 483 Include support for writing CBOR data 484 485config LWM2M_RW_SENML_CBOR_SUPPORT 486 bool "support for SenML CBOR writer" 487 depends on ZCBOR 488 depends on ZCBOR_CANONICAL 489 help 490 Include support for writing SenML CBOR data 491 492config LWM2M_RW_SENML_CBOR_RECORDS 493 int "Maximum # of SenML records packed into a CBOR binary" 494 depends on LWM2M_RW_SENML_CBOR_SUPPORT 495 default 30 496 help 497 The CBOR library requires you to set an upper limit for the records when encoder 498 and decoder do get generated. 499 500endmenu # "Content format supports" 501 502config LWM2M_ENGINE_DEFAULT_LIFETIME 503 int "LWM2M engine default server connection lifetime" 504 default 30 505 range 15 $(UINT32_MAX) 506 help 507 Set the default lifetime (in seconds) for the LwM2M library engine. 508 This is also a minimum lifetime that client accepts. If server sets lifetime 509 less than this value, client automatically raises it. 510 511config LWM2M_UPDATE_PERIOD 512 int "LwM2M engine update period" 513 default 0 514 range 0 $(UINT32_MAX) 515 help 516 Time period after the previous update or registration when to send the next update message. 517 This allows modifying lifetime without affecting the update period. 518 Set to zero, to allow LWM2M_SECONDS_TO_UPDATE_EARLY and lifetime to control when to 519 send the update. When both values are set, smallest period will be used. 520 521config LWM2M_SECONDS_TO_UPDATE_EARLY 522 int "LWM2M Registration Update transmission time before timeout" 523 default 10 524 range 1 $(UINT32_MAX) 525 help 526 Time in seconds before the registration timeout, when the LWM2M 527 Registration Update is sent by the engine. In networks with large 528 round trip times (like NB-IoT), it might be needed to set this value 529 higher, in order to allow the response to arrive before timeout. 530 531config LWM2M_SERVER_BOOTSTRAP_ON_FAIL 532 bool "Bootstrap on Registration Failure" 533 default y 534 help 535 If set to true, the LwM2M client will attempt to re-bootstrap if the registration fails. 536 537config LWM2M_SHELL 538 bool "LwM2M shell utilities" 539 select SHELL 540 select CRC 541 help 542 Activate shell module that provides LwM2M commands like 543 send to the console. 544 545config LWM2M_ACCESS_CONTROL_ENABLE 546 bool "Access control support (ID 2)" 547 help 548 Enabling this setting registers the access control object. 549 550config LWM2M_ACCESS_CONTROL_INSTANCE_COUNT 551 int "Maximum # of LwM2M Access Control object instances" if LWM2M_ACCESS_CONTROL_ENABLE 552 default 50 553 help 554 This setting establishes the total count of LwM2M Access Control instances 555 available to the client. 556 557config LWM2M_CONN_MON_OBJ_SUPPORT 558 bool "Connectivity Monitoring object support (ID 4)" 559 help 560 Include support for LwM2M Connectivity Monitoring Object 561 562if LWM2M_CONN_MON_OBJ_SUPPORT 563choice 564 prompt "LwM2M Connectivity Monitor object version" 565 default LWM2M_CONNMON_OBJECT_VERSION_1_0 if LWM2M_VERSION_1_0 566 default LWM2M_CONNMON_OBJECT_VERSION_1_2 if LWM2M_VERSION_1_1 567 help 568 Select Which version of the Connectivity Monitor object should be used. 569 570config LWM2M_CONNMON_OBJECT_VERSION_1_0 571 bool "Connectivity monitor object version 1.0" 572 573config LWM2M_CONNMON_OBJECT_VERSION_1_2 574 bool "Connectivity monitor object version 1.2" 575 576config LWM2M_CONNMON_OBJECT_VERSION_1_3 577 bool "Connectivity monitor object version 1.3" 578 579endchoice 580 581config LWM2M_CONN_MON_BEARER_MAX 582 int "Maximum # of available network bearer resource instances" 583 default 1 584 help 585 This value sets the maximum number of available network bearer 586 resource instances. These are displayed via the 587 "Connection Monitoring" object /4/0/1. 588 589config LWM2M_CONN_MON_APN_MAX 590 int "Maximum # of APN resource instances" 591 default 1 592 help 593 This value sets the maximum number of APN resource instances. 594 These are displayed via the "Connection Monitoring" object /4/0/7. 595endif # LWM2M_CONN_MON_OBJ_SUPPORT 596 597config LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT 598 bool "Firmware Update object support (ID 5)" 599 default y 600 help 601 Include support for LwM2M Firmware Update Object 602 603if LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT 604config LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT_MULTIPLE 605 bool "Support multiple firmware update objects [EXPERIMENTAL]" 606 select EXPERIMENTAL 607 help 608 Support multiple instances of LwM2M Firmware Update Object 609 610config LWM2M_FIRMWARE_UPDATE_OBJ_INSTANCE_COUNT 611 int "Maximum # of LwM2M Firmware update object instances" 612 default 1 613 help 614 This setting establishes the total count of LwM2M Firmware update 615 object instances available to the client. 616 617config LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT 618 bool "Firmware Update object pull support" 619 default y 620 depends on (HTTP_PARSER || HTTP_PARSER_URL) 621 help 622 Include support for pulling a file from a remote server via 623 block transfer and "FIRMWARE PACKAGE URI" resource. This option 624 adds another UDP context and packet handling. 625 626config LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_SUPPORT 627 bool "Firmware Update object pull via CoAP-CoAP/HTTP proxy support" 628 depends on LWM2M_FIRMWARE_UPDATE_PULL_SUPPORT 629 help 630 Include support for pulling firmware file via a CoAP-CoAP/HTTP proxy. 631 632config LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_ADDR 633 string "CoAP proxy network address" 634 depends on LWM2M_FIRMWARE_UPDATE_PULL_COAP_PROXY_SUPPORT 635 help 636 Network address of the CoAP proxy server. 637 638endif # LWM2M_FIRMWARE_UPDATE_OBJ_SUPPORT 639 640config LWM2M_LOCATION_OBJ_SUPPORT 641 bool "Location object support (ID 6)" 642 help 643 Include support for LwM2M Location Object 644 645config LWM2M_SWMGMT_OBJ_SUPPORT 646 bool "Software management object support (ID 9)" 647 help 648 Include support for LwM2M Software Management Object. 649 650if LWM2M_SWMGMT_OBJ_SUPPORT 651config LWM2M_SWMGMT_MAX_INSTANCE_COUNT 652 int "Maximum # of object instances" 653 depends on LWM2M_SWMGMT_OBJ_SUPPORT 654 default 1 655 656config LWM2M_SWMGMT_PACKAGE_NAME_LEN 657 int "Maximum size of the software management object's name string" 658 depends on LWM2M_SWMGMT_OBJ_SUPPORT 659 default 64 660 661config LWM2M_SWMGMT_PACKAGE_VERSION_LEN 662 int "Maximum size of the software management object's version string" 663 depends on LWM2M_SWMGMT_OBJ_SUPPORT 664 default 64 665endif # LWM2M_SWMGMT_OBJ_SUPPORT 666 667config LWM2M_PORTFOLIO_OBJ_SUPPORT 668 bool "LwM2M Portfolio object ID support (ID 16)" 669 help 670 Include support for LwM2M Portfolio Object. 671 672config LWM2M_BINARYAPPDATA_OBJ_SUPPORT 673 bool "LwM2M BinaryAppDataContainer Object (ID 19)" 674 help 675 Include support for LwM2M BinaryAppDataContainer Object 676 677if LWM2M_BINARYAPPDATA_OBJ_SUPPORT 678config LWM2M_BINARYAPPDATA_INSTANCE_COUNT 679 int "Maximum # of BinaryAppDataContainer object instances" 680 default 2 681 range 1 10 682 help 683 This setting establishes the total count of BinaryAppDataContainer 684 instances available to the client. 685 686config LWM2M_BINARYAPPDATA_DATA_INSTANCE_COUNT 687 int "Maximum # of BinaryAppDataContainer data resource instances" 688 default 2 689 range 1 10 690 help 691 This setting establishes the total count of BinaryAppDataContainer 692 data resource instances available to the client. 693endif # LWM2M_BINARYAPPDATA_OBJ_SUPPORT 694 695config LWM2M_EVENT_LOG_OBJ_SUPPORT 696 bool "LwM2M Event Log Object (ID 20)" 697 help 698 Include support for LwM2M Event Log Object 699 700config LWM2M_GATEWAY_OBJ_SUPPORT 701 bool "LwM2M Gateway Object (ID 25) [EXPERIMENTAL]" 702 select EXPERIMENTAL 703 704if LWM2M_GATEWAY_OBJ_SUPPORT 705 706config LWM2M_GATEWAY_MAX_INSTANCES 707 int "Maximum number of bridged devices" 708 default 1 709 help 710 This setting establishes the total count of LwM2M Gateway 711 instances available to the LwM2M client. 712 713config LWM2M_GATEWAY_DEFAULT_DEVICE_ID 714 string "Identifies the IoT Device bridged to the LwM2M Gateway" 715 default "Node" 716 717config LWM2M_GATEWAY_DEVICE_ID_MAX_STR_SIZE 718 int "Maximum string size for device ID" 719 default 32 720 721config LWM2M_GATEWAY_DEFAULT_DEVICE_PREFIX 722 string "Used for access to LwM2M Objects of this IoT Device" 723 default "n" 724 help 725 Defaults are n0, n1, n2, ..., n<max instances - 1> 726 727config LWM2M_GATEWAY_PREFIX_MAX_STR_SIZE 728 int "Max string size for prefix" 729 default 32 730 731config LWM2M_GATEWAY_DEFAULT_IOT_DEVICE_OBJECTS 732 string "Contains the Objects and Object Instances exposed by Gateway" 733 default "" 734 help 735 It uses the same CoreLnk format as Registration Interface. 736 This must be populated by Gateway. 737 Example: 738 </3>;ver=1.0,</3/0>,</4>;ver=1.0,</4/0>, 739 </5>;ver=1.0,</5/0>,</9>;ver=1.0,</9/0>,</3303/0> 740 741config LWM2M_GATEWAY_IOT_DEVICE_OBJECTS_MAX_STR_SIZE 742 int "Maximum string size for IoT device objects" 743 default 128 744 745endif # LWM2M_GATEWAY_OBJ_SUPPORT 746 747source "subsys/net/lib/lwm2m/Kconfig.ipso" 748 749source "subsys/net/lib/lwm2m/Kconfig.ucifi" 750 751endif # LWM2M 752