354 lines
27 KiB
XML
354 lines
27 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
|
|
<!--****************************************************************************
|
|
* \file csd.cypersonality
|
|
* \version 2.0
|
|
*
|
|
* \brief
|
|
* CSD personality description file.
|
|
*
|
|
********************************************************************************
|
|
* \copyright
|
|
* Copyright 2018-2020 Cypress Semiconductor Corporation
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*****************************************************************************-->
|
|
|
|
<Personality id="mxs40csd" name="CSD" version="2.0" path="CSD" xmlns="http://cypress.com/xsd/cyhwpersonality_v1">
|
|
<Dependencies>
|
|
<IpBlock name="mxcsdv2" />
|
|
<Resource name="csd\.csd" used="true" />
|
|
</Dependencies>
|
|
<ExposedMembers>
|
|
<ExposedMember key="suppressCodeGen" paramId="suppressAmuxCodeGen" />
|
|
<ExposedMember key="CapSenseEnable" paramId="CapSenseEnable" />
|
|
</ExposedMembers>
|
|
<Parameters>
|
|
<!-- PDL documentation -->
|
|
<ParamDoc id="pdlDoc" name="Configuration Help" group="Peripheral Documentation"
|
|
default="file:///`${cy_libs_path()}`/docs/pdl_api_reference_manual/html/group__group__csd.html"
|
|
linkText="Open CSD Documentation" visible="true" desc="Opens the Peripheral Driver Library Documentation" />
|
|
|
|
<!-- ExposedMember -->
|
|
<ParamBool id="suppressAmuxCodeGen" name="Suppress Amuxbus Configuration Code Generation" group="Internal" default="true"
|
|
visible="false" editable="false" desc="Prevents pins connected to this personality to generate configuration code" />
|
|
|
|
<!-- IP Block property CapSenseCapable-->
|
|
<ParamBool id="capSenseCapable" name="CapSense capable" group="Internal" default="`${hasBlock("csd[0].capsense[0]")}`"
|
|
visible="false" editable="false" desc="This parameter specifies if CSD is CapSense capable" />
|
|
|
|
<!-- Inputs -->
|
|
<ParamSignal port="clock[0]" name="Clock" group="Inputs" visible="true" desc="Peripheral clock divider" canBeEmpty="false" />
|
|
|
|
<!-- VDDA Voltage query -->
|
|
<ParamBool id="isPowerEnabled" name="Is Power Enabled" group="System" default="`${isBlockUsed("srss[0].power[0]")}`"
|
|
visible="false" editable="false" desc="" />
|
|
<ParamRange id="vddaMv" name="VDDA Voltage (mV)" group="System"
|
|
default="`${isPowerEnabled ? getExposedMember("srss[0].power[0]", "vddaMv") : 3300}`"
|
|
min="0" max="5000" resolution="1" visible="false" editable="false" desc="VDDA voltage in millivolts" />
|
|
|
|
<!-- Peripheral / CPU clock query -->
|
|
<ParamString id="pclk" name="PCLK" group="System" default="`${getBlockFromSignal("clock[0]")}`"
|
|
visible="false" editable="false" desc="Connected peripheral clock divider (PCLK)" />
|
|
<ParamBool id="pclkOk" name="PCLK Valid" group="System" default="`${hasConnection("clock", 0) && isBlockUsed(pclk)}`"
|
|
visible="false" editable="false" desc="Checks whether there is a PCLK connected and enabled" />
|
|
<ParamRange id="pclkIndex" name="PCLK Index" group="System" default="`${pclkOk ? getExposedMember(pclk, "number") : 0}`"
|
|
min="0" max="63" resolution="1" visible="false" editable="false" desc="" />
|
|
<ParamString id="pclkType" name="PCLK Type" group="System"
|
|
default="`${pclkOk ? getExposedMember(pclk, "type") : "CY_SYSCLK_DIV_8_BIT"}`" visible="false" editable="false" desc="" />
|
|
<ParamString id="pclkDst" name="PCLK Destination" group="System" default="PCLK_CSD_CLOCK" visible="false" editable="false" desc="" />
|
|
<ParamString id="periClkRsc" name="CLK_PERI Resource" group="System" default="srss[0].clock[0].periclk[0]"
|
|
visible="false" editable="false" desc="" />
|
|
<ParamBool id="periClkOk" name="CLK_PERI Valid" group="System" default="`${isBlockUsed(periClkRsc)}`"
|
|
visible="false" editable="false" desc="Checks whether CLK_PERI is enabled" />
|
|
<ParamRange id="periClkFreq" name="CLK_PERI Frequency (Hz)" group="System"
|
|
default="`${periClkOk ? getExposedMember(periClkRsc, "frequency") : 0}`" min="0" max="200000000" resolution="1"
|
|
visible="false" editable="false" desc="Peripheral clock frequency in Hz" />
|
|
<ParamString id="cpuClkRsc" name="CLK_HF0 Resource" group="System" default="srss[0].clock[0].hfclk[0]" visible="false" editable="false" desc="" />
|
|
<ParamBool id="cpuClkOk" name="CLK_HF0 Valid" group="System" default="`${isBlockUsed(cpuClkRsc)}`"
|
|
visible="false" editable="false" desc="Checks whether CLK_HF0 is enabled" />
|
|
<ParamRange id="cpuClkFreq" name="CLK_HF0 Frequency (Hz)" group="System"
|
|
default="`${cpuClkOk ? getExposedMember(cpuClkRsc, "frequency") : 0}`" min="0" max="200000000" resolution="1"
|
|
visible="false" editable="false" desc="CPU clock frequency in Hz" />
|
|
|
|
<!-- CapSense -->
|
|
<ParamBool id="CapSenseEnable" name="Enable CapSense" group="CapSense" default="`${capSenseCapable}`" visible="`${capSenseCapable}`" editable="`${capSenseCapable}`"
|
|
desc="Enables CapSense function of CSD hardware block" />
|
|
<ParamChoice id="CapSenseCore" name="Target CPU core" group="CapSense" default="4" visible="true" editable="true" desc="Configures the target CPU core for CapSense middleware" >
|
|
<Entry name="Cortex M0+" value="0" visible="true" />
|
|
<Entry name="Cortex M4" value="4" visible="true" />
|
|
</ParamChoice>
|
|
<ParamRange id="SensorCount" name="Sensor count" group="CapSense" default="0" min="0" max="256" resolution="1" visible="false" editable="true" desc="Sensor count" />
|
|
<ParamRange id="CapacitorCount" name="Capacitor count" group="CapSense" default="0" min="0" max="256" resolution="1" visible="false" editable="true" desc="Capacitor count" />
|
|
<Repeat count="256">
|
|
<ParamString id="SensorName$idx" name="SensorName$idx" group="Internal" default="" visible="false" editable="`${$idx < SensorCount}`" desc="" />
|
|
</Repeat>
|
|
|
|
<!-- External tools -->
|
|
<ParamString id="cfgFileName" name="cfgFileName" group="External Tools" default="design.cycapsense" visible="false" editable="false" desc="" />
|
|
<ParamString id="cfgFilePath" name="cfgFilePath" group="External Tools" default="`${cy_design_path() . "/" . cfgFileName}`" visible="false" editable="false" desc="" />
|
|
<ParamCustom id="CapSenseConfigurator" name="CapSense Configurator" group="External Tools" default="0"
|
|
path="`${cy_tools_path("capsense-configurator") . "/capsense-configurator"}`"
|
|
modal="true" visible="`${CapSenseEnable}`" editable="true" desc="Launch CapSense Configurator">
|
|
<Arg value="`${"--config=" . cfgFilePath}`" />
|
|
<Arg value="`${"--output-dir=" . cy_codegen_path()}`" />
|
|
<Arg value="`${"--design=" . cy_design_file()}`" />
|
|
</ParamCustom>
|
|
<ParamCustom id="CapSenseTuner" name="CapSense Tuner" group="External Tools" default="0" path="`${cy_tools_path("capsense-configurator") . "/capsense-tuner"}`" modal="false" visible="`${CapSenseEnable}`" editable="true" desc="Launch CapSense Tuner">
|
|
<Arg value="`${"--config=" . cfgFilePath}`" />
|
|
<Arg value="`${"--output-dir=" . cy_codegen_path()}`" />
|
|
</ParamCustom>
|
|
|
|
<!-- CSDADC -->
|
|
<ParamBool id="CsdAdcEnable" name="Enable CSDADC" group="CSDADC" default="`${!capSenseCapable}`" visible="true" editable="true"
|
|
desc="Enables the CSDADC function of the CSD hardware block. The CSD ADC middleware must be enabled in the Middleware Selector" />
|
|
<ParamRange id="numChannels" name="Number of Input Channels" group="CSDADC" default="1" min="1" max="32" resolution="1"
|
|
visible="`${CsdAdcEnable}`" editable="true" desc="The number of channels to scan. After changing the number, check the pins assignments of all enabled CSD features (CapSense, CSDADC, CSDIDAC)." />
|
|
<ParamChoice id="resolution" name="Resolution" group="CSDADC" default="CY_CSDADC_RESOLUTION_10BIT" visible="`${CsdAdcEnable}`" editable="true"
|
|
desc="Configures the CSDADC resolution" >
|
|
<Entry name="8 bit" value="CY_CSDADC_RESOLUTION_8BIT" visible="true" />
|
|
<Entry name="10 bit" value="CY_CSDADC_RESOLUTION_10BIT" visible="true" />
|
|
</ParamChoice>
|
|
<ParamChoice id="range" name="Measurement Range" group="CSDADC" default="CY_CSDADC_RANGE_VDDA"
|
|
visible="`${CsdAdcEnable}`" editable="true" desc="Configures the CSDADC measurement range" >
|
|
<Entry name="GND to VREF" value="CY_CSDADC_RANGE_VREF" visible="true" />
|
|
<Entry name="GND to VDDA" value="CY_CSDADC_RANGE_VDDA" visible="true" />
|
|
</ParamChoice>
|
|
<ParamRange id="acqTime" name="Acquisition Time (us)" group="CSDADC" default="10" min="1" max="100" resolution="1"
|
|
visible="`${CsdAdcEnable}`" editable="true" desc="Sample acquisition time interval in microseconds" />
|
|
<ParamRange id="autoCalibrInterval" name="Calibration Interval for Continuous Mode (number of scans) " group="CSDADC" default="30"
|
|
min="0" max="120" resolution="1" visible="false" editable="true"
|
|
desc="Run-time auto-calibration interval. If set to 0, auto-calibration is not performed" />
|
|
<ParamRange id="vref" name="VREF Reference Voltage (mV)" group="CSDADC" default="-1" min="-1" max="`${(vddaMv - 600)}`" resolution="1"
|
|
visible="`${CsdAdcEnable}`" editable="true"
|
|
desc="Sets the Vref value in mV. Set -1 to choose Vref automatically depending on VDDA.
|
|
If the Vref is set manually, it should be in a range from 800 mV to (VDDA - 600) mV for the SRSS Vref source." />
|
|
<ParamRange id="operClkDivider" name="Operation Clock Divider" group="CSDADC" default="1"
|
|
min="1" max="255" resolution="1" visible="`${CsdAdcEnable}`" editable="true"
|
|
desc="CSD HW block clock divider. It will owerwrite the specified peripheral clock divider that is set on the Peripheral-Clocks tab." />
|
|
<ParamRange id="csdClkFreq" name="CSD HW Block Input Frequency (Hz)" group="CSDADC"
|
|
default="`${((periClkOk && CsdAdcEnable) ? ((getExposedMember(periClkRsc, "frequency"))/operClkDivider) : 1)}`"
|
|
min="1" max="50000000" resolution="1" visible="`${CsdAdcEnable}`" editable="false"
|
|
desc="CSD HW Block Input Frequency in Hz. For reliable block operation, the frequency should not exceed 50 MHz. " />
|
|
<ParamRange id="azTime" name="Auto-Zero Time (us)" group="CSDADC" default="5" min="1" max="20" resolution="1"
|
|
visible="`${CsdAdcEnable}`" editable="true" desc="Time interval of comparator auto-zero in microseconds" />
|
|
<ParamRange id="csdInitTime" name="Hardware Initialization Time (us)" group="CSDADC" default="25" min="0" max="100" resolution="1"
|
|
visible="`${CsdAdcEnable}`" editable="true" desc="CSD HW block initialization time in us for CSDADC MW" />
|
|
<ParamBool id="inFlash" name="Store the CSDADC Configuration in Flash" group="CSDADC" default="true" visible="`${CsdAdcEnable}`" editable="true"
|
|
desc="Controls whether the CSDADC configuration structure is stored in flash (const, true) or SRAM (not const, false)." />
|
|
|
|
<!-- CSDIDAC -->
|
|
<ParamBool id="CsdIdacEnable" name="Enable CSDIDAC" group="CSDIDAC" default="false" visible="true" editable="true"
|
|
desc="Enables the CSDIDAC function of the CSD hardware block. The CSD IDAC middleware must be enabled in the Middleware Selector" />
|
|
<ParamChoice id="CsdIdacAselect" name="IDAC A Channel" group="CSDIDAC" default="CY_CSDIDAC_GPIO"
|
|
visible="`${CsdIdacEnable}`" editable="true" desc="Configures the IDAC A channel" >
|
|
<Entry name="Disabled" value="CY_CSDIDAC_DISABLED" visible="true" />
|
|
<Entry name="GPIO" value="CY_CSDIDAC_GPIO" visible="true" />
|
|
<Entry name="AMuxBus A" value="CY_CSDIDAC_AMUX" visible="true" />
|
|
<Entry name="Joined with IDAC B" value="CY_CSDIDAC_JOIN" visible="true" />
|
|
</ParamChoice>
|
|
<ParamChoice id="CsdIdacBselect" name="IDAC B Channel" group="CSDIDAC" default="CY_CSDIDAC_DISABLED"
|
|
visible="`${CsdIdacEnable}`" editable="true" desc="Configures the IDAC B channel" >
|
|
<Entry name="Disabled" value="CY_CSDIDAC_DISABLED" visible="true" />
|
|
<Entry name="GPIO" value="CY_CSDIDAC_GPIO" visible="true" />
|
|
<Entry name="AMuxBus B" value="CY_CSDIDAC_AMUX" visible="true" />
|
|
<Entry name="Joined with IDAC A" value="CY_CSDIDAC_JOIN" visible="true" />
|
|
</ParamChoice>
|
|
<ParamString id="CsdIdacAEnable" name="Enable Idac A" group="CSDIDACA" default="`${CsdIdacAselect eq CY_CSDIDAC_DISABLED ? false : true}`"
|
|
visible="false" editable="false" desc="An internal variable for the IDAC A enabling" />
|
|
<ParamString id="CsdIdacBEnable" name="Enable Idac B" group="CSDIDACB" default="`${CsdIdacBselect eq CY_CSDIDAC_DISABLED ? false : true}`"
|
|
visible="false" editable="false" desc="An internal variable for the IDAC B enabling" />
|
|
<ParamString id="IdacAbusOnly" name="Enable Idac A channel only on the AmuxBusA" group="CSDIDACA"
|
|
default="`${(CsdIdacAselect eq CY_CSDIDAC_AMUX) || (CsdIdacAselect eq CY_CSDIDAC_JOIN) ? true : false}`" visible="false" editable="false"
|
|
desc="Enables an Idac A output current connection only on the AmuxBusA" />
|
|
<ParamString id="IdacBbusOnly" name="Enable Idac B channel only on the AmuxBusB" group="CSDIDACB"
|
|
default="`${(CsdIdacBselect eq CY_CSDIDAC_AMUX) || (CsdIdacBselect eq CY_CSDIDAC_JOIN) ? true : false}`" visible="false" editable="false"
|
|
desc="Enables an Idac B output current connection only on the AmuxBusB" />
|
|
<ParamRange id="csdIdacInitTime" name="Hardware Initialization Time (us)" group="CSDIDAC" default="25" min="0" max="100" resolution="1"
|
|
visible="`${CsdIdacEnable}`" editable="true" desc="CSD HW block initialization time in us for CSDIDAC MW" />
|
|
<ParamBool id="idacInFlash" name="Store CSDIDAC Configuration in Flash" group="CSDIDAC" default="true" visible="`${CsdIdacEnable}`" editable="true"
|
|
desc="Controls whether the CSDIDAC configuration structure is stored in flash (const, true) or SRAM (not const, false)." />
|
|
<ParamString id="idacAnum" name="Active IdacA" group="CSDIDAC" default="`${CsdIdacAEnable && (!IdacAbusOnly) ? 1 : 0}`"
|
|
visible="false" editable="false" desc="" />
|
|
<ParamString id="idacBnum" name="Active IdacB" group="CSDIDAC" default="`${CsdIdacBEnable && (!IdacBbusOnly) ? 1 : 0}`"
|
|
visible="false" editable="false" desc="" />
|
|
<ParamString id="idacNum" name="Active Idac Number" group="CSDIDAC" default="`${idacAnum + idacBnum}`" visible="false" editable="false" desc="" />
|
|
|
|
<!-- Common MUX for sensors, ADC inputs and IDAC outputs -->
|
|
<ParamMux id="sense" name="Sensors" group="Sensors" allowedIp="^(csd|ioss)">
|
|
<Common port="amuxbus_a[0]" />
|
|
<Common port="amuxbus_b[0]" />
|
|
<Arm name="`${($idx < SensorCount) ? SensorName$idx : (($idx < (SensorCount + numChannels)) ?
|
|
"Channel[" .($idx - SensorCount). "]" : ((CsdIdacAEnable && ($idx < (SensorCount + numChannels + idacAnum))) ?
|
|
"IdacAchannel" : (CsdIdacBEnable && ($idx < (SensorCount + numChannels + idacAnum + idacBnum)) ?
|
|
"IdacBchannel" : "NoName")))}`"
|
|
desc="`${($idx < SensorCount) ? "Pin connection for sense[$idx] signal" : (($idx < (SensorCount + numChannels)) ?
|
|
"Pin connection for CSDADC channel[" .($idx - SensorCount). "]" :
|
|
((CsdIdacAEnable && (($idx - SensorCount - numChannels) < idacAnum)) ? "Pin connection for CSD IdacA Channel" :
|
|
(CsdIdacBEnable ? "Pin connection for CSD IdacB Channel" : "NoName")))}`"
|
|
visible="`${(CapSenseEnable && ($idx < SensorCount)) ||
|
|
(CsdAdcEnable && ($idx >= SensorCount) && ($idx < SensorCount + numChannels)) ||
|
|
(CsdIdacEnable && ($idx >= SensorCount + numChannels) && ($idx < SensorCount + numChannels + idacNum))}`"
|
|
canBeEmpty="`${!((CapSenseEnable && ($idx < SensorCount)) ||
|
|
(CsdAdcEnable && ($idx >= SensorCount) && ($idx < SensorCount + numChannels)) ||
|
|
(CsdIdacEnable && ($idx >= SensorCount + numChannels) && ($idx < SensorCount + numChannels + idacNum)))}`"
|
|
group="`${($idx < SensorCount) ? ( ($idx < CapacitorCount) ? "CapSense Capacitors" : "CapSense Sensors" ) :
|
|
(($idx < (SensorCount + numChannels)) ? "CSDADC Channels" : "CSDIDAC Channels")}`" repeatCount="290"/>
|
|
</ParamMux>
|
|
<Repeat count="256">
|
|
<ParamString id="SensorSignal$idx" name="" group="Sensors"
|
|
default="`${$idx < SensorCount ? getBlockFromSignalValue(getMuxArmSignal("sense", $idx)) : ""}`"
|
|
visible="false" editable="false" desc="" />
|
|
</Repeat>
|
|
<Repeat count="32">
|
|
<ParamString id="ChannelSignal$idx" name="" group="Sensors"
|
|
default="`${$idx < numChannels ? getBlockFromSignalValue(getMuxArmSignal("sense", $idx + SensorCount)) : ""}`"
|
|
visible="false" editable="false" desc="" />
|
|
</Repeat>
|
|
<ParamString id="IdacAsignal" name="" group="Sensors"
|
|
default="`${CsdIdacAEnable ? getBlockFromSignalValue(getMuxArmSignal("sense", SensorCount + numChannels)) : ""}`"
|
|
visible="false" editable="false" desc="" />
|
|
<ParamString id="IdacBsignal" name="" group="Sensors"
|
|
default="`${CsdIdacBEnable ? getBlockFromSignalValue(getMuxArmSignal("sense", SensorCount + numChannels + idacAnum)) : ""}`"
|
|
visible="false" editable="false" desc="" />
|
|
|
|
<!-- CSD instance number -->
|
|
<ParamString id="InstNumber" name="InstNumber" group="Internal" default="`${getInstNumber("csd")}`"
|
|
visible="false" editable="false" desc="CSD Instance name number." />
|
|
|
|
</Parameters>
|
|
|
|
<DRCs>
|
|
<DRC type="ERROR" text="The CLK_PERI clock is not enabled" condition="`${!periClkOk}`" >
|
|
<FixIt action="ENABLE_BLOCK" target="`${periClkRsc}`" value="" valid="true" />
|
|
</DRC>
|
|
<DRC type="ERROR" text="The CLK_HF0 clock is not enabled" condition="`${!cpuClkOk}`" >
|
|
<FixIt action="ENABLE_BLOCK" target="`${cpuClkRsc}`" value="" valid="true" />
|
|
</DRC>
|
|
<!-- CSDIDAC -->
|
|
<DRC type="ERROR" text="At least one IDAC channel should be enabled"
|
|
condition="`${(CsdIdacAselect eq CY_CSDIDAC_DISABLED) && (CsdIdacBselect eq CY_CSDIDAC_DISABLED) && CsdIdacEnable}`"
|
|
paramId="CsdIdacAselect">
|
|
</DRC>
|
|
<DRC type="ERROR" text="The IDAC A channel cannot join the disabled IDAC B channel"
|
|
condition="`${(CsdIdacAselect eq CY_CSDIDAC_JOIN) && (CsdIdacBselect eq CY_CSDIDAC_DISABLED) && CsdIdacEnable}`"
|
|
paramId="CsdIdacAselect">
|
|
</DRC>
|
|
<DRC type="ERROR" text="The IDAC B channel cannot join the disabled IDAC A channel"
|
|
condition="`${(CsdIdacBselect eq CY_CSDIDAC_JOIN) && (CsdIdacAselect eq CY_CSDIDAC_DISABLED) && CsdIdacEnable}`"
|
|
paramId="CsdIdacBselect">
|
|
</DRC>
|
|
<DRC type="ERROR" text="The IDAC A channel and the IDAC B channel cannot join one another"
|
|
condition="`${(CsdIdacAselect eq CY_CSDIDAC_JOIN) && (CsdIdacBselect eq CY_CSDIDAC_JOIN) && CsdIdacEnable}`"
|
|
paramId="CsdIdacAselect">
|
|
</DRC>
|
|
</DRCs>
|
|
|
|
<ConfigFirmware>
|
|
<!-- External tools -->
|
|
<ConfigTool value="`${cy_tools_path("capsense-configurator") . "/capsense-configurator-cli"}`" include="`${CapSenseEnable}`">
|
|
<Arg value="`${"--config=" . cfgFilePath}`" />
|
|
<Arg value="`${"--output-dir=" . cy_codegen_path()}`" />
|
|
</ConfigTool>
|
|
|
|
<ConfigInclude value="cy_sysclk.h" include="`${pclkOk}`" />
|
|
<ConfigInclude value="cy_csd.h" include="`${CsdAdcEnable || CapSenseEnable || CsdIdacEnable}`" />
|
|
<ConfigInclude value="cy_csdadc.h" include="`${CsdAdcEnable}`" />
|
|
<ConfigInclude value="cy_csdidac.h" include="`${CsdIdacEnable}`" />
|
|
|
|
<ConfigDefine name="CY_CAPSENSE_CORE" value="`${CapSenseCore}`u" public="true" include="`${CapSenseEnable}`" />
|
|
<ConfigDefine name="CY_CAPSENSE_CPU_CLK" value="`${cpuClkFreq}`u" public="true" include="`${CapSenseEnable && cpuClkOk}`" />
|
|
<ConfigDefine name="CY_CAPSENSE_PERI_CLK" value="`${periClkFreq}`u" public="true" include="`${CapSenseEnable && periClkOk}`" />
|
|
<ConfigDefine name="CY_CAPSENSE_VDDA_MV" value="`${vddaMv}`u" public="true" include="`${CapSenseEnable}`" />
|
|
<ConfigDefine name="CY_CAPSENSE_PERI_DIV_TYPE" value="`${pclkType}`" public="true" include="`${CapSenseEnable}`" />
|
|
<ConfigDefine name="CY_CAPSENSE_PERI_DIV_INDEX" value="`${pclkIndex}`u" public="true" include="`${CapSenseEnable}`" />
|
|
<ConfigDefine name="`${SensorName$idx}`_PORT"
|
|
value="GPIO_PRT`${getInstFromLocation(getParamValue("SensorSignal$idx"), "port")}`" public="true"
|
|
include="`${CapSenseEnable && ($idx < SensorCount) && isBlockUsed(SensorSignal$idx)}`" repeatCount="256" />
|
|
<ConfigDefine name="`${SensorName$idx}`_PIN"
|
|
value="`${getInstFromLocation(getParamValue("SensorSignal$idx"), "pin")}`u" public="true"
|
|
include="`${($idx < SensorCount) && isBlockUsed(SensorSignal$idx)}`" repeatCount="256" />
|
|
<ConfigDefine name="`${SensorName$idx}`_PORT_NUM"
|
|
value="`${getInstFromLocation(getParamValue("SensorSignal$idx"), "port")}`u" public="true"
|
|
include="`${($idx < CapacitorCount) && isBlockUsed(SensorSignal$idx)}`" repeatCount="4" />
|
|
<ConfigDefine name="`${INST_NAME}`_HW" value="CSD`${InstNumber}`" public="true" include="`${CsdAdcEnable || CapSenseEnable || CsdIdacEnable}`" />
|
|
<ConfigDefine name="`${INST_NAME}`_IRQ" value="csd_interrupt_IRQn" public="true" include="`${CsdAdcEnable || CapSenseEnable}`" />
|
|
<ConfigDefine name="`${INST_NAME}`_CSDADC_CHANN_NUM" value="`${numChannels}`u" public="true" include="`${CsdAdcEnable}`" />
|
|
<ConfigDefine name="`${INST_NAME}`_CSDADC_ALL_CHAN_MASK" value="((1u << `${INST_NAME}`_CSDADC_CHANN_NUM) - 1u)" public="true"
|
|
include="`${CsdAdcEnable}`" />
|
|
|
|
|
|
<ConfigStruct name="cy_csd_`${InstNumber}`_context" type="cy_stc_csd_context_t" const="false" public="true"
|
|
include="`${CsdAdcEnable || CapSenseEnable || CsdIdacEnable}`" >
|
|
<Member name="lockKey" value="CY_CSD_NONE_KEY" />
|
|
</ConfigStruct>
|
|
|
|
<ConfigStruct name="`${INST_NAME}`_csdadc_channel_list" type="cy_stc_csdadc_ch_pin_t" const="true" isArray="true" public="false"
|
|
include="`${CsdAdcEnable}`">
|
|
<Member name="`${##}`" value="{

|
|
.ioPcPtr = GPIO_PRT`${getInstFromLocation(getParamValue("ChannelSignal##"), "port")}`, 

|
|
.pin = `${getInstFromLocation(getParamValue("ChannelSignal##"), "pin")}`u, 

|
|
}"
|
|
include="`${CsdAdcEnable && (numChannels > ##) && isBlockUsed(ChannelSignal##)}`"
|
|
count="32"/>
|
|
</ConfigStruct>
|
|
<ConfigStruct name="`${INST_NAME}`_csdidac_a_pin" type="cy_stc_csdidac_pin_t" const="`${idacInFlash}`" public="false"
|
|
include="`${CsdIdacEnable && CsdIdacAEnable && isBlockUsed(IdacAsignal) && (!IdacAbusOnly)}`">
|
|
<Member name="ioPcPtr" value="GPIO_PRT`${getInstFromLocation(getParamValue("IdacAsignal"), "port")}`" />
|
|
<Member name="pin" value="`${getInstFromLocation(getParamValue("IdacAsignal"), "pin")}`u" />
|
|
</ConfigStruct>
|
|
<ConfigStruct name="`${INST_NAME}`_csdidac_b_pin" type="cy_stc_csdidac_pin_t" const="`${idacInFlash}`" public="false"
|
|
include="`${CsdIdacEnable && CsdIdacBEnable && isBlockUsed(IdacBsignal) && (!IdacBbusOnly)}`">
|
|
<Member name="ioPcPtr" value="GPIO_PRT`${getInstFromLocation(getParamValue("IdacBsignal"), "port")}`" />
|
|
<Member name="pin" value="`${getInstFromLocation(getParamValue("IdacBsignal"), "pin")}`u" />
|
|
</ConfigStruct>
|
|
|
|
<ConfigStruct name="`${INST_NAME}`_csdadc_config" type="cy_stc_csdadc_config_t" const="`${inFlash}`" public="true" include="`${CsdAdcEnable}`">
|
|
<Member name="ptrPinList" value="&`${INST_NAME}`_csdadc_channel_list[0u]"/>
|
|
<Member name="base" value="`${INST_NAME}`_HW" />
|
|
<Member name="cpuClk" value="`${cpuClkFreq}`u"/>
|
|
<Member name="periClk" value="`${periClkFreq}`u"/>
|
|
<Member name="vref" value="`${vref}`"/>
|
|
<Member name="vdda" value="`${vddaMv}`u"/>
|
|
<Member name="calibrInterval" value="`${autoCalibrInterval}`u"/>
|
|
<Member name="range" value="`${range}`"/>
|
|
<Member name="resolution" value="`${resolution}`"/>
|
|
<Member name="periDivTyp" value="`${pclkType}`"/>
|
|
<Member name="numChannels" value="`${numChannels}`u"/>
|
|
<Member name="idac" value="31u"/>
|
|
<Member name="operClkDivider" value="`${operClkDivider}`u"/>
|
|
<Member name="azTime" value="`${azTime}`u"/>
|
|
<Member name="acqTime" value="`${acqTime}`u"/>
|
|
<Member name="csdInitTime" value="`${csdInitTime}`u"/>
|
|
<Member name="idacCalibrationEn" value="0u"/>
|
|
<Member name="periDivInd" value="`${pclkIndex}`u"/>
|
|
<Member name="csdCxtPtr" value="&cy_csd_`${InstNumber}`_context"/>
|
|
</ConfigStruct>
|
|
<ConfigStruct name="`${INST_NAME}`_csdidac_config" type="cy_stc_csdidac_config_t" const="`${idacInFlash}`" public="true" include="`${CsdIdacEnable}`">
|
|
<Member name="base" value="`${INST_NAME}`_HW" />
|
|
<Member name="csdCxtPtr" value="&cy_csd_`${InstNumber}`_context"/>
|
|
<Member name="configA" value="`${CsdIdacAselect}`"/>
|
|
<Member name="configB" value="`${CsdIdacBselect}`"/>
|
|
<Member name="ptrPinA" value="`${CsdIdacAEnable && (!IdacAbusOnly)?
|
|
"(const cy_stc_csdidac_pin_t *) &" . INST_NAME . "_csdidac_a_pin" : "NULL"}`"/>
|
|
<Member name="ptrPinB" value="`${CsdIdacBEnable && (!IdacBbusOnly)?
|
|
"(const cy_stc_csdidac_pin_t *) &" . INST_NAME . "_csdidac_b_pin" : "NULL"}`"/>
|
|
<Member name="cpuClk" value="`${cpuClkFreq}`u"/>
|
|
<Member name="csdInitTime" value="`${csdIdacInitTime}`u"/>
|
|
</ConfigStruct>
|
|
<ConfigInstruction value="Cy_SysClk_PeriphAssignDivider(`${pclkDst}`, `${getExposedMember(pclk, "clockSel")}`);" include="`${pclkOk}`" />
|
|
</ConfigFirmware>
|
|
</Personality>
|