zephyr/lib/updatehub/Kconfig
Gerson Fernando Budke 3add3d7b60 lib: updatehub: Add download block check
The current CoAP implementation not perform any checks including
duplicated packets. This add block sequency verification and a
timer to ensures that slow networks works apropriately.

Signed-off-by: Gerson Fernando Budke <gerson.budke@ossystems.com.br>
2020-06-23 19:22:31 +02:00

127 lines
3.3 KiB
Plaintext

# Copyright (c) 2018-2020 O.S.Systems
# SPDX -License-Identifier: Apache-2.0
menuconfig UPDATEHUB
bool"UpdateHub Firmware Over-the-Air support"
select FLASH
select REBOOT
select IMG_MANAGER
select BOOTLOADER_MCUBOOT
select MPU_ALLOW_FLASH_WRITE
select NETWORKING
select REQUIRES_FULL_LIBC
select NET_UDP
select NET_SOCKETS
select NET_SOCKETS_POSIX_NAMES
select COAP
select NET_CONFIG_SETTINGS
select DNS_RESOLVER
select JSON_LIBRARY
select TINYCRYPT
select TINYCRYPT_SHA256
select HWINFO
help
UpdateHub is an enterprise-grade solution which makes simple to
remotely update all your embedded devices in the field. It
handles all aspects related to sending Firmware Over-the-Air
(FOTA) updates with maximum security and efficiency, while you
focus in adding value to your product.
config UPDATEHUB_POLL_INTERVAL
int "Time to poll interval (in minutes)"
default 1440
range 0 43200
depends on UPDATEHUB
help
Set the interval that the UpdateHub update server will be polled.
This time interval is zero and 43200 minutes(30 days).
config UPDATEHUB_PRODUCT_UID
string "Product Unique Identifier (UID)"
depends on UPDATEHUB
help
The product unique identifier is used when communicating
with the UpdateHub server.
config UPDATEHUB_SUPPORTED_HARDWARE_MAX
int "Max number of supported hardware"
default 1
range 1 100
depends on UPDATEHUB
help
Configure the max number of supported hardware
by the same image.
config UPDATEHUB_CE
bool "Use UpdateHub Community Edition Sever"
depends on UPDATEHUB
help
Allow the use of UpdateHub Community
Server (updatehub-ce) as alternative to the
updatehub.io enterprise server.
config UPDATEHUB_SERVER
string "User address for the updatehub-ce-server"
depends on UPDATEHUB_CE
help
This configuration is default, if need to use
other address, must be set on the UpdateHub shell
config UPDATEHUB_SHELL
bool "Enable UpdateHub shell utilities"
depends on UPDATEHUB
depends on SHELL
select KERNEL_SHELL
help
Activate shell module that provides UpdateHub commands like
config UPDATEHUB_DTLS
bool"Activate communication CoAPS/DTLS"
depends on UPDATEHUB
select MBEDTLS
select MBEDTLS_ENABLE_HEAP
select NET_SOCKETS_SOCKOPT_TLS
select NET_SOCKETS_ENABLE_DTLS
help
Enables DTLS communication between the UpdateHub
client and the server
config UPDATEHUB_COAP_CONN_TIMEOUT
int "CoAP connection timeout in seconds"
default 10
range 1 360
depends on UPDATEHUB
help
Set the CoAP connection timeout value.
config UPDATEHUB_COAP_MAX_RETRY
int "Maximum retries attempts to download a packet"
default 10
range 3 10
depends on UPDATEHUB
help
Set the maximum number of retries attempts to download a packet
before abort a current update.
config UPDATEHUB_COAP_BLOCK_SIZE_EXP
int "Max CoAP block size defined as 2^(4 + EXP)"
default 6
range 0 6
depends on UPDATEHUB
help
Configure the max size of a data payload were value:
0 - COAP_BLOCK_16
1 - COAP_BLOCK_32
2 - COAP_BLOCK_64
3 - COAP_BLOCK_128
4 - COAP_BLOCK_256
5 - COAP_BLOCK_512
6 - COAP_BLOCK_1024
This value is mapped directly to enum coap_block_size.
module = UPDATEHUB
module-str = Log level for UpdateHub
module-help = Enables logging for UpdateHub code.
source "subsys/logging/Kconfig.template.log_config"