Z-Wave Protocol Controller Reference
zpc_config.c File Reference
#include "zpc_config.h"
#include "device_id.h"
#include "config.h"
#include "sl_log.h"
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <time.h>
#include <assert.h>
#include "uic_version.h"
#include "ZW_classcmd.h"
Include dependency graph for zpc_config.c:

Macros

#define LOG_TAG   "zpc_config"
 
#define DEFAULT_ZWAVE_RF_REGION   "EU"
 
#define DEFAULT_ZWAVE_NORMAL_TX_POWER_DBM   0
 
#define DEFAULT_ZWAVE_MEASURED_0DBM_POWER   0
 
#define DEFAULT_ZWAVE_MAX_LR_TX_POWER_DBM   0
 
#define DEFAULT_SERIAL_PORT   "/dev/ttyUSB0"
 
#define DEFAULT_WAKE_UP_INTERVAL   4200
 
#define DEFAULT_MANUFACTURER_ID   0x0000
 
#define DEFAULT_PRODUCT_TYPE   0x0005
 
#define DEFAULT_PRODUCT_ID   0x0001
 
#define DEFAULT_HARDWARE_VERSION   1
 
#define DEFAULT_NUMBER_OF_MISSING_WAKE_UP_NOTIFICATION   2
 
#define DEFAULT_NUMBER_OF_ACCEPTED_FRAME_TRANSMISSION_ERROR   2
 
#define DEFAULT_INCLUSION_PROTOCOL_PREFERENCE   "1,2"
 
#define DEFAULT_OTA_CACHE_PATH   UIC_VAR_DIR "/zpc/ota_cache"
 
#define DEFAULT_OTA_CACHE_SIZE   2 * 1024
 
#define CONFIG_ZWAVE_POLL_ATTRIBUTE_LIST    CONFIG_ZWAVE_POLL_ATTRIBUTE_LIST_DIR "/zwave_poll_config.yaml"
 
#define ZPC_SERIAL   "zpc.serial"
 
#define ZPC_RF_REGION   "zpc.rf_region"
 
#define ZPC_MANUFACTURER_ID   "zpc.manufacturer_id"
 
#define ZPC_PRODUCT_TYPE   "zpc.product_type"
 
#define ZPC_PRODUCT_ID   "zpc.product_id"
 
#define ZPC_DEVICE_ID   "zpc.device_id"
 
#define ZPC_NORMAL_TX_POWER_DBM   "zpc.normal_tx_power_dbm"
 
#define ZPC_MEASURED_0DBM_POWER   "zpc.measured_0dbm_power"
 
#define ZPC_MAX_LR_TX_POWER_DBM   "zpc.max_lr_tx_power_dbm"
 
#define ZPC_SERIAL_LOG_FILE   "zpc.serial_log_file"
 
#define ZPC_ACCEPTED_TRANSMIT_FAILURE   "zpc.accepted_transmit_failure"
 
#define ZPC_HARDWARE_VERSION   "zpc.hardware_version"
 
#define ZPC_DEFAULT_WAKE_UP_INTERVAL   "zpc.default_wake_up_interval"
 
#define ZPC_MISSING_WAKE_UP_NOTIFICATION   "zpc.missing_wake_up_notification"
 
#define ZPC_INCLUSION_PROTOCOL_PREFERENCE   "zpc.inclusion_protocol_preference"
 
#define ZPC_OTA_CACHE_PATH   "zpc.ota.cache_path"
 
#define ZPC_OTA_CACHE_SIZE   "zpc.ota.cache_size"
 
#define ZPC_CONFIG_NCP_VERSION   "zpc.ncp_version"
 
#define ZPC_CONFIG_NCP_UPDATE   "zpc.ncp_update"
 
#define ZPC_POLL_ATTRIBUTE_LIST_FILE   "zpc.poll.attribute_list_file"
 
#define ZPC_POLL_BACKOFF   "zpc.poll.backoff"
 
#define ZPC_POLL_DEFAULT_INTERVAL   "zpc.poll.default_interval"
 
#define ZPC_BASIC_DEVICE_TYPE   "zpc.device_type.basic"
 
#define ZPC_GENERIC_DEVICE_TYPE   "zpc.device_type.generic"
 
#define ZPC_SPECIFIC_DEVICE_TYPE   "zpc.device_type.specific"
 

Functions

int zpc_config_init ()
 Register ZPC configurations in config. More...
 
sl_status_t is_hex_string (const char *str)
 
static int config_get_int_safe (const char *key)
 
sl_status_t zpc_config_fixt_setup ()
 Fixture for setting up the zpc_config component. More...
 
const zpc_config_tzpc_get_config ()
 Get the current configuration. This must only be called after zpc_config_init. More...
 

Variables

static zpc_config_t config
 

Macro Definition Documentation

◆ CONFIG_ZWAVE_POLL_ATTRIBUTE_LIST

#define CONFIG_ZWAVE_POLL_ATTRIBUTE_LIST    CONFIG_ZWAVE_POLL_ATTRIBUTE_LIST_DIR "/zwave_poll_config.yaml"

◆ DEFAULT_HARDWARE_VERSION

#define DEFAULT_HARDWARE_VERSION   1

◆ DEFAULT_INCLUSION_PROTOCOL_PREFERENCE

#define DEFAULT_INCLUSION_PROTOCOL_PREFERENCE   "1,2"

◆ DEFAULT_MANUFACTURER_ID

#define DEFAULT_MANUFACTURER_ID   0x0000

◆ DEFAULT_NUMBER_OF_ACCEPTED_FRAME_TRANSMISSION_ERROR

#define DEFAULT_NUMBER_OF_ACCEPTED_FRAME_TRANSMISSION_ERROR   2

