0305 Works

master
Oleg 5 months ago
parent 5fc60e60df
commit b7502b24a0

@ -9,6 +9,6 @@
<rts value="libc.a"/>
<templateProperties value="id=com.ti.common.project.core.emptyProjectTemplate,"/>
<isTargetManual value="false"/>
<origin value="C:/CCSWorkSpaces/temp/DVRFramework"/>
<origin value="C:/CCSWorkSpaces/DVR500Framework"/>
<connection value="common/targetdb/connections/TIXDS100v3_Dot7_Connection.xml"/>
</projectOptions>

@ -15,8 +15,8 @@
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.C2000.Debug.2040603795" name="Debug" parent="com.ti.ccstudio.buildDefinitions.C2000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C2000.Debug.2040603795." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.DebugToolchain.830787211" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.linkerDebug.1778512584">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1197154302" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<toolChain id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.DebugToolchain.70824468" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug.1327456409">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1314554366" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F28335"/>
<listOptionValue builtIn="false" value="DEVICE_CORE_ID=C2800"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
@ -24,23 +24,23 @@
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.5.0"/>
<listOptionValue builtIn="false" value="LINK_ORDER=F28335.cmd;-lrts2800_fpu32.lib;"/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=28335_RAM_lnk.cmd"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
<listOptionValue builtIn="false" value="PRODUCTS="/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=28335_RAM_lnk.cmd"/>
<listOptionValue builtIn="false" value="PRODUCT_MACRO_IMPORTS={}"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.624589266" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="21.6.0.LTS" valueType="string"/>
<targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.targetPlatformDebug.1195867980" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.targetPlatformDebug"/>
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.builderDebug.1484000353" keepEnvironmentInBuildfile="false" name="GNU Make" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.compilerDebug.1731246565" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.compilerDebug">
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.LARGE_MEMORY_MODEL.2072485324" name="Option deprecated, set by default (--large_memory_model, -ml)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.UNIFIED_MEMORY.2020368090" name="Unified memory (--unified_memory, -mt)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.SILICON_VERSION.200319597" name="Processor version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.SILICON_VERSION.28" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.FLOAT_SUPPORT.1002982879" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.FLOAT_SUPPORT.fpu32" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.OPT_LEVEL.158333741" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.OPT_LEVEL.4" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.OPT_FOR_SPEED.1189713323" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.OPT_FOR_SPEED.5" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.FP_MODE.597990472" name="Floating Point mode (--fp_mode)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.FP_MODE" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.FP_MODE.relaxed" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.INCLUDE_PATH.910773204" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.INCLUDE_PATH" valueType="includePath">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.80260209" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="22.6.0.LTS" valueType="string"/>
<targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformDebug.144554960" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.targetPlatformDebug"/>
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderDebug.1149098008" name="GNU Make.Debug" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerDebug.1299929089" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.compilerDebug">
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL.1242950249" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY.1684737710" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.1569115973" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.SILICON_VERSION.28" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT.921114452" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FLOAT_SUPPORT.fpu32" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.1273100232" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_LEVEL.4" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.50833124" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.OPT_FOR_SPEED.5" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE.426354406" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.FP_MODE.relaxed" valueType="enumerated"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH.1937343012" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false" value="${SRC_ROOT}/sys/include"/>
<listOptionValue builtIn="false" value="${SRC_ROOT}/DSP2833x_headers/include"/>
@ -48,37 +48,36 @@
<listOptionValue builtIn="false" value="${WORKSPACE_LOC}/FLOATPOINTLIB"/>
<listOptionValue builtIn="false" value="${PROJECT_ROOT}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ADVICE__PERFORMANCE.1890281965" name="Provide advice on optimization techniques (--advice:performance)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ADVICE__PERFORMANCE" value="--advice:performance=all" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DEFINE.1385179336" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DEFINE" valueType="definedSymbols">
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ADVICE__PERFORMANCE.149577346" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ADVICE__PERFORMANCE" value="--advice:performance=all" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE.1662729952" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="_DEBUG"/>
<listOptionValue builtIn="false" value="LARGE_MODEL"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DEBUGGING_MODEL.451239249" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DIAG_WRAP.44979444" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DISPLAY_ERROR_NUMBER.320946418" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ISSUE_REMARKS.1678891727" name="Issue remarks (--issue_remarks, -pdr)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ISSUE_REMARKS" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.QUIET_LEVEL.1661022843" name="Quiet Level" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.QUIET_LEVEL" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.QUIET_LEVEL.QUIET" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ABI.2128235277" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ABI.coffabi" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ASM_LISTING.1104407996" name="Generate listing file (--asm_listing, -al)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.ASM_LISTING" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DISABLE_INLINING.31466939" name="Disable inlining (--disable_inlining)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compilerID.DISABLE_INLINING" value="false" valueType="boolean"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compiler.inputType__C_SRCS.423959130" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compiler.inputType__C_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compiler.inputType__CPP_SRCS.447191296" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compiler.inputType__CPP_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compiler.inputType__ASM_SRCS.1088389375" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compiler.inputType__ASM_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_21.6.compiler.inputType__ASM2_SRCS.274059361" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.compiler.inputType__ASM2_SRCS"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL.1441670091" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP.953729974" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER.1789724136" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ISSUE_REMARKS.1347638696" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ISSUE_REMARKS" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.QUIET_LEVEL.530513445" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.QUIET_LEVEL" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.QUIET_LEVEL.QUIET" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.516418488" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ABI.coffabi" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ASM_LISTING.386989538" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compilerID.ASM_LISTING" value="true" valueType="boolean"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS.702170906" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__C_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS.415318295" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__CPP_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS.1891525646" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS.1391197761" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.compiler.inputType__ASM2_SRCS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.linkerDebug.1778512584" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.exe.linkerDebug">
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.STACK_SIZE.1215847210" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.STACK_SIZE" value="0x100" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.MAP_FILE.569103737" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.MAP_FILE" value="&quot;${ProjName}.map&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.OUTPUT_FILE.167409769" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.HEAP_SIZE.60955433" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.HEAP_SIZE" value="0x100" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.LIBRARY.1339269017" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.LIBRARY" valueType="libs">
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug.1327456409" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exe.linkerDebug">
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE.1998782068" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.STACK_SIZE" value="0x100" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE.1328622269" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.MAP_FILE" value="&quot;${ProjName}.map&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE.905533328" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.HEAP_SIZE.879002182" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.HEAP_SIZE" value="0x100" valueType="string"/>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY.1082336086" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.LIBRARY" valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<listOptionValue builtIn="false" value="${UTILITIES}/flash_api/2833x/28335/v210/lib/Flash28335_API_V210.lib"/>
<listOptionValue builtIn="false" value="rts2800_fpu32.lib"/>
<listOptionValue builtIn="false" value="rts2800_fpu32_fast_supplement.lib"/>
<listOptionValue builtIn="false" value="${WORKSPACE_LOC}/FLOATPOINTLIB/Debug/FLOATPOINTLIB.lib"/>
</option>
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.SEARCH_PATH.345223286" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.SEARCH_PATH" valueType="libPaths">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH.1160620700" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.SEARCH_PATH" valueType="libPaths">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
<listOptionValue builtIn="false" value="${UTILITIES}/flash_api/2833x/28335/v210/lib"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
@ -88,14 +87,14 @@
<listOptionValue builtIn="false" value="${FAST_FPU32_SUPPLEMENT}/lib"/>
<listOptionValue builtIn="false" value="${WORKSPACE_LOC}/FLOATPOINTLIB/Debug"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.DIAG_WRAP.1827120485" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.DISPLAY_ERROR_NUMBER.728966569" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.XML_LINK_INFO.689360326" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.linkerID.XML_LINK_INFO" value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_21.6.exeLinker.inputType__CMD_SRCS.1717731033" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.exeLinker.inputType__CMD_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_21.6.exeLinker.inputType__CMD2_SRCS.1965417765" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.exeLinker.inputType__CMD2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_21.6.exeLinker.inputType__GEN_CMDS.1435745153" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.exeLinker.inputType__GEN_CMDS"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_WRAP.62041989" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER.1940356559" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO.2036702739" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.linkerID.XML_LINK_INFO" value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS.1533038686" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS.464724910" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__CMD2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS.1647733195" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.exeLinker.inputType__GEN_CMDS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.C2000_21.6.hex.1661532341" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_21.6.hex"/>
<tool id="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex.266629445" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_22.6.hex"/>
</toolChain>
</folderInfo>
<sourceEntries>

