1<?xml version="1.0" encoding="utf-8"?> 2 3 4<!--**************************************************************************** 5* \file csd.cypersonality 6* \version 3.0 7* 8* \brief 9* CSD personality description file. Supports CAT1A family of devices. 10* 11******************************************************************************** 12* \copyright 13* (c) (2018-2022), Cypress Semiconductor Corporation (an Infineon company) or 14* an affiliate of Cypress Semiconductor Corporation. 15* 16* SPDX-License-Identifier: Apache-2.0 17* 18* Licensed under the Apache License, Version 2.0 (the "License"); 19* you may not use this file except in compliance with the License. 20* You may obtain a copy of the License at 21* 22* http://www.apache.org/licenses/LICENSE-2.0 23* 24* Unless required by applicable law or agreed to in writing, software 25* distributed under the License is distributed on an "AS IS" BASIS, 26* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 27* See the License for the specific language governing permissions and 28* limitations under the License. 29*****************************************************************************--> 30 31<Personality id="mxs40csd" name="CSD" version="3.0" xmlns="http://cypress.com/xsd/cyhwpersonality_v7"> 32 <Dependencies> 33 <IpBlock name="mxcsdv2" /> 34 <Resource name="csd\.csd" /> 35 </Dependencies> 36 <ExposedMembers> 37 <ExposedMember key="suppressCodeGen" paramId="suppressAmuxCodeGen" /> 38 <ExposedMember key="CapSenseEnable" paramId="CapSenseEnable" /> 39 </ExposedMembers> 40 <Parameters> 41 <!-- PDL documentation --> 42 <ParamDoc id="pdlDoc" 43 name="Configuration Help" 44 group="Overview" 45 default="file:///`${cy_libs_path()}`/docs/pdl_api_reference_manual/html/group__group__csd.html" 46 linkText="Open CSD Documentation" 47 visible="true" 48 desc="Opens the Peripheral Driver Library Documentation" /> 49 50 <ParamDoc id="capSenseDoc" 51 name="CAPSENSE™ Middleware" 52 group="Overview" 53 default="https://infineon.github.io/capsense/capsense_api_reference_manual/html/index.html" 54 linkText="Open CAPSENSE™ Documentation" 55 visible="true" 56 desc="Opens the CAPSENSE™ Middleware Library Documentation" /> 57 58 <ParamDoc id="csdAdcDoc" 59 name="CSDADC Middleware" 60 group="Overview" 61 default="https://infineon.github.io/csdadc/csdadc_api_reference_manual/html/index.html" 62 linkText="Open CSDADC Documentation" 63 visible="true" 64 desc="Opens the CSDADC Middleware Library Documentation" /> 65 66 <ParamDoc id="csdIdacDoc" 67 name="CSDIDAC Middleware" 68 group="Overview" 69 default="https://infineon.github.io/csdidac/csdidac_api_reference_manual/html/index.html" 70 linkText="Open CSDIDAC Documentation" 71 visible="true" 72 desc="Opens the CSDIDAC Middleware Library Documentation" /> 73 74 <!-- ExposedMember --> 75 <ParamBool id="suppressAmuxCodeGen" name="Suppress Amuxbus Configuration Code Generation" group="Internal" default="true" 76 visible="false" editable="false" desc="Prevents pins connected to this personality to generate configuration code" /> 77 78 <!-- IP Block property CAPSENSE™ capable--> 79 <ParamBool id="capSenseCapable" name="CAPSENSE™ capable" group="Internal" default="`${hasBlock("csd[0].capsense[0]")}`" 80 visible="false" editable="false" desc="This parameter specifies if CSD is CAPSENSE™ capable" /> 81 82 <!-- Inputs --> 83 <ParamSignal port="clock[0]" name="Clock" group="Inputs" visible="true" desc="Peripheral clock divider" canBeEmpty="false" /> 84 85 <!-- VDDA Voltage query --> 86 <ParamBool id="isPowerEnabled" name="Is Power Enabled" group="System" default="`${isBlockUsed("srss[0].power[0]")}`" 87 visible="false" editable="false" desc="" /> 88 <ParamRange id="vddaMv" name="VDDA Voltage (mV)" group="System" 89 default="`${isPowerEnabled ? getExposedMember("srss[0].power[0]", "vddaMv") : 3300}`" 90 min="0" max="5000" resolution="1" visible="false" editable="false" desc="VDDA voltage in millivolts" /> 91 92 <!-- Peripheral / CPU clock query --> 93 <ParamString id="pclk" name="PCLK" group="System" default="`${getBlockFromSignal("clock[0]")}`" 94 visible="false" editable="false" desc="Connected peripheral clock divider (PCLK)" /> 95 <ParamBool id="pclkOk" name="PCLK Valid" group="System" default="`${hasConnection("clock", 0) && isBlockUsed(pclk)}`" 96 visible="false" editable="false" desc="Checks whether there is a PCLK connected and enabled" /> 97 <ParamRange id="pclkIndex" name="PCLK Index" group="System" default="`${pclkOk ? getExposedMember(pclk, "number") : 0}`" 98 min="0" max="63" resolution="1" visible="false" editable="false" desc="" /> 99 <ParamString id="pclkType" name="PCLK Type" group="System" 100 default="`${pclkOk ? getExposedMember(pclk, "type") : "CY_SYSCLK_DIV_8_BIT"}`" visible="false" editable="false" desc="" /> 101 <ParamString id="pclkDst" name="PCLK Destination" group="System" default="PCLK_CSD_CLOCK" visible="false" editable="false" desc="" /> 102 <ParamString id="periClkRsc" name="CLK_PERI Resource" group="System" default="srss[0].clock[0].periclk[0]" 103 visible="false" editable="false" desc="" /> 104 <ParamBool id="periClkOk" name="CLK_PERI Valid" group="System" default="`${isBlockUsed(periClkRsc)}`" 105 visible="false" editable="false" desc="Checks whether CLK_PERI is enabled" /> 106 <ParamRange id="periClkFreq" name="CLK_PERI Frequency (Hz)" group="System" 107 default="`${periClkOk ? getExposedMember(periClkRsc, "frequency") : 0}`" min="0" max="200000000" resolution="1" 108 visible="false" editable="false" desc="Peripheral clock frequency in Hz" /> 109 <ParamString id="cpuClkRsc" name="CLK_HF0 Resource" group="System" default="srss[0].clock[0].hfclk[0]" visible="false" editable="false" desc="" /> 110 <ParamBool id="cpuClkOk" name="CLK_HF0 Valid" group="System" default="`${isBlockUsed(cpuClkRsc)}`" 111 visible="false" editable="false" desc="Checks whether CLK_HF0 is enabled" /> 112 <ParamRange id="cpuClkFreq" name="CLK_HF0 Frequency (Hz)" group="System" 113 default="`${cpuClkOk ? getExposedMember(cpuClkRsc, "frequency") : 0}`" min="0" max="200000000" resolution="1" 114 visible="false" editable="false" desc="CPU clock frequency in Hz" /> 115 116 <!-- CAPSENSE™ --> 117 <ParamBool id="CapSenseEnable" name="Enable CAPSENSE™" group="CAPSENSE™" default="`${capSenseCapable}`" visible="`${capSenseCapable}`" editable="`${capSenseCapable}`" 118 desc="Enables CAPSENSE™ function of CSD hardware block" /> 119 <ParamChoice id="CapSenseCore" name="Target CPU core" group="CAPSENSE™" default="4" visible="true" editable="true" desc="Configures the target CPU core for CAPSENSE™ middleware" > 120 <Entry name="Cortex M0+" value="0" visible="true" /> 121 <Entry name="Cortex M4" value="4" visible="true" /> 122 </ParamChoice> 123 <ParamRange id="SensorCount" name="Sensor count" group="CAPSENSE™" default="0" min="0" max="256" resolution="1" visible="false" editable="true" desc="Sensor count" /> 124 <ParamRange id="CapacitorCount" name="Capacitor count" group="CAPSENSE™" default="0" min="0" max="256" resolution="1" visible="false" editable="true" desc="Capacitor count" /> 125 <Repeat count="256"> 126 <ParamString id="SensorName$idx" name="SensorName$idx" group="Internal" default="" visible="false" editable="`${$idx < SensorCount}`" desc="" /> 127 </Repeat> 128 129 <!-- External tools --> 130 <ParamString id="cfgFileName" name="cfgFileName" group="External Tools" default="design.cycapsense" visible="false" editable="false" desc="" /> 131 <ParamString id="cfgFilePath" name="cfgFilePath" group="External Tools" default="`${cy_design_path() . "/" . cfgFileName}`" visible="false" editable="false" desc="" /> 132 <ParamCustom id="CapSenseConfigurator" name="CAPSENSE™ Configurator" group="External Tools" default="0" 133 path="`${cy_tools_path("capsense-configurator") . "/capsense-configurator"}`" 134 modal="true" visible="`${CapSenseEnable}`" editable="true" desc="Launch CAPSENSE™ Configurator"> 135 <Arg value="`${"--config=" . cfgFilePath}`" /> 136 <Arg value="`${"--output-dir=" . cy_codegen_path()}`" /> 137 <Arg value="`${"--design=" . cy_design_file()}`" /> 138 <Arg value="`${"--library=" . cy_libs_file()}`" /> 139 </ParamCustom> 140 <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"> 141 <Arg value="`${"--config=" . cfgFilePath}`" /> 142 <Arg value="`${"--output-dir=" . cy_codegen_path()}`" /> 143 </ParamCustom> 144 145 <!-- CSDADC --> 146 <ParamBool id="CsdAdcEnable" name="Enable CSDADC" group="CSDADC" default="`${!capSenseCapable}`" visible="true" editable="true" 147 desc="Enables the CSDADC function of the CSD hardware block. The CSD ADC middleware must be enabled in the Middleware Selector" /> 148 <ParamRange id="numChannels" name="Number of Input Channels" group="CSDADC" default="1" min="1" max="32" resolution="1" 149 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)." /> 150 <ParamChoice id="resolution" name="Resolution" group="CSDADC" default="CY_CSDADC_RESOLUTION_10BIT" visible="`${CsdAdcEnable}`" editable="true" 151 desc="Configures the CSDADC resolution" > 152 <Entry name="8 bit" value="CY_CSDADC_RESOLUTION_8BIT" visible="true" /> 153 <Entry name="10 bit" value="CY_CSDADC_RESOLUTION_10BIT" visible="true" /> 154 </ParamChoice> 155 <ParamChoice id="range" name="Measurement Range" group="CSDADC" default="CY_CSDADC_RANGE_VDDA" 156 visible="`${CsdAdcEnable}`" editable="true" desc="Configures the CSDADC measurement range" > 157 <Entry name="GND to VREF" value="CY_CSDADC_RANGE_VREF" visible="true" /> 158 <Entry name="GND to VDDA" value="CY_CSDADC_RANGE_VDDA" visible="true" /> 159 </ParamChoice> 160 <ParamRange id="acqTime" name="Acquisition Time (us)" group="CSDADC" default="10" min="1" max="100" resolution="1" 161 visible="`${CsdAdcEnable}`" editable="true" desc="Sample acquisition time interval in microseconds" /> 162 <ParamRange id="autoCalibrInterval" name="Calibration Interval for Continuous Mode (number of scans) " group="CSDADC" default="30" 163 min="0" max="120" resolution="1" visible="false" editable="true" 164 desc="Run-time auto-calibration interval. If set to 0, auto-calibration is not performed" /> 165 <ParamRange id="vref" name="VREF Reference Voltage (mV)" group="CSDADC" default="-1" min="-1" max="`${(vddaMv - 600)}`" resolution="1" 166 visible="`${CsdAdcEnable}`" editable="true" 167 desc="Sets the Vref value in mV. Set -1 to choose Vref automatically depending on VDDA. 168 If the Vref is set manually, it should be in a range from 800 mV to (VDDA - 600) mV for the SRSS Vref source." /> 169 <ParamRange id="operClkDivider" name="Operation Clock Divider" group="CSDADC" default="`${(periClkOk ? (ceil(periClkFreq / 50000000.0)) : 1)}`" 170 min="1" max="255" resolution="1" visible="`${CsdAdcEnable}`" editable="true" 171 desc="CSD HW block clock divider. It will overwrite the specified peripheral clock divider that is set on the Peripheral-Clocks tab." /> 172 <ParamRange id="csdClkFreq" name="CSD HW Block Input Frequency (Hz)" group="CSDADC" 173 default="`${((periClkOk && CsdAdcEnable) ? ((getExposedMember(periClkRsc, "frequency"))/operClkDivider) : 1)}`" 174 min="1" max="50000000" resolution="1" visible="`${CsdAdcEnable}`" editable="false" 175 desc="CSD HW Block Input Frequency in Hz. For reliable block operation, the frequency should not exceed 50 MHz. " /> 176 <ParamRange id="azTime" name="Auto-Zero Time (us)" group="CSDADC" default="5" min="1" max="20" resolution="1" 177 visible="`${CsdAdcEnable}`" editable="true" desc="Time interval of comparator auto-zero in microseconds" /> 178 <ParamRange id="csdInitTime" name="Hardware Initialization Time (us)" group="CSDADC" default="25" min="0" max="100" resolution="1" 179 visible="`${CsdAdcEnable}`" editable="true" desc="CSD HW block initialization time in us for CSDADC MW" /> 180 <ParamBool id="inFlash" name="Store the CSDADC Configuration in Flash" group="CSDADC" default="true" visible="`${CsdAdcEnable}`" editable="true" 181 desc="Controls whether the CSDADC configuration structure is stored in flash (const, true) or SRAM (not const, false)." /> 182 183 <!-- CSDIDAC --> 184 <ParamBool id="CsdIdacEnable" name="Enable CSDIDAC" group="CSDIDAC" default="false" visible="true" editable="true" 185 desc="Enables the CSDIDAC function of the CSD hardware block. The CSD IDAC middleware must be enabled in the Middleware Selector" /> 186 <ParamChoice id="CsdIdacAselect" name="IDAC A Channel" group="CSDIDAC" default="CY_CSDIDAC_GPIO" 187 visible="`${CsdIdacEnable}`" editable="true" desc="Configures the IDAC A channel" > 188 <Entry name="Disabled" value="CY_CSDIDAC_DISABLED" visible="true" /> 189 <Entry name="GPIO" value="CY_CSDIDAC_GPIO" visible="true" /> 190 <Entry name="AMuxBus A" value="CY_CSDIDAC_AMUX" visible="true" /> 191 <Entry name="Joined with IDAC B" value="CY_CSDIDAC_JOIN" visible="true" /> 192 </ParamChoice> 193 <ParamChoice id="CsdIdacBselect" name="IDAC B Channel" group="CSDIDAC" default="CY_CSDIDAC_DISABLED" 194 visible="`${CsdIdacEnable}`" editable="true" desc="Configures the IDAC B channel" > 195 <Entry name="Disabled" value="CY_CSDIDAC_DISABLED" visible="true" /> 196 <Entry name="GPIO" value="CY_CSDIDAC_GPIO" visible="true" /> 197 <Entry name="AMuxBus B" value="CY_CSDIDAC_AMUX" visible="true" /> 198 <Entry name="Joined with IDAC A" value="CY_CSDIDAC_JOIN" visible="true" /> 199 </ParamChoice> 200 <ParamString id="CsdIdacAEnable" name="Enable Idac A" group="CSDIDACA" default="`${CsdIdacAselect eq CY_CSDIDAC_DISABLED ? false : true}`" 201 visible="false" editable="false" desc="An internal variable for the IDAC A enabling" /> 202 <ParamString id="CsdIdacBEnable" name="Enable Idac B" group="CSDIDACB" default="`${CsdIdacBselect eq CY_CSDIDAC_DISABLED ? false : true}`" 203 visible="false" editable="false" desc="An internal variable for the IDAC B enabling" /> 204 <ParamString id="IdacAbusOnly" name="Enable Idac A channel only on the AmuxBusA" group="CSDIDACA" 205 default="`${(CsdIdacAselect eq CY_CSDIDAC_AMUX) || (CsdIdacAselect eq CY_CSDIDAC_JOIN) ? true : false}`" visible="false" editable="false" 206 desc="Enables an Idac A output current connection only on the AmuxBusA" /> 207 <ParamString id="IdacBbusOnly" name="Enable Idac B channel only on the AmuxBusB" group="CSDIDACB" 208 default="`${(CsdIdacBselect eq CY_CSDIDAC_AMUX) || (CsdIdacBselect eq CY_CSDIDAC_JOIN) ? true : false}`" visible="false" editable="false" 209 desc="Enables an Idac B output current connection only on the AmuxBusB" /> 210 <ParamRange id="csdIdacInitTime" name="Hardware Initialization Time (us)" group="CSDIDAC" default="25" min="0" max="100" resolution="1" 211 visible="`${CsdIdacEnable}`" editable="true" desc="CSD HW block initialization time in us for CSDIDAC MW" /> 212 <ParamBool id="idacInFlash" name="Store CSDIDAC Configuration in Flash" group="CSDIDAC" default="true" visible="`${CsdIdacEnable}`" editable="true" 213 desc="Controls whether the CSDIDAC configuration structure is stored in flash (const, true) or SRAM (not const, false)." /> 214 215 <!-- Common MUX for sensors, ADC inputs and IDAC outputs --> 216 <ParamMux id="sense" name="Sensors" group="Sensors" armSelectGroup="CSD`${getInstNumber("csd")}`" allowedIp="^(csd|ioss)"> 217 <Common port="amuxbus_a[0]" /> 218 <Common port="amuxbus_b[0]" /> 219 <Arm name="`${SensorName$idx}`" 220 desc="Pin connection for sense[$idx] signal" 221 visible="`${(CapSenseEnable && ($idx < SensorCount))}`" 222 canBeEmpty="`${!(CapSenseEnable && ($idx < SensorCount))}`" 223 group="`${($idx < CapacitorCount) ? "CAPSENSE Capacitors" : "CAPSENSE Sensors"}`" 224 repeatCount="256"/> 225 </ParamMux> 226 227 <ParamMux id="adcChannel" name="Channels" group="Sensors" armSelectGroup="CSD`${getInstNumber("csd")}`" allowedIp="^(csd|ioss)"> 228 <Common port="amuxbus_a[0]" /> 229 <Common port="amuxbus_b[0]" /> 230 <Arm name="Channel[$idx]" 231 desc="Pin connection for CSDADC channel[$idx]" 232 visible="`${(CsdAdcEnable && ($idx < numChannels))}`" 233 canBeEmpty="`${!(CsdAdcEnable && ($idx < numChannels))}`" 234 group="CSDADC Channels" repeatCount="32"/> 235 </ParamMux> 236 237 <ParamMux id="idacA" name="IdacA" group="Sensors" armSelectGroup="CSD`${getInstNumber("csd")}`" allowedIp="^(csd|ioss)"> 238 <Common port="amuxbus_a[0]" /> 239 <Common port="amuxbus_b[0]" /> 240 <Arm name="IdacAchannel" 241 desc="Pin connection for CSD IdacA Channel" 242 visible="`${CsdIdacEnable && CsdIdacAEnable && !IdacAbusOnly}`" 243 canBeEmpty="`${!(CsdIdacEnable && CsdIdacAEnable && !IdacAbusOnly)}`" 244 group="CSDIDAC Channels" repeatCount="1"/> 245 </ParamMux> 246 247 <ParamMux id="idacB" name="IdacB" group="Sensors" armSelectGroup="CSD`${getInstNumber("csd")}`" allowedIp="^(csd|ioss)"> 248 <Common port="amuxbus_a[0]" /> 249 <Common port="amuxbus_b[0]" /> 250 <Arm name="IdacBchannel" 251 desc="Pin connection for CSD IdacB Channel" 252 visible="`${CsdIdacEnable && CsdIdacBEnable && !IdacBbusOnly}`" 253 canBeEmpty="`${!(CsdIdacEnable && CsdIdacBEnable && !IdacBbusOnly)}`" 254 group="CSDIDAC Channels" repeatCount="1"/> 255 </ParamMux> 256 257 <Repeat count="256"> 258 <ParamString id="SensorSignal$idx" name="" group="Sensors" 259 default="`${$idx < SensorCount ? getBlockFromSignalValue(getMuxArmSignal("sense", $idx)) : ""}`" 260 visible="false" editable="false" desc="" /> 261 </Repeat> 262 <Repeat count="32"> 263 <ParamString id="ChannelSignal$idx" name="" group="Sensors" 264 default="`${$idx < numChannels ? getBlockFromSignalValue(getMuxArmSignal("adcChannel", $idx)) : ""}`" 265 visible="false" editable="false" desc="" /> 266 </Repeat> 267 <ParamString id="IdacAsignal" name="" group="Sensors" 268 default="`${CsdIdacAEnable ? getBlockFromSignalValue(getMuxArmSignal("idacA", 0)) : ""}`" 269 visible="false" editable="false" desc="" /> 270 <ParamString id="IdacBsignal" name="" group="Sensors" 271 default="`${CsdIdacBEnable ? getBlockFromSignalValue(getMuxArmSignal("idacB", 0)) : ""}`" 272 visible="false" editable="false" desc="" /> 273 274 <!-- CSD instance number --> 275 <ParamString id="InstNumber" name="InstNumber" group="Internal" default="`${getInstNumber("csd")}`" 276 visible="false" editable="false" desc="CSD Instance name number." /> 277 278 </Parameters> 279 280 <DRCs> 281 <DRC type="ERROR" text="The CLK_PERI clock is not enabled" condition="`${!periClkOk}`" > 282 <FixIt action="ENABLE_BLOCK" target="`${periClkRsc}`" value="" valid="true" /> 283 </DRC> 284 <DRC type="ERROR" text="The CLK_HF0 clock is not enabled" condition="`${!cpuClkOk}`" > 285 <FixIt action="ENABLE_BLOCK" target="`${cpuClkRsc}`" value="" valid="true" /> 286 </DRC> 287<!-- CSDIDAC --> 288 <DRC type="ERROR" text="At least one IDAC channel should be enabled" 289 condition="`${(CsdIdacAselect eq CY_CSDIDAC_DISABLED) && (CsdIdacBselect eq CY_CSDIDAC_DISABLED) && CsdIdacEnable}`" 290 paramId="CsdIdacAselect"> 291 </DRC> 292 <DRC type="ERROR" text="The IDAC A channel cannot join the disabled IDAC B channel" 293 condition="`${(CsdIdacAselect eq CY_CSDIDAC_JOIN) && (CsdIdacBselect eq CY_CSDIDAC_DISABLED) && CsdIdacEnable}`" 294 paramId="CsdIdacAselect"> 295 </DRC> 296 <DRC type="ERROR" text="The IDAC B channel cannot join the disabled IDAC A channel" 297 condition="`${(CsdIdacBselect eq CY_CSDIDAC_JOIN) && (CsdIdacAselect eq CY_CSDIDAC_DISABLED) && CsdIdacEnable}`" 298 paramId="CsdIdacBselect"> 299 </DRC> 300 <DRC type="ERROR" text="The IDAC A channel and the IDAC B channel cannot join one another" 301 condition="`${(CsdIdacAselect eq CY_CSDIDAC_JOIN) && (CsdIdacBselect eq CY_CSDIDAC_JOIN) && CsdIdacEnable}`" 302 paramId="CsdIdacAselect"> 303 </DRC> 304 </DRCs> 305 306 <ConfigFirmware> 307 <!-- External tools --> 308 <ConfigTool value="`${cy_tools_path("capsense-configurator") . "/capsense-configurator-cli"}`" include="`${CapSenseEnable}`"> 309 <Arg value="`${"--config=" . cfgFilePath}`" /> 310 <Arg value="`${"--output-dir=" . cy_codegen_path()}`" /> 311 </ConfigTool> 312 313 <ConfigInclude value="cy_sysclk.h" include="`${pclkOk}`" /> 314 <ConfigInclude value="cy_csd.h" include="`${CsdAdcEnable || CapSenseEnable || CsdIdacEnable}`" /> 315 <ConfigInclude value="cy_csdadc.h" include="`${CsdAdcEnable}`" /> 316 <ConfigInclude value="cy_csdidac.h" include="`${CsdIdacEnable}`" /> 317 318 <ConfigDefine name="CY_CAPSENSE_CORE" value="`${CapSenseCore}`u" public="true" include="`${CapSenseEnable}`" /> 319 <ConfigDefine name="CY_CAPSENSE_CPU_CLK" value="`${cpuClkFreq}`u" public="true" include="`${CapSenseEnable && cpuClkOk}`" /> 320 <ConfigDefine name="CY_CAPSENSE_PERI_CLK" value="`${periClkFreq}`u" public="true" include="`${CapSenseEnable && periClkOk}`" /> 321 <ConfigDefine name="CY_CAPSENSE_VDDA_MV" value="`${vddaMv}`u" public="true" include="`${CapSenseEnable}`" /> 322 <ConfigDefine name="CY_CAPSENSE_PERI_DIV_TYPE" value="`${pclkType}`" public="true" include="`${CapSenseEnable}`" /> 323 <ConfigDefine name="CY_CAPSENSE_PERI_DIV_INDEX" value="`${pclkIndex}`u" public="true" include="`${CapSenseEnable}`" /> 324 <ConfigDefine name="`${SensorName$idx}`_PORT" 325 value="GPIO_PRT`${getInstFromLocation(getParamValue("SensorSignal$idx"), "port")}`" public="true" 326 include="`${CapSenseEnable && ($idx < SensorCount) && isBlockUsed(SensorSignal$idx)}`" repeatCount="256" /> 327 <ConfigDefine name="`${SensorName$idx}`_PIN" 328 value="`${getInstFromLocation(getParamValue("SensorSignal$idx"), "pin")}`u" public="true" 329 include="`${($idx < SensorCount) && isBlockUsed(SensorSignal$idx)}`" repeatCount="256" /> 330 <ConfigDefine name="`${SensorName$idx}`_PORT_NUM" 331 value="`${getInstFromLocation(getParamValue("SensorSignal$idx"), "port")}`u" public="true" 332 include="`${($idx < CapacitorCount) && isBlockUsed(SensorSignal$idx)}`" repeatCount="4" /> 333 <ConfigDefine name="`${INST_NAME}`_HW" value="CSD`${InstNumber}`" public="true" include="`${CsdAdcEnable || CapSenseEnable || CsdIdacEnable}`" /> 334 <ConfigDefine name="`${INST_NAME}`_IRQ" value="csd_interrupt_IRQn" public="true" include="`${CsdAdcEnable || CapSenseEnable}`" /> 335 <ConfigDefine name="`${INST_NAME}`_CSDADC_CHANN_NUM" value="`${numChannels}`u" public="true" include="`${CsdAdcEnable}`" /> 336 <ConfigDefine name="`${INST_NAME}`_CSDADC_ALL_CHAN_MASK" value="((1u << `${INST_NAME}`_CSDADC_CHANN_NUM) - 1u)" public="true" 337 include="`${CsdAdcEnable}`" /> 338 339 340 <ConfigStruct name="cy_csd_`${InstNumber}`_context" type="cy_stc_csd_context_t" const="false" public="true" 341 include="`${CsdAdcEnable || CapSenseEnable || CsdIdacEnable}`" > 342 <Member name="lockKey" value="CY_CSD_NONE_KEY" /> 343 </ConfigStruct> 344 345 <ConfigStruct name="`${INST_NAME}`_csdadc_channel_list" type="cy_stc_csdadc_ch_pin_t" const="true" isArray="true" public="false" 346 include="`${CsdAdcEnable}`"> 347 <Member name="`${##}`" value="{
 348 .ioPcPtr = GPIO_PRT`${getInstFromLocation(getParamValue("ChannelSignal##"), "port")}`, 
 349 .pin = `${getInstFromLocation(getParamValue("ChannelSignal##"), "pin")}`u, 
 350 }" 351 include="`${CsdAdcEnable && (numChannels > ##) && isBlockUsed(ChannelSignal##)}`" 352 count="32"/> 353 </ConfigStruct> 354 <ConfigStruct name="`${INST_NAME}`_csdidac_a_pin" type="cy_stc_csdidac_pin_t" const="`${idacInFlash}`" public="false" 355 include="`${CsdIdacEnable && CsdIdacAEnable && isBlockUsed(IdacAsignal) && (!IdacAbusOnly)}`"> 356 <Member name="ioPcPtr" value="GPIO_PRT`${getInstFromLocation(getParamValue("IdacAsignal"), "port")}`" /> 357 <Member name="pin" value="`${getInstFromLocation(getParamValue("IdacAsignal"), "pin")}`u" /> 358 </ConfigStruct> 359 <ConfigStruct name="`${INST_NAME}`_csdidac_b_pin" type="cy_stc_csdidac_pin_t" const="`${idacInFlash}`" public="false" 360 include="`${CsdIdacEnable && CsdIdacBEnable && isBlockUsed(IdacBsignal) && (!IdacBbusOnly)}`"> 361 <Member name="ioPcPtr" value="GPIO_PRT`${getInstFromLocation(getParamValue("IdacBsignal"), "port")}`" /> 362 <Member name="pin" value="`${getInstFromLocation(getParamValue("IdacBsignal"), "pin")}`u" /> 363 </ConfigStruct> 364 365 <ConfigStruct name="`${INST_NAME}`_csdadc_config" type="cy_stc_csdadc_config_t" const="`${inFlash}`" public="true" include="`${CsdAdcEnable}`"> 366 <Member name="ptrPinList" value="&`${INST_NAME}`_csdadc_channel_list[0u]"/> 367 <Member name="base" value="`${INST_NAME}`_HW" /> 368 <Member name="cpuClk" value="`${cpuClkFreq}`u"/> 369 <Member name="periClk" value="`${periClkFreq}`u"/> 370 <Member name="vref" value="`${vref}`"/> 371 <Member name="vdda" value="`${vddaMv}`u"/> 372 <Member name="calibrInterval" value="`${autoCalibrInterval}`u"/> 373 <Member name="range" value="`${range}`"/> 374 <Member name="resolution" value="`${resolution}`"/> 375 <Member name="periDivTyp" value="`${pclkType}`"/> 376 <Member name="numChannels" value="`${numChannels}`u"/> 377 <Member name="idac" value="31u"/> 378 <Member name="operClkDivider" value="`${operClkDivider}`u"/> 379 <Member name="azTime" value="`${azTime}`u"/> 380 <Member name="acqTime" value="`${acqTime}`u"/> 381 <Member name="csdInitTime" value="`${csdInitTime}`u"/> 382 <Member name="idacCalibrationEn" value="0u"/> 383 <Member name="periDivInd" value="`${pclkIndex}`u"/> 384 <Member name="csdCxtPtr" value="&cy_csd_`${InstNumber}`_context"/> 385 </ConfigStruct> 386 <ConfigStruct name="`${INST_NAME}`_csdidac_config" type="cy_stc_csdidac_config_t" const="`${idacInFlash}`" public="true" include="`${CsdIdacEnable}`"> 387 <Member name="base" value="`${INST_NAME}`_HW" /> 388 <Member name="csdCxtPtr" value="&cy_csd_`${InstNumber}`_context"/> 389 <Member name="configA" value="`${CsdIdacAselect}`"/> 390 <Member name="configB" value="`${CsdIdacBselect}`"/> 391 <Member name="ptrPinA" value="`${CsdIdacAEnable && (!IdacAbusOnly)? 392 "(const cy_stc_csdidac_pin_t *) &" . INST_NAME . "_csdidac_a_pin" : "NULL"}`"/> 393 <Member name="ptrPinB" value="`${CsdIdacBEnable && (!IdacBbusOnly)? 394 "(const cy_stc_csdidac_pin_t *) &" . INST_NAME . "_csdidac_b_pin" : "NULL"}`"/> 395 <Member name="cpuClk" value="`${cpuClkFreq}`u"/> 396 <Member name="csdInitTime" value="`${csdIdacInitTime}`u"/> 397 </ConfigStruct> 398 <ConfigInstruction value="Cy_SysClk_PeriphAssignDivider(`${pclkDst}`, `${getExposedMember(pclk, "clockSel")}`);" include="`${pclkOk}`" /> 399 </ConfigFirmware> 400</Personality> 401