Compare commits

..

39 Commits

Author SHA1 Message Date
yichin 56fd4a791e battery add 2020-02-21 17:22:53 +08:00
yichin af8449bc5f battery update 2020-02-15 16:13:36 +08:00
yichin d377e2a9ab battery update 2020-02-15 15:57:30 +08:00
weiting2 cb5d534e83 new cali table 2020-02-07 14:43:19 +08:00
weiting2 49f18d4394 new cali table 2020-02-07 14:39:28 +08:00
yichin c6a03e3646 return version from CIS
new cali table
2020-02-07 14:35:22 +08:00
weiting2 cdde393e30 return version from CIS
new cali table
2020-02-07 14:34:35 +08:00
weiting2 e81bb9018d return version from CIS 2020-02-07 14:29:54 +08:00
yichin 53e059f06b fix table 2020-02-06 15:45:50 +08:00
yichin d336f4ce96 fix notify 2020-02-06 15:12:36 +08:00
yichin 715065c6e2 fix notify 2020-02-06 10:51:26 +08:00
yichin 6d0d81163c Merge branch 'neulive13_cdr_cali' into neulive13_cali_new_0206
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/examples/cc2650em/simple_peripheral/ccs/app/.cproject
2020-02-06 10:03:19 +08:00
yichin bcb287cc87 Calibration table add C677 2020-02-05 15:07:54 +08:00
yichin 1298b5ce2a using lauch pad 2020-01-21 16:40:47 +08:00
weiting2 441688054e LSK decode bug? 2020-01-10 11:49:09 +08:00
weiting2 3d5dff360e Merge remote-tracking branch 'origin/neulive13_cdr_cali' into neulive13_cdr_cali 2020-01-10 11:37:10 +08:00
weiting2 80cc6c3aa1 LSK decode bug? 2020-01-10 11:37:06 +08:00
yichin a175d248bb Merge remote-tracking branch 'origin/neulive13_cdr_cali' into neulive13_cdr_cali 2020-01-10 11:30:25 +08:00
weiting2 59f8dc3e4b LSK decode bug? 2020-01-10 11:29:52 +08:00
yichin 8613b9a0b1 commit 2020-01-10 10:20:44 +08:00
weiting2 0db7faddc4 cali data for A407 2020-01-10 10:15:31 +08:00
weiting2 a84c39ad54 cali data for A407 2020-01-10 10:11:44 +08:00
weiting2 0805b04067 cali data for A407 2020-01-10 10:10:15 +08:00
yichin d0b4d3adcc commit 2020-01-09 19:20:09 +08:00
weiting2 3ac1a0ee66 cali data for A407 2020-01-09 19:18:46 +08:00
weiting2 e5b549c22e send calibration coeff to controller from CIS 2020-01-09 16:39:19 +08:00
weiting2 7226f8f755 send calibration coeff to controller from CIS 2020-01-09 16:34:42 +08:00
weiting2 07f75191b1 send calibration coeff to controller from CIS 2020-01-09 16:22:22 +08:00
weiting2 69ed093a31 send calibration coeff to controller from CIS 2020-01-09 16:03:08 +08:00
weiting2 3e67933342 send calibration coeff to controller from CIS 2020-01-09 15:48:43 +08:00
weiting2 1ffcd67de9 send calibration coeff to controller from CIS 2020-01-09 15:35:41 +08:00
yichin c289454f30 error fix 2020-01-09 11:47:38 +08:00
yichin 93d1a54430 Merge remote-tracking branch 'origin/neulive13_cdr_cali' into neulive13_cdr_cali 2020-01-09 11:46:15 +08:00
weiting2 1ff7d9d42b send calibration coeff to controller from CIS 2020-01-09 11:45:21 +08:00
yichin fc15be5971 error fix 2020-01-09 10:02:34 +08:00
weiting2 5ac86aace8 send calibration coeff to controller from CIS 2020-01-08 17:56:01 +08:00
weiting2 98696ccb94 send calibration coeff to controller from CIS 2020-01-08 16:10:54 +08:00
yichin a02c28c410 calibration table 2020-01-08 16:09:33 +08:00
weiting2 18dbe6075c send calibration coeff to controller from CIS 2020-01-08 15:56:22 +08:00
22 changed files with 666 additions and 815 deletions
@@ -1,10 +1,9 @@
/*
** Stack Frontier Generator 1.1.0 (2019-12-27 16:40:05.273000)
** Stack Frontier Generator 1.1.0 (2016-03-03 16:08:48.603000)
**
** WARNING - Auto-generated file. Modifications could be lost!
*/
--define=ICALL_STACK0_ADDR=0xd001
--define=ICALL_STACK0_START=0xd000
--define=ICALL_RAM0_START=0x20004160
--define=ICALL_RAM0_START=0x200041e0
@@ -1,10 +1,9 @@
/*
** Stack Frontier Generator 1.1.0 (2019-12-27 16:40:05.273000)
** Stack Frontier Generator 1.1.0 (2016-03-03 16:08:48.603000)
**
** WARNING - Auto-generated file. Modifications could be lost!
*/
--define=ICALL_RAM0_START=0x20004160
--define=ICALL_RAM0_START=0x200041e0
--define=ICALL_STACK0_START=0xd000
--define=ICALL_STACK0_ADDR=0xd001
@@ -18,11 +18,11 @@
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.rtsc.XDCtools.parsers.ErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser;org.eclipse.cdt.core.GmakeErrorParser" id="com.ti.ccstudio.buildDefinitions.TMS470.Default.67178137" name="FlashROM" parent="com.ti.ccstudio.buildDefinitions.TMS470.Default" postbuildStep="${CG_TOOL_HEX} -order MS --memwidth=8 --romwidth=8 --intel -o ${ProjName}.hex ${ProjName}.out" prebuildStep="">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.67178137." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.1709087891"
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.1365629934"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.592637328">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.187891791"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.70983003">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.663156500"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2650F128"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
@@ -40,44 +40,44 @@
value="LINK_ORDER=TOOLS/ccs_linker_defines.cmd;TOOLS/cc26xx_app.cmd;"/>
<listOptionValue builtIn="false" value="RTSC_MBS_VERSION=2.2.0"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.469507241"
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1244704123"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION"
value="18.1.5.LTS" valueType="string"/>
<targetPlatform
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.99739349"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.1880985038"
name="Platform"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug"/>
<builder buildPath="${BuildDirectory}"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.1796363579"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.327122552"
name="GNU Make.FlashROM" parallelBuildOn="true" parallelizationNumber="optimal"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.912613276"
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.610012237"
name="ARM Compiler"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.728819715"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.1531095408"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.7M3"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.1616377459"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.2101785002"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.16"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.1976507365"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.1088587804"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.eabi"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN.452052562"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN.1029217198"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.737944281"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.204570462"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.4"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.2110497520"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.58852893"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.0"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.1752465424"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.1558495961"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH"
valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
@@ -108,7 +108,7 @@
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.958203846"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.309029397"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE"
valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
@@ -130,39 +130,39 @@
<listOptionValue builtIn="false" value="xdc_runtime_Assert_DISABLE_ALL"/>
<listOptionValue builtIn="false" value="xdc_runtime_Log_DISABLE_ALL"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.1087634147"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.366302726"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.377303910"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.1277688138"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.C99"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC.723459219"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC.832320314"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.919200658"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.750352994"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS"
valueType="stringList">
<listOptionValue builtIn="false" value="48"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.1430944716"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.1598830767"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING"
valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.1887447155"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.257838659"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.off"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.565376519"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.1704189034"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS.1229454694"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS.601336242"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS.on"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.532606003"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.114734965"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE"
valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
@@ -171,38 +171,38 @@
value="${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg"/>
</option>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.2040949282"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.1073302074"
name="C Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS.895597825"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS.1497816123"
name="C++ Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS.1325128518"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS.1836995515"
name="Assembly Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS.246253993"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS.1838519111"
name="Assembly Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.592637328"
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.70983003"
name="ARM Linker"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE.655691751"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE.493748302"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE"
value="256" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE.1472363766"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE.1889778150"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE"
value="0" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.957386741"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.1813207202"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE"
value="&quot;${ProjName}.map&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.2087532765"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.532836843"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE"
value="${ProjName}.out" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.1685845719"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.1510986605"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY"
valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
@@ -211,86 +211,86 @@
<listOptionValue builtIn="false"
value="${ROM}/common_rom_releases/03282014/common_rom.symbols"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.2103736078"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.2043775150"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH"
valueType="libPaths">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.590476821"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.1229677576"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS"
valueType="stringList">
<listOptionValue builtIn="false" value="10247-D"/>
<listOptionValue builtIn="false" value="16002-D"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.1116110693"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.1740766605"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.off"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.1780443887"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.1951939682"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.1365571559"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.965067293"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO"
value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.472342113"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.1678384699"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.on"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.183676739"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.1011244045"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.on"
valueType="enumerated"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.816325003"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.1992089381"
name="Linker Command Files"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS.228816199"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS.242717488"
name="Linker Command Files"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS.2004850048"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS.504932478"
name="Generated Linker Command Files"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.1041100349"
name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1878555334"
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.838203336" name="ARM Hex Utility"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1578220362"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH" value="8"
valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH.1303276943"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH.920097104"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH" value="8"
valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.448647073"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.243312426"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.INTEL"
valueType="enumerated"/>
</tool>
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1642099341" name="XDCtools"
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.390314594" name="XDCtools"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1034906850"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1151712869"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH"
valueType="stringList">
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSCC13XX_CC26XX_REPOS}"/>
<listOptionValue builtIn="false" value="${TARGET_CONTENT_BASE}"/>
</option>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.1318413439"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.2037610283"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET"
value="ti.targets.arm.elf.M3" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1046279113"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1887558076"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM"
value="ti.platforms.simplelink:CC2640F128" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.645098492"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.457010541"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW"
value="ti.platforms.simplelink:CC2640F128" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1655263222"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.2029174951"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE"
value="release" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.1686967050"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.1418171869"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR"
value="${CG_TOOL_ROOT}" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.2031730779"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.1787859576"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS"
value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
@@ -9,6 +9,6 @@
<linkerCommandFile value="cc26x0f128.cmd"/>
<rts value="libc.a"/>
<createSlaveProjects value=""/>
<connection value="common/targetdb/connections/TIXDS110_Connection.xml"/>
<connection value="common/targetdb/connections/TIXDS100v3_Dot7_Connection.xml"/>
<isTargetManual value="false"/>
</projectOptions>
@@ -13,292 +13,137 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties=""
cleanCommand="${CG_CLEAN_CMD}" description=""
id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1209999684" name="FlashROM"
parent="com.ti.ccstudio.buildDefinitions.TMS470.Default" postannouncebuildStep=""
postbuildStep="${CG_TOOL_HEX} -order MS --memwidth=8 --romwidth=8 --intel -o ${ProjName}.hex ${ProjName}.out;${TOOLS_BLE}/frontier/frontier.exe ccs ${PROJECT_LOC}/${ConfigName}/${ProjName}_linkInfo.xml ${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg ${ORG_PROJ_DIR}/../../ccs/config/ccs_linker_defines.cmd"
preannouncebuildStep=""
prebuildStep="&quot;${TOOLS_BLE}/lib_search/lib_search.exe&quot; ${ORG_PROJ_DIR}/build_config.opt &quot;${TOOLS_BLE}/lib_search/params_split_cc2640.xml&quot; ${SRC_BLE_CORE}/../blelib &quot;${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd&quot;">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1209999684." name="/"
resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.1559304320"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1852625411">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1086881235"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2650F128"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<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=TOOLS/ccs_linker_defines.cmd;TOOLS/cc26xx_ble_stack.cmd;"/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.649543706"
name="Compiler version"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION"
value="18.1.4.LTS" valueType="string"/>
<targetPlatform
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.111961287"
name="Platform"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug"/>
<builder buildPath="${BuildDirectory}"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.707210004"
keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true"
parallelizationNumber="optimal"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.1071730275"
name="ARM Compiler"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.1796388867"
name="Target processor version (--silicon_version, -mv)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.7M3"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.982642710"
name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.16"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.598060242"
name="Application binary interface. (--abi)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.eabi"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN.1990088850"
name="Little endian code [See 'General' page to edit] (--little_endian, -me)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.244600603"
name="Optimization level (--opt_level, -O)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.4"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.1629603334"
name="Speed vs. size trade-offs (--opt_for_speed, -mf)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.0"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.1891480534"
name="Add dir to #include search path (--include_path, -I)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH"
valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false"
value="${SRC_EX}/examples/simple_peripheral/cc26xx/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target"/>
<listOptionValue builtIn="false"
value="${SRC_COMMON}/hal/src/target/_common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/osal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/nv/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/nv"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/saddr"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/icall/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/controller/cc26xx/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/aes/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/npi/src"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx/npi/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.2049411711"
name="Pre-define NAME (--define, -D)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE"
valueType="definedSymbols">
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<listOptionValue builtIn="false" value="GATT_NO_CLIENT"/>
<listOptionValue builtIn="false" value="HEADSTAGE_NOTIFY_USE_ATT"/>
<listOptionValue builtIn="false" value="CC26XXWARE"/>
<listOptionValue builtIn="false" value="DATA="/>
<listOptionValue builtIn="false" value="EXT_HAL_ASSERT"/>
<listOptionValue builtIn="false" value="FLASH_ROM_BUILD"/>
<listOptionValue builtIn="false" value="INCLUDE_AES_DECRYPT"/>
<listOptionValue builtIn="false" value="NEAR_FUNC="/>
<listOptionValue builtIn="false" value="OSAL_CBTIMER_NUM_TASKS=1"/>
<listOptionValue builtIn="false" value="OSAL_SNV=1"/>
<listOptionValue builtIn="false" value="USE_ICALL"/>
<listOptionValue builtIn="false" value="xDEBUG"/>
<listOptionValue builtIn="false" value="xDEBUG_ENC"/>
<listOptionValue builtIn="false" value="xDEBUG_GPIO"/>
<listOptionValue builtIn="false" value="xDEBUG_SW_TRACE"/>
<listOptionValue builtIn="false" value="xPM_DISABLE_PWRDOWN"/>
<listOptionValue builtIn="false" value="xTESTMODES"/>
<listOptionValue builtIn="false" value="xTEST_BLEBOARD"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.706882445"
name="C Dialect"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.C99"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.970002376"
name="Suppress diagnostic &lt;id&gt; (--diag_suppress, -pds)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS"
valueType="stringList">
<listOptionValue builtIn="false" value="48"/>
<listOptionValue builtIn="false" value="16004"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.593508122"
name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING"
valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.1665686728"
name="Wrap diagnostic messages (--diag_wrap)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.off"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.981942367"
name="Emit diagnostic identifier numbers (--display_error_number, -pden)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.822258685"
name="Read options from specified file (--cmd_file, -@)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE"
valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/build_config.opt"/>
</option>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.1611178351"
name="C Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS.719858209"
name="C++ Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS.1727820922"
name="Assembly Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS.226678329"
name="Assembly Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1852625411"
name="ARM Linker"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE.1116602715"
name="Set C system stack size (--stack_size, -stack)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE"
value="256" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE.453097232"
name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE"
value="0" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.1766042498"
name="Link information (map) listed into &lt;file&gt; (--map_file, -m)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE"
value="&quot;${ProjName}.map&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.1085668260"
name="Specify output file name (--output_file, -o)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE"
value="${ProjName}.out" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.1465601902"
name="Include library file or command file as input (--library, -l)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY"
valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<listOptionValue builtIn="false"
value="${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd"/>
<listOptionValue builtIn="false"
value="${ROM}/ble_rom_releases/04242014/ble_rom_patch.symbols"/>
<listOptionValue builtIn="false"
value="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.104670659"
name="Add &lt;dir&gt; to library search path (--search_path, -i)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH"
valueType="libPaths">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.694076948"
name="Suppress diagnostic &lt;id&gt; (--diag_suppress)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS"
valueType="stringList">
<listOptionValue builtIn="false" value="16002-D"/>
<listOptionValue builtIn="false" value="10247-D"/>
<listOptionValue builtIn="false" value="10325-D"/>
<listOptionValue builtIn="false" value="10229-D"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.1793504671"
name="Wrap diagnostic messages (--diag_wrap)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.off"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.1064066608"
name="Emit diagnostic identifier numbers (--display_error_number)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.1985154852"
name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO"
value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT.1240213933"
name="Specify program entry point for the output module (--entry_point, -e)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT"
value="startup_entry" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.274912320"
name="Aggressively reduce size of the DWARF information (--compress_dwarf)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.on"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.101724544"
name="Eliminate sections not needed in the executable (--unused_section_elimination)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.on"
valueType="enumerated"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.1747499519"
name="Linker Command Files"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS.428284916"
name="Linker Command Files"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS.755369992"
name="Generated Linker Command Files"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.995125643" name="ARM Hex Utility"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1812746902"
name="Specify rom width (--romwidth, -romwidth=width)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH" value="8"
valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH.535955299"
name="Specify memory width (--memwidth, -memwidth=width)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH" value="8"
valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.137845789"
name="Output format"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.INTEL"
valueType="enumerated"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cc26x0f128.cmd" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath"
name=""/>
</sourceEntries>
</configuration>
</storageModule>
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1209999684" name="FlashROM" parent="com.ti.ccstudio.buildDefinitions.TMS470.Default" postannouncebuildStep="" postbuildStep="${CG_TOOL_HEX} -order MS --memwidth=8 --romwidth=8 --intel -o ${ProjName}.hex ${ProjName}.out;${TOOLS_BLE}/frontier/frontier.exe ccs ${PROJECT_LOC}/${ConfigName}/${ProjName}_linkInfo.xml ${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg ${ORG_PROJ_DIR}/../../ccs/config/ccs_linker_defines.cmd" preannouncebuildStep="" prebuildStep="&quot;${TOOLS_BLE}/lib_search/lib_search.exe&quot; ${ORG_PROJ_DIR}/build_config.opt &quot;${TOOLS_BLE}/lib_search/params_split_cc2640.xml&quot; ${SRC_BLE_CORE}/../blelib &quot;${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd&quot;">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1209999684." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.929750171" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1008890994">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1479696404" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2650F128"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<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=TOOLS/ccs_linker_defines.cmd;TOOLS/cc26xx_ble_stack.cmd;"/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.201372544" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="18.1.4.LTS" valueType="string"/>
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.1951196199" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug"/>
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.20903631" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.1176131016" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.647279085" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.7M3" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.1443871767" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.16" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.227818129" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.eabi" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN.784155377" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.494285153" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.4" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.581550859" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.0" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.1288777730" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/simple_peripheral/cc26xx/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/osal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/nv/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/nv"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/saddr"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/icall/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/controller/cc26xx/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/aes/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/npi/src"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx/npi/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.986125825" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<listOptionValue builtIn="false" value="GATT_NO_CLIENT"/>
<listOptionValue builtIn="false" value="HEADSTAGE_NOTIFY_USE_ATT"/>
<listOptionValue builtIn="false" value="CC26XXWARE"/>
<listOptionValue builtIn="false" value="DATA="/>
<listOptionValue builtIn="false" value="EXT_HAL_ASSERT"/>
<listOptionValue builtIn="false" value="FLASH_ROM_BUILD"/>
<listOptionValue builtIn="false" value="INCLUDE_AES_DECRYPT"/>
<listOptionValue builtIn="false" value="NEAR_FUNC="/>
<listOptionValue builtIn="false" value="OSAL_CBTIMER_NUM_TASKS=1"/>
<listOptionValue builtIn="false" value="OSAL_SNV=1"/>
<listOptionValue builtIn="false" value="USE_ICALL"/>
<listOptionValue builtIn="false" value="xDEBUG"/>
<listOptionValue builtIn="false" value="xDEBUG_ENC"/>
<listOptionValue builtIn="false" value="xDEBUG_GPIO"/>
<listOptionValue builtIn="false" value="xDEBUG_SW_TRACE"/>
<listOptionValue builtIn="false" value="xPM_DISABLE_PWRDOWN"/>
<listOptionValue builtIn="false" value="xTESTMODES"/>
<listOptionValue builtIn="false" value="xTEST_BLEBOARD"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.372638078" name="C Dialect" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.C99" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.201347726" name="Suppress diagnostic &lt;id&gt; (--diag_suppress, -pds)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="48"/>
<listOptionValue builtIn="false" value="16004"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.73314177" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.1126279750" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.1492280006" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.538453952" name="Read options from specified file (--cmd_file, -@)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/build_config.opt"/>
</option>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.313905687" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS.1129729173" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS.156783227" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS.538375181" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1008890994" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE.1873600405" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE" value="256" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE.1359172875" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE" value="0" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.1355177509" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE" value="&quot;${ProjName}.map&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.829303802" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.1078356909" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd"/>
<listOptionValue builtIn="false" value="${ROM}/ble_rom_releases/04242014/ble_rom_patch.symbols"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.1707930214" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH" valueType="libPaths">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.59164041" name="Suppress diagnostic &lt;id&gt; (--diag_suppress)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="16002-D"/>
<listOptionValue builtIn="false" value="10247-D"/>
<listOptionValue builtIn="false" value="10325-D"/>
<listOptionValue builtIn="false" value="10229-D"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.11567165" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.1727810233" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.1385277262" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO" value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT.1153340314" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT" value="startup_entry" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.450995330" name="Aggressively reduce size of the DWARF information (--compress_dwarf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.on" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.1827942626" name="Eliminate sections not needed in the executable (--unused_section_elimination)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.on" valueType="enumerated"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.1279238428" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS.526125450" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS.581803256" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.947560992" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1295209583" name="Specify rom width (--romwidth, -romwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH" value="8" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH.110293046" name="Specify memory width (--memwidth, -memwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH" value="8" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.1122561921" name="Output format" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.INTEL" valueType="enumerated"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cc26x0f128.cmd" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
@@ -12,7 +12,6 @@
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:simple_peripheral_cc2650em_stack}"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\stack\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS100v3 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\stack\FlashROM\simple_peripheral_cc2650em_stack.out"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\stack\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\stack\FlashROM\simple_peripheral_cc2650em_stack.out"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\stack\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\stack\FlashROM\simple_peripheral_cc2650em_stack.out"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/simple_peripheral_cc2650em_stack"/>
</listAttribute>
@@ -1,20 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe_0" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe_0" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cs_dap.xml" id="drivers" xml="tixds510cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cortexM.xml" id="drivers" xml="tixds510cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="1" id="Power Selection">
<choice Name="Probe supplied power" value="1">
<property Type="stringfield" Value="3.3" id="Voltage Level"/>
</choice>
</property>
<property Type="choicelist" Value="0" id="JTAG Signal Isolation"/>
<property Type="choicelist" Value="4" id="SWD Mode Settings">
<choice Name="cJTAG (1149.7) 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="XDS110 Aux Port"/>
<configuration XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS100v3 USB Debug Probe_0" href="connections/TIXDS100v3_Dot7_Connection.xml" id="Texas Instruments XDS100v3 USB Debug Probe_0" xml="TIXDS100v3_Dot7_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="2" id="The Converter Usage">
<choice Name="Generate 1149.7 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="The Converter 1149.7 Frequency">
<choice Name="Overclock with user specified value" value="unused">
<property Type="choicelist" Value="5" id="-- Choose a value from 1.0MHz to 50.0MHz"/>
</choice>
</property>
<property Type="choicelist" Value="5" id="The Target Scan Format"/>
</choice>
</property>
<platform XML_version="1.2" id="platform_0">
@@ -188,16 +188,13 @@ extern ICall_Semaphore semaphore;
#define VIS_CAL 0xA0
#define VIS_STI 0xC0
#define VIS_RST 0xF0
#define VIS_PAU 0x10 // pause
#define VIS_HANDSHAKE_TO_CONFIG 0x20
#define VIS_CONFIG 0x40
#define VIS_CONFIG2 0x70
// CIS operator
#define CIS_NOP 0x00
#define CIS_VOLT 0x10
#define CIS_LED 0x20
#define CIS_CALI 0x30
#define CIS_VERSION 0x40
// CIS return status code
#define CDR_SUCCESS 0x0
@@ -383,7 +380,14 @@ static void headstage_update_instruction(uint8_t *instruction) {
break;
}
case INS_TYPE_CIS: {
headstage_update_cis_instruction(ins_oper);
if(ins_oper == CIS_CALI){
// CIS has only 20 byte now
// need ins[2] to choose return gain or offset
SendCaliValue(instruction[2]);
}
else{
headstage_update_cis_instruction(ins_oper);
}
break;
}
}
@@ -1,45 +0,0 @@
#ifndef NEU_CALI
#define NEU_CALI
#include "neulive13_CalibrationTable.h"
/*
*
* How to define Calibration()
*
* let y be DBS ADC raw data, which has value 0~1023
* x is UI display value, x = (y-512)/1000
* r is the real voltage value
*
* Before calibration we have r = (x - offset) / gain
*
* we want to have y' = Calibration(y), such that r = x_WithCali = (y' - 512)/1000
*
* => r = (x_WithOutCali - offset)/gain = x_WithCali = (y'-512)/1000
*
* => (x_WithOutCali - offset)/gain = ((y-512)/1000 - Offset)/gain = (y'-512)/1000
*
* => y' = 512 + [1000 * ((y-512)/1000 - Offset) / gain ]
*
* => y' = 512 + (y-512)/gain - [(1000 * Offset)/gain]
*
* => y' = (y-512)/gain + 512 - [(1000 * Offset)/gain]
*
*/
static uint16_t Calibration(uint8_t* DataBuf, uint8_t ch, uint8_t gain){
uint32_t raw, ret;
raw = (DataBuf[1] & 0x0f) << 6 | (DataBuf[2] & 0xFC) >> 2;
ret = 1000 * (raw-512)/CaliTable.Ch[ch].Gain[gain] + 512000 - 1000*1000*CaliTable.Ch[ch].Offset[gain] / CaliTable.Ch[ch].Gain[gain];
ret = ret / 1000;
// ret = ret * 10;
// ret = 1000 * (ret - CaliTable.Ch[ch].Offset[gain]) / CaliTable.Ch[ch].Gain[gain];
return (uint16_t) (ret);
}
#endif
@@ -5,16 +5,26 @@
#include <driverlib/aon_batmon.h>
#define MAX_BATTERY_CAPACITY 4200
static uint8_t battery_percent = 100;
static uint8_t battery_volt = 256;
static uint8_t headstage_battery_percent() {
static uint8_t headstage_battery_volt1() {
uint8_t internal_battery_percent;
uint32_t internal_batt_sense = AONBatMonBatteryVoltageGet();
internal_batt_sense = (internal_batt_sense * 125) >> 5;
internal_batt_sense = (internal_batt_sense * 100) / MAX_BATTERY_CAPACITY;
// internal_batt_sense = (internal_batt_sense * 100) / MAX_BATTERY_CAPACITY;
internal_battery_percent = internal_batt_sense & 0xff;
if (internal_battery_percent < battery_percent) battery_percent = internal_battery_percent;
return battery_percent;
battery_volt = internal_battery_percent;
return battery_volt;
}
#endif // HEADSTAGE_BATT_H
static uint8_t headstage_battery_volt2() {
uint8_t internal_battery_percent;
uint32_t internal_batt_sense = AONBatMonBatteryVoltageGet();
internal_batt_sense = (internal_batt_sense * 125) >> 5;
// internal_batt_sense = (internal_batt_sense * 100) / MAX_BATTERY_CAPACITY;
internal_battery_percent = (internal_batt_sense >> 8) & 0xff;
battery_volt = internal_battery_percent;
return battery_volt;
}
#endif // HEADSTAGE_BATT_H
@@ -0,0 +1,60 @@
#ifndef NEU_CALI_FXN
#define NEU_CALI_FXN
#include "neulive13_CalibrationTable.h"
static void CaliTable2u8(uint8_t* cali){
for(int i=0 ; i<12 ; i++){
for(int j=0 ; j<3 ; j++){
*(cali + 12*i + 2*j) = (uint8_t) (CaliTable.Ch[i].Gain[j] | 0xFF00) >> 8;
*(cali + 12*i + 2*j+1) = (uint8_t) (CaliTable.Ch[i].Gain[j] | 0x00FF);
*(cali + 12*i + 2*j+6) = (uint8_t) (CaliTable.Ch[i].Offset[j] | 0xFF00) >> 8;
*(cali + 12*i + 2*j+7) = (uint8_t) (CaliTable.Ch[i].Offset[j] | 0x00FF);
}
}
}
/*
* SendCaliValue
* CaliNumber : 0~23
* - 0: ch1 gain value
* - 1: ch1 offset value
* - 2: ch2 gain
* - .......
*/
static void SendCaliValue(uint8_t CaliNumber){
uint8_t ch, gain_offset;
uint8_t cdr_buf[10];
ch = CaliNumber / 2;
gain_offset = CaliNumber % 2; // 0:gain, 1:offset
cdr_buf[0] = CHIP_ID;
cdr_buf[1] = ch;
cdr_buf[2] = gain_offset;
if(gain_offset){
cdr_buf[3] = (uint8_t) (CaliTable.Ch[ch].Offset[0] >> 8) & 0xFF;
cdr_buf[4] = (uint8_t) CaliTable.Ch[ch].Offset[0] & 0x00FF;
cdr_buf[5] = (uint8_t) (CaliTable.Ch[ch].Offset[1] >> 8) & 0xFF;
cdr_buf[6] = (uint8_t) CaliTable.Ch[ch].Offset[1] & 0x00FF;
cdr_buf[7] = (uint8_t) (CaliTable.Ch[ch].Offset[2] >> 8) & 0xFF;
cdr_buf[8] = (uint8_t) CaliTable.Ch[ch].Offset[2] & 0x00FF;
}
else{
cdr_buf[3] = (uint8_t) (CaliTable.Ch[ch].Gain[0] >> 8) & 0xFF;
cdr_buf[4] = (uint8_t) CaliTable.Ch[ch].Gain[0] & 0x00FF;
cdr_buf[5] = (uint8_t) (CaliTable.Ch[ch].Gain[1] >> 8) & 0xFF;
cdr_buf[6] = (uint8_t) CaliTable.Ch[ch].Gain[1] & 0x00FF;
cdr_buf[7] = (uint8_t) (CaliTable.Ch[ch].Gain[2] >> 8) & 0xFF;
cdr_buf[8] = (uint8_t) CaliTable.Ch[ch].Gain[2] & 0x00FF;
}
// CaliTable2u8(u8_cali);
// for(int i=0 ; i<6 ; i++){
// cdr_buf[i+3] = u8_cali[6*CaliNumber + i];
// }
SimpleProfile_SetParameter(BLE_CDR_BUFF_CHAR, BLE_CDR_BUFF_SIZE, cdr_buf);
}
#endif
@@ -1,90 +0,0 @@
#ifndef NEU_CHECK_LSK
#define NEU_CHECK_LSK
#define LSK_CHECKING_ERROR 0
#define LSK_NO_ERROR 1
#define LSK_ERROR 2
#define CHECK_NUMBER 50
#define VALUE_OFFSET 512
static uint16_t CheckLSKBuf[CHECK_NUMBER] = {0};
static uint8_t CheckLSKBufIndex = 0;
/***************************************
* @fn static void headstage_uni_delay()
* @brief make some delay
***************************************/
static void headstage_uni_delay() {
for (uint16_t i = 0; i < 1023; i++)
;
}
static uint8_t CheckLSK(uint8_t* data_buf){
uint16_t Data = 0;
// check LSK data preamble ( 0b0110_0000_1 ) 58(01011000) 2c(00101100)
// sometimes we lose the first bit , it means we only receive
// 0110_0000_1010_1xxx_xxxx_xxxX_XXXX_XXXX and
// 1100_0001_0101_xxxx_xxxx_xxXX_XXXX_XXXX
if ( data_buf[0] == 0x60 && ((data_buf[1] & 0xF8) == 0xA8) ) {
headstage_led_spi_color_debug(0xE1, 0xFF, 0x00, 0xFF);
Data = ((data_buf[1] & 0x07) << 7) | ((data_buf[2] & 0xFE) >> 1);
}
else if ( data_buf[0] == 0xC1 && ((data_buf[1] & 0xF0) == 0x50) ) {
headstage_led_spi_color_debug(0xE1, 0xFF, 0x00, 0xFF);
Data = ((data_buf[1] & 0x0F) << 6) | ((data_buf[2] & 0xFC) >> 2);
}
else if ( data_buf[0] == 0x30 && ((data_buf[1] & 0xFC) == 0x54) ) {
headstage_led_spi_color_debug(0xE1, 0xFF, 0x00, 0xFF);
Data = ((data_buf[1] & 0x03) << 8) | ((data_buf[2] & 0xFF));
}
else{
return LSK_CHECKING_ERROR;
}
headstage_led_spi_color_debug(0x0F, 0xFF, 0x0F, 0x0F);
// uint8_t channel;
//
// if ((INSTRUCTION.enable_channel_number == 1) || (dat_buf[0] == 0xc1)) {
// channel = reverse_channel[INSTRUCTION.last_enable_channel];
// } else {
// uint8_t channel_pointer = (INSTRUCTION.channel_pointer + 1) % INSTRUCTION.last_enable_channel;
// channel = reverse_channel[INSTRUCTION.channel_mux[channel_pointer]];
// INSTRUCTION.channel_pointer = channel_pointer;
// }
CheckLSKBuf[CheckLSKBufIndex] = Data;
CheckLSKBufIndex ++;
if(CheckLSKBufIndex >= CHECK_NUMBER){
CheckLSKBufIndex = 0;
// check LSK work well or not
uint32_t avg = 0;
uint8_t avgNumber = 0;
// sum all value that abs value < 100 mv
for(int i=0 ; i<CHECK_NUMBER ; i++){
if(-100+VALUE_OFFSET < CheckLSKBuf[i] && CheckLSKBuf[i] < 100+VALUE_OFFSET){
avg = avg + CheckLSKBuf[i];
avgNumber ++;
}
}
avg = avg / avgNumber;
if(10+VALUE_OFFSET < avg && avg < 30+VALUE_OFFSET){
return LSK_ERROR;
}
else if(-10+VALUE_OFFSET < avg && avg < -30+VALUE_OFFSET){
return LSK_ERROR;
}
else{
return LSK_NO_ERROR;
}
}
return LSK_CHECKING_ERROR;
}
#endif
@@ -222,13 +222,6 @@ static void headstage_led_spi_color(uint8_t color) {
headstage_led_spi_transmit();
}
static void headstage_led_spi_color_debug(uint8_t brightness, uint8_t red, uint8_t green, uint8_t blue) {
LEDParameter parameter;
parameter = (LEDParameter){.luminance = brightness, .red = red, .green = green, .blue = blue};
headstage_led_set_buffer(headstage_spi_led_txbuf, SPI_LED_REPEAT, &parameter);
headstage_led_spi_transmit();
}
#endif // HEADSTAGE_LED_USE_GPIO
#endif // HEADSTAGE_LED_H
@@ -123,7 +123,9 @@
#include "uni/headstage_spi.h"
#include "uni/headstage_pwm.h"
#include "uni/uni1.3_parameter.h"
#include "headstage_checkLSK.h"
#include "neulive13_CalibrationTable.h"
#include "headstage_calibration_CIS.h"
#include "headstage_version.h"
/************************************
* instruction building macro
@@ -289,8 +291,6 @@
#define RIS_UMC_TRIG 0xC0 /**< control box to cc2650 instruction opcode, trigger stimulation */
#define RIS_DEBUG 0xE0 /* largest value of RIS, (RIS = ins[1] & 0xE0) */
/***********************
* stimulation waveform
***********************/
@@ -305,8 +305,8 @@
/*******************************
* reserved virtual instruction
*******************************/
#define VIS_BLE_T 0xA0
#define VIS_SHIFT_T 0x50
#define VIS_BLE_T 0b10100000
#define VIS_SHIFT_T 0b01010000
/// all the categories of instruction we can change .
@@ -507,10 +507,14 @@ struct HEADSTAGE_PARAMETER_TABLE {
bool amp_rst;
} INSTRUCTION = {0};
static uint8_t build_umn_ins_config(uint8_t config_type, uint32_t* value);
static uint8_t StartSync = 0;
static uint8_t SingleCh = 0;
/***************************************
* @fn static void headstage_uni_delay()
* @brief make some delay
***************************************/
static void headstage_uni_delay() {
for (uint16_t i = 0; i < 1023; i++)
;
}
static void rearrange_channel_mux_table() {
uint8_t enable_channel_number = 0;
@@ -533,7 +537,6 @@ static void rearrange_channel_mux_table() {
if (enable_channel_number == 1) {
INSTRUCTION.channel_mux[0] = last_enable_channel;
SingleCh = 1;
return;
}
@@ -547,7 +550,6 @@ static void rearrange_channel_mux_table() {
int8_t i = next_enable_channel - 1;
while (i >= 0) {
// find largest enable ch number
if (INSTRUCTION.channel_table[i]) {
next_enable_channel = i;
break;
@@ -587,13 +589,8 @@ static void rearrange_channel_mux_table() {
#define UMC_STATE_LIMITED 0x08
#define UMC_STATE_TRIGGER 0x09
#define UMC_STATE_WAIT_TRIGGER 0x0A
#define UMC_STATE_PAUSE 0x0B
#define UMC_STATE_RESTART 0x0C
#define UMC_STATE_INTERRUPT 0x0D
#define UMC_STATE_CHECK_LSK 0x0E
#define UMC_STATE_REC_STI 0x0F
#define UPDATE_DONE 0xFF
#define DEBUG 0xEE
// clang-format on
/*******************
@@ -604,8 +601,8 @@ struct {
uint8_t state;
uint8_t config_type;
uint8_t trigger_times;
uint8_t trigger_times;
uint8_t reset_flag;
@@ -675,16 +672,14 @@ static void headstage_spi_lsk_callback(SPI_Handle handle, SPI_Transaction* trans
}
static void headstage_reset() {
headstage_led_spi_color(COLOR_GREEN);
memset(&INSTRUCTION, 0, sizeof(struct HEADSTAGE_PARAMETER_TABLE));
memset(spi_txbuf, 0, SPI_BUFFER_SIZE);
memset(spi_rxbuf, 0, SPI_BUFFER_SIZE);
memset(headstage_debug_buffer, 0, SPI_BUFFER_SIZE);
UMC_STATE.reset_flag = 1;
StartSync = 0;
headstage_spi_transaction_cancel(headstage_spi_lsk_handle);
// headstage_pwm_stop(headstage_poly_r_pwm_handle);
// headstage_pwm_stop(headstage_system_pwm_handle);
headstage_pwm_stop(headstage_poly_r_pwm_handle);
headstage_pwm_stop(headstage_system_pwm_handle);
headstage_pin_output(PIN_RESET, 0);
headstage_cpu_delay_ms(1);
headstage_pin_output(PIN_RESET, 1);
@@ -707,8 +702,6 @@ static void headstage_init() {
headstage_pin_output(PIN_STI_SEL, 1); // chip select is ok
headstage_pin_output(PIN_VGRP, 1);
headstage_pin_output(PIN_FASTSET, 0);
headstage_pwm_start(headstage_system_pwm_handle);
headstage_pwm_start(headstage_poly_r_pwm_handle);
}
static void headstage_update_ris_instruction(uint8_t ins_len, uint8_t* instruction) {
@@ -739,8 +732,8 @@ static void headstage_update_ris_instruction(uint8_t ins_len, uint8_t* instructi
uint8_t amp_gain = (instruction[0] & 0x1C) >> 2;
uint8_t pulse_width = ((instruction[0] & 0x03) << 2) | ((instruction[1] & 0xC0) >> 6);
uint8_t sti_times = (instruction[1] & 0x3F);
uint8_t mode = (instruction[2] & 0xC0) >> 6;
uint8_t sti_freq = (instruction[2] & 0x3F);
uint8_t mode = (instruction[2] & 0xC0) >> 6;
uint8_t cha = (instruction[3] & 0x0F);
uint8_t chb = (instruction[4] & 0xF0) >> 4;
uint8_t chc = (instruction[4] & 0x0F);
@@ -772,25 +765,12 @@ static void headstage_update_ris_instruction(uint8_t ins_len, uint8_t* instructi
headstage_spi_ask_transaction(4);
break;
}
case RIS_DEBUG:{
headstage_state = DEBUG;
headstage_led_spi_color(COLOR_BLUE);
uint32_t value;
uint8_t new_config_type = build_umn_ins_config(CONFIG_DONE, &value);
tx_put_u32(0, value);
headstage_spi_ask_transaction(4);
break;
}
default:
break;
}
}
static uint8_t VIS_START = 0;
static void headstage_update_vis_instruction(uint8_t vis_oper) {
uint32_t value;
uint8_t new_config_type;
switch (vis_oper) {
// reset
case VIS_RST:
@@ -800,7 +780,6 @@ static void headstage_update_vis_instruction(uint8_t vis_oper) {
break;
case VIS_STI:
if (headstage_state == UMC_STATE_INTERRUPT) {
// go back to configure state by DBS interrupt
headstage_state = UMC_STATE_INITIAL;
rearrange_channel_mux_table();
UMC_STATE.config_type = CONFIG_AMP_MUX;
@@ -810,30 +789,20 @@ static void headstage_update_vis_instruction(uint8_t vis_oper) {
} else {
headstage_state = UMC_STATE_HANDSHAKE;
rearrange_channel_mux_table();
headstage_pwm_start(headstage_system_pwm_handle);
headstage_pwm_start(headstage_poly_r_pwm_handle);
UMC_STATE.config_type = CONFIG_AMP_MUX;
UMC_STATE.reset_flag = 0;
headstage_led_spi_color(COLOR_BLUE);
flag_notify(EVT_UMC_LSK);
}
VIS_START = 0;
break;
// interrupt
case VIS_INT:
headstage_reset();
headstage_state = UMC_STATE_HANDSHAKE;
VIS_START = 0;
break;
case VIS_PAU:
// go back to configure state by DBS interrupt
headstage_state = UMC_STATE_PAUSE;
// rearrange_channel_mux_table();
UMC_STATE.config_type = CONFIG_AMP_MUX;
tx_put_u32(0, build_configure_instruction(UMC_IRQ, UMC_IRQ_CODE));
headstage_spi_ask_transaction(4);
break;
case VIS_BLE_T:
@@ -843,44 +812,9 @@ static void headstage_update_vis_instruction(uint8_t vis_oper) {
break;
case VIS_SHIFT_T:
// headstage_led_spi_color(COLOR_BLUE);
// uint32_t value;
// uint8_t new_config_type = build_umn_ins_config(CONFIG_DONE, &value);
// tx_put_u32(0, value);
// headstage_spi_ask_transaction(4);
break;
case VIS_FUH:
// send config done to DBS
headstage_state = UMC_STATE_WAIT_START;
new_config_type = build_umn_ins_config(CONFIG_DONE, &value);
tx_put_u32(0, value);
headstage_spi_ask_transaction(4);
break;
case VIS_HANDSHAKE_TO_CONFIG:
VIS_START = 1;
headstage_state = UMC_STATE_HANDSHAKE;
rearrange_channel_mux_table();
UMC_STATE.config_type = CONFIG_AMP_MUX;
UMC_STATE.reset_flag = 0;
headstage_led_spi_color(COLOR_BLUE);
flag_notify(EVT_UMC_LSK);
break;
case VIS_CONFIG:
// choose recording channel
headstage_state = DEBUG;
UMC_STATE.config_type = CONFIG_AMP_MUX;
UMC_STATE.config_type = build_umn_ins_config(CONFIG_AMP_MUX, &value);
tx_put_u32(0, value);
headstage_spi_ask_transaction(4);
break;
case VIS_CONFIG2:
// set gain and other amp parameter
headstage_state = UMC_STATE_CONFIGURE;
UMC_STATE.config_type = build_umn_ins_config(UMC_STATE.config_type, &value);
tx_put_u32(0, value);
headstage_spi_ask_transaction(4);
break;
default:
break;
}
@@ -903,7 +837,8 @@ static void headstage_update_cis_instruction(uint8_t cis_oper) {
case CIS_VOLT: {
cdr_buf[0] = CIS_VOLT | CHIP_ID;
cdr_buf[1] = headstage_battery_percent();
cdr_buf[1] = headstage_battery_volt1();
cdr_buf[2] = headstage_battery_volt2();
SimpleProfile_SetParameter(BLE_CDR_BUFF_CHAR, BLE_CDR_BUFF_SIZE, cdr_buf);
@@ -921,9 +856,13 @@ static void headstage_update_cis_instruction(uint8_t cis_oper) {
break;
}
#endif
case CIS_CALI:{
cdr_buf[0] = 87;
cdr_buf[1] = 187;
case CIS_VERSION:{
cdr_buf[0] = VERSION_DATE_YEAR;
cdr_buf[1] = VERSION_DATE_MONTH;
cdr_buf[2] = VERSION_DATE_DAY;
cdr_buf[3] = VERSION_DATE_HOUR;
cdr_buf[4] = VERSION_DATE_MINUTE;
SimpleProfile_SetParameter(BLE_CDR_BUFF_CHAR, BLE_CDR_BUFF_SIZE, cdr_buf);
break;
}
@@ -951,60 +890,40 @@ static uint8_t headstage_debug_instruction(uint8_t* ins_buf) {
// todo: check data length extension with this function -> this function should be
static void headstage_uni_umc_data_append_notify_buffer(uint8_t* dat_buf) {
// check LSK data preamble ( 0b0110_0000_1 ) 58(01011000) 2c(00101100)
// check LSK data preamble ( 0b01100_0001 ) 58(01011000) 2c(00101100)
// sometimes we lose the first bit , it means we only receive
// 0110_0000_1010_1xxx_xxxx_xxxX_XXXX_XXXX and
// 1100_0001_0101_xxxx_xxxx_xxXX_XXXX_XXXX
// if (((dat_buf[0] & 0xC1) != 0xC1) && (dat_buf[0] != 0x00)) {
//// headstage_led_spi_color(COLOR_CYAN);
// headstage_uni_delay();
// } else
if (((dat_buf[0] & 0xC1) != 0xC1) && (dat_buf[0] != 0x00)) {
headstage_led_spi_color(COLOR_CYAN);
headstage_uni_delay();
} else {
if ((dat_buf[1] & 0x28) == 0x28) {
// headstage_led_spi_color(COLOR_YELLOW);
dat_buf[0] = (dat_buf[0] << 1) | ((dat_buf[1] >> 7) & 0x01);
dat_buf[1] = (dat_buf[1] << 1) | ((dat_buf[2] >> 7) & 0x01);
dat_buf[2] = (dat_buf[2] << 1) | ((dat_buf[3] >> 7) & 0x01);
if(!StartSync){
// headstage_led_spi_color(COLOR_RED);
if(SingleCh){
if((dat_buf[1] & 0b01111000) == 0b00101000){
StartSync = 1;
}
// dat_buf[0] = (dat_buf[0] << 1) | ((dat_buf[1] >> 7) & 0x01);
// dat_buf[2] = ((dat_buf[1] & 0b00000111) << 2) | (dat_buf[2] & 0b11100000);
// dat_buf[1] = (dat_buf[1] >> 3) & 0b00001111;
}
// multi channel should read preamble to allocate every channel
else{
if((dat_buf[0] & 0xFF) == 0x60 && (dat_buf[1] & 0xF8) == 0xA8){
StartSync = 1;
}
}
}
if(StartSync){
// check header, which is also a sync for single channel
dat_buf[0] = (dat_buf[0] << 1) | ((dat_buf[1] >> 7) & 0x01);
dat_buf[1] = (dat_buf[1] << 1) | ((dat_buf[2] >> 7) & 0x01);
dat_buf[2] = (dat_buf[2] << 1) | ((dat_buf[3] >> 7) & 0x01);
uint8_t channel;
if ((INSTRUCTION.enable_channel_number == 1)) {
if ((INSTRUCTION.enable_channel_number == 1) || (dat_buf[0] == 0xc1)) {
channel = reverse_channel[INSTRUCTION.last_enable_channel];
} else {
uint8_t channel_pointer = (INSTRUCTION.channel_pointer + 1) % INSTRUCTION.last_enable_channel;
channel = reverse_channel[INSTRUCTION.channel_mux[channel_pointer]];
INSTRUCTION.channel_pointer = channel_pointer;
}
// SimpleProfile_SetParameter(BLE_NOT_BUFF_CHAR, BLE_NOT_BUFF_SIZE, headstage_notify_buffer);
uint8_t data_size = headstage_notify_append_data(channel, dat_buf, INSTRUCTION.amp_gain);
// headstage_notify_buffer[0] = CHIP_ID;
// headstage_notify_buffer[1] = 200;
// headstage_notify_send();
uint8_t data_size = headstage_notify_append_data(channel, dat_buf);
if (data_size >= BLE_NOT_BUFF_SIZE) {
headstage_notify_flip_buffer();
headstage_notify_send();
// headstage_led_spi_color(COLOR_YELLOW);
// headstage_led_spi_color(COLOR_CYAN);
}
}
else{
headstage_uni_delay();
}
// uint16_t data_value = (uint16_t)(((dat_buf[1] & 0x0F) << 6) | ((dat_buf[2] & 0xFC) >> 2));
headstage_spi_lsk_transaction(3);
}
@@ -1027,8 +946,7 @@ static uint8_t build_umn_ins_config(uint8_t config_type, uint32_t* value) {
case CONFIG_AMP_GAIN:
*value = build_configure_instruction(CONFIG_AMP_GAIN, amp_gain_table[INSTRUCTION.amp_gain]);
// return CONFIG_STI_VOLT;
return CONFIG_AMP_BAND;
return CONFIG_STI_VOLT;
case CONFIG_STI_VOLT:
*value = build_configure_instruction(CONFIG_STI_VOLT, INSTRUCTION.sti_volt);
@@ -1036,8 +954,7 @@ static uint8_t build_umn_ins_config(uint8_t config_type, uint32_t* value) {
case CONFIG_AMP_BAND:
*value = build_configure_instruction(CONFIG_AMP_BAND, amp_band_table[INSTRUCTION.amp_low_band_freq]);
// return CONFIG_STI_PULSE_WIDTH;
return CONFIG_ADC_RATE;
return CONFIG_STI_PULSE_WIDTH;
case CONFIG_STI_PULSE_WIDTH:
*value = build_configure_instruction(CONFIG_STI_PULSE_WIDTH, sti_pulse_width_table[INSTRUCTION.pulse_width]);
@@ -1049,8 +966,7 @@ static uint8_t build_umn_ins_config(uint8_t config_type, uint32_t* value) {
case CONFIG_ADC_RATE:
*value = build_configure_instruction(CONFIG_ADC_RATE, adc_clock_table[INSTRUCTION.frequency]);
// return CONFIG_STI_CHANNEL_P;
return CONFIG_DONE;
return CONFIG_STI_CHANNEL_P;
case CONFIG_STI_CHANNEL:
case CONFIG_STI_CHANNEL_P:
@@ -1122,8 +1038,6 @@ static void headstage_umc_state_transfer_ask() {
case UMC_STATE_WAIT_START:
headstage_spi_lsk_transaction(8);
break;
case UMC_STATE_CHECK_LSK:
case UMC_STATE_REC_STI:
case UMC_STATE_TRIGGER:
case UMC_STATE_CONTINUOUS:
case UMC_STATE_LIMITED:
@@ -1133,12 +1047,6 @@ static void headstage_umc_state_transfer_ask() {
headstage_state = UMC_STATE_TRIGGER;
headstage_spi_lsk_transaction(3);
break;
case UMC_STATE_PAUSE:
headstage_spi_lsk_transaction(8);
break;
case UMC_STATE_RESTART:
headstage_spi_lsk_transaction(8);
break;
default:
break;
}
@@ -1147,8 +1055,6 @@ static void headstage_umc_state_transfer_ask() {
/**
* @fn headstage_umc_state_transfer_lsk
*/
static uint8_t TestCounter = 0;
static uint8_t PassCheck = 0; // PassCheck=1 => DBS receive ASK, else ASK failed
static void headstage_umc_state_transfer_lsk() {
switch (headstage_state) {
case UMC_STATE_IDLE:
@@ -1158,10 +1064,8 @@ static void headstage_umc_state_transfer_lsk() {
case UMC_STATE_HANDSHAKE:
// if we receive handshake data , prepare handshake echo and call spi_tx transfer
if (umc_handshake_check(spi_rxbuf)) {
FlushSPIrx();
tx_put_u32(0, UMC_HAND_SHAKE_RECV);
headstage_state = UMC_STATE_HANDSHAKE_RECEIVE;
// headstage_state = DEBUG;
headstage_spi_ask_transaction(4); // transmit handshake echo
} else {
headstage_spi_lsk_transaction(2); // listen to LSK for handshake data again
@@ -1171,10 +1075,10 @@ static void headstage_umc_state_transfer_lsk() {
case UMC_STATE_HANDSHAKE_RECEIVE:
/**< if we success to receive handshake data */
if (umc_pass_check()) {
FlushSPIrx();
tx_put_u32(0, build_configure_instruction(UMC_CALIB_DONE, UMC_MODE_LSK_OUT));
headstage_state = UMC_STATE_INITIAL;
headstage_spi_ask_transaction(4);
} else {
headstage_spi_ask_transaction(4);
@@ -1183,17 +1087,12 @@ static void headstage_umc_state_transfer_lsk() {
case UMC_STATE_INITIAL:
if (umc_pass_check()) {
FlushSPIrx();
TestCounter = 0;
headstage_state = UMC_STATE_CONFIGURE;
if(VIS_START){
headstage_state = DEBUG;
}
headstage_spi_ask_transaction(4);
} else {
headstage_spi_ask_transaction(4);
}
TestCounter ++;
break;
case UMC_STATE_CONFIGURE:
@@ -1210,98 +1109,69 @@ static void headstage_umc_state_transfer_lsk() {
if (new_config_type == CONFIG_DONE) {
headstage_state = UMC_STATE_WAIT_START;
if(VIS_START){ headstage_state = DEBUG; }
} else {
headstage_state = UMC_STATE_CONFIGURE;
}
TestCounter = 0;
headstage_spi_ask_transaction(4);
}
} else {
headstage_spi_ask_transaction(4);
}
TestCounter ++;
break;
// conservative instruction need golden key to trigger DBS
break;
/**
* conservative instruction need golden key to trigger DBS
*/
case UMC_STATE_WAIT_START:
if (headstage_debug_buffer[1] > 18) {
// headstage_state = UMC_STATE_CHECK_LSK;
headstage_state = UMC_STATE_REC_STI;
headstage_spi_lsk_transaction(3);
// this transaction make cause amplifier data right shift
switch (INSTRUCTION.mode) {
case 0:
// continuous mode
headstage_state = UMC_STATE_TRIGGER;
UMC_STATE.trigger_times = 0;
headstage_spi_lsk_transaction(3);
break;
case 1:
// trigger mode
headstage_state = UMC_STATE_TRIGGER;
UMC_STATE.trigger_times = 0;
headstage_spi_lsk_transaction(3);
break;
case 2:
// limited mode
headstage_state = UMC_STATE_LIMITED;
UMC_STATE.trigger_times = INSTRUCTION.sti_times;
headstage_spi_lsk_transaction(3);
break;
case 3:
// continuous mode
headstage_state = UMC_STATE_CONTINUOUS;
UMC_STATE.trigger_times = 0;
headstage_spi_lsk_transaction(3);
break;
default:
headstage_state = UMC_STATE_CONTINUOUS;
UMC_STATE.trigger_times = 0;
headstage_spi_lsk_transaction(3);
break;
}
} else if (headstage_debug_buffer[1] > 10) {
headstage_debug_buffer[1] += 1;
tx_put_u32(0, UMC_GOLDEN_KEY);
headstage_spi_ask_transaction(4);
} else {
headstage_debug_buffer[1] ++;
headstage_debug_buffer[1] += 1;
tx_put_u32(0, build_configure_instruction(CONFIG_DONE, 0xFF));
headstage_spi_ask_transaction(4);
}
break;
// check lsk, make sure DBS chip have no error
case UMC_STATE_CHECK_LSK:{
uint8_t NoError = 0;
NoError = CheckLSK(spi_rxbuf);
if(NoError == LSK_NO_ERROR){
headstage_state = UMC_STATE_REC_STI;
headstage_led_spi_color_debug(0xE1, 0x00, 0x00, 0xFF);
}
else if(NoError == LSK_CHECKING_ERROR){
headstage_state = UMC_STATE_CHECK_LSK;
headstage_led_spi_color(COLOR_GREEN);
}
else if(NoError == LSK_ERROR){
headstage_state = UMC_STATE_REC_STI;
headstage_led_spi_color_debug(0xE1, 0xF1, 0x00, 0x00);
}
else{
headstage_led_spi_color_debug(0xE1, 0xF1, 0xF1, 0xF1);
headstage_state = UMC_STATE_REC_STI;
}
headstage_spi_lsk_transaction(3);
break;
}
case UMC_STATE_REC_STI:
// this transaction make cause amplifier data right shift
switch (INSTRUCTION.mode) {
case 0:
// continuous mode
headstage_state = UMC_STATE_TRIGGER;
UMC_STATE.trigger_times = 0;
headstage_spi_lsk_transaction(3);
break;
case 1:
// trigger mode
headstage_state = UMC_STATE_TRIGGER;
UMC_STATE.trigger_times = 0;
headstage_spi_lsk_transaction(3);
break;
case 2:
// limited mode
headstage_state = UMC_STATE_LIMITED;
UMC_STATE.trigger_times = INSTRUCTION.sti_times;
headstage_spi_lsk_transaction(3);
break;
case 3:
// continuous mode
headstage_state = UMC_STATE_CONTINUOUS;
UMC_STATE.trigger_times = 0;
headstage_spi_lsk_transaction(3);
break;
default:
headstage_state = UMC_STATE_CONTINUOUS;
UMC_STATE.trigger_times = 0;
headstage_spi_lsk_transaction(3);
break;
}
break;
case UMC_STATE_TRIGGER:
// headstage_led_spi_color(COLOR_GREEN);
headstage_uni_umc_data_append_notify_buffer(spi_rxbuf);
break;
@@ -1323,30 +1193,6 @@ static void headstage_umc_state_transfer_lsk() {
break;
case UMC_STATE_INTERRUPT:
break;
case DEBUG:
UMC_STATE.reset_flag = 1;
break;
case UMC_STATE_PAUSE:
if (umc_pass_check()) {
headstage_led_spi_color(COLOR_RED);
// headstage_state = UMC_STATE_RESTART;
}
else {
headstage_spi_ask_transaction(4);
}
break;
case UMC_STATE_RESTART:
// if (umc_pass_check()) {
// headstage_led_spi_color(COLOR_YELLOW);
INSTRUCTION.mode = 0;
headstage_state = UMC_STATE_WAIT_START;
headstage_spi_ask_transaction(4);
// } else {
// headstage_spi_ask_transaction(4);
// }
break;
default:
break;
}
@@ -0,0 +1,11 @@
#ifndef VERSION_DATE
#define VERSION_DATE
#define VERSION_DATE_YEAR 20
#define VERSION_DATE_MONTH 2
#define VERSION_DATE_DAY 14
#define VERSION_DATE_HOUR 18
#define VERSION_DATE_MINUTE 30
#endif
@@ -2,7 +2,8 @@
#ifndef NEU_CALI_TABLE
#define NEU_CALI_TABLE
#define BOARD_NAME
#define BOARD_AE80
typedef struct _SingleChannelCali{
uint16_t Gain[3];
int16_t Offset[3];
@@ -12,27 +13,27 @@ struct _CaliTable{
SingleChannelCali Ch[12];
}CaliTable =
#ifdef BOARD_NAME
#ifdef BOARD_C677
{
.Ch[0].Gain[0] = 23,
.Ch[0].Gain[0] = 69,
.Ch[0].Offset[0] = -3,
.Ch[0].Gain[1] = 106,
.Ch[0].Gain[1] = 320,
.Ch[0].Offset[1] = -13,
.Ch[0].Gain[2] = 233,
.Ch[0].Gain[2] = 600,
.Ch[0].Offset[2] = -27,
.Ch[1].Gain[0] = 23,
.Ch[1].Gain[0] = 69,
.Ch[1].Offset[0] = 1,
.Ch[1].Gain[1] = 109,
.Ch[1].Gain[1] = 320,
.Ch[1].Offset[1] = 6,
.Ch[1].Gain[2] = 241,
.Ch[1].Gain[2] = 650,
.Ch[1].Offset[2] = 16,
.Ch[2].Gain[0] = 24,
.Ch[2].Offset[0] = -14,
.Ch[2].Gain[1] = 112,
.Ch[2].Gain[1] = 110,
.Ch[2].Offset[1] = -60,
.Ch[2].Gain[2] = 241,
.Ch[2].Gain[2] = 235,
.Ch[2].Offset[2] = -131,
.Ch[3].Gain[0] = 23,
@@ -42,11 +43,11 @@ struct _CaliTable{
.Ch[3].Gain[2] = 231,
.Ch[3].Offset[2] = 156,
.Ch[4].Gain[0] = 69,
.Ch[4].Gain[0] = 23,
.Ch[4].Offset[0] = 0,
.Ch[4].Gain[1] = 322,
.Ch[4].Gain[1] = 110,
.Ch[4].Offset[1] = 10,
.Ch[4].Gain[2] = 665,
.Ch[4].Gain[2] = 235,
.Ch[4].Offset[2] = 15,
.Ch[5].Gain[0] = 69,
@@ -63,32 +64,32 @@ struct _CaliTable{
.Ch[6].Gain[2] = 551,
.Ch[6].Offset[2] = 167,
.Ch[7].Gain[0] = 69,
.Ch[7].Gain[0] = 23,
.Ch[7].Offset[0] = -20,
.Ch[7].Gain[1] = 316,
.Ch[7].Gain[1] = 110,
.Ch[7].Offset[1] = -82,
.Ch[7].Gain[2] = 577,
.Ch[7].Gain[2] = 235,
.Ch[7].Offset[2] = -148,
.Ch[8].Gain[0] = 69,
.Ch[8].Gain[0] = 23,
.Ch[8].Offset[0] = 12,
.Ch[8].Gain[1] = 322,
.Ch[8].Gain[1] = 110,
.Ch[8].Offset[1] = 58,
.Ch[8].Gain[2] = 613,
.Ch[8].Gain[2] = 235,
.Ch[8].Offset[2] = 105,
.Ch[9].Gain[0] = 69,
.Ch[9].Gain[0] = 23,
.Ch[9].Offset[0] = -6,
.Ch[9].Gain[1] = 325,
.Ch[9].Gain[1] = 110,
.Ch[9].Offset[1] = -15,
.Ch[9].Gain[2] = 622,
.Ch[9].Gain[2] = 235,
.Ch[9].Offset[2] = -14,
.Ch[10].Gain[0] = 24,
.Ch[10].Gain[0] = 69,
.Ch[10].Offset[0] = -5,
.Ch[10].Gain[1] = 103,
.Ch[10].Gain[1] = 320,
.Ch[10].Offset[1] = -24,
.Ch[10].Gain[2] = 209,
.Ch[10].Gain[2] = 600,
.Ch[10].Offset[2] = -50,
.Ch[11].Gain[0] = 116,
@@ -98,10 +99,246 @@ struct _CaliTable{
.Ch[11].Gain[2] = 340,
.Ch[11].Offset[2] = 273
};
#endif
#elif defined(BOARD_AE80)
{
.Ch[0].Gain[0] = 77,
.Ch[0].Offset[0] = 6,
.Ch[1].Gain[0] = 76,
.Ch[1].Offset[0] = -18,
.Ch[2].Gain[0] = 76,
.Ch[2].Offset[0] = -15,
.Ch[3].Gain[0] = 77,
.Ch[3].Offset[0] = -23,
.Ch[4].Gain[0] = 22,
.Ch[4].Offset[0] = -3,
.Ch[5].Gain[0] = 76,
.Ch[5].Offset[0] = -18,
.Ch[6].Gain[0] = 76,
.Ch[6].Offset[0] = -30,
.Ch[7].Gain[0] = 28,
.Ch[7].Offset[0] = -6,
.Ch[8].Gain[0] = 27,
.Ch[8].Offset[0] = -10,
.Ch[9].Gain[0] = 31,
.Ch[9].Offset[0] = -6,
.Ch[10].Gain[0] = 77,
.Ch[10].Offset[0] = 23,
.Ch[11].Gain[0] = 27,
.Ch[11].Offset[0] = -10,
.Ch[0].Gain[1] = 338,
.Ch[0].Offset[1] = 45,
.Ch[1].Gain[1] = 336,
.Ch[1].Offset[1] = -61,
.Ch[2].Gain[1] = 335,
.Ch[2].Offset[1] = -45,
.Ch[3].Gain[1] = 335,
.Ch[3].Offset[1] = -83,
.Ch[4].Gain[1] = 42,
.Ch[4].Offset[1] = -1,
.Ch[5].Gain[1] = 330,
.Ch[5].Offset[1] = -65,
.Ch[6].Gain[1] = 326,
.Ch[6].Offset[1] = -114,
.Ch[7].Gain[1] = 126,
.Ch[7].Offset[1] = -15,
.Ch[8].Gain[1] = 118,
.Ch[8].Offset[1] = -28,
.Ch[9].Gain[1] = 136,
.Ch[9].Offset[1] = -17,
.Ch[10].Gain[1] = 332,
.Ch[10].Offset[1] = 118,
.Ch[11].Gain[1] = 116,
.Ch[11].Offset[1] = -33,
.Ch[0].Gain[2] = 666,
.Ch[0].Offset[2] = 86,
.Ch[1].Gain[2] = 80,
.Ch[1].Offset[2] = -340,
.Ch[2].Gain[2] = 688,
.Ch[2].Offset[2] = -55,
.Ch[3].Gain[2] = 624,
.Ch[3].Offset[2] = -140,
.Ch[4].Gain[2] = 313,
.Ch[4].Offset[2] = 1,
.Ch[5].Gain[2] = 633,
.Ch[5].Offset[2] = -111,
.Ch[6].Gain[2] = 543,
.Ch[6].Offset[2] = -191,
.Ch[7].Gain[2] = 280,
.Ch[7].Offset[2] = -37,
.Ch[8].Gain[2] = 256,
.Ch[8].Offset[2] = -55,
.Ch[9].Gain[2] = 237,
.Ch[9].Offset[2] = 129,
.Ch[10].Gain[2] = 470,
.Ch[10].Offset[2] = 218,
.Ch[11].Gain[2] = 217,
.Ch[11].Offset[2] = -127
};
#elif defined(BOARD_TEST)
{
.Ch[0].Gain[0] = 87,
.Ch[0].Offset[0] = 78,
.Ch[1].Gain[0] = 87,
.Ch[1].Offset[0] = 78,
.Ch[2].Gain[0] = 87,
.Ch[2].Offset[0] = 87,
.Ch[3].Gain[0] = 87,
.Ch[3].Offset[0] = 87,
.Ch[4].Gain[0] = 87,
.Ch[4].Offset[0] = 87,
.Ch[5].Gain[0] = 87,
.Ch[5].Offset[0] = 87,
.Ch[6].Gain[0] = 87,
.Ch[6].Offset[0] = 87,
.Ch[7].Gain[0] = 123,
.Ch[7].Offset[0] = 87,
.Ch[8].Gain[0] = 123,
.Ch[8].Offset[0] = 87,
.Ch[9].Gain[0] = 123,
.Ch[9].Offset[0] = -6,
.Ch[10].Gain[0] = 77,
.Ch[10].Offset[0] = 23,
.Ch[11].Gain[0] = 27,
.Ch[11].Offset[0] = -10,
.Ch[0].Gain[1] = 338,
.Ch[0].Offset[1] = 45,
.Ch[1].Gain[1] = 336,
.Ch[1].Offset[1] = -61,
.Ch[2].Gain[1] = 335,
.Ch[2].Offset[1] = -45,
.Ch[3].Gain[1] = 335,
.Ch[3].Offset[1] = -83,
.Ch[4].Gain[1] = 42,
.Ch[4].Offset[1] = -1,
.Ch[5].Gain[1] = 330,
.Ch[5].Offset[1] = -65,
.Ch[6].Gain[1] = 326,
.Ch[6].Offset[1] = -114,
.Ch[7].Gain[1] = 126,
.Ch[7].Offset[1] = -15,
.Ch[8].Gain[1] = 118,
.Ch[8].Offset[1] = -28,
.Ch[9].Gain[1] = 136,
.Ch[9].Offset[1] = -17,
.Ch[10].Gain[1] = 33,
.Ch[10].Offset[1] = 118,
.Ch[11].Gain[1] = 116,
.Ch[11].Offset[1] = -33,
.Ch[0].Gain[2] = 666,
.Ch[0].Offset[2] = 86,
.Ch[1].Gain[2] = 80,
.Ch[1].Offset[2] = -340,
.Ch[2].Gain[2] = 68,
.Ch[2].Offset[2] = -55,
.Ch[3].Gain[2] = 620,
.Ch[3].Offset[2] = -140,
.Ch[4].Gain[2] = 313,
.Ch[4].Offset[2] = 1,
.Ch[5].Gain[2] = 633,
.Ch[5].Offset[2] = -111,
.Ch[6].Gain[2] = 543,
.Ch[6].Offset[2] = -191,
.Ch[7].Gain[2] = 280,
.Ch[7].Offset[2] = -37,
.Ch[8].Gain[2] = 256,
.Ch[8].Offset[2] = -55,
.Ch[9].Gain[2] = 237,
.Ch[9].Offset[2] = 129,
.Ch[10].Gain[2] = 470,
.Ch[10].Offset[2] = 218,
.Ch[11].Gain[2] = 210,
.Ch[11].Offset[2] = -127
};
#else
{0};
{
.Ch[0].Gain[0] = 1,
.Ch[0].Offset[0] = 0,
.Ch[0].Gain[1] = 1,
.Ch[0].Offset[1] = 0,
.Ch[0].Gain[2] = 1,
.Ch[0].Offset[2] = 0,
.Ch[1].Gain[0] = 1,
.Ch[1].Offset[0] = 0,
.Ch[1].Gain[1] = 1,
.Ch[1].Offset[1] = 0,
.Ch[1].Gain[2] = 1,
.Ch[1].Offset[2] = 0,
.Ch[2].Gain[0] = 1,
.Ch[2].Offset[0] = 0,
.Ch[2].Gain[1] = 1,
.Ch[2].Offset[1] = 0,
.Ch[2].Gain[2] = 1,
.Ch[2].Offset[2] = 0,
.Ch[3].Gain[0] = 1,
.Ch[3].Offset[0] = 0,
.Ch[3].Gain[1] = 1,
.Ch[3].Offset[1] = 0,
.Ch[3].Gain[2] = 1,
.Ch[3].Offset[2] = 0,
.Ch[4].Gain[0] = 1,
.Ch[4].Offset[0] = 0,
.Ch[4].Gain[1] = 1,
.Ch[4].Offset[1] = 0,
.Ch[4].Gain[2] = 1,
.Ch[4].Offset[2] = 0,
.Ch[5].Gain[0] = 1,
.Ch[5].Offset[0] = 0,
.Ch[5].Gain[1] = 1,
.Ch[5].Offset[1] = 35,
.Ch[5].Gain[2] = 1,
.Ch[5].Offset[2] = 0,
.Ch[6].Gain[0] = 1,
.Ch[6].Offset[0] = 0,
.Ch[6].Gain[1] = 1,
.Ch[6].Offset[1] = 0,
.Ch[6].Gain[2] = 1,
.Ch[6].Offset[2] = 0,
.Ch[7].Gain[0] = 1,
.Ch[7].Offset[0] = 0,
.Ch[7].Gain[1] = 1,
.Ch[7].Offset[1] = 0,
.Ch[7].Gain[2] = 1,
.Ch[7].Offset[2] = 0,
.Ch[8].Gain[0] = 1,
.Ch[8].Offset[0] = 0,
.Ch[8].Gain[1] = 1,
.Ch[8].Offset[1] = 0,
.Ch[8].Gain[2] = 1,
.Ch[8].Offset[2] = 0,
.Ch[9].Gain[0] = 1,
.Ch[9].Offset[0] = 0,
.Ch[9].Gain[1] = 1,
.Ch[9].Offset[1] = 0,
.Ch[9].Gain[2] = 1,
.Ch[9].Offset[2] = 0,
.Ch[10].Gain[0] = 1,
.Ch[10].Offset[0] = 0,
.Ch[10].Gain[1] = 1,
.Ch[10].Offset[1] = 0,
.Ch[10].Gain[2] = 1,
.Ch[10].Offset[2] = 0,
.Ch[11].Gain[0] = 1,
.Ch[11].Offset[0] = 49,
.Ch[11].Gain[1] = 1,
.Ch[11].Offset[1] = 0,
.Ch[11].Gain[2] = 1,
.Ch[11].Offset[2] = 0
};
#endif
#endif
@@ -8,8 +8,6 @@
#error "headstage/headstage_notify.h not included"
#endif
#include "headstage13_calibration.h"
#define NOT_BUF_OFFSET_INIT 8
static uint32_t not_buf_offset = NOT_BUF_OFFSET_INIT;
@@ -33,9 +31,7 @@ static void headstage_notify_flip_buffer() {
not_buf_offset = NOT_BUF_OFFSET_INIT;
}
static uint8_t headstage_notify_append_data(uint8_t channel, uint8_t *data_value, uint8_t gain) {
uint16_t data;
static uint8_t headstage_notify_append_data(uint8_t channel, uint8_t *data_value) {
if (not_buf_offset <= NOT_BUF_OFFSET_INIT) {
headstage_notify_set_timestamp();
not_buf_offset = NOT_BUF_OFFSET_INIT;
@@ -45,13 +41,8 @@ static uint8_t headstage_notify_append_data(uint8_t channel, uint8_t *data_value
headstage_notify_buffer[not_buf_offset++] = ((channel & 0x0F) << 4);
headstage_notify_buffer[not_buf_offset++] = 0x03;
} else {
// data = Calibration(data_value, channel, gain);
data = (data_value[1] & 0x0F) << 6 | (data_value[2] & 0xFC) >>2;
data = not_buf_offset;
// headstage_notify_buffer[not_buf_offset++] = ((channel & 0x0F) << 4) | (data_value[1] & 0x0F);
// headstage_notify_buffer[not_buf_offset++] = data_value[2] & 0xFC;
headstage_notify_buffer[not_buf_offset++] = ((channel & 0x0F) << 4) | (data & 0x03C0) >> 6;
headstage_notify_buffer[not_buf_offset++] = (data & 0x003F) << 2;
headstage_notify_buffer[not_buf_offset++] = ((channel & 0x0f) << 4) | (data_value[1] & 0x0f);
headstage_notify_buffer[not_buf_offset++] = data_value[2] & 0xFC;
}
if (not_buf_offset == BLE_NOT_BUFF_SIZE) {
@@ -89,12 +89,4 @@ static void headstage_spi_lsk_callback(SPI_Handle handle, SPI_Transaction* trans
} \
} while (0)
static void FlushSPIrx(){
for(int i=0 ; i<SPI_BUFFER_SIZE ; i++){
spi_rxbuf[i] = 0;
}
}
#endif // HEADSTAGE_SPI_H
@@ -316,7 +316,7 @@ static void SimpleBLEPeripheral_init(void) {
application_message_queue = Util_constructQueue(&application_message);
// Setup the GAP
GAP_SetParamValue(TGAP_GAP_SetParamValueCONN_PAUSE_PERIPHERAL, DEFAULT_CONN_PAUSE_PERIPHERAL);
GAP_SetParamValue(TGAP_CONN_PAUSE_PERIPHERAL, DEFAULT_CONN_PAUSE_PERIPHERAL);
// Setup the GAP Peripheral Role Profile
{
@@ -499,7 +499,7 @@ static void headstage_init_device_info() {
break;
}
uint8_t scanRspData[120];
uint8_t scanRspData[64];
uint8_t *p = scanRspData;
*p++ = sizeof(DEVICE_NAME);
*p++ = GAP_ADTYPE_LOCAL_NAME_COMPLETE;
@@ -507,7 +507,7 @@ static void headstage_init_device_info() {
for (unsigned int i = 0; i < sizeof(DEVICE_NAME) - 1; i++) {
*p++ = DEVICE_NAME[i];
}
*p++ = 15;
*p++ = 16;
*p++ = GAP_ADTYPE_MANUFACTURER_SPECIFIC;
// unsafe_memcpy(p, "BPHS", 4);
*p++ = 'B';
@@ -523,7 +523,8 @@ static void headstage_init_device_info() {
*p++ = 'B';
*p++ = 'A';
*p++ = 'T';
*p++ = headstage_battery_percent();
*p++ = headstage_battery_volt1();
*p++ = headstage_battery_volt2();
GGS_SetParameter(GGS_DEVICE_NAME_ATT, sizeof(DEVICE_NAME), DEVICE_NAME);