/**
  *****************************************************************************
  * @file    ufcs_config.h
  * @author  Solution Team
  * @version V1.00
  * @date    28-February-2023
  * @brief   UFCS configuration header file
  *****************************************************************************
  * @attention 
  *  Copyright (c) 2017 - 2023 Unicmicro Co., Ltd. 
  *  All Rights Reserved. 
  *****************************************************************************
  */
 
#ifndef __UFCS_CONFIG_H_
#define __UFCS_CONFIG_H_

#include "arch.h"
#include "libc.h"
#include "ufcs.h"


/** \name  UFCS 配置接口
 * \{ 
 */

/** 设置UFCS功能使能接口 */
#define ufcs_cfg_enable_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->enable = val; \
    } while(0)

/** 获取UFCS功能使能接口 */
#define ufcs_cfg_enable_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->enable)


/** 设置调试等级接口，调试等级请参考 UFCS_DEBUG_LEVEL_t  */
#define ufcs_cfg_dbg_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->debug = val; \
    } while(0)

/** 获取调试等级接口，调试等级请参考 UFCS_DEBUG_LEVEL_t */
#define ufcs_cfg_dbg_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->debug)

/** 设置抓包模式接口 */
#define ufcs_cfg_capture_mode_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->capture_mode = val; \
    } while(0)

/** 获取抓包模式接口 */
#define ufcs_cfg_capture_mode_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->capture_mode)

/** 设置设备类型接口，设备类型请参考UFCS_DEV_TYPE_t */
#define ufcs_cfg_dev_type_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->dev_type = val; \
    } while(0)

/** 获取设备类型接口，设备类型请参考UFCS_DEV_TYPE_t */
#define ufcs_cfg_dev_type_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->dev_type)

/** 设置输出OVP使能接口 */
#define ufcs_cfg_output_ovp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->output_ovp_en = val; \
    } while(0)

/** 获取输出OVP使能接口 */
#define ufcs_cfg_output_ovp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->output_ovp_en)


/** 设置输出UVP使能接口 */
#define ufcs_cfg_output_uvp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->output_uvp_en = val; \
    } while(0)

/** 获取输出UVP使能接口 */
#define ufcs_cfg_output_uvp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->output_uvp_en)

/** 设置输出OCP使能接口 */
#define ufcs_cfg_output_ocp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->output_ocp_en = val; \
    } while(0)

/** 获取输出OCP使能接口 */
#define ufcs_cfg_output_ocp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->output_ocp_en)


/** 设置输出SCP使能接口 */
#define ufcs_cfg_output_scp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->output_scp_en = val; \
    } while(0)

/** 获取输出SCP使能接口 */
#define ufcs_cfg_output_scp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->output_scp_en)

/** 设置USB接口 OTP使能接口 */
#define ufcs_cfg_usb_otp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->usb_otp_en = val; \
    } while(0)

/** 获取USB接口 OTP使能接口 */
#define ufcs_cfg_usb_otp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->usb_otp_en)

/** 设置设备内部/电池 OTP使能接口 */
#define ufcs_cfg_dev_bat_otp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->dev_bat_otp_en = val; \
    } while(0)

/** 获取设备内部/电池 OTP使能接口 */
#define ufcs_cfg_dev_bat_otp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->dev_bat_otp_en)

/** 设置CC OVP使能接口 */
#define ufcs_cfg_cc_ovp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->cc_ovp_en = val; \
    } while(0)

/** 获取CC OVP使能接口 */
#define ufcs_cfg_cc_ovp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->cc_ovp_en)


/** 设置D- OVP使能接口 */
#define ufcs_cfg_dm_ovp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->dm_ovp_en = val; \
    } while(0)

/** 获取D- OVP使能接口 */
#define ufcs_cfg_dm_ovp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->dm_ovp_en)

/** 设置D+ OVP使能接口 */
#define ufcs_cfg_dp_ovp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->dp_ovp_en = val; \
    } while(0)

/** 获取D+ OVP使能接口 */
#define ufcs_cfg_dp_ovp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->dp_ovp_en)

/** 设置输入OVP使能接口 */
#define ufcs_cfg_input_ovp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->input_ovp_en = val; \
    } while(0)

/** 获取输入OVP使能接口 */
#define ufcs_cfg_input_ovp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->input_ovp_en)

