Compare commits

...

57 Commits

Author SHA1 Message Date
Roy 44325afb10 [cali] add BOARD_E69C calibration data. 2021-06-07 16:21:23 +08:00
Roy d41189ad68 update BOARD_7AA4 & BOARD_E731 & BOARD_7ABF calibration data. 2021-04-16 14:47:31 +08:00
Roy b588747906 add BOARD_E731 & E731 & E6BA & E7EF & 7ABF update BOARD_7A42 calibration data. 2021-03-29 10:58:23 +08:00
Roy ba9f58b3fe add BOARD_7CFB & update BOARD_7A6B calibration data. 2021-03-05 10:38:38 +08:00
Roy e3624e2db4 add BOARD_7CD2 calibration data. 2021-02-24 17:51:01 +08:00
Roy 431ed33a32 add BOARD_C685 & update BOARD_C5DA calibration data. 2021-02-24 13:55:06 +08:00
Roy 06b897094d add BOARD_924E calibration data. 2021-02-24 12:15:03 +08:00
Roy 447bd3874c add BOARD_7C9D calibration data. 2021-02-05 18:46:24 +08:00
Roy c7d1288778 [update] fix CC mode 2021-01-22 11:10:07 +08:00
Roy 6f5da7d7c7 [update] fix CC mode discharge 2021-01-15 17:22:07 +08:00
Roy a157c1cc6e [update] update def.h 2020-12-29 11:48:12 +08:00
Benny Liu 585ee3fca2 turn on 6994 shutdown 2020-12-24 14:28:43 +08:00
Roy 32fb145969 add BOARD_7A87 and update BOARD_7CE0 & BOARD_C5F3 & BOARD_7C7E calibration data. 2020-12-04 10:06:31 +08:00
Roy 02f1110a50 update BOARD_CHAO_I & BOARD_C5F3 & BOARD_7ADE calibration data. 2020-11-18 14:04:56 +08:00
YiChin a3b011c924 update BOARD_C6F1 calibration data. 2020-11-17 09:30:43 +08:00
YiChin f7c6ea3036 update BOARD_7A96 calibration data. 2020-11-16 15:12:32 +08:00
YiChin 13fd8489ec update BOARD_7A4F & BOARD_7A27 calibration data. 2020-11-13 10:12:00 +08:00
YiChin 8b605bb37a add CC i = 0 when Vin reach Vmax or Vmin on CC mode 2020-11-10 09:29:11 +08:00
YiChin c3d255d426 update BOARD_7ACD & BOARD_C72C calibration data. 2020-11-09 16:26:56 +08:00
YiChin dad7e86f2d update BOARD_C6D5 calibration data. 2020-11-09 13:25:53 +08:00
YiChin e62dfd9078 add BOARD_7C1C calibration data. 2020-11-06 14:58:37 +08:00
YiChin 7cbded7ad5 send data of temperature when start I-T mode 2020-11-03 15:29:09 +08:00
YiChin 49c73f9b8f delete BOARD_C673 calibration data.(because BOARD_C673 as same as BOARD_MARS) 2020-11-03 11:10:37 +08:00
YiChin ac9b1107a0 update BOARD_MARS calibration data. 2020-11-03 10:55:42 +08:00
YiChin 8d111243ba add BOARD_7A6B & BOARD_C5B4 calibration data. 2020-10-28 10:54:50 +08:00
YiChin 1e53cc80ed add dark led fun() 2020-10-22 15:16:09 +08:00
YiChin 272440c563 add BOARD_C5A5 & BOARD_C679 calibration data. 2020-10-20 11:00:54 +08:00
YiChin ed697667b4 take away CIS data content & cali R 2020-10-20 09:53:04 +08:00
YiChin 8ab6f27c1a modify CIS data content 2020-10-15 15:03:25 +08:00
YiChin 32a8296958 modify CIS data content 2020-10-15 10:43:12 +08:00
YiChin 2866988d92 cali Ri & Ro on IV mode (update Vout) 2020-10-05 18:22:04 +08:00
YiChin 3a29138d4e update CaliR_Iin & CaliR_Vout value 2020-10-05 18:14:06 +08:00
YiChin b7f43ea145 cali Ri & Ro on CV3 mode 2020-09-30 18:16:12 +08:00
YiChin 6c52f65246 cali Ri & Ro on IV mode 2020-09-30 15:07:52 +08:00
YiChin 830bae68b5 cali Ri & Ro on IV mode 2020-09-30 14:38:44 +08:00
YiChin e18a05e35e cali Ri & Ro on IV mode 2020-09-30 10:53:57 +08:00
YiChin b28bbbc12c cali Ri & Ro on RT mode 2020-09-29 15:57:15 +08:00
Benny Liu f63e75d4ea update BOARD_7A27 calibration data. 2020-09-26 13:59:26 +08:00
Benny Liu a646f4730b update BOARD_C64C calibration data. 2020-09-26 13:55:51 +08:00
Benny Liu 2318056e8f update BOARD_7A27 calibration data. 2020-09-26 13:52:30 +08:00
Benny Liu 47016783a7 update BOARD_C673 calibration data. 2020-09-26 13:50:20 +08:00
Benny Liu a2f49d7489 update BOARD_7C45 calibration data. 2020-09-26 13:50:17 +08:00
YiChin 74bcd3e338 update BOARD_C666 calibration data. 2020-09-17 18:03:40 +08:00
YiChin 5e50811534 update BOARD_7C1C & BOARD_7AA3 calibration data. 2020-09-11 18:47:33 +08:00
YiChin 0f5ffb0504 CV mode foolproof 2020-09-07 16:58:08 +08:00
YiChin d243229005 update BOARD_URANUS & BOARD_C673 calibration data. 2020-09-07 11:00:19 +08:00
YiChin 0c7a2b12ee update BOARD_C5A7 & BOARD_C6D5 calibration data. 2020-08-31 17:10:56 +08:00
YiChin b648c556c6 add BOARD_C5A7 & BOARD_C6D5 and update BOARD_7C4F calibration data. 2020-08-31 16:58:04 +08:00
YiChin abf102fd1e update BOARD_7ACD & BOARD_C754 calibration data. 2020-08-25 17:03:27 +08:00
YiChin f6e5963950 update ANGUS & C635 & 7C8C & 81DD & 8041 calibration data. 2020-08-24 17:27:18 +08:00
YiChin 3978f5176f update BOARD_7C13 & BOARD_EARTH calibration data. 2020-08-24 09:46:49 +08:00
YiChin c08ab8689a update BOARD_C77F calibration data. 2020-08-20 18:19:54 +08:00
YiChin 36fde14062 update BOARD_MILKY & BOARD_7C4F calibration data. 2020-08-20 17:27:52 +08:00
YiChin dc2e53dca6 add BOARD_NEPTUNE & MERCURY calibration data. 2020-08-19 14:08:01 +08:00
YiChin dc50da83a8 fix change level 2020-08-05 16:53:32 +08:00
YiChin d8ccffdf52 fix change level 2 2020-08-05 16:15:04 +08:00
YiChin a04d5f2ae5 fix change level 2020-08-05 16:05:21 +08:00
15 changed files with 1202 additions and 623 deletions
@@ -34,17 +34,17 @@
<listOptionValue builtIn="false" 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.277675815" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="18.1.4.LTS" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.277675815" 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.1593934674" 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.632414212" name="GNU Make.FlashROM" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.632414212" 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.154623462" 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.974280107" 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.1783826131" 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.1536570599" 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.1895413316" 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.322983319" 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.1305400753" 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.1468985930" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.974280107" 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.1783826131" 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.1536570599" 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.1895413316" 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.322983319" 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.1305400753" 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.1468985930" 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="C:\ti\simplelink\ble_sdk_2_02_02_25\src\examples\simple_peripheral\cc26xx\app\headstage"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/simple_peripheral/cc26xx/app"/>
@@ -70,7 +70,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.1897088" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.1897088" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<listOptionValue builtIn="false" value="BOOSTXL_CC2650MA"/>
@@ -86,19 +86,19 @@
<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.871011287" 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.863089168" 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.1454248503" 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.1965115059" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.871011287" name="Debugging model" 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.863089168" 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.GCC.1454248503" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" 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.1965115059" 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"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.1638011093" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.1638011093" 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.1920170652" 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.2038786257" 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.811478344" 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.1229809338" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.1920170652" 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.2038786257" 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.GEN_FUNC_SUBSECTIONS.811478344" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" 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.1229809338" 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"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg"/>
@@ -109,48 +109,48 @@
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS.463094612" 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.1351821865" 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.174129193" 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.567300083" 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.1800982811" 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.1091211742" 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.1479599481" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE.174129193" 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.567300083" 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.1800982811" 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.1091211742" 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.1479599481" 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="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
<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.672837228" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH" valueType="libPaths">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.672837228" 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.544523272" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.544523272" 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="10247-D"/>
<listOptionValue builtIn="false" value="16002-D"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.1281207998" 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.468817864" 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.1679096029" 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.254835397" 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.1848192295" 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"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.1281207998" 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.468817864" 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.1679096029" 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.COMPRESS_DWARF.254835397" 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.1848192295" 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.1999849945" 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.25027104" 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.888093741" 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.19288898" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.11734737" 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.466140455" 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.824070691" 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"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.11734737" 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.466140455" 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.824070691" 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>
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1392704063" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.225737408" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.225737408" name="Package repositories (--xdcpath)" 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.571281110" 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.205178830" 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.1097777495" 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.744121344" 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.165807018" 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.391961861" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.571281110" name="Target (-t)" 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.205178830" name="Platform (-p)" 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.1097777495" name="Platform (-p)" 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.744121344" name="Build-profile (-r)" 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.165807018" name="Compiler tools directory (-c)" 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.391961861" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
</toolChain>
</folderInfo>
@@ -203,13 +203,17 @@ static void AutoGainChange(int32_t Real_Current){
GAIN_200K_counter++;
if(GAIN_200K_counter > 2){
INSTRUCTION.ADCGainLevel = GAIN_200K;
ADCGainControl(INSTRUCTION.ADCGainLevel);
GAIN_200K_counter = 0;
record_flag = false;
}
}else{
GAIN_10K_counter++;
if(GAIN_10K_counter > 2){
INSTRUCTION.ADCGainLevel = GAIN_10K;
ADCGainControl(INSTRUCTION.ADCGainLevel);
GAIN_10K_counter = 0;
record_flag = false;
}
}
}else{
@@ -227,7 +231,9 @@ static void AutoGainChange(int32_t Real_Current){
GAIN_200R_counter++;
if(GAIN_200R_counter > 2){
INSTRUCTION.ADCGainLevel = GAIN_200R;
ADCGainControl(INSTRUCTION.ADCGainLevel);
GAIN_200R_counter = 0;
record_flag = false;
}
}
@@ -236,7 +242,9 @@ static void AutoGainChange(int32_t Real_Current){
GAIN_200K_counter++;
if(GAIN_200K_counter > 2){
INSTRUCTION.ADCGainLevel = GAIN_200K;
ADCGainControl(INSTRUCTION.ADCGainLevel);
GAIN_200K_counter = 0;
record_flag = false;
}
}else{
if(GAIN_200R_counter > 0){
@@ -255,14 +263,18 @@ static void AutoGainChange(int32_t Real_Current){
GAIN_200R_counter++;
if(GAIN_200R_counter > 2){
INSTRUCTION.ADCGainLevel = GAIN_200R;
ADCGainControl(INSTRUCTION.ADCGainLevel);
GAIN_200R_counter = 0;
record_flag = false;
}
}else{
GAIN_10K_counter++;
if(GAIN_10K_counter > 2){
INSTRUCTION.ADCGainLevel = GAIN_10K;
ADCGainControl(INSTRUCTION.ADCGainLevel);
GAIN_10K_counter = 0;
record_flag = false;
}
}
@@ -275,7 +287,6 @@ static void AutoGainChange(int32_t Real_Current){
}
}
}
ADCGainControl(INSTRUCTION.ADCGainLevel);
}
#endif
@@ -11,8 +11,9 @@
* Real current value : -15.00000 ~ 15.00000 mA
* => user code = 1500000 mapping to 0.00000 mA
*/
static void CC_Vscan(CCMode *CC){
static void CC_Vscan(WorkMode *WM){
static int32_t Iin = 0;
static int32_t Vin = 0;
static int32_t deltaI = 0;
static int32_t deltaV = 0;
uint16_t divisionRate;
@@ -20,12 +21,13 @@ static void CC_Vscan(CCMode *CC){
if(vscanReset){
Vset = 0;
if(CC->_charge == 0){
CC->_Iset *= -1;
if(WM->CC->_charge == 0){
WM->CC->_Iset = INSTRUCTION.constantCurrent * 200 * (-1); //[50pA] //controller UI 15000uA => Elite 1500000 => 1500000 * 10 * 1000 / 50 [50pA];
}
Iin = CC->_measureCurrent * 20; //[50pA] nA => 50pA
deltaI = Iin - CC->_Iset;
Vin = WM->CC->_measureVin * 200;
Iin = WM->CC->_measureCurrent * 20; //[50pA] nA => 50pA
deltaI = Iin - WM->CC->_Iset;
if(deltaI > 20000000 || deltaI < -20000000){ //1mA
divisionRate = 1000;
@@ -43,16 +45,24 @@ static void CC_Vscan(CCMode *CC){
Vset = Vset + deltaV; //[5nV]
if(Vset <= CC->_Vmin){
Vset = CC->_Vmin;
}else if(Vset >= CC->_Vmax){
Vset = CC->_Vmax;
if (Vset >= 1100000000) { // 5.5V
Vset = 1100000000;
} else if (Vset <= -1000000000) { //-5V
Vset = -1000000000;
}
if(Vset <= WM->CC->_Vmin){
Vset = WM->CC->_Vmin;
}else if(Vset >= WM->CC->_Vmax){
Vset = WM->CC->_Vmax;
}
}
if(!vscanReset){
Iin = CC->_measureCurrent * 20; //[50pA] nA => 50pA
deltaI = Iin - CC->_Iset;
Iin = WM->CC->_measureCurrent * 20; //[50pA] nA => 50pA
Vin = WM->CC->_measureVin * 200;
deltaI = Iin - WM->CC->_Iset;
if(deltaI > 20000000 || deltaI < -20000000){ //1mA
divisionRate = 1000;
@@ -70,10 +80,43 @@ static void CC_Vscan(CCMode *CC){
Vset = Vset + deltaV; //[5nV]
if(Vset <= CC->_Vmin){
Vset = CC->_Vmin;
}else if(Vset >= CC->_Vmax){
Vset = CC->_Vmax;
if (Vset >= 1100000000) { // 5.5V
Vset = 1100000000;
} else if (Vset <= -1000000000) { //-5V
Vset = -1000000000;
}
static uint8_t cci0 = false;
if(Vin <= WM->CC->_Vmin){
cci0 = true;
if(cci0){
FreeWorkMode(WM);
InitEliteFlag();
INSTRUCTION.eliteFxn = CONSTANT_CURRENT;
INSTRUCTION.sampleRate = 15;
INSTRUCTION.charge = 0x01;
INSTRUCTION.constantCurrent = 0x00;
INSTRUCTION.Vmax = 0xC350;
INSTRUCTION.Vmin = 0x0000;
INSTRUCTION.notifyRate = 500;
INSTRUCTION.VoViSwitch = 0x01;//read Vscan = Vout - Vin
cci0 = false;
}
}else if(Vin >= WM->CC->_Vmax){
cci0 = true;
if(cci0){
FreeWorkMode(WM);
InitEliteFlag();
INSTRUCTION.eliteFxn = CONSTANT_CURRENT;
INSTRUCTION.sampleRate = 15;
INSTRUCTION.charge = 0x01;
INSTRUCTION.constantCurrent = 0x00;
INSTRUCTION.Vmax = 0xC350;
INSTRUCTION.Vmin = 0x0000;
INSTRUCTION.notifyRate = 500;
INSTRUCTION.VoViSwitch = 0x01;//read Vscan = Vout - Vin
cci0 = false;
}
}
}
// int32_t RealV;
@@ -34,12 +34,12 @@ static uint16_t CV3Curve(CV3Mode *CV3){
return DACOutCode;
}
static void CV3_Vscan(CV3Mode *CV3){
static void CV3_Vscan(WorkMode *WM){
static int16_t VminCounter;
static int16_t VmaxCounter;
static uint16_t CycleCounter;
NotifyCycleNumber = (INSTRUCTION.cycleNumber - CV3->_cycleNumber + 1);
NotifyCycleNumber = (INSTRUCTION.cycleNumber - WM->CV3->_cycleNumber + 1);
if(vscanReset){
VmaxCounter = 0;
@@ -47,81 +47,108 @@ static void CV3_Vscan(CV3Mode *CV3){
CycleCounter = 0;
if(INSTRUCTION.directionInit == 1){
CV3->_direction_up = true;
CV3->_current_direction_up = true;
WM->CV3->_direction_up = true;
WM->CV3->_current_direction_up = true;
}else{
CV3->_direction_up = false;
CV3->_current_direction_up = false;
WM->CV3->_direction_up = false;
WM->CV3->_current_direction_up = false;
}
//Vsetp = x * 20 * N, x=xmV ; N=VscanRate
if(INSTRUCTION.step <= 10){
CV3->_Vstep = INSTRUCTION.step * INSTRUCTION.VsetRate / 5;
WM->CV3->_Vstep = INSTRUCTION.step * INSTRUCTION.VsetRate / 5;
}else{
CV3->_Vstep = INSTRUCTION.step / 5 * INSTRUCTION.VsetRate;
WM->CV3->_Vstep = INSTRUCTION.step / 5 * INSTRUCTION.VsetRate;
}
if(CV3->_Vmin == CV3->_Vinit){
if(WM->CV3->_Vmin == WM->CV3->_Vinit){
VminCounter = -1;
}
if(CV3->_Vmax == CV3->_Vinit){
if(WM->CV3->_Vmax == WM->CV3->_Vinit){
VmaxCounter = -1;
}
Vset = CV3->_Vinit;
Vset = WM->CV3->_Vinit;
}
if(!vscanReset){
if (Vset >= CV3->_Vmax){
VmaxCounter++;
}else if (Vset <= CV3->_Vmin){
VminCounter++;
}
if((INSTRUCTION.Vinit < INSTRUCTION.Ve1 && INSTRUCTION.Vinit < INSTRUCTION.Ve2) ||
(INSTRUCTION.Vinit > INSTRUCTION.Ve1 && INSTRUCTION.Vinit > INSTRUCTION.Ve2)
){
if (WM->CV3->_current_direction_up){
Vset = Vset + WM->CV3->_Vstep;
}else{
Vset = Vset - WM->CV3->_Vstep;
}
if (CV3->_current_direction_up){
Vset = Vset + CV3->_Vstep;
if(INSTRUCTION.Vinit < INSTRUCTION.Ve1 && INSTRUCTION.Vinit < INSTRUCTION.Ve2){
if(Vset == WM->CV3->_Vmin){
VminCounter = -1;
INSTRUCTION.Vinit = INSTRUCTION.Vmin;
WM->CV3->_Vinit = WM->CV3->_Vmin;
}
}else if(INSTRUCTION.Vinit > INSTRUCTION.Ve1 && INSTRUCTION.Vinit > INSTRUCTION.Ve2){
if(Vset == WM->CV3->_Vmax){
VmaxCounter = -1;
INSTRUCTION.Vinit = INSTRUCTION.Vmax;
WM->CV3->_Vinit = WM->CV3->_Vmax;
}
}
}else{
Vset = Vset - CV3->_Vstep;
}
if(VmaxCounter != 0 && VminCounter != 0){
if(VmaxCounter == VminCounter && CV3->_direction_up && CV3->_current_direction_up){
if(CycleCounter != VmaxCounter){
if(Vset >= CV3->_Vinit){
CV3->_cycleNumber--;
CycleCounter = VmaxCounter; //VmaxCounter = VminCounter = CycleCounter
if (Vset >= WM->CV3->_Vmax){
VmaxCounter++;
}else if (Vset <= WM->CV3->_Vmin){
VminCounter++;
}
if (WM->CV3->_current_direction_up){
Vset = Vset + WM->CV3->_Vstep;
}else{
Vset = Vset - WM->CV3->_Vstep;
}
if(VmaxCounter != 0 && VminCounter != 0){
if(VmaxCounter == VminCounter && WM->CV3->_direction_up && WM->CV3->_current_direction_up){
if(CycleCounter != VmaxCounter){
if(Vset >= WM->CV3->_Vinit){
WM->CV3->_cycleNumber--;
CycleCounter = VmaxCounter; //VmaxCounter = VminCounter = CycleCounter
}
}
}
if(VmaxCounter == VminCounter && !WM->CV3->_direction_up && !WM->CV3->_current_direction_up){
if(CycleCounter != VmaxCounter){
if(Vset <= WM->CV3->_Vinit){
WM->CV3->_cycleNumber--;
CycleCounter = VmaxCounter; //VmaxCounter = VminCounter = CycleCounter
}
}
}
}
if(VmaxCounter == VminCounter && !CV3->_direction_up && !CV3->_current_direction_up){
if(CycleCounter != VmaxCounter){
if(Vset <= CV3->_Vinit){
CV3->_cycleNumber--;
CycleCounter = VmaxCounter; //VmaxCounter = VminCounter = CycleCounter
}
}
if (Vset >= WM->CV3->_Vmax){
WM->CV3->_current_direction_up = false;
}else if (Vset <= WM->CV3->_Vmin){
WM->CV3->_current_direction_up = true;
}
/*stop condition*/
if(WM->CV3->_cycleNumber == 0){
// PeriodicEvent = false;
FreeWorkMode(WM);
InitEliteFlag();
INSTRUCTION.eliteFxn = CONSTANT_CURRENT;
INSTRUCTION.sampleRate = 15;
INSTRUCTION.charge = 0x01;
INSTRUCTION.constantCurrent = 0x00;
INSTRUCTION.Vmax = 0xC350;
INSTRUCTION.Vmin = 0x0000;
INSTRUCTION.notifyRate = 500;
INSTRUCTION.VoViSwitch = 0x02;//read Vscan = Vout - Vin
}
}
if (Vset >= CV3->_Vmax){
CV3->_current_direction_up = false;
}else if (Vset <= CV3->_Vmin){
CV3->_current_direction_up = true;
}
/*stop condition*/
if(CV3->_cycleNumber == 0){
// PeriodicEvent = false;
InitEliteFlag();
INSTRUCTION.eliteFxn = CONSTANT_CURRENT;
INSTRUCTION.sampleRate = 15;
INSTRUCTION.charge = 0x01;
INSTRUCTION.constantCurrent = 0x00;
INSTRUCTION.Vmax = 0xC350;
INSTRUCTION.Vmin = 0x0000;
INSTRUCTION.notifyRate = 500;
INSTRUCTION.VoViSwitch = 0x02;//read Vscan = Vout - Vin
}
}
// int32_t RealV;
// RealV = (int32_t)(Vset / 500);//[1uV]
@@ -61,6 +61,27 @@ static void Elite_led_color(uint16_t color){
LED_color(0x00, 0x00, 0x00, 0x00);
break;
}
//dark LED
case COLOR_YELLOW_DARK: {
LED_color(DARKLED, 0xFF, 0x80, 0x00);
break;
}
case COLOR_GREEN_DARK: {
LED_color(DARKLED, 0x00, 0x33, 0x00);
break;
}
case COLOR_BLUE_DARK: {
LED_color(DARKLED, 0x00, 0x00, 0x33);
break;
}
case COLOR_CYAN_DARK: {
LED_color(DARKLED, 0x00, 0x10, 0x10);
break;
}
case COLOR_PURPLE_DARK: {
LED_color(DARKLED, 0x55, 0x00, 0x55);
break;
}
default: {
break;
}
@@ -34,41 +34,42 @@ static uint16_t LSVCurve(LSVMode *LSV){
return DACOutCode;
}
static void LSV_Vscan(LSVMode *LSV){
static void LSV_Vscan(WorkMode *WM){
NotifyCycleNumber = (INSTRUCTION.cycleNumber - LSV->_cycleNumber + 1);
NotifyCycleNumber = (INSTRUCTION.cycleNumber - WM->LSV->_cycleNumber + 1);
if(vscanReset){
if(INSTRUCTION.directionInit == 1){
LSV->_direction_up = true;
LSV->_current_direction_up = true;
WM->LSV->_direction_up = true;
WM->LSV->_current_direction_up = true;
}else{
LSV->_direction_up = false;
LSV->_current_direction_up = false;
WM->LSV->_direction_up = false;
WM->LSV->_current_direction_up = false;
}
//Vsetp = x * 20 * N, x=xmV ; N=VscanRate
if(INSTRUCTION.step <= 10){
LSV->_Vstep = INSTRUCTION.step * INSTRUCTION.VsetRate / 5;
WM->LSV->_Vstep = INSTRUCTION.step * INSTRUCTION.VsetRate / 5;
}else{
LSV->_Vstep = INSTRUCTION.step / 5 * INSTRUCTION.VsetRate;
WM->LSV->_Vstep = INSTRUCTION.step / 5 * INSTRUCTION.VsetRate;
}
Vset = LSV->_Vinit;
Vset = WM->LSV->_Vinit;
}
if(!vscanReset){
if (LSV->_current_direction_up){
Vset = Vset + LSV->_Vstep;
if (WM->LSV->_current_direction_up){
Vset = Vset + WM->LSV->_Vstep;
}else{
Vset = Vset - LSV->_Vstep;
Vset = Vset - WM->LSV->_Vstep;
}
/*stop condition*/
if (Vset >= LSV->_Vmax){
if (Vset >= WM->LSV->_Vmax){
// PeriodicEvent = false;
Vset = LSV->_Vmin;
Vset = WM->LSV->_Vmin;
FreeWorkMode(WM);
InitEliteFlag();
INSTRUCTION.eliteFxn = CONSTANT_CURRENT;
INSTRUCTION.sampleRate = 15;
@@ -78,9 +79,10 @@ static void LSV_Vscan(LSVMode *LSV){
INSTRUCTION.Vmin = 0x0000;
INSTRUCTION.notifyRate = 500;
INSTRUCTION.VoViSwitch = 0x02;//read Vscan = Vout - Vin
}else if (Vset <= LSV->_Vmin){
}else if (Vset <= WM->LSV->_Vmin){
// PeriodicEvent = false;
Vset = LSV->_Vmax;
Vset = WM->LSV->_Vmax;
FreeWorkMode(WM);
InitEliteFlag();
INSTRUCTION.eliteFxn = CONSTANT_CURRENT;
INSTRUCTION.sampleRate = 15;
@@ -10,10 +10,11 @@
#include "headstage.h"
/*notify's input type*/
#define NOTIFY_CURRENT 0
#define NOTIFY_VOLT 1
#define NOTIFY_IMPEDANCE 2
#define NOTIFY_VOLT_BAT 3
#define NOTIFY_CURRENT 0
#define NOTIFY_VOLT 1
#define NOTIFY_IMPEDANCE 2
#define NOTIFY_VOLT_BAT 3
#define NOTIFY_TEMPERATURE 4
#define NOT_BUF_OFFSET_INIT 8
@@ -24,10 +25,11 @@
static size_t not_buf_offset = NOT_BUF_OFFSET_INIT;
static uint32_t not_time_stamp;
static uint8_t NotifyCurrent[4] = {0};
static uint8_t NotifyVolt[4] = {0};
static uint8_t NotifyImpedance[4] = {0};
static uint8_t NotifyVoltBat[4] = {0};
static uint8_t NotifyCurrent[4] = {0};
static uint8_t NotifyVolt[4] = {0};
static uint8_t NotifyImpedance[4] = {0};
static uint8_t NotifyVoltBat[4] = {0};
static uint8_t NotifyTemperature[4] = {0};
static uint16_t NotifyCycleNumber = 0;
// ****************** New Notify Format ******************************** //
@@ -183,6 +185,12 @@ static void InputNotify(int NotifyType, int32_t Data){
NotifyVoltBat[2] = (uint8_t)((Data & 0x0000FF00) >> 8);
NotifyVoltBat[3] = (uint8_t)(Data & 0x000000FF);
break;
case NOTIFY_TEMPERATURE :
NotifyTemperature[0] = (uint8_t)((Data & 0xFF000000) >> 24);
NotifyTemperature[1] = (uint8_t)((Data & 0x00FF0000) >> 16);
NotifyTemperature[2] = (uint8_t)((Data & 0x0000FF00) >> 8);
NotifyTemperature[3] = (uint8_t)(Data & 0x000000FF);
break;
}
}
#endif
@@ -58,4 +58,14 @@ static void EliteADCBattery(){
}
}
static int32_t headstage_temperature() {
int32_t curTemp;
curTemp = AONBatMonTemperatureGetDegC();
InputNotify(NOTIFY_TEMPERATURE,curTemp);
if(INSTRUCTION.eliteFxn == IT_CURVE){
InputNotify(NOTIFY_IMPEDANCE,curTemp);
}
return curTemp;
}
#endif // HEADSTAGE_BATT_H
@@ -42,6 +42,7 @@
#define CIS_VERSION 0x40
#define CIS_VOLT 0x10
#define CIS_LED_TEST 0x70
#define CIS_TEMPERATURE 0x80
// mode parameter
#define STEP_TO_VSETRATE(step) step2VsetRate(step)
@@ -55,19 +56,27 @@
#define PARA_2 0x02
//Elite LED
#define COLOR_BLACK 0
#define COLOR_RED 1
#define COLOR_ORANGE 2
#define COLOR_YELLOW 3
#define COLOR_GREEN 4
#define COLOR_BLUE 5
#define COLOR_CYAN 6
#define COLOR_MAGENTA 7
#define COLOR_PURPLE 8
#define COLOR_WHITE 9
#define COLOR_BLACK 0x00
#define COLOR_RED 0x01
#define COLOR_ORANGE 0x02
#define COLOR_YELLOW 0x03
#define COLOR_GREEN 0x04
#define COLOR_BLUE 0x05
#define COLOR_CYAN 0x06
#define COLOR_MAGENTA 0x07
#define COLOR_PURPLE 0x08
#define COLOR_WHITE 0x09
#define COLOR_YELLOWGREEN 0x0A
#define COLOR_YELLOW_DARK 0xF3
#define COLOR_GREEN_DARK 0xF4
#define COLOR_BLUE_DARK 0xF5
#define COLOR_CYAN_DARK 0xF6
#define COLOR_PURPLE_DARK 0xF8
#define LEDPowerON() Elite_led_color(COLOR_GREEN)
#define WORKLED() Elite_led_color(COLOR_CYAN)
#define KEYLED() Elite_led_color(COLOR_YELLOW)
#define BT_WAIT_LED() Elite_led_color(COLOR_YELLOWGREEN)
#endif
@@ -19,6 +19,13 @@ static uint16_t OneWayVoltScan() {
Vout = Vout + DeltaVout;
}
if (Vout >= 1100000000) { //1100000000 = 5.5V
Vout = 1100000000;
} else if (Vout <= -1000000000) { //-1000000000 = -5V
Vout = -1000000000;
}
INSTRUCTION.VoltConstant = Vout / 40000 + 25000; //5nV=>usercode
DACOutCode = Usercode_Correction_to_DAC(INSTRUCTION.VoltConstant);
DAC_outputV(DACOutCode);
@@ -51,7 +58,7 @@ static void DACenable(WorkMode *WorkModeData, int32_t VoltData ,uint8_t afterRea
if(afterRead == AFTER_READ_I){
switch (INSTRUCTION.eliteFxn) {
case CONSTANT_CURRENT:{
CC_Vscan(WorkModeData->CC);
// CC_Vscan(WorkModeData->CC);
OneWayVoltScan();
break;
}
@@ -155,7 +162,16 @@ static void CC_Plot(WorkMode *WorkModeData){
if(BatSwitch == 0){
if(ADCSwitch == 0){ /**read Iin(buffer),read bat**/
readIin(WorkModeData);
InputNotify(NOTIFY_CURRENT, CURRENT_MODE->_measureCurrent);
if(record_flag == false){
static int count = 0;
count++;
if(count == 2){
record_flag = true;
count = 0;
}
}else{
InputNotify(NOTIFY_CURRENT, CURRENT_MODE->_measureCurrent);
}
DACenable(WorkModeData, VoltData, AFTER_READ_I);
ReadBatVolt(spi_ADC_rxbuf);
@@ -191,7 +207,16 @@ static void CC_Plot(WorkMode *WorkModeData){
BatSwitch = 0;
if(ADCSwitch == 0){ /**read Iin(buffer),read V**/
readIin(WorkModeData);
InputNotify(NOTIFY_CURRENT, CURRENT_MODE->_measureCurrent);
if(record_flag == false){
static int count = 0;
count++;
if(count == 2){
record_flag = true;
count = 0;
}
}else{
InputNotify(NOTIFY_CURRENT, CURRENT_MODE->_measureCurrent);
}
DACenable(WorkModeData, VoltData, AFTER_READ_I);
ReadADCVolt(CURRENT_MODE->_VoViSwitch);
@@ -277,7 +302,16 @@ static void IT_Plot(WorkMode *WorkModeData) {
}else{
if(ADCSwitch == 0){ /**read Iin(buffer)**/
readIin(WorkModeData);
InputNotify(NOTIFY_CURRENT, CURRENT_MODE->_measureCurrent);
if(record_flag == false){
static int count = 0;
count++;
if(count == 2){
record_flag = true;
count = 0;
}
}else{
InputNotify(NOTIFY_CURRENT, CURRENT_MODE->_measureCurrent);
}
ADCSwitch++;
}
else if(ADCSwitch == 1){ /**read Iin**/
@@ -2,11 +2,11 @@
#ifndef VERSION_DATE
#define VERSION_DATE
#define VERSION_DATE_YEAR 20
#define VERSION_DATE_MONTH 7
#define VERSION_DATE_DAY 29
#define VERSION_DATE_HOUR 15
#define VERSION_DATE_MINUTE 21
#define VERSION_DATE_YEAR 21
#define VERSION_DATE_MONTH 1
#define VERSION_DATE_DAY 22
#define VERSION_DATE_HOUR 11
#define VERSION_DATE_MINUTE 10
// this is NOT the version hash !!
// it's the last version hash
@@ -528,10 +528,12 @@ static uint32_t SampleRateTable[6] = {100, 1000, 10000, 50000, 100000, 1000000};
static uint32_t VsetRateTable[5] = {2, 10, 100, 1000, 10000};
static bool batteryCheck_flag;
static bool batteryADC_flag;
static bool tempCheck_flag;
static bool ADC_flag;
static bool vscan_flag;
static bool notify_flag;
static bool notifyFirst_flag;
static bool record_flag;
static bool vscanReset;
static bool EliteWorkReset;
static bool leadTimeReset;
@@ -556,10 +558,10 @@ static void EliteVscanControl();
static void EliteDone();
//mode (Vset)
static void LSV_Vscan(LSVMode *LSV);
static void LSV_Vscan(WorkMode *WM);
static void CVSCAN_Vscan(CVSCANMode *CVSCAN);
static void CV3_Vscan(CV3Mode *CV3);
static void CC_Vscan(CCMode *CC);
static void CV3_Vscan(WorkMode *WM);
static void CC_Vscan(WorkMode *WM);
//mode (DAC)
static void DACenable(WorkMode *WorkModeData, int32_t VoltData, uint8_t afterRead);
@@ -569,6 +571,8 @@ static uint16_t CV3Curve(CV3Mode *CV3);
static uint16_t LSVCurve(LSVMode *LSV);
static uint16_t CVSCANCurve(CVSCANMode *CVSCAN);
static int32_t headstage_temperature();
//mode (notify)
static void initDATBuf();
@@ -1105,6 +1109,17 @@ static void update_ZM_instruction(uint8 *ins) {
}
break;
}
case CIS_TEMPERATURE: { //0x7080
initCISBuf();
cis_buf[0] = CIS_TEMPERATURE;
cis_buf[1] = NotifyTemperature[0];
cis_buf[2] = NotifyTemperature[1];
cis_buf[3] = NotifyTemperature[2];
cis_buf[4] = NotifyTemperature[3];
SimpleProfile_SetParameter(BLE_CIS_BUFF_CHAR, BLE_CIS_BUFF_SIZE, cis_buf);
break;
}
}
break;
}
@@ -113,8 +113,9 @@ static void SimpleBLEPeripheral_performPeriodicTask(WorkMode *WorkModeData) {
if(EliteWorkReset){
InitEliteGPtimer();
EliteWorkReset = false;
EliteWorkReset = false;
batteryADC_flag = false;
record_flag = true;
if( Ve1MatchVe2Mode() ){
if (INSTRUCTION.Ve1 == INSTRUCTION.Ve2) {
DAC_outputV(Usercode_Correction_to_DAC(INSTRUCTION.Ve1));
@@ -153,6 +154,7 @@ static void SimpleBLEPeripheral_performPeriodicTask(WorkMode *WorkModeData) {
if(GPT.BatteryCheckCounter >= 50000){
GPT.BatteryCheckCounter -= 50000; //To get right time
batteryCheck_flag = true;
tempCheck_flag = true;
}
uint16_t bat = ((uint16_t)(NotifyVoltBat[2]) << 8 & 0xFF00 ) | ((uint16_t)(NotifyVoltBat[3]) & 0x00FF);
@@ -169,6 +171,9 @@ static void SimpleBLEPeripheral_performPeriodicTask(WorkMode *WorkModeData) {
EliteADCControl(WorkModeData);
ADC_flag = false;
}
}else if(GPT.SampleRateCounter == 12 && tempCheck_flag){
headstage_temperature();
tempCheck_flag = false;
}
//Notify counter(Notify control, check if we need to send notify)
@@ -265,15 +270,15 @@ static void EliteVscanControl(WorkMode *WorkModeData) {
break;
}
case CYCLIC_VOLTAMMETRY:{
CV3_Vscan(WorkModeData->CV3);
CV3_Vscan(WorkModeData);
break;
}
case CONSTANT_CURRENT:{
CC_Vscan(WorkModeData->CC);
CC_Vscan(WorkModeData);
break;
}
case LINEAR_SWEEP_VOLTAMMETRY:{
LSV_Vscan(WorkModeData->LSV);
LSV_Vscan(WorkModeData);
break;
}
case CONSTANT_VSCAN:{
@@ -617,11 +617,13 @@ static void SimpleBLEPeripheral_taskFxn(UArg a0, UArg a1) {
if (!PeriodicEvent) { // if there is no periodic event
key = PIN_getInputValue(switch_on);
if (EliteOn) {
if (counter6994 < CLOCK_ONE_SECOND/2) { // counter6994 enable a IC after 35 counts
if (counter6994 < CLOCK_ONE_SECOND*5) { // counter6994 enable a IC after 35 counts
counter6994++;
} else if (counter6994 == CLOCK_ONE_SECOND/2) {
PIN_setOutputValue(pin_handle, shutdown_6994, 1); // OFF = 1 => turn off 6994
} else if (counter6994 == CLOCK_ONE_SECOND*5) {
PIN_setOutputValue(pin_handle, shutdown_6994, 0); // OFF = 1 => turn off 6994
counter6994++;
} else if (counter6994 > CLOCK_ONE_SECOND*5) {
counter6994 = 0;
}
EliteKeyPress(key);
if(key != 0){ //detect Elite battery power when no periodic event