@ -134,7 +134,7 @@
<variableList>
<variable>
<name>FAST_FPU32_SUPPLEMENT</name>
<value>file:/C:/ti/controlSUITE/libs/math/FPUfastRTS/V100</value>
<value>$%7BTI_PRODUCTS_DIR__TIREX%7D/controlSUITE/libs/math/FPUfastRTS/V100</value>
</variable>
<variable>
<name>ORIGINAL_PROJECT_ROOT</name>
@ -146,7 +146,7 @@
</variable>
<variable>
<name>UTILITIES</name>
<value>file:/C:/ti/controlSUITE/libs/utilities</value>
<value>$%7BTI_PRODUCTS_DIR__TIREX%7D/controlSUITE/libs/utilities</value>
</variable>
</variableList>
</projectDescription>

@ -40,7 +40,7 @@ void FRAMDATABASE::register_configuration_parameters(SYSCTRL::SystemControlConfi
//
// High Voltage Cell
//
add_uint16(0, &sys_config->hardware.cell_level, 4);
add_uint16(0, &sys_config->hardware.cell_level, 4); // for debug!!!
add_uint16(0, &sys_config->hardware.version.pwm, 210);
add_uint16(0, &sys_config->hardware.version.cell, 211);
add_uint32(0, &sys_config->hardware.version.cpu_cpld, 202);
@ -123,6 +123,10 @@ void FRAMDATABASE::register_configuration_parameters(SYSCTRL::SystemControlConfi
add_float( 0, &sys_config->signal_decompose.projection_filter.a3, 2.61313);
add_float( 0, &sys_config->signal_decompose.projection_filter.a2, 3.41422);
add_float( 0, &sys_config->signal_decompose.projection_filter.a1, 2.61313);
//
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_SIMPLE
add_float( 0, &sys_config->voltage_decompose.projection_filter.time, DECOMPOSEVOLTAGETIME);
#endif
//<>
@ -354,10 +358,21 @@ void FRAMDATABASE::register_configuration_parameters(SYSCTRL::SystemControlConfi
#if TYPECONTROL == SCALARCONTROL
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_DIFFICULT
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.gain, 0.04);
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.time, 10.0e-3);
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.high_saturation, 4500.0);
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.low_saturation, -4500.0);
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.high_saturation, 1800.0);
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.low_saturation, -1800.0);
#endif
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_SIMPLE
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.gain, 1/5.0);
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.time, REGULATORVOLTAGETIME);
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.high_saturation, 1800.0); // for debug!!!
add_float( 0, &sys_config->regulator_voltage_load_active_reactive.low_saturation, -1800.0); // for debug!!!
#endif
//
add_float( 0, &sys_config->regulator_current_limit.gain, 1.0);
add_float( 0, &sys_config->regulator_current_limit.time, 5.0);
@ -369,12 +384,12 @@ void FRAMDATABASE::register_configuration_parameters(SYSCTRL::SystemControlConfi
add_float( 0, &sys_config->regulator_current_pfc.high_saturation, GRID_VOLTAGE_REFERENCE * 0.57735);
add_float( 0, &sys_config->regulator_current_pfc.low_saturation, -GRID_VOLTAGE_REFERENCE * 0.57735);
//
add_float( 0, &sys_config->current_regulator_active.gain, 0.17); // 0.34 for single winding
add_float( 0, &sys_config->current_regulator_active.gain, 0.34); // 0.34 for single winding 0.17 for double winding
add_float( 0, &sys_config->current_regulator_active.time, 0.04);
add_float( 0, &sys_config->current_regulator_active.high_saturation, 500.0);
add_float( 0, &sys_config->current_regulator_active.low_saturation, -500.0);
//
add_float( 0, &sys_config->current_regulator_reactive.gain, 0.17); // 0.34 for single winding
add_float( 0, &sys_config->current_regulator_reactive.gain, 0.34); // 0.34 for single winding 0.17 for double winding
add_float( 0, &sys_config->current_regulator_reactive.time, 0.04);
add_float( 0, &sys_config->current_regulator_reactive.high_saturation, 500.0);
add_float( 0, &sys_config->current_regulator_reactive.low_saturation, -500.0);
@ -398,8 +413,8 @@ void FRAMDATABASE::register_configuration_parameters(SYSCTRL::SystemControlConfi
//
add_float( 0, &sys_config->drc_voltage_controller.gain, 0.4); //0.4 - for single winding; 0.7958 - for double winding. //7.958//1.592//0.7958
add_float( 0, &sys_config->drc_voltage_controller.time, 3.2e-3); //31.83e-3//6.366e-3//3.183e-3
add_float( 0, &sys_config->drc_voltage_controller.high_saturation, 4500.0);
add_float( 0, &sys_config->drc_voltage_controller.low_saturation, -4500.0);
add_float( 0, &sys_config->drc_voltage_controller.high_saturation, 1276.0);
add_float( 0, &sys_config->drc_voltage_controller.low_saturation, -1276.0);
//
add_float( 0, &sys_config->drc_reference_voltage_direct_intensity.time, 333.0e-3);
add_float( 0, &sys_config->drc_reference_voltage_direct_intensity.damp_factor, 0.9);

@ -282,7 +282,7 @@ void AlgorithmStart::_execute_run()
m_voltage_a = m_env.drc_voltage_cell_a * m_env.cell_dc_voltage_a_reciprocal;
m_voltage_b = m_env.drc_voltage_cell_b * m_env.cell_dc_voltage_b_reciprocal;
m_voltage_c = m_env.drc_voltage_cell_c * m_env.cell_dc_voltage_c_reciprocal;
//
}//
//
#endif

@ -247,7 +247,8 @@ void AlgorithmWork::_execute_single_phase(SYSCTRL::AlgorithmSinglePhaseControl&
{
if(phase.control_bit.signal.enable_current_limit)
// if(phase.control_bit.signal.enable_current_limit) // for debug!!!
if(false)
{
phase.reference.voltage_limit = regulator_limit.execute(phase.reference.current_ampl_limit_const, phase.feedback.current_ampl_real);
@ -275,7 +276,8 @@ void AlgorithmWork::_execute_single_phase(SYSCTRL::AlgorithmSinglePhaseControl&
}//if else
if(phase.control_bit.signal.enable_pfc)
// if(phase.control_bit.signal.enable_pfc) // for debug!!!
if(false)
{
phase.reference.voltage_ampl_real = sqrtf(phase.reference.voltage_limit * phase.reference.voltage_limit - phase.reference.voltage_pfc * phase.reference.voltage_pfc);
phase.reference.voltage_ampl_jm = phase.reference.voltage_pfc;
@ -290,7 +292,8 @@ void AlgorithmWork::_execute_single_phase(SYSCTRL::AlgorithmSinglePhaseControl&
//
phase.reference.voltage_cell_ampl_real = regulator_active.execute(phase.reference.voltage_ampl_real, phase.feedback.voltage_ampl_real);
//
if(phase.control_bit.signal.enable_pfc)
//if(phase.control_bit.signal.enable_pfc) // for debug!!!
if(false)
{
phase.reference.voltage_cell_ampl_jm = regulator_reactive.execute(phase.reference.voltage_ampl_jm, phase.feedback.voltage_ampl_jm);
//
@ -358,8 +361,8 @@ void AlgorithmWork::_execute_run()
}
//
m_env.drc_positive_voltage_cell_direct = m_env.drc_positive_voltage_controller_direct.execute(m_env.drc_voltage_reference_load_direct, m_env.drc_positive_voltage_load_direct);
//m_env.drc_positive_voltage_cell_quadrature = m_env.drc_positive_voltage_controller_quadrature.execute(m_env.drc_voltage_reference_load_quadrature, m_env.drc_positive_voltage_load_quadrature);
m_env.drc_positive_voltage_cell_quadrature = FP_ZERO;
m_env.drc_positive_voltage_cell_quadrature = m_env.drc_positive_voltage_controller_quadrature.execute(m_env.drc_voltage_reference_load_quadrature, m_env.drc_positive_voltage_load_quadrature);
//m_env.drc_positive_voltage_cell_quadrature = FP_ZERO;
m_env.drc_negative_voltage_cell_direct = m_env.drc_negative_voltage_controller_direct.execute(m_env.drc_voltage_reference_zero, m_env.drc_negative_voltage_load_direct);
m_env.drc_negative_voltage_cell_quadrature = m_env.drc_negative_voltage_controller_quadrature.execute(m_env.drc_voltage_reference_zero, m_env.drc_negative_voltage_load_quadrature);
//m_env.drc_negative_voltage_cell_direct = FP_ZERO;

@ -233,9 +233,9 @@ void SystemControl::get_hard_code_configuration()
//
// Generator ABC
//
m_system_configuration.generator_abc.amplitude = 1.0;
m_system_configuration.generator_abc.frequency = 2.0*FP_PI*50.0;
m_system_configuration.generator_abc.phase_shift = 0.0;
//m_system_configuration.generator_abc.amplitude = 1.0;
//m_system_configuration.generator_abc.frequency = 2.0*FP_PI*50.0;
//m_system_configuration.generator_abc.phase_shift = 0.0;
//

@ -0,0 +1,32 @@
/*
* MaxDetection.cpp
*
* Created on: 23 ôåâð. 2023 ã.
* Author: Oleg
*/
#include <SYSCTRL/MaxDetection.h>
namespace SYSCTRL
{
MaxDetection::MaxDetection():
max_value(FP_ZERO)
{
// TODO Auto-generated constructor stub
}
void MaxDetection::execute(float ia, float ib, float ic)
{
if(ia > max_value)
{max_value = ia;}
if(ib > max_value)
{max_value = ib;}
if(ic > max_value)
{max_value = ic;}
} // execute
} /* namespace SYSCTRL */

@ -0,0 +1,28 @@
/*
* MaxDetection.h
*
* Created on: 23 ôåâð. 2023 ã.
* Author: Oleg
*/
#include <math.h>
#include <stdint.h>
#ifndef SYSCTRL_MAXDETECTION_H_
#define SYSCTRL_MAXDETECTION_H_
namespace SYSCTRL
{
class MaxDetection
{
public:
MaxDetection();
void execute(float ia, float ib, float ic);
private:
float max_value;
};
} /* namespace SYSCTRL */
#endif /* SYSCTRL_MAXDETECTION_H_ */

@ -9,78 +9,12 @@
namespace SYSCTRL
{
//CONSTRUCTOR
SignalDecompose::SignalDecompose():
m_time_sample(-1.0),
m_projection_active(),
m_projection_reactive(),
m_projection_filter_active(),
m_projection_filter_reactive(),
_execute(&SYSCTRL::SignalDecompose::_execute_undef)
//
m_projection_reactive()
{}//CONSTRUCTOR
void SignalDecompose::setup(float time_sample)
{
m_time_sample = time_sample;
m_projection_filter_active.setup(m_time_sample);
m_projection_filter_reactive.setup(m_time_sample);
//
}//
//
void SignalDecompose::configure(const SignalDecomposeConfiguration& config)
{
m_projection_filter_active.configure(config.projection_filter);
m_projection_filter_reactive.configure(config.projection_filter);
//
if((m_time_sample > FP_ZERO) && (config.projection_filter.time > m_time_sample))
{
_execute = &SYSCTRL::SignalDecompose::_execute_operational;
//
}//if
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecompose::reset()
{
m_projection_active = FP_ZERO;
m_projection_reactive = FP_ZERO;
m_projection_filter_active.reset();
m_projection_filter_reactive.reset();
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecompose::get_outputs(float& projection_active, float& projection_reactive)
{
projection_active = m_projection_active;
projection_reactive = m_projection_reactive;
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecompose::execute(float reference, float ort_cos, float ort_sin)
{
(this->*_execute)(reference, ort_cos, ort_sin);
//
}//
//
void SignalDecompose::_execute_undef(float reference, float ort_cos, float ort_sin)
{
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecompose::_execute_operational(float reference, float ort_cos, float ort_sin)
{
//
m_projection_active = m_projection_filter_active.execute(1.4142 * reference * ort_cos);
//
m_projection_reactive = m_projection_filter_reactive.execute(-(1.4142 * reference * ort_sin));
//
}//
//
} /* namespace SYSCTRL */

@ -8,17 +8,14 @@
#include <math.h>
#include <stdint.h>
#include "SYSCTRL/BaseComponent.h"
#include "SYSCTRL/HeadersFLTSYSLIB.h"
#ifndef SYSCTRL_SIGNALDECOMPOSE_H_
#define SYSCTRL_SIGNALDECOMPOSE_H_
namespace SYSCTRL
{
struct SignalDecomposeStructure
{
float projection_active;
@ -34,40 +31,26 @@ struct SignalDecomposeStructure
{}
};//
struct SignalDecomposeConfiguration
{
FLTSYSLIB::FilterForthConfiguration projection_filter;
SignalDecomposeConfiguration():
projection_filter()
{}
};//SignalDecomposeConfiguration
class SignalDecompose
{
private:
protected:
float m_time_sample;
private:
protected:
float m_projection_active;
float m_projection_reactive;
FLTSYSLIB::FilterForth m_projection_filter_active;
FLTSYSLIB::FilterForth m_projection_filter_reactive;
public:
SignalDecompose();
void setup(float time_sample);
void configure(const SignalDecomposeConfiguration& config);
virtual void setup(float time_sample) = 0;
public:
void reset();
void get_outputs(float& projection_active, float& projection_reactive);
virtual void reset() = 0;
virtual void get_outputs(float& projection_active, float& projection_reactive) = 0;
public:
void execute(float reference, float ort_cos, float ort_sin);
private:
void (SignalDecompose::*_execute)(float reference, float ort_cos, float ort_sin);
void _execute_undef(float reference, float ort_cos, float ort_sin);
void _execute_operational(float reference, float ort_cos, float ort_sin);
//
};//SignalDecompose
virtual void execute(float reference, float ort_cos, float ort_sin) = 0;
protected:
virtual void _execute_undef(float reference, float ort_cos, float ort_sin) = 0;
virtual void _execute_operational(float reference, float ort_cos, float ort_sin) = 0;
};
} /* namespace SYSCTRL */

@ -0,0 +1,85 @@
/*
* SignalDecomposeFI.cpp
*
* Author: Aleksey Gerasimenko
* gerasimenko.aleksey.n@gmail.com
*/
#include "SYSCTRL/SignalDecomposeFI.h"
namespace SYSCTRL
{
//CONSTRUCTOR
SignalDecomposeFI::SignalDecomposeFI():
SYSCTRL::SignalDecompose(),
m_projection_filter_active(),
m_projection_filter_reactive(),
_execute(&SYSCTRL::SignalDecomposeFI::_execute_undef)
{}//CONSTRUCTOR
void SignalDecomposeFI::setup(float time_sample)
{
m_time_sample = time_sample;
m_projection_filter_active.setup(m_time_sample);
m_projection_filter_reactive.setup(m_time_sample);
//
}//
//
void SignalDecomposeFI::configure(const SignalDecomposeFIConfiguration& config)
{
m_projection_filter_active.configure(config.projection_filter);
m_projection_filter_reactive.configure(config.projection_filter);
//
if((m_time_sample > FP_ZERO) && (config.projection_filter.time > m_time_sample))
{
_execute = &SYSCTRL::SignalDecomposeFI::_execute_operational;
//
}//if
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecomposeFI::reset()
{
m_projection_active = FP_ZERO;
m_projection_reactive = FP_ZERO;
m_projection_filter_active.reset();
m_projection_filter_reactive.reset();
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecomposeFI::get_outputs(float& projection_active, float& projection_reactive)
{
projection_active = m_projection_active;
projection_reactive = m_projection_reactive;
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecomposeFI::execute(float reference, float ort_cos, float ort_sin)
{
(this->*_execute)(reference, ort_cos, ort_sin);
//
}//
//
void SignalDecomposeFI::_execute_undef(float reference, float ort_cos, float ort_sin)
{
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecomposeFI::_execute_operational(float reference, float ort_cos, float ort_sin)
{
//
m_projection_active = m_projection_filter_active.execute(1.4142 * reference * ort_cos);
//
m_projection_reactive = m_projection_filter_reactive.execute(-(1.4142 * reference * ort_sin));
//
}//
//
} /* namespace SYSCTRL */

@ -0,0 +1,48 @@
/*
* SignalDecomposeFI.h
*
* Author: Aleksey Gerasimenko
* gerasimenko.aleksey.n@gmail.com
*/
#include "SYSCTRL/SignalDecompose.h"
#ifndef SYSCTRL_SIGNALDECOMPOSEFI_H_
#define SYSCTRL_SIGNALDECOMPOSEFI_H_
namespace SYSCTRL
{
struct SignalDecomposeFIConfiguration
{
FLTSYSLIB::FilterConfiguration projection_filter;
SignalDecomposeFIConfiguration():
projection_filter()
{}
};//SignalDecomposeFIConfiguration
class SignalDecomposeFI: public SYSCTRL::SignalDecompose
{
private:
FLTSYSLIB::Filter m_projection_filter_active;
FLTSYSLIB::Filter m_projection_filter_reactive;
public:
SignalDecomposeFI();
void setup(float time_sample);
void configure(const SignalDecomposeFIConfiguration& config);
public:
void reset();
void get_outputs(float& projection_active, float& projection_reactive);
public:
void execute(float reference, float ort_cos, float ort_sin);
private:
void (SignalDecomposeFI::*_execute)(float reference, float ort_cos, float ort_sin);
void _execute_undef(float reference, float ort_cos, float ort_sin);
void _execute_operational(float reference, float ort_cos, float ort_sin);
};
} /* namespace SYSCTRL */
#endif /* SYSCTRL_SIGNALDECOMPOSEFI_H_ */

@ -0,0 +1,84 @@
/*
* SignalDecomposeFIV.cpp
*
* Author: Aleksey Gerasimenko
* gerasimenko.aleksey.n@gmail.com
*/
#include "SYSCTRL/SignalDecomposeFIV.h"
namespace SYSCTRL
{
//CONSTRUCTOR
SignalDecomposeFIV::SignalDecomposeFIV():
SYSCTRL::SignalDecompose(),
m_projection_filter_active(),
m_projection_filter_reactive(),
_execute(&SYSCTRL::SignalDecomposeFIV::_execute_undef)
//
{}//CONSTRUCTOR
void SignalDecomposeFIV::setup(float time_sample)
{
m_time_sample = time_sample;
m_projection_filter_active.setup(m_time_sample);
m_projection_filter_reactive.setup(m_time_sample);
//
}//
//
void SignalDecomposeFIV::configure(const SignalDecomposeFIVConfiguration& config)
{
m_projection_filter_active.configure(config.projection_filter);
m_projection_filter_reactive.configure(config.projection_filter);
//
if((m_time_sample > FP_ZERO) && (config.projection_filter.time > m_time_sample))
{
_execute = &SYSCTRL::SignalDecomposeFIV::_execute_operational;
//
}//if
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecomposeFIV::reset()
{
m_projection_active = FP_ZERO;
m_projection_reactive = FP_ZERO;
m_projection_filter_active.reset();
m_projection_filter_reactive.reset();
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecomposeFIV::get_outputs(float& projection_active, float& projection_reactive)
{
projection_active = m_projection_active;
projection_reactive = m_projection_reactive;
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecomposeFIV::execute(float reference, float ort_cos, float ort_sin)
{
(this->*_execute)(reference, ort_cos, ort_sin);
//
}//
//
void SignalDecomposeFIV::_execute_undef(float reference, float ort_cos, float ort_sin)
{
//
}//
//
#pragma CODE_SECTION("ramfuncs");
void SignalDecomposeFIV::_execute_operational(float reference, float ort_cos, float ort_sin)
{
//
m_projection_active = m_projection_filter_active.execute(1.4142 * reference * ort_cos);
//
m_projection_reactive = m_projection_filter_reactive.execute(-(1.4142 * reference * ort_sin));
//
}//
//
} /* namespace SYSCTRL */

@ -0,0 +1,49 @@
/*
* SignalDecomposeFIV.h
*
* Author: Aleksey Gerasimenko
* gerasimenko.aleksey.n@gmail.com
*/
#include "SYSCTRL/SignalDecompose.h"
#ifndef SYSCTRL_SIGNALDECOMPOSEFIV_H_
#define SYSCTRL_SIGNALDECOMPOSEFIV_H_
namespace SYSCTRL
{
struct SignalDecomposeFIVConfiguration
{
FLTSYSLIB::FilterForthConfiguration projection_filter;
SignalDecomposeFIVConfiguration():
projection_filter()
{}
};//SignalDecomposeFIVConfiguration
class SignalDecomposeFIV: public SYSCTRL::SignalDecompose
{
private:
FLTSYSLIB::FilterForth m_projection_filter_active;
FLTSYSLIB::FilterForth m_projection_filter_reactive;
public:
SignalDecomposeFIV();
void setup(float time_sample);
void configure(const SignalDecomposeFIVConfiguration& config);
public:
void reset();
void get_outputs(float& projection_active, float& projection_reactive);
public:
void execute(float reference, float ort_cos, float ort_sin);
private:
void (SignalDecomposeFIV::*_execute)(float reference, float ort_cos, float ort_sin);
void _execute_undef(float reference, float ort_cos, float ort_sin);
void _execute_operational(float reference, float ort_cos, float ort_sin);
//
};//SignalDecomposeFIV
} /* namespace SYSCTRL */
#endif /* SYSCTRL_SIGNALDECOMPOSEFIV_H_ */

@ -23,6 +23,8 @@
#include "SYSCTRL/PhaseAlertMonitor.h"
#include "SYSCTRL/RelativeAnalogSignalStructure.h"
#include "SYSCTRL/SignalDecompose.h"
#include "SYSCTRL/SignalDecomposeFI.h"
#include "SYSCTRL/SignalDecomposeFIV.h"
#include "SYSCTRL/SignalRelative.h"
#include "SYSCTRL/TriggerRS.h"
@ -38,10 +40,21 @@ namespace SYSCTRL
#if TYPECONTROL == SCALARCONTROL
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_DIFFICULT
#define HEADER_CLASS_ID ((int16_t)(0x0001))
#define HEADER_PART_ID ((int16_t)(0x0010))
#define HEADER_SOFTWARE_VERSION ((int16_t)(0x0796))
#define FOOTER_FOOT ((int16_t)(0xA5A5))
#define FOOTER_FOOT ((int16_t)(0x05A5))
#endif
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_SIMPLE
#define HEADER_CLASS_ID ((int16_t)(0x4005))
#define HEADER_PART_ID ((int16_t)(0x4030))
#define HEADER_SOFTWARE_VERSION ((int16_t)(0x4426))
#define FOOTER_FOOT ((int16_t)(0x44B4))
#endif
#endif
#if TYPECONTROL == VECTORCONTROL
@ -53,10 +66,10 @@ namespace SYSCTRL
#if TYPECONTROL == DIRECTREVERSECONTROL
#define HEADER_CLASS_ID ((int16_t)(0x0C00))
#define HEADER_PART_ID ((int16_t)(0x0C00))
#define HEADER_SOFTWARE_VERSION ((int16_t)(0x0C00))
#define FOOTER_FOOT ((int16_t)(0x0C00))
#define HEADER_CLASS_ID ((int16_t)(0xAAAA))
#define HEADER_PART_ID ((int16_t)(0xAAAA))
#define HEADER_SOFTWARE_VERSION ((int16_t)(0xAAAA))
#define FOOTER_FOOT ((int16_t)(0xAAAA))
#endif
@ -195,9 +208,13 @@ struct SystemControlConfiguration
//
// Decompose Current Load
// Decompose Signal
//
SYSCTRL::SignalDecomposeConfiguration signal_decompose;
SYSCTRL::SignalDecomposeFIVConfiguration signal_decompose;
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_SIMPLE
SYSCTRL::SignalDecomposeFIConfiguration voltage_decompose;
#endif
//
@ -355,6 +372,9 @@ struct SystemControlConfiguration
rms_filter_analog_signal(),
signal_decompose(),
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_SIMPLE
voltage_decompose(),
#endif
pll_abc_input_voltage(),

@ -346,7 +346,7 @@ void SystemControl::setup()
// Signal Decompose
//
#if TYPECONTROL == VECTORCONTROL
#if ( (TYPECONTROL == VECTORCONTROL) || (TYPECONTROL == DIRECTREVERSECONTROL) )
//
m_decompose_voltage_input_a.setup(m_environment.time_sample_slow);
m_decompose_voltage_input_b.setup(m_environment.time_sample_slow);
@ -913,9 +913,23 @@ void SystemControl::configure()
m_decompose_voltage_input_b.configure(m_system_configuration.signal_decompose);
m_decompose_voltage_input_c.configure(m_system_configuration.signal_decompose);
//
#if (TYPECONTROL == SCALARCONTROL)
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_DIFFICULT
m_decompose_voltage_load_a.configure(m_system_configuration.signal_decompose);
m_decompose_voltage_load_b.configure(m_system_configuration.signal_decompose);
m_decompose_voltage_load_c.configure(m_system_configuration.signal_decompose);
#endif
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_SIMPLE
m_decompose_voltage_load_a.configure(m_system_configuration.voltage_decompose);
m_decompose_voltage_load_b.configure(m_system_configuration.voltage_decompose);
m_decompose_voltage_load_c.configure(m_system_configuration.voltage_decompose);
#endif
#endif
#if (TYPECONTROL == VECTORCONTROL) || (TYPECONTROL == DIRECTREVERSECONTROL)
m_decompose_voltage_load_a.configure(m_system_configuration.signal_decompose);
m_decompose_voltage_load_b.configure(m_system_configuration.signal_decompose);
m_decompose_voltage_load_c.configure(m_system_configuration.signal_decompose);
#endif
//
m_decompose_current_load_a.configure(m_system_configuration.signal_decompose);
m_decompose_current_load_b.configure(m_system_configuration.signal_decompose);

@ -21,6 +21,9 @@
#include "SYSCTRL/SystemConfigurator.h"
#include "SYSCTRL/SystemEnvironment.h"
#include "SYSCTRL/VectorSpinner.h"
#include "SYSCTRL/TypeControl.h"
#include "SYSCTRL/MaxDetection.h" // for debug!!!
#ifndef TRAPSWRST
@ -46,26 +49,37 @@ private:
SYSCTRL::AlgorithmContext::algorithm_t m_algorithm_executed;
bool turnQ1On;
private:
// for debug!!!
MaxDetection IcellMax;
MaxDetection IloadMax;
MaxDetection IinputMax;
//Decompose Signals
SYSCTRL::SignalDecompose m_decompose_voltage_input_a;
SYSCTRL::SignalDecompose m_decompose_voltage_input_b;
SYSCTRL::SignalDecompose m_decompose_voltage_input_c;
SYSCTRL::SignalDecomposeFIV m_decompose_voltage_input_a;
SYSCTRL::SignalDecomposeFIV m_decompose_voltage_input_b;
SYSCTRL::SignalDecomposeFIV m_decompose_voltage_input_c;
//
SYSCTRL::SignalDecompose m_decompose_voltage_load_a;
SYSCTRL::SignalDecompose m_decompose_voltage_load_b;
SYSCTRL::SignalDecompose m_decompose_voltage_load_c;
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_DIFFICULT
SYSCTRL::SignalDecomposeFIV m_decompose_voltage_load_a;
SYSCTRL::SignalDecomposeFIV m_decompose_voltage_load_b;
SYSCTRL::SignalDecomposeFIV m_decompose_voltage_load_c;
#endif
#if TYPEVOLTAGEDECOMPOSE == TYPEVOLTAGEDECOMPOSE_SIMPLE
SYSCTRL::SignalDecomposeFI m_decompose_voltage_load_a;
SYSCTRL::SignalDecomposeFI m_decompose_voltage_load_b;
SYSCTRL::SignalDecomposeFI m_decompose_voltage_load_c;
#endif
//
SYSCTRL::SignalDecompose m_decompose_current_load_a;
SYSCTRL::SignalDecompose m_decompose_current_load_b;
SYSCTRL::SignalDecompose m_decompose_current_load_c;
SYSCTRL::SignalDecomposeFIV m_decompose_current_load_a;
SYSCTRL::SignalDecomposeFIV m_decompose_current_load_b;
SYSCTRL::SignalDecomposeFIV m_decompose_current_load_c;
//
SYSCTRL::SignalDecompose m_decompose_current_bypass_a;
SYSCTRL::SignalDecompose m_decompose_current_bypass_b;
SYSCTRL::SignalDecompose m_decompose_current_bypass_c;
SYSCTRL::SignalDecomposeFIV m_decompose_current_bypass_a;
SYSCTRL::SignalDecomposeFIV m_decompose_current_bypass_b;
SYSCTRL::SignalDecomposeFIV m_decompose_current_bypass_c;
//
SYSCTRL::SignalDecompose m_decompose_current_cell_a;
SYSCTRL::SignalDecompose m_decompose_current_cell_b;
SYSCTRL::SignalDecompose m_decompose_current_cell_c;
SYSCTRL::SignalDecomposeFIV m_decompose_current_cell_a;
SYSCTRL::SignalDecomposeFIV m_decompose_current_cell_b;
SYSCTRL::SignalDecomposeFIV m_decompose_current_cell_c;
//
private:
//

@ -56,6 +56,10 @@ void SystemControl::_additional_operational()
m_environment.rms_voltage_load_ca = m_rms_filter_voltage_load_c.execute(m_environment.voltage_load_c - m_environment.voltage_load_a);
//<>
IcellMax.execute(m_environment.current_cell_a, m_environment.current_cell_b, m_environment.current_cell_c); // for debug!!!
IinputMax.execute(m_environment.current_input_a, m_environment.current_input_b, m_environment.current_input_c); // for debug!!!
IloadMax.execute(m_environment.current_load_a, m_environment.current_load_b, m_environment.current_load_c); // for debug!!!
//
// RMS Module
//
@ -1078,7 +1082,8 @@ void SystemControl::_execute_operational()
m_environment.drc_current_cell_beta,
m_environment.drc_current_cell_direct,
m_environment.drc_current_cell_quadrature);
/* //
//
m_environment.drc_direct_voltage_decomposer.execute(m_environment.voltage_load_a,
m_environment.voltage_load_b,
m_environment.voltage_load_c,
@ -1098,8 +1103,9 @@ void SystemControl::_execute_operational()
m_environment.main_abc_reverse_orts.phase_a.reactive,
m_environment.main_abc_reverse_orts.phase_b.reactive,
m_environment.main_abc_reverse_orts.phase_c.reactive);
*/ //
//
/*
m_environment.drc_direct_voltage_decomposer.execute(m_environment.voltage_load_a - m_environment.drc_negative_voltage_load_direct * m_environment.main_abc_reverse_orts.phase_a.active + m_environment.drc_negative_voltage_load_quadrature * m_environment.main_abc_reverse_orts.phase_a.reactive,
m_environment.voltage_load_b - m_environment.drc_negative_voltage_load_direct * m_environment.main_abc_reverse_orts.phase_b.active + m_environment.drc_negative_voltage_load_quadrature * m_environment.main_abc_reverse_orts.phase_b.reactive,
m_environment.voltage_load_c - m_environment.drc_negative_voltage_load_direct * m_environment.main_abc_reverse_orts.phase_c.active + m_environment.drc_negative_voltage_load_quadrature * m_environment.main_abc_reverse_orts.phase_c.reactive,
@ -1119,7 +1125,7 @@ void SystemControl::_execute_operational()
m_environment.main_abc_reverse_orts.phase_a.reactive,
m_environment.main_abc_reverse_orts.phase_b.reactive,
m_environment.main_abc_reverse_orts.phase_c.reactive);
*/
//
m_environment.drc_positive_voltage_load_direct = m_environment.drc_direct_voltage_decomposer.direct;

@ -135,10 +135,40 @@ union BoolRegister
// Decompose Voltage
#define DECOMPOSEVOLTAGETIME_50HZ (float)(3.183e-3)
#define DECOMPOSEVOLTAGETIME_25HZ (float)(6.366e-3)
#define DECOMPOSEVOLTAGETIME_20HZ (float)(7.958e-3)
#define DECOMPOSEVOLTAGETIME_10HZ (float)(15.915e-3)
#define DECOMPOSEVOLTAGETIME_5HZ (float)(31.831e-3)
//
#ifndef DECOMPOSEVOLTAGETIME
//#define DECOMPOSEVOLTAGETIME DECOMPOSEVOLTAGETIME_50HZ
//#define DECOMPOSEVOLTAGETIME DECOMPOSEVOLTAGETIME_25HZ
//#define DECOMPOSEVOLTAGETIME DECOMPOSEVOLTAGETIME_20HZ
#define DECOMPOSEVOLTAGETIME DECOMPOSEVOLTAGETIME_10HZ
//#define DECOMPOSEVOLTAGETIME DECOMPOSEVOLTAGETIME_5HZ
#endif
#ifndef REGULATORVOLTAGETIME
//#define REGULATORVOLTAGETIME DECOMPOSEVOLTAGETIME_50HZ
//#define REGULATORVOLTAGETIME DECOMPOSEVOLTAGETIME_25HZ
//#define REGULATORVOLTAGETIME DECOMPOSEVOLTAGETIME_20HZ
//#define REGULATORVOLTAGETIME DECOMPOSEVOLTAGETIME_10HZ
#define REGULATORVOLTAGETIME DECOMPOSEVOLTAGETIME_5HZ
#endif
#define CURRENT_LIMIT_RMS (float)(100.0)
#define CURRENT_PFC_RMS (float)(0.0)
#define GRID_VOLTAGE_REFERENCE (float)(5700.0) //6000
#define GRID_VOLTAGE_REFERENCE (float)(6050.0) //6000
#define GRID_VOLTAGE_HIGH_LIMIT (float)(6600.0)
#define CELL_DC_VOLTAGE_REFERENCE (float)(5.0*950.0)

@ -7,6 +7,7 @@
#include <math.h>
#include <stdint.h>
#include <SYSCTRL/SignalDecomposeFIV.h>
#include "framework.h"
#include "DSP2833x_Device.h" // DSP2833x Headerfile Include File
@ -18,7 +19,6 @@
#include "SYSCTRL/HardWare.h"
#include "SYSCTRL/MonitorDigitalInputSignal.h"
#include "SYSCTRL/PhaseAlertMonitor.h"
#include "SYSCTRL/SignalDecompose.h"
#include "SYSCTRL/SymmetricalComponents.h"
#include "SYSCTRL/ScaleCompute.h"
#include "SYSCTRL/SystemDefinitions.h"

@ -28,11 +28,17 @@
#endif
#ifndef CURRENTCONTROLLER_PI
#define CURRENTCONTROLLER_PI 1
#endif
#ifndef CURRENTCONTROLLER_P
#define CURRENTCONTROLLER_P 2
#endif
#ifndef TYPECURRENTCONTROLLER
#define TYPECURRENTCONTROLLER CURRENTCONTROLLER_PI
//#define TYPECURRENTCONTROLLER CURRENTCONTROLLER_P
#endif
#define VOLTAGE_CONTROLLER_I 1
@ -41,5 +47,19 @@
//#define TYPE_VOLTAGE_CONTROLLER VOLTAGE_CONTROLLER_PII
#ifndef TYPEVOLTAGEDECOMPOSE_SIMPLE
#define TYPEVOLTAGEDECOMPOSE_SIMPLE 1
#endif
#ifndef TYPEVOLTAGEDECOMPOSE_DIFFICULT
#define TYPEVOLTAGEDECOMPOSE_DIFFICULT 2
#endif
#ifndef TYPEVOLTAGEDECOMPOSE
//#define TYPEVOLTAGEDECOMPOSE TYPEVOLTAGEDECOMPOSE_SIMPLE
#define TYPEVOLTAGEDECOMPOSE TYPEVOLTAGEDECOMPOSE_DIFFICULT
#endif
#endif /* SYSCTRL_TYPECONTROL_H_ */

Loading…
Cancel
Save