◆ DEFAULT_NUMBER_OF_MISSING_WAKE_UP_NOTIFICATION

#define DEFAULT_NUMBER_OF_MISSING_WAKE_UP_NOTIFICATION   2

◆ DEFAULT_OTA_CACHE_PATH

#define DEFAULT_OTA_CACHE_PATH   UIC_VAR_DIR "/zpc/ota_cache"

◆ DEFAULT_OTA_CACHE_SIZE

#define DEFAULT_OTA_CACHE_SIZE   2 * 1024

◆ DEFAULT_PRODUCT_ID

#define DEFAULT_PRODUCT_ID   0x0001

◆ DEFAULT_PRODUCT_TYPE

#define DEFAULT_PRODUCT_TYPE   0x0005

◆ DEFAULT_SERIAL_PORT

#define DEFAULT_SERIAL_PORT   "/dev/ttyUSB0"

◆ DEFAULT_WAKE_UP_INTERVAL

#define DEFAULT_WAKE_UP_INTERVAL   4200

◆ DEFAULT_ZWAVE_MAX_LR_TX_POWER_DBM

#define DEFAULT_ZWAVE_MAX_LR_TX_POWER_DBM   0

◆ DEFAULT_ZWAVE_MEASURED_0DBM_POWER

#define DEFAULT_ZWAVE_MEASURED_0DBM_POWER   0

◆ DEFAULT_ZWAVE_NORMAL_TX_POWER_DBM

#define DEFAULT_ZWAVE_NORMAL_TX_POWER_DBM   0

◆ DEFAULT_ZWAVE_RF_REGION

#define DEFAULT_ZWAVE_RF_REGION   "EU"

◆ LOG_TAG

#define LOG_TAG   "zpc_config"

◆ ZPC_ACCEPTED_TRANSMIT_FAILURE

#define ZPC_ACCEPTED_TRANSMIT_FAILURE   "zpc.accepted_transmit_failure"

◆ ZPC_BASIC_DEVICE_TYPE

#define ZPC_BASIC_DEVICE_TYPE   "zpc.device_type.basic"

◆ ZPC_CONFIG_NCP_UPDATE

#define ZPC_CONFIG_NCP_UPDATE   "zpc.ncp_update"

◆ ZPC_CONFIG_NCP_VERSION

#define ZPC_CONFIG_NCP_VERSION   "zpc.ncp_version"

◆ ZPC_DEFAULT_WAKE_UP_INTERVAL

#define ZPC_DEFAULT_WAKE_UP_INTERVAL   "zpc.default_wake_up_interval"

◆ ZPC_DEVICE_ID

#define ZPC_DEVICE_ID   "zpc.device_id"

◆ ZPC_GENERIC_DEVICE_TYPE

#define ZPC_GENERIC_DEVICE_TYPE   "zpc.device_type.generic"

◆ ZPC_HARDWARE_VERSION

#define ZPC_HARDWARE_VERSION   "zpc.hardware_version"

◆ ZPC_INCLUSION_PROTOCOL_PREFERENCE

#define ZPC_INCLUSION_PROTOCOL_PREFERENCE   "zpc.inclusion_protocol_preference"

◆ ZPC_MANUFACTURER_ID

#define ZPC_MANUFACTURER_ID   "zpc.manufacturer_id"

◆ ZPC_MAX_LR_TX_POWER_DBM

#define ZPC_MAX_LR_TX_POWER_DBM   "zpc.max_lr_tx_power_dbm"

◆ ZPC_MEASURED_0DBM_POWER

#define ZPC_MEASURED_0DBM_POWER   "zpc.measured_0dbm_power"

◆ ZPC_MISSING_WAKE_UP_NOTIFICATION

#define ZPC_MISSING_WAKE_UP_NOTIFICATION   "zpc.missing_wake_up_notification"

◆ ZPC_NORMAL_TX_POWER_DBM

#define ZPC_NORMAL_TX_POWER_DBM   "zpc.normal_tx_power_dbm"

◆ ZPC_OTA_CACHE_PATH

#define ZPC_OTA_CACHE_PATH   "zpc.ota.cache_path"

◆ ZPC_OTA_CACHE_SIZE

#define ZPC_OTA_CACHE_SIZE   "zpc.ota.cache_size"

◆ ZPC_POLL_ATTRIBUTE_LIST_FILE

#define ZPC_POLL_ATTRIBUTE_LIST_FILE   "zpc.poll.attribute_list_file"

◆ ZPC_POLL_BACKOFF

#define ZPC_POLL_BACKOFF   "zpc.poll.backoff"

◆ ZPC_POLL_DEFAULT_INTERVAL

#define ZPC_POLL_DEFAULT_INTERVAL   "zpc.poll.default_interval"

◆ ZPC_PRODUCT_ID

#define ZPC_PRODUCT_ID   "zpc.product_id"

◆ ZPC_PRODUCT_TYPE

#define ZPC_PRODUCT_TYPE   "zpc.product_type"

◆ ZPC_RF_REGION

#define ZPC_RF_REGION   "zpc.rf_region"

◆ ZPC_SERIAL

#define ZPC_SERIAL   "zpc.serial"

◆ ZPC_SERIAL_LOG_FILE

#define ZPC_SERIAL_LOG_FILE   "zpc.serial_log_file"

◆ ZPC_SPECIFIC_DEVICE_TYPE

#define ZPC_SPECIFIC_DEVICE_TYPE   "zpc.device_type.specific"

Function Documentation

◆ config_get_int_safe()

static int config_get_int_safe ( const char *  key)
static
Here is the caller graph for this function:

◆ is_hex_string()

sl_status_t is_hex_string ( const char *  str)
Here is the caller graph for this function:

Variable Documentation

◆ config

zpc_config_t config
static