/** 设置输入UVP使能接口 */
#define ufcs_cfg_input_uvp_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->input_uvp_en = val; \
    } while(0)

/** 获取输入UVP使能接口 */
#define ufcs_cfg_input_uvp_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->input_uvp_en)


/** 设置漏电流超标使能接口 */
#define ufcs_cfg_leakage_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->leakage_en = val; \
    } while(0)

/** 获取漏电流超标使能接口 */
#define ufcs_cfg_leakage_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->leakage_en)

/** 设置输入掉电使能接口 */
#define ufcs_cfg_vbus_lost_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->vbus_lost_en = val; \
    } while(0)

/** 获取输入掉电使能接口 */
#define ufcs_cfg_vbus_lost_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->vbus_lost_en)

/** 设置CRC 异常关闭输出使能接口 */
#define ufcs_cfg_crc_protect_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->crc_protect_en = val; \
    } while(0)

/** 获取CRC 异常关闭输出使能接口 */
#define ufcs_cfg_crc_protect_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->crc_protect_en)

/** 设置线缆检测开关接口 */
#define ufcs_cfg_cbl_det_en_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->cbl_det_en = val; \
    } while(0)

/** 获取线缆检测开关接口 */
#define ufcs_cfg_cbl_det_en_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->cbl_det_en)

/** 设置供电设备检测输出是否达标使能接口 */
#define ufcs_cfg_src_vbus_check_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->src_vbus_check = val; \
    } while(0)

/** 获取供电设备检测输出是否达标使能接口 */
#define ufcs_cfg_src_vbus_check_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->src_vbus_check)

/** 设置获取输出能力次数接口 */
#define ufcs_cfg_n_get_output_cap_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->n_get_output_cap = val; \
    } while(0)

/** 获取获取输出能力次数接口 */
#define ufcs_cfg_n_get_output_cap_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->n_get_output_cap)

/** 设置协议规格版本号接口 */
#define ufcs_cfg_spec_rev_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->spec_rev = val; \
    } while(0)

/** 获取协议规格版本号接口 */
#define ufcs_cfg_spec_rev_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->spec_rev)

/** 获取看门狗使能接口，返回值为0时看门狗关闭，非零则看门狗使能并且为看门狗的超时时间，单位为毫秒 */
#define ufcs_cfg_wdt_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->wdt_timeout)

/** 设置看门狗接口，value为0时关闭看门狗，非零则使能并且值为看门狗超时时间，单位为毫秒 */
#define ufcs_cfg_wdt_set(dev,value) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->wdt_timeout = value; \
    } while(0)

/** 设置IC版本接口  */
#define ufcs_cfg_ic_ver_set(dev,ver) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->ic_ver = ver; \
    } while(0)

/** 获取IC版本接口 */
#define ufcs_cfg_ic_ver_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->ic_ver)

/** 设置硬件版本接口  */
#define ufcs_cfg_hw_ver_set(dev,ver) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->hw_ver = ver; \
    } while(0)

/** 获取硬件版本接口 */
#define ufcs_cfg_hw_ver_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->hw_ver)


/** 设置软件版本接口  */
#define ufcs_cfg_fw_ver_set(dev,ver) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->fw_ver = ver; \
    } while(0)

/** 获取软件版本接口 */
#define ufcs_cfg_fw_ver_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->fw_ver)


/** 设置供电设备最大电源输出模式数  */
#define ufcs_cfg_src_output_num_set(dev,num) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output_num = num; \
    } while(0)

/** 获取供电设备最大电源输出模式数 */
#define ufcs_cfg_src_output_num_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output_num)

/** 设置供电设备电源配置修改标志 */
#define ufcs_cfg_src_power_changed_set(dev,flg) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.power_changed = flg; \
    } while(0)

/** 获取供电设备电源配置修改标志 */
#define ufcs_cfg_src_power_changed_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.power_changed)

/** 设置供电设备内部最大允许温度 */
#define ufcs_cfg_src_max_temperature_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.max_temperature = val; \
    } while(0)

/** 获取供电设备内部最大允许温度 */
#define ufcs_cfg_src_max_temperature_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.max_temperature)

/** 设置供电设备USB接口最大允许温度 */
#define ufcs_cfg_src_max_usb_temperature_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.max_usb_temperature = val; \
    } while(0)

/** 获取供电设备USB接口最大允许温度 */
#define ufcs_cfg_src_max_usb_temperature_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.max_usb_temperature)

/** 设置供电设备电源输出模式数据对象 */
#define ufcs_cfg_src_output_set(dev,idx,obj) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx] = (UFCS_DATA_MSG_OUTPUT_CAP_t)(obj); \
    } while(0)

/** 获取供电设备电源输出模式数据对象 */
#define ufcs_cfg_src_output_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx])

/** 设置供电设备电源输出模式的最小输出电流，单位 10mA */
#define ufcs_cfg_src_output_min_curr_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_curr = val; \
    } while(0)

/** 获取供电设备电源输出模式的最小输出电流，单位 10mA */
#define ufcs_cfg_src_output_min_curr_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_curr)

/** 设置供电设备电源输出模式的最大输出电流，单位 10mA */
#define ufcs_cfg_src_output_max_curr_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].max_curr = val; \
    } while(0)

/** 获取供电设备电源输出模式的最大输出电流，单位 10mA */
#define ufcs_cfg_src_output_max_curr_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].max_curr)

/** 设置供电设备电源输出模式的最小输出电压，单位 10mV */
#define ufcs_cfg_src_output_min_volt_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_volt_l = val; \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_volt_h = (u32_t)(val) >> 8; \
    } while(0)

/** 获取供电设备电源输出模式的最小输出电压，单位 10mV */
#define ufcs_cfg_src_output_min_volt_get(dev,idx) \
    ((((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_volt_l) + ((((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_volt_h) << 8))

/** 设置供电设备电源输出模式的最小输出电压低字节，单位 10mV */
#define ufcs_cfg_src_output_min_volt_l_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_volt_l = val; \
    } while(0)

/** 获取供电设备电源输出模式的最小输出电压低字节，单位 10mV */
#define ufcs_cfg_src_output_min_volt_l_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_volt_l)

/** 设置供电设备电源输出模式的最小输出电压高字节，单位 10mV */
#define ufcs_cfg_src_output_min_volt_h_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_volt_h = val; \
    } while(0)

/** 获取供电设备电源输出模式的最小输出电压高字节，单位 10mV */
#define ufcs_cfg_src_output_min_volt_h_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].min_volt_h)

/** 设置供电设备电源输出模式的最大输出电压，单位 10mV */
#define ufcs_cfg_src_output_max_volt_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].max_volt = val; \
    } while(0)

/** 获取供电设备电源输出模式的最大输出电压，单位 10mV */
#define ufcs_cfg_src_output_max_volt_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].max_volt)

/** 设置供电设备电源输出模式的电压调节最小步进: 0b：10mV, 1b：20mV */
#define ufcs_cfg_src_output_volt_step_type_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].volt_step_type = val; \
    } while(0)

/** 获取供电设备电源输出模式的电压调节最小步进: 0b：10mV, 1b：20mV */
#define ufcs_cfg_src_output_volt_step_type_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].volt_step_type)

/** 设置供电设备电源输出模式的电流调节最小步进：000b：10mA，001b：20mA，010b：30mA，011b：40mA，100b：50mA，其它：保留 */
#define ufcs_cfg_src_output_curr_step_type_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].curr_step_type = val; \
    } while(0)

/** 获取供电设备电源输出模式的电流调节最小步进：000b：10mA，001b：20mA，010b：30mA，011b：40mA，100b：50mA，其它：保留 */
#define ufcs_cfg_src_output_curr_step_type_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].curr_step_type)

/** 设置供电设备电源的输出模式编号 */
#define ufcs_cfg_src_output_index_set(dev,idx,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].index = val; \
    } while(0)

/** 获取供电设备电源的输出模式编号 */
#define ufcs_cfg_src_output_index_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.src.output[idx].index)

/** 设置充电设备的最大工作电流，单位 10mA */
#define ufcs_cfg_snk_max_curr_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.max_curr = val; \
    } while(0)

/** 获取充电设备的最大工作电流，单位 10mA */
#define ufcs_cfg_snk_max_curr_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.max_curr)


/** 设置充电设备的最大工作电压，单位 10mV */
#define ufcs_cfg_snk_max_volt_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.max_volt = val; \
    } while(0)

/** 获取充电设备的最大工作电压，单位 10mV */
#define ufcs_cfg_snk_max_volt_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.max_volt)


/** 设置充电设备的当前工作电流，单位 10mA */
#define ufcs_cfg_snk_opr_curr_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.opr_curr = val; \
    } while(0)

/** 获取充电设备的当前工作电流，单位 10mA */
#define ufcs_cfg_snk_opr_curr_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.opr_curr)


/** 设置充电设备的当前工作电压，单位 10mV */
#define ufcs_cfg_snk_opr_volt_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.opr_volt = val; \
    } while(0)

/** 获取充电设备的当前工作电压，单位 10mV */
#define ufcs_cfg_snk_opr_volt_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.opr_volt)


/** 设置充电设备电源输出模式的电压调节最小步进: 0b：10mV, 1b：20mV */
#define ufcs_cfg_snk_volt_step_type_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.volt_step_type = val; \
    } while(0)

/** 获取充电设备电源输出模式的电压调节最小步进: 0b：10mV, 1b：20mV */
#define ufcs_cfg_snk_volt_step_type_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.volt_step_type)

/** 设置充电设备电源输出模式的电流调节最小步进：000b：10mA，001b：20mA，010b：30mA，011b：40mA，100b：50mA，其它：保留 */
#define ufcs_cfg_snk_curr_step_type_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.curr_step_type = val; \
    } while(0)

/** 获取充电设备电源输出模式的电流调节最小步进：000b：10mA，001b：20mA，010b：30mA，011b：40mA，100b：50mA，其它：保留 */
#define ufcs_cfg_snk_curr_step_type_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.curr_step_type)

/** 设置充电设备发送PING的次数，默认为5次 */
#define ufcs_cfg_snk_n_ping_retry_cnt_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.n_ping_retry_cnt = val; \
    } while(0)

/** 获取充电设备发送PING的次数，默认为5次 */
#define ufcs_cfg_snk_n_ping_retry_cnt_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.n_ping_retry_cnt)

/** 设置充电设备内部最大允许温度 */
#define ufcs_cfg_snk_max_temperature_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.max_temperature = val; \
    } while(0)

/** 获取充电设备内部最大允许温度 */
#define ufcs_cfg_snk_max_temperature_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.max_temperature)

/** 设置充电设备USB接口最大允许温度 */
#define ufcs_cfg_snk_max_usb_temperature_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.max_usb_temperature = val; \
    } while(0)

/** 获取充电设备USB接口最大允许温度 */
#define ufcs_cfg_snk_max_usb_temperature_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.max_usb_temperature)

/** 设置充电设备的电压调节步进，单位mV，默认为200mV */
#define ufcs_cfg_snk_volt_step_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.volt_step = val; \
    } while(0)

/** 获取充电设备的电压调节步进，单位mV，默认为200mV */
#define ufcs_cfg_snk_volt_step_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.volt_step)

/** 设置充电设备的电流调节步进，单位mA，默认为200mA */
#define ufcs_cfg_snk_curr_step_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.snk.curr_step = val; \
    } while(0)

/** 获取充电设备的电流调节步进，单位mA，默认为200mA */
#define ufcs_cfg_snk_curr_step_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.snk.curr_step)

/** 设置线缆电子标签的最大承载电流，单位 1A */
#define ufcs_cfg_cbl_max_curr_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.cbl.max_curr = val; \
    } while(0)

/** 获取线缆电子标签的最大承载电流，单位 1A */
#define ufcs_cfg_cbl_max_curr_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.cbl.max_curr)


/** 设置线缆电子标签的最大承载电压，单位 1V */
#define ufcs_cfg_cbl_max_volt_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.cbl.max_volt = val; \
    } while(0)

/** 获取线缆电子标签的最大承载电压，单位 1V */
#define ufcs_cfg_cbl_max_volt_get(dev) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.cbl.max_volt)


/** 设置线缆电子标签的线缆阻抗，单位 mOh */
#define ufcs_cfg_cbl_impedance_set(dev,val) \
    do { \
        ((UFCS_DEV_t *)(dev))->cfg->u_params.cbl.impedance = val; \
    } while(0)

/** 获取线缆电子标签的线缆阻抗，单位 mOh */
#define ufcs_cfg_cbl_impedance_get(dev,idx) \
    (((UFCS_DEV_t *)(dev))->cfg->u_params.cbl.impedance)




/** \}*/




#endif /* #ifndef __UFCS_CONFIG_H_ */

