Compare commits

...

203 Commits

Author SHA1 Message Date
weiting2 c95924fb63 [WARNING] do NOT use linux version CCS on simple central.
DLE can not enable on linux CCS
2020-07-20 16:57:32 +08:00
weiting2 d573b14179 linux version CCS. test central 2020-07-17 18:33:00 +08:00
weiting2 4b81306a4b linux version CCS. attempt to enable DLE 2020-07-17 16:59:00 +08:00
weiting2 206fe6a09d linux version CCS. attempt to enable DLE 2020-07-17 16:24:38 +08:00
weiting2 d84141a904 linux version CCS. attempt to enable DLE 2020-07-16 12:49:59 +08:00
weiting2 ffbf822141 linux version CCS 2020-07-16 11:09:02 +08:00
weiting2 0b8abb34a3 update connection interval 2020-07-10 18:32:52 +08:00
weiting2 93deaea1f3 update connection interval 2020-07-10 15:06:10 +08:00
yichin 998e609823 error fix 2020-07-09 16:47:17 +08:00
yichin 28db5b0b2d error fix 2020-07-09 16:41:50 +08:00
weiting2 7e9a9d87ce attempt to use KEY_INSTEAD_UART 2020-07-09 16:31:11 +08:00
weiting2 c8f66c2ddc attempt to use KEY_RIGHT instead of UART-decode in read/write mode 2020-07-08 17:33:36 +08:00
weiting2 8f9aee55eb attempt to use KEY_RIGHT instead of UART-decode in read/write mode 2020-07-08 17:06:55 +08:00
weiting2 59c16e8a0b attempt to use KEY_RIGHT instead of UART-decode in read/write mode 2020-07-08 16:54:11 +08:00
weiting2 b6c7b81d0c attempt to use KEY_RIGHT instead of UART-decode in read/write mode 2020-07-08 16:46:07 +08:00
weiting2 0925c6b83b report connected done 2020-07-08 12:41:55 +08:00
weiting2 8b52c8469f report connected done 2020-07-07 18:15:13 +08:00
weiting2 c6a3c9f397 report connected done 2020-07-07 17:45:09 +08:00
weiting2 c052daa387 Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-07-07 17:32:39 +08:00
weiting2 c3aba28911 MA version with ack after recv "start" ins 2020-07-07 17:14:16 +08:00
yichin 4c51bd7eda error fix 2020-07-07 14:40:20 +08:00
weiting2 5fb027d2ec MA version with ack after recv "start" ins 2020-07-07 14:38:00 +08:00
weiting2 0344bd7246 LP version 2020-07-06 18:33:29 +08:00
weiting2 f27b227552 LP version 2020-07-06 18:25:33 +08:00
weiting2 1302efa0ad Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-07-06 17:23:28 +08:00
weiting2 60a328eec5 LP version 2020-07-06 17:23:21 +08:00
yichin 84ac2bd7de Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-07-06 17:08:48 +08:00
weiting2 83e2473512 LP version 2020-07-06 17:07:22 +08:00
yichin 003c5b5521 Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-07-03 16:23:35 +08:00
weiting2 24383187b9 add fast settle function 2020-07-03 16:23:00 +08:00
yichin 52b8736c7f error fix 2020-07-03 12:40:07 +08:00
yichin ea7ae23e57 error fix 2020-07-03 11:58:21 +08:00
weiting2 d6bc371d8d attempt to test data rate 2020-07-03 11:55:18 +08:00
yichin 35b6cc1d82 error fix 2020-07-03 11:44:53 +08:00
weiting2 c98354a9c7 Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-07-03 11:00:37 +08:00
weiting2 4156afcf84 test data rate 2020-07-02 19:12:54 +08:00
yichin ba26279eb1 Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-07-02 19:00:20 +08:00
weiting2 90a3132952 test data rate 2020-07-02 18:59:42 +08:00
yichin 6084fb2fcc Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-07-02 18:49:41 +08:00
weiting2 072f51082d test data rate 2020-07-02 18:49:18 +08:00
weiting2 a77dcc5f45 test data rate 2020-07-02 18:48:39 +08:00
yichin bec21b80e5 Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-07-02 17:56:01 +08:00
weiting2 791f03a902 test data rate 2020-07-02 17:55:45 +08:00
yichin 2ef5328b8e Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/mem_board_central.h
2020-07-02 17:43:09 +08:00
weiting2 a2c8aa96b8 test data rate 2020-07-02 17:39:45 +08:00
yichin 9df71ce4aa error fix 2020-07-02 17:31:16 +08:00
weiting2 017aa1d373 test data rate 2020-07-02 17:29:34 +08:00
weiting2 4a6360d924 test data rate 2020-07-02 17:19:13 +08:00
weiting2 30a6393bb2 test data rate 2020-07-02 17:09:37 +08:00
weiting2 52623e5f1c test data rate 2020-07-02 17:08:53 +08:00
weiting2 7c138530ce test data rate 2020-07-02 16:46:11 +08:00
weiting2 5e736888c6 test data rate 2020-07-02 16:35:15 +08:00
weiting2 d9c179ac24 test data rate 2020-07-02 16:23:09 +08:00
weiting2 c9fba39e0d test data rate 2020-07-02 15:30:00 +08:00
weiting2 044c17b557 test data rate 2020-07-02 12:46:11 +08:00
weiting2 18f782ceeb test data rate 2020-07-02 11:58:22 +08:00
weiting2 8584fb500a test data rate 2020-07-01 16:55:25 +08:00
weiting2 de0d874257 attempt to report company_code, version, battery 2020-07-01 16:16:32 +08:00
yichin 1fc328dbbc error fix 2020-07-01 16:02:25 +08:00
weiting2 b2c44da479 attempt to report company_code, version, battery 2020-07-01 15:54:37 +08:00
weiting2 5714a68c45 attempt to report company_code, version, battery 2020-07-01 15:47:23 +08:00
weiting2 d4eb0dac83 attempt to report company_code, version, battery 2020-07-01 15:44:54 +08:00
weiting2 2ac7cd91f8 attempt to report company_code, version, battery 2020-07-01 12:25:43 +08:00
yichin acb3837891 error fix 2020-07-01 12:22:45 +08:00
weiting2 d7cdc204c6 attempt to report company_code, version, battery 2020-07-01 12:21:11 +08:00
weiting2 6f569f6e54 attempt to report company_code, version, battery 2020-07-01 12:14:45 +08:00
yichin 652c0e94c8 error fix 2020-07-01 12:01:41 +08:00
weiting2 bb01e1c719 attempt to report company_code, version, battery 2020-07-01 11:08:41 +08:00
weiting2 ecb81de2d8 attempt to report company_code, version, battery 2020-07-01 11:01:32 +08:00
weiting2 0eede43502 Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_central/cc26xx/app/mem_board_central.h
2020-07-01 11:01:16 +08:00
weiting2 bf7edeb6ea attempt to report company_code, version, battery 2020-07-01 11:00:49 +08:00
yichin 014d115e56 error fix 2020-07-01 10:18:17 +08:00
weiting2 029ddb3251 attempt to report company_code, version, battery 2020-07-01 10:02:08 +08:00
yichin b07fc8c57f error fix 2020-06-30 18:48:37 +08:00
weiting2 4b9f89a16b attempt to report company_code, version, battery 2020-06-30 18:00:26 +08:00
weiting2 ca3cc2c792 attempt to report company_code, version, battery 2020-06-29 13:01:46 +08:00
weiting2 1c2a9bfc11 attempt to report company_code, version, battery 2020-06-29 12:52:51 +08:00
weiting2 9092d89726 attempt to report company_code, version, battery 2020-06-29 12:43:18 +08:00
weiting2 b138dd2316 attempt to report company_code, version, battery 2020-06-29 12:31:06 +08:00
weiting2 eef03e5320 attempt to report company_code, version, battery 2020-06-24 18:16:39 +08:00
weiting2 5fa4a4897b attempt to report company_code, version, battery 2020-06-24 18:08:55 +08:00
weiting2 080d4c29c4 attempt to report company_code, version, battery 2020-06-24 17:58:51 +08:00
weiting2 32ac680b63 attempt to report company_code, version, battery 2020-06-24 17:27:46 +08:00
weiting2 685cb5801d attempt to report company_code, version, battery 2020-06-24 17:23:45 +08:00
yichin 5402aafeef error fix 2020-06-24 16:52:42 +08:00
weiting2 7840989ef7 attempt to report company_code, version, battery 2020-06-24 16:42:03 +08:00
weiting2 1f38d5632f attempt to report company_code, version, battery 2020-06-24 15:00:45 +08:00
weiting2 a57ac8947b attempt to report company_code, version, battery 2020-06-24 14:56:15 +08:00
weiting2 e4c2ba2043 attempt to report company_code, version, battery 2020-06-24 14:54:07 +08:00
weiting2 c5eef015cc we can read UART 2020-06-24 11:25:53 +08:00
weiting2 470017a851 we can read UART 2020-06-24 11:01:32 +08:00
weiting2 9fb4220340 we can read UART 2020-06-24 10:43:08 +08:00
weiting2 1dd01c9e4f we can read UART 2020-06-23 19:23:37 +08:00
weiting2 78c909aa4f we can read UART 2020-06-23 18:55:45 +08:00
weiting2 c386f3dec4 we can read UART 2020-06-23 18:53:53 +08:00
yichin 62c1af227c error fix 2020-06-23 17:52:20 +08:00
weiting2 d5b4d1ae71 Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-06-23 17:46:57 +08:00
weiting2 fcc6706153 we can read UART 2020-06-23 17:46:50 +08:00
yichin 647f78e8b3 error fix 2020-06-23 11:21:07 +08:00
weiting2 3c5df4bb91 we can read UART 2020-06-23 11:18:09 +08:00
weiting2 ee31331a91 we can read UART 2020-06-22 18:52:53 +08:00
yichin 6e894e3b4c error fix 2020-06-19 18:47:11 +08:00
weiting2 6b3e1634ed we can read UART 2020-06-19 18:43:53 +08:00
weiting2 9fc0404256 we can read UART 2020-06-19 17:49:11 +08:00
weiting2 00dcbef1bd we can read UART 2020-06-19 16:31:42 +08:00
weiting2 f626abf192 we can read UART 2020-06-19 15:58:47 +08:00
weiting2 3ad4437faf we can read UART 2020-06-19 12:05:49 +08:00
weiting2 e451a29995 we can read UART 2020-06-19 11:48:30 +08:00
weiting2 d6068938ef we can read UART 2020-06-19 11:42:18 +08:00
weiting2 acb72072d9 we can read UART 2020-06-19 11:26:43 +08:00
weiting2 b98d292337 we can read UART 2020-06-19 10:56:47 +08:00
weiting2 80546489cb we can read UART 2020-06-19 10:37:20 +08:00
weiting2 0bfe83cef0 we can read UART 2020-06-18 12:30:46 +08:00
yichin c6666d4679 error fix 2020-06-18 12:26:11 +08:00
weiting2 b4c5be33a3 we can read UART 2020-06-18 12:20:16 +08:00
weiting2 6f7b4ae54a we can read UART 2020-06-18 12:05:12 +08:00
weiting2 915ba17cea we can read UART 2020-06-18 12:02:56 +08:00
weiting2 d8e67f8c72 we can read UART 2020-06-18 11:51:17 +08:00
weiting2 df475b2253 we can read UART 2020-06-18 11:50:46 +08:00
weiting2 c448ba55f0 we can read UART 2020-06-18 11:49:00 +08:00
weiting2 2351b17589 we can read UART 2020-06-18 11:48:38 +08:00
weiting2 58b27799a4 we can read UART 2020-06-18 11:43:42 +08:00
weiting2 d5aeab07a8 we can read UART 2020-06-18 11:42:20 +08:00
weiting2 677f766512 can we receive UART-em (MEM_RST)? 2020-06-18 11:05:32 +08:00
weiting2 74ca82f606 can we receive UART-em (MEM_RST)? 2020-06-18 10:40:05 +08:00
weiting2 b052689048 can we receive UART-em (MEM_RST)? 2020-06-18 10:30:09 +08:00
weiting2 c42b4fa911 can we receive UART-em (MEM_RST)? 2020-06-18 10:06:31 +08:00
weiting2 c0696a109d can we receive UART-em (MEM_RST)? 2020-06-16 15:38:24 +08:00
weiting2 50d9b42466 central 2020-06-16 15:30:51 +08:00
weiting2 9833af4789 can central read UART? 2020-06-16 12:52:01 +08:00
weiting2 aa9872f406 can central read UART? 2020-06-16 11:59:00 +08:00
weiting2 bcc6cf736b can central read UART? 2020-06-16 11:58:36 +08:00
weiting2 531c29d04e can central read UART? 2020-06-16 11:48:50 +08:00
weiting2 338b697274 can central read UART? 2020-06-16 10:50:24 +08:00
weiting2 cbabc015e1 can central read UART? 2020-06-16 10:30:49 +08:00
weiting2 98a9e43255 can central read UART? 2020-06-16 10:03:03 +08:00
weiting2 c3caa23e39 can central read UART? 2020-06-15 18:59:27 +08:00
weiting2 27a957e48f can central read UART? 2020-06-15 18:48:46 +08:00
yichin 6b054525a4 error fix 2020-06-15 18:39:01 +08:00
weiting2 57b0c3772c can central read UART? 2020-06-15 18:24:02 +08:00
weiting2 f85ef458fc can central read UART? 2020-06-15 17:53:25 +08:00
weiting2 97e0600200 attempt to send what we recv 2020-06-15 17:27:16 +08:00
weiting2 1f5307c314 central setup 2020-06-12 15:06:34 +08:00
weiting2 584277e5ea central setup 2020-06-12 11:16:05 +08:00
weiting2 a4ae63e0af modify connection interval 2020-06-11 18:35:02 +08:00
yichin 4b480ed3d5 TI GPIO like shit 2020-06-11 17:32:41 +08:00
yichin 585a6b7741 what's wrong? 2020-06-11 17:22:23 +08:00
yichin 4ba30ad802 what's wrong? 2020-06-11 16:55:39 +08:00
yichin 512216b595 what's wrong? 2020-06-11 11:57:48 +08:00
yichin 0f3070b70b what's wrong? 2020-06-10 17:57:57 +08:00
weiting2 a8ac00c528 what's wrong 2020-06-10 10:53:38 +08:00
yichin ae4b4e8701 what's wrong? 2020-06-09 17:50:16 +08:00
yichin f898aaa38c what's wrong? 2020-06-09 16:57:18 +08:00
yichin 53fb85c23c what's wrong? 2020-06-09 16:44:57 +08:00
yichin bf9fd41093 what's wrong? 2020-06-09 16:36:38 +08:00
yichin 761a14a28c Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-06-09 16:35:59 +08:00
weiting2 6ec1d118f3 what's wrong 2020-06-09 16:33:04 +08:00
yichin 0bad9268c6 what's wrong? 2020-06-09 14:05:36 +08:00
weiting2 1a5c4b176d attempt to use central on 2650 ma 2020-06-08 17:56:26 +08:00
weiting2 1cd39895a3 attempt to use central on 2650 ma 2020-06-08 17:10:19 +08:00
yichin 385e3a37f1 what's wrong? 2020-06-08 15:15:50 +08:00
yichin ba774a3064 what's wrong? 2020-06-08 14:48:23 +08:00
weiting2 54b08df75c attempt to use central on 2650 ma 2020-06-08 14:28:52 +08:00
weiting2 a349e52453 attempt to use central on 2650 ma 2020-06-08 14:24:07 +08:00
weiting2 fdfe905c34 attempt to use central on 2650 ma 2020-06-08 14:15:53 +08:00
yichin d420dbe391 what's wrong? 2020-06-08 11:27:11 +08:00
weiting2 b597086f0a attempt to use central on 2650 ma 2020-06-08 10:53:56 +08:00
weiting2 ddd90f80d0 attempt to use central on 2650 ma 2020-06-08 10:51:05 +08:00
yichin 6d01bc3386 what's wrong? 2020-06-08 10:47:18 +08:00
yichin 9baa1c6e88 what's wrong? 2020-06-05 19:00:39 +08:00
yichin 23d8bd552d what's wrong? 2020-06-05 18:04:17 +08:00
weiting2 e54c840058 attempt to use central on 2650 ma 2020-06-05 17:05:30 +08:00
weiting2 596109df67 attempt to use central on 2650 ma 2020-06-05 16:49:28 +08:00
weiting2 f7c48c491e attempt to use central on 2650 ma 2020-06-05 16:34:46 +08:00
weiting2 5f8fea241a Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-06-05 12:35:52 +08:00
weiting2 8205a49731 attempt to use central on 2650 ma 2020-06-05 12:35:43 +08:00
yichin 32647f22ba error fix 2020-06-05 12:26:58 +08:00
weiting2 262e576356 attempt to use central on 2650 ma 2020-06-05 11:40:45 +08:00
weiting2 caa056388a attempt to use central on 2650 ma 2020-06-05 10:42:28 +08:00
weiting2 30f5db8ab9 attempt to use central on 2650 ma 2020-06-04 18:46:15 +08:00
yichin bbf28254a5 error fix 2020-06-04 18:45:41 +08:00
weiting2 de4e29092f attempt to use central on 2650 ma 2020-06-04 18:43:02 +08:00
yichin 062b93972f error fix 2020-06-04 18:42:20 +08:00
weiting2 c751403092 attempt to use central on 2650 ma 2020-06-04 18:40:38 +08:00
weiting2 c6a2aaf6b6 attempt to use central on 2650 ma 2020-06-04 18:23:36 +08:00
weiting2 ee1e636be5 attempt to use central on 2650 ma 2020-06-04 17:46:20 +08:00
weiting2 7607c94764 attempt to use central on 2650 ma 2020-06-04 17:38:49 +08:00
weiting2 9c8606e1d4 attempt to use central on 2650 ma 2020-06-04 15:48:45 +08:00
weiting2 749930957c attempt to use central on 2650 ma 2020-06-04 15:20:39 +08:00
weiting2 35adb4b548 attempt to use central on 2650 ma 2020-06-04 15:16:50 +08:00
weiting2 aa582ebb6d attempt to use central on 2650 ma 2020-06-04 15:10:36 +08:00
yichin d9a82b8b33 error fix 2020-06-04 13:50:47 +08:00
yichin a3fdea001c Merge remote-tracking branch 'origin/simple_central_ma_pin' into simple_central_ma_pin 2020-06-04 11:49:00 +08:00
weiting2 72341a076a attempt to use central on 2650 ma 2020-06-04 11:48:33 +08:00
yichin c57565f479 error fix 2020-06-04 11:10:43 +08:00
weiting2 6a7f61fd20 attempt to use central on 2650 ma 2020-06-04 11:07:26 +08:00
weiting2 8dcbcfd349 attempt to use central on 2650 ma 2020-06-04 11:07:03 +08:00
yichin 7d8dda0829 error fix 2020-06-04 10:49:08 +08:00
weiting2 78b7efdaa4 attempt to use central on 2650 ma 2020-06-03 18:51:35 +08:00
weiting2 81c96e0281 attempt to use central on 2650 ma 2020-06-03 18:45:37 +08:00
weiting2 26695304f1 attempt to use central on 2650 ma 2020-06-03 18:26:32 +08:00
weiting2 e2f4053641 attempt to use central on 2650 ma 2020-06-03 16:52:59 +08:00
weiting2 2963f87261 attempt to use central on 2650 ma 2020-06-03 16:46:17 +08:00
34 changed files with 1073 additions and 442 deletions
@@ -10,5 +10,5 @@
<rts value="libc.a"/>
<createSlaveProjects value=""/>
<connection value="common/targetdb/connections/TIXDS110_Connection.xml"/>
<isTargetManual value="false"/>
<isTargetManual value="true"/>
</projectOptions>
@@ -20,7 +20,7 @@
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties=""
cleanCommand="${CG_CLEAN_CMD}" description=""
@@ -31,78 +31,71 @@
prebuildStep="">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1291753115." name="/"
resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.1302742438"
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.90548603"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1318162592">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.322024950"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.127833680">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1141243279"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2640F128"/>
<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="LINKER_COMMAND_FILE=cc26x0f128.cmd"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.32.0.06_core"/>
<listOptionValue builtIn="false" value="INACTIVE_REPOS="/>
<listOptionValue builtIn="false" value="EXPANDED_REPOS="/>
<listOptionValue builtIn="false"
value="RTSC_PRODUCTS=com.ti.rtsc.TIRTOSCC13XX_CC26XX:2.21.01.08;"/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=cc26x0f128.cmd"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.5.0"/>
<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.430162921"
name="Compiler version"
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.53192790"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION"
value="18.1.3.LTS" valueType="string"/>
<targetPlatform
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.1415544174"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.981271364"
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.1881999590"
keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true"
parallelizationNumber="optimal"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.1515577923"
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.1130008311"
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.1226180244"
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.67308351"
name="Target processor version (--silicon_version, -mv)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.764538773"
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.1158400790"
name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.191529096"
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.402358509"
name="Application binary interface. (--abi)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.1644537417"
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.1127130857"
name="Little endian code [See 'General' page to edit] (--little_endian, -me)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN.1478792296"
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.717747813"
name="Optimization level (--opt_level, -O)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.272762008"
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.1072943290"
name="Speed vs. size trade-offs (--opt_for_speed, -mf)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.187204647"
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.1346340255"
name="Add dir to #include search path (--include_path, -I)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.326502048"
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_central\cc26xx\app"/>
<listOptionValue builtIn="false"
value="${SRC_EX}/examples/simple_central/cc26xx/app"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
@@ -126,12 +119,11 @@
<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.1769530019"
name="Pre-define NAME (--define, -D)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.132516632"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE"
valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
<listOptionValue builtIn="false" value="CC2650_LAUNCHXL"/>
<listOptionValue builtIn="false" value="BOOSTXL_CC2650MA"/>
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="GAPCENTRALROLE_NUM_RSSI_LINKS=1"/>
<listOptionValue builtIn="false" value="HEAPMGR_SIZE=0"/>
@@ -144,39 +136,32 @@
<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.C_DIALECT.1920742461"
name="C Dialect"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.271105421"
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.1103096618"
name="Suppress diagnostic &lt;id&gt; (--diag_suppress, -pds)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.1676506410"
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.932162266"
name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.1852409718"
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.1609647734"
name="Wrap diagnostic messages (--diag_wrap)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.485779053"
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.1031766222"
name="Emit diagnostic identifier numbers (--display_error_number, -pden)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.604693448"
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.411013203"
name="Place each function in a separate subsection (--gen_func_subsections, -ms)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS.537107817"
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.391861113"
name="Read options from specified file (--cmd_file, -@)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.57801683"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE"
valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
@@ -185,43 +170,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.191123691"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.96232959"
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.1122111679"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS.612394026"
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.1330668058"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS.1356779933"
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.2099120204"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS.1894933490"
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.1318162592"
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.127833680"
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.1354416942"
name="Set C system stack size (--stack_size, -stack)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE.1295340161"
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.1996601119"
name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE.949391723"
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.442357646"
name="Link information (map) listed into &lt;file&gt; (--map_file, -m)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.2131620137"
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.1447167049"
name="Specify output file name (--output_file, -o)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.1878180876"
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.532721724"
name="Include library file or command file as input (--library, -l)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.1202279242"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY"
valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
@@ -230,123 +210,106 @@
<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.1596780856"
name="Add &lt;dir&gt; to library search path (--search_path, -i)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.1943632760"
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.998161380"
name="Suppress diagnostic &lt;id&gt; (--diag_suppress)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.110954249"
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.2124798922"
name="Wrap diagnostic messages (--diag_wrap)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.760348156"
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.1952255490"
name="Emit diagnostic identifier numbers (--display_error_number)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.446304895"
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.1074927065"
name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.747703366"
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.803379973"
name="Aggressively reduce size of the DWARF information (--compress_dwarf)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.152167448"
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.1164104875"
name="Eliminate sections not needed in the executable (--unused_section_elimination)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.897369442"
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.517386511"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.307907459"
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.594939788"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS.426371568"
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.1561957649"
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS.408588306"
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.593235130" name="ARM Hex Utility"
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.572634387" name="ARM Hex Utility"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.406570235"
name="Specify rom width (--romwidth, -romwidth=width)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.460795282"
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.1103907160"
name="Specify memory width (--memwidth, -memwidth=width)"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH.1431277061"
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.377939755"
name="Output format"
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.483858360"
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.1332103946" name="XDCtools"
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.399027987" name="XDCtools"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.677239523"
name="Package repositories (--xdcpath)"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1328106516"
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.2005662391"
name="Target (-t)"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.1914007615"
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.1518293537"
name="Platform (-p)"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.1632829067"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM"
value="ti.platforms.simplelink:CC2650F128" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.363546066"
name="Platform (-p)"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.372566051"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW"
value="ti.platforms.simplelink:CC2650F128" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1989416472"
name="Build-profile (-r)"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.1941001418"
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.52393464"
name="Compiler tools directory (-c)"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.1112727226"
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.155416332"
name="Additional compiler options (--compileOptions)"
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.2009586915"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS"
value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
</toolChain>
</folderInfo>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="SimpleBLECentral.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.293217533" name="ARM"
projectType="com.ti.ccstudio.buildDefinitions.TMS470.ProjectType"/>
</storageModule>
<storageModule moduleId="scannerConfiguration"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping">
<storageModule moduleId="scannerConfiguration"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping">
<project-mappings>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource"
language="com.ti.ccstudio.core.TIASMLanguage"/>
@@ -359,6 +322,6 @@
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource"
language="com.ti.ccstudio.core.TIGPPLanguage"/>
</project-mappings>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>
@@ -2,94 +2,237 @@
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule configRelations="2" moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1709271573">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider"
id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1709271573"
moduleId="org.eclipse.cdt.core.settings" name="FlashROM">
<externalSettings/>
<extensions>
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.VCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.ti.ccstudio.errorparser.SysConfigErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</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.1709271573" 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;${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 "
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.1709271573." name="/"
resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470.exe.DebugToolchain.1746589567"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470.exe.DebugToolchain">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.663479022"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2640F128"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=&quot;libc.a&quot;"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1139506386"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION"
value="16.9.4.LTS" valueType="string"/>
<targetPlatform id="com.ti.ccstudio.buildDefinitions.core.defaultTargetPlatform.2076445550"
name="Platform"
superClass="com.ti.ccstudio.buildDefinitions.core.defaultTargetPlatform"/>
<builder buildPath="${BuildDirectory}"
id="com.ti.ccstudio.buildDefinitions.core.defaultBuilder.1724530669"
name="GNU Make.FlashROM"
superClass="com.ti.ccstudio.buildDefinitions.core.defaultBuilder"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470.exe.compilerDebug.829572333"
superClass="com.ti.ccstudio.buildDefinitions.TMS470.exe.compilerDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470.exe.linkerDebug.1921304586"
superClass="com.ti.ccstudio.buildDefinitions.TMS470.exe.linkerDebug"/>
</toolChain>
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider"
id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1709271573"
moduleId="org.eclipse.cdt.core.settings" name="FlashROM">
<externalSettings/>
<extensions>
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="com.ti.ccstudio.errorparser.CoffErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.ti.ccstudio.errorparser.LinkErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.ti.ccstudio.errorparser.AsmErrorParser"
point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</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.1709271573" 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;${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 "
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.1709271573." name="/"
resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.754492692"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.316212377">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.573832810"
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="LINKER_COMMAND_FILE=cc26x0f128.cmd"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1787331942"
name="Compiler version"
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.1180016593"
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.1430324320"
keepEnvironmentInBuildfile="false" name="GNU Make"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.2024278362"
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.1986369828"
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.1564870595"
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.1103809475"
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.1234312230"
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.DEFINE.1871703403"
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="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="POWER_SAVING"/>
<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="xTESTMODES"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.1636716969"
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/host_test/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/saddr"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/aes/cc26xx"/>
<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}/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}/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.DEBUGGING_MODEL.1333175277"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL"
useByScannerDiscovery="false"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF"
valueType="enumerated"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.40113939"
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.1787641780"
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.167116165"
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.1476317030"
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.316212377"
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.1755927849"
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.1087660955"
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.LIBRARY.925475687"
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"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.1133249457"
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.XML_LINK_INFO.294034050"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO"
useByScannerDiscovery="false" value="${ProjName}_linkInfo.xml"
valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.1025189323"
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>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.1298514881"
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.777996081"
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.1296917534"
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.1119881763"
name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1632580918"
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.1354800395"
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.1037204851"
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>
<sourceEntries>
<entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="SimpleBLECentralStack.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.1030168588" name="ARM"
projectType="com.ti.ccstudio.buildDefinitions.TMS470.ProjectType"/>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="SimpleBLECentralStack.com.ti.ccstudio.buildDefinitions.TMS470.ProjectType.1030168588" name="ARM"
projectType="com.ti.ccstudio.buildDefinitions.TMS470.ProjectType"/>
</storageModule>
<storageModule moduleId="scannerConfiguration"/>
<storageModule moduleId="org.eclipse.cdt.core.language.mapping">
<project-mappings>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource"
language="com.ti.ccstudio.core.TIASMLanguage"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader"
language="com.ti.ccstudio.core.TIGCCLanguage"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource"
language="com.ti.ccstudio.core.TIGCCLanguage"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader"
language="com.ti.ccstudio.core.TIGPPLanguage"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource"
language="com.ti.ccstudio.core.TIGPPLanguage"/>
</project-mappings>
<project-mappings>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.asmSource"
language="com.ti.ccstudio.core.TIASMLanguage"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cHeader"
language="com.ti.ccstudio.core.TIGCCLanguage"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cSource"
language="com.ti.ccstudio.core.TIGCCLanguage"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxHeader"
language="com.ti.ccstudio.core.TIGPPLanguage"/>
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource"
language="com.ti.ccstudio.core.TIGPPLanguage"/>
</project-mappings>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
</cproject>
@@ -132,7 +132,7 @@
/* -DBLE_V42_FEATURES=SECURE_CONNS_CFG+PRIVACY_1_2_CFG+EXT_DATA_LEN_CFG */
/* -DBLE_V42_FEATURES=SECURE_CONNS_CFG+PRIVACY_1_2_CFG */
/* -DBLE_V42_FEATURES=PRIVACY_1_2_CFG+EXT_DATA_LEN_CFG */
/* -DBLE_V42_FEATURES=SECURE_CONNS_CFG+EXT_DATA_LEN_CFG */
-DBLE_V42_FEATURES=SECURE_CONNS_CFG+EXT_DATA_LEN_CFG
/* -DBLE_V42_FEATURES=SECURE_CONNS_CFG */
/* -DBLE_V42_FEATURES=PRIVACY_1_2_CFG */
/* -DBLE_V42_FEATURES=EXT_DATA_LEN_CFG */
@@ -19,7 +19,7 @@
</property>
<property Type="choicelist" Value="1" id="Debug Probe Selection">
<choice Name="Select by serial number" value="0">
<property Type="stringfield" Value="L1000269" id="-- Enter the serial number"/>
<property Type="stringfield" Value="L1000537" id="-- Enter the serial number"/>
</choice>
</property>
<platform XML_version="1.2" id="platform_0">
@@ -12,6 +12,7 @@
<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>
@@ -61,6 +61,35 @@
#include "Board.h"
///*
// * ========================= IO driver initialization =========================
// * From main, PIN_init(BoardGpioInitTable) should be called to setup safe
// * settings for this board.
// * When a pin is allocated and then de-allocated, it will revert to the state
// * configured in this table.
// */
//
///* Place into subsections to allow the TI linker to remove items properly */
//#if defined(__TI_COMPILER_VERSION__)
//#pragma DATA_SECTION(BoardGpioInitTable, ".const:BoardGpioInitTable")
//#pragma DATA_SECTION(PINCC26XX_hwAttrs, ".const:PINCC26XX_hwAttrs")
//#endif
//
//PIN_Config BoardGpioInitTable[] = { //
// PIN_MEM_INS | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,
// PIN_MEM_REQ | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,
// PIN_MEM_BZY | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,
// PIN_MEM_SEL | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// PIN_MEM_TEST | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MAX,
// PIN_TERMINATE};
//
//const PINCC26XX_HWAttrs PINCC26XX_hwAttrs = {
// //
// .intPriority = ~0,
// .swiPriority = 0
// //
//};
/*
* ========================= IO driver initialization =========================
* From main, PIN_init(BoardGpioInitTable) should be called to setup safe
@@ -90,6 +119,7 @@ const PINCC26XX_HWAttrs PINCC26XX_hwAttrs = {
.swiPriority = 0
//
};
/*============================================================================*/
/*
@@ -233,7 +263,7 @@ const SPICC26XXDMA_HWAttrsV1 spiCC26XXDMAHWAttrs[BOOSTXL_CC2650MA_SPICOUNT] = {
.mosiPin = Board_SPI0_MOSI,
.misoPin = Board_SPI0_MISO,
.clkPin = Board_SPI0_CLK,
.csnPin = Board_SPI0_CSN
.csnPin = Board_SPI0_CS
//
},
#ifdef HEADSTAGE_MA_USE_SPI2
@@ -250,7 +280,7 @@ const SPICC26XXDMA_HWAttrsV1 spiCC26XXDMAHWAttrs[BOOSTXL_CC2650MA_SPICOUNT] = {
.mosiPin = Board_SPI1_MOSI,
.misoPin = Board_SPI1_MISO,
.clkPin = Board_SPI1_CLK,
.csnPin = Board_SPI1_CSN //
.csnPin = Board_SPI1_CS //
},
#endif
};
@@ -561,6 +591,79 @@ const I2C_Config I2C_config[] = {
* ========================== I2C end =========================================
*/
/*
* ========================= Display begin ====================================
*/
/* Place into subsections to allow the TI linker to remove items properly */
#if defined(__TI_COMPILER_VERSION__)
#pragma DATA_SECTION(Display_config, ".const:Display_config")
#pragma DATA_SECTION(displaySharpHWattrs, ".const:displaySharpHWattrs")
#pragma DATA_SECTION(displayUartHWAttrs, ".const:displayUartHWAttrs")
#endif
#include <ti/mw/display/Display.h>
#include <ti/mw/display/DisplaySharp.h>
#include <ti/mw/display/DisplayUart.h>
/* Structures for UartPlain Blocking */
DisplayUart_Object displayUartObject;
#ifndef BOARD_DISPLAY_UART_STRBUF_SIZE
#define BOARD_DISPLAY_UART_STRBUF_SIZE 128
#endif
static char uartStringBuf[BOARD_DISPLAY_UART_STRBUF_SIZE];
const DisplayUart_HWAttrs displayUartHWAttrs = {
.uartIdx = Board_UART,
.baudRate = 115200,
.mutexTimeout = BIOS_WAIT_FOREVER,
.strBuf = uartStringBuf,
.strBufLen = BOARD_DISPLAY_UART_STRBUF_SIZE,
};
/* Structures for SHARP */
DisplaySharp_Object displaySharpObject;
#ifndef BOARD_DISPLAY_SHARP_SIZE
#define BOARD_DISPLAY_SHARP_SIZE 96 // 96->96x96 is the most common board, alternative is 128->128x128.
#endif
static uint8_t sharpDisplayBuf[BOARD_DISPLAY_SHARP_SIZE * BOARD_DISPLAY_SHARP_SIZE / 8];
const DisplaySharp_HWAttrs displaySharpHWattrs = {
.spiIndex = Board_SPI0,
.csPin = Board_LCD_CS,
.extcominPin = Board_LCD_EXTCOMIN,
.powerPin = Board_LCD_POWER,
.enablePin = Board_LCD_ENABLE,
.pixelWidth = BOARD_DISPLAY_SHARP_SIZE,
.pixelHeight = BOARD_DISPLAY_SHARP_SIZE,
.displayBuf = sharpDisplayBuf,
};
/* Array of displays */
const Display_Config Display_config[] = {
#if !defined(BOARD_DISPLAY_EXCLUDE_UART)
{
.fxnTablePtr = &DisplayUart_fxnTable,
.object = &displayUartObject,
.hwAttrs = &displayUartHWAttrs,
},
#endif
#if !defined(BOARD_DISPLAY_EXCLUDE_LCD)
{
.fxnTablePtr = &DisplaySharp_fxnTable,
.object = &displaySharpObject,
.hwAttrs = &displaySharpHWattrs
},
#endif
{ NULL, NULL, NULL } // Terminator
};
/*
* ========================= Display end ======================================
*/
/*
* ============================= Watchdog begin =====================================
*/
@@ -51,12 +51,6 @@ extern "C" {
#include <ti/drivers/PIN.h>
#include <driverlib/ioc.h>
#define HEADSTAGE_UNI_2_0
#ifdef HEADSTAGE_UNI_2_0
#include "neu/headstage_pin.h"
#else
#include "uni/headstage_pin.h"
#endif
/** ============================================================================
* Externs
* ==========================================================================*/
@@ -147,39 +141,56 @@ extern const PIN_Config BoardGpioInitTable[];
#define Board_RLED PIN_UNASSIGNED /* Red LED */
/* UART Board */
#define Board_UART_TX Board_BP_UART_Rx /* RXD */
#define Board_UART_RX Board_BP_UART_Tx /* TXD */
#define Board_UART_TX DIO1 /* RXD */
#define Board_UART_RX DIO0 /* TXD */
///*
// * SPI0 interface with DBS chip 2.0
// * interface with control box
// */
//#define Board_SPI0_MISO PIN_UNASSIGNED
//#define Board_SPI0_MOSI PIN_UNASSIGNED
//#define Board_SPI0_CLK PIN_UNASSIGNED
//#define Board_SPI0_CS PIN_UNASSIGNED
//
///*
// * SPI1 interface work with LED
// */
//
//#define Board_SPI1_MISO PIN_UNASSIGNED
//#define Board_SPI1_MOSI PIN_UNASSIGNED
//#define Board_SPI1_CLK PIN_UNASSIGNED
//#define Board_SPI1_CS PIN_UNASSIGNED
//
///* Power Management Board */
//#define Board_SRDY Board_BP_Pin_J2_19
//#define Board_MRDY Board_BP_Pin_J1_2
//
///* PWM outputs */
//#define Board_PWMPIN0 PIN_UNASSIGNED
//#define Board_PWMPIN1 PIN_UNASSIGNED
//#define Board_PWMPIN2 PIN_UNASSIGNED
//#define Board_PWMPIN3 PIN_UNASSIGNED
//#define Board_PWMPIN4 PIN_UNASSIGNED
//#define Board_PWMPIN5 PIN_UNASSIGNED
//#define Board_PWMPIN6 PIN_UNASSIGNED
//#define Board_PWMPIN7 PIN_UNASSIGNED
#define Board_SPI0_MISO DIO12
#define Board_SPI0_MOSI DIO11
#define Board_SPI0_CLK DIO10
#define Board_SPI0_CS DIO9
#define PIN_MEM_INS DIO4
#define PIN_MEM_SEL DIO8
#define PIN_MEM_BZY DIO13
#define PIN_MEM_REQ DIO14
#define PIN_MEM_TEST DIO7
//#define PIN_MEM_INS PIN_UNASSIGNED
//#define PIN_MEM_BZY PIN_UNASSIGNED
//#define PIN_MEM_REQ PIN_UNASSIGNED
//#define PIN_MEM_SEL DIO4
//#define PIN_MEM_TEST DIO2
/*
* unused SPI
*/
#define Board_SPI1_MISO PIN_UNASSIGNED
#define Board_SPI1_MOSI PIN_UNASSIGNED
#define Board_SPI1_CLK PIN_UNASSIGNED
#define Board_SPI1_CS PIN_UNASSIGNED
#define Board_LCD_CS PIN_UNASSIGNED
#define Board_LCD_EXTCOMIN PIN_UNASSIGNED
#define Board_LCD_POWER PIN_UNASSIGNED
#define Board_LCD_ENABLE PIN_UNASSIGNED
/* Power Management Board */
#define Board_SRDY PIN_UNASSIGNED
#define Board_MRDY PIN_UNASSIGNED
/* PWM outputs */
#define Board_PWMPIN0 PIN_UNASSIGNED
#define Board_PWMPIN1 PIN_UNASSIGNED
#define Board_PWMPIN2 PIN_UNASSIGNED
#define Board_PWMPIN3 PIN_UNASSIGNED
#define Board_PWMPIN4 PIN_UNASSIGNED
#define Board_PWMPIN5 PIN_UNASSIGNED
#define Board_PWMPIN6 PIN_UNASSIGNED
#define Board_PWMPIN7 PIN_UNASSIGNED
/** ============================================================================
@@ -210,7 +221,7 @@ extern const PIN_Config BoardGpioInitTable[];
#define Board_GPTIMER3B BOOSTXL_CC2650MA_GPTIMER3B
/* Generic ADC instance identifiers */
#define Board_DIO0_ANALOG IOID_9
#define Board_DIO0_ANALOG PIN_UNASSIGNED
#define Board_DIO1_ANALOG PIN_UNASSIGNED
#define Board_DIO2_ANALOG PIN_UNASSIGNED
#define Board_DIO3_ANALOG PIN_UNASSIGNED
@@ -72,28 +72,7 @@
#pragma DATA_SECTION(PINCC26XX_hwAttrs, ".const:PINCC26XX_hwAttrs")
#endif
const PIN_Config BoardGpioInitTable[] = {
Board_DK_LED1 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
Board_DK_LED2 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
Board_DK_LED3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
Board_DK_LED4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
Board_KEY_SELECT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
Board_KEY_UP | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
Board_KEY_DOWN | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
Board_KEY_LEFT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
Board_KEY_RIGHT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
Board_3V3_EN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL, /* 3V3 domain off initially */
Board_LCD_MODE | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* LCD pin high initially */
Board_LCD_RST | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* LCD pin high initially */
Board_LCD_CSN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* LCD CSn deasserted initially */
Board_ALS_PWR | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL, /* ALS power off initially */
Board_ACC_PWR | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL, /* ACC power off initially */
Board_ACC_CSN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* ACC CSn deasserted initially */
Board_SDCARD_CSN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* SDCARD CSn deasserted initially */
Board_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* UART TX pin at inactive level */
PIN_TERMINATE /* Terminate list */
};
const PINCC26XX_HWAttrs PINCC26XX_hwAttrs = {
.intPriority = ~0,
@@ -82,12 +82,16 @@ static void Board_keyCallback(PIN_Handle hPin, PIN_Id pinId);
/*********************************************************************
* LOCAL VARIABLES
*/
PIN_State keyPins;
PIN_Handle hKeyPins;
static uint8_t mem_sel = 0;
// Value of keys Pressed
static uint8_t keysPressed;
uint8_t keysPressed;
// Key debounce clock
static Clock_Struct keyChangeClock;
Clock_Struct keyChangeClock;
// Pointer to application callback
keysPressedCB_t appKeyChangeHandler = NULL;
@@ -108,12 +112,18 @@ PIN_Config keyPinsCfg[] =
Board_KEY_DOWN | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
Board_KEY_LEFT | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
Board_KEY_RIGHT | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
#elif defined(BOOSTXL_CC2650MA)
PIN_MEM_INS | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
PIN_MEM_REQ | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
PIN_MEM_BZY | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
PIN_MEM_SEL | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
PIN_MEM_TEST | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,
#endif
PIN_TERMINATE
};
PIN_State keyPins;
PIN_Handle hKeyPins;
/*********************************************************************
* PUBLIC FUNCTIONS
@@ -133,31 +143,18 @@ void Board_initKeys(keysPressedCB_t appKeyCB)
hKeyPins = PIN_open(&keyPins, keyPinsCfg);
PIN_registerIntCb(hKeyPins, Board_keyCallback);
#if defined (CC2650_LAUNCHXL) || defined (CC1350_LAUNCHXL)
#if defined (BOOSTXL_CC2650MA)
PIN_setConfig(hKeyPins, PIN_BM_IRQ, PIN_MEM_INS | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, PIN_MEM_REQ | PIN_IRQ_NEGEDGE);
#elif defined (CC2650_LAUNCHXL) || defined (CC1350_LAUNCHXL)
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_BTN1 | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_BTN2 | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_UART_RX_IRQ | PIN_IRQ_POSEDGE);
#elif defined (CC2650DK_7ID) || defined (CC1350DK_7XD)
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_KEY_SELECT | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_KEY_UP | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_KEY_DOWN | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_KEY_LEFT | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_KEY_RIGHT | PIN_IRQ_NEGEDGE);
#endif
#ifdef POWER_SAVING
//Enable wakeup
#if defined (CC2650_LAUNCHXL) || defined (CC1350_LAUNCHXL)
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_BTN1 | PINCC26XX_WAKEUP_NEGEDGE);
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_BTN2 | PINCC26XX_WAKEUP_NEGEDGE);
#elif defined (CC2650DK_7ID) || defined (CC1350DK_7XD)
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_KEY_SELECT | PINCC26XX_WAKEUP_NEGEDGE);
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_KEY_UP | PINCC26XX_WAKEUP_NEGEDGE);
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_KEY_DOWN | PINCC26XX_WAKEUP_NEGEDGE);
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_KEY_LEFT | PINCC26XX_WAKEUP_NEGEDGE);
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_KEY_RIGHT | PINCC26XX_WAKEUP_NEGEDGE);
#endif
#endif //POWER_SAVING
// PIN_setOutputValue(hKeyPins, PIN_MEM_TEST, 1);
// PIN_setOutputValue(hKeyPins, PIN_MEM_SEL, 1);
// PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_BTN2 | PIN_IRQ_NEGEDGE);
// Setup keycallback for keys
Util_constructClock(&keyChangeClock, Board_keyChangeHandler,
@@ -180,7 +177,25 @@ static void Board_keyCallback(PIN_Handle hPin, PIN_Id pinId)
{
keysPressed = 0;
#if defined (CC2650_LAUNCHXL) || defined (CC1350_LAUNCHXL)
#if defined (BOOSTXL_CC2650MA)
if ( PIN_getInputValue(PIN_MEM_INS) == 0 )
{
// if(KEY_INSTEAD_UART == 1)
// {
// keysPressed |= KEY_RIGHT;
// }
// else{
keysPressed |= KEY_UART_EN;
// }
}
if ( PIN_getInputValue(PIN_MEM_REQ) == 0 )
{
mem_sel ++;
PIN_setOutputValue(hKeyPins, PIN_ID(PIN_MEM_SEL), mem_sel & 0x01);
}
#elif defined (CC2650_LAUNCHXL) || defined (CC1350_LAUNCHXL)
if ( PIN_getInputValue(Board_BTN1) == 0 )
{
keysPressed |= KEY_LEFT;
@@ -190,37 +205,6 @@ static void Board_keyCallback(PIN_Handle hPin, PIN_Id pinId)
{
keysPressed |= KEY_RIGHT;
}
if ( PIN_getInputValue(Board_UART_RX_IRQ) == 1 )
{
keysPressed |= KEY_UART_EN;
}
#elif defined (CC2650DK_7ID) || defined (CC1350DK_7XD)
if ( PIN_getInputValue(Board_KEY_SELECT) == 0 )
{
keysPressed |= KEY_SELECT;
}
if ( PIN_getInputValue(Board_KEY_UP) == 0 )
{
keysPressed |= KEY_UP;
}
if ( PIN_getInputValue(Board_KEY_DOWN) == 0 )
{
keysPressed |= KEY_DOWN;
}
if ( PIN_getInputValue(Board_KEY_LEFT) == 0 )
{
keysPressed |= KEY_LEFT;
}
if ( PIN_getInputValue(Board_KEY_RIGHT) == 0 )
{
keysPressed |= KEY_RIGHT;
}
#endif
Util_startClock(&keyChangeClock);
@@ -55,11 +55,10 @@ extern "C" {
/*********************************************************************
* INCLUDES
*/
/*********************************************************************
* EXTERNAL VARIABLES
*/
extern uint8_t KEY_INSTEAD_UART;
/*********************************************************************
* CONSTANTS
*/
@@ -71,7 +70,7 @@ extern "C" {
#define KEY_UART_EN 0x0020
// Debounce timeout in milliseconds
#define KEY_DEBOUNCE_TIMEOUT 200
#define KEY_DEBOUNCE_TIMEOUT 0
/*********************************************************************
* TYPEDEFS
@@ -106,7 +106,7 @@
*/
#ifdef USE_ICALL
#include <ICall.h>
#include <icall.h>
typedef ICall_CSState halIntState_t;
@@ -55,7 +55,7 @@
#include <inc/hw_aon_rtc.h>
#include <driverlib/aon_rtc.h>
#include <driverlib/aon_event.h>
#include "ICall.h"
#include "icall.h"
/*******************************************************************************
* MACROS
@@ -48,7 +48,7 @@
#include <stdint.h>
#include "ICall.h"
#include "icall.h"
#ifdef __cplusplus
extern "C" {
@@ -55,7 +55,7 @@ extern "C"
// includes
// ****************************************************************************
#include "hal_types.h"
#include "OSAL.h"
#include "osal.h"
// ****************************************************************************
// defines
@@ -75,7 +75,7 @@
#ifdef ICALL_JT
#include "icall_JT.h"
#else
#include <ICall.h>
#include <icall.h>
#endif /* ICALL_JT */
#endif /* USE_ICALL */
@@ -47,8 +47,8 @@
Release Date: 2018-04-02 18:03:35
*****************************************************************************/
#include "OSAL.h"
#include "OSAL_Tasks.h"
#include "osal.h"
#include "osal_tasks.h"
#include "hal_mcu.h"
#include "osal_cbtimer.h"
@@ -51,13 +51,13 @@
*/
#include "comdef.h"
#include "OSAL.h"
#include "OSAL_Memory.h"
#include "osal.h"
#include "osal_memory.h"
#ifdef ICALL_JT
#include "icall_JT.h"
#else
#include <ICall.h>
#include <icall.h>
#endif /* ICALL_JT */
/**************************************************************************************************
@@ -59,7 +59,7 @@
#ifdef ICALL_JT
#include "icall_JT.h"
#else
#include <ICall.h>
#include <icall.h>
#endif /* ICALL_JT */
#endif /* USE_ICALL */
@@ -62,11 +62,11 @@ extern "C"
#include <limits.h>
#include "comdef.h"
#include "OSAL_Memory.h"
#include "OSAL_Timers.h"
#include "osal_memory.h"
#include "osal_timers.h"
#ifdef USE_ICALL
#include <ICall.h>
#include <icall.h>
#endif /* USE_ICALL */
/*********************************************************************
@@ -80,7 +80,7 @@ the last entry in the page (higher memory address).
#include "hal_flash.h"
#include "hal_types.h"
#include "pwrmon.h"
#include "OSAL.h"
#include "osal.h"
#include "osal_snv.h"
#include "hal_assert.h"
#include <driverlib/vims.h>
@@ -56,6 +56,7 @@
#include "icall.h"
#include "hal_assert.h"
#include "board.h"
#include "central.h"
#include "simple_central.h"
@@ -9,6 +9,7 @@
#ifndef MEM_BOARD_CENTRAL
#define MEM_BOARD_CENTRAL
#include <ti/sysbios/knl/Clock.h>
#include "mem_central_pin.h"
#include "mem_uart.h"
#include "mem_event.h"
@@ -19,13 +20,15 @@
static void mem_central_event();
static void mem_recv_ins();
static void mem_connect_device();
static void mem_write_ins();
static void MemBoard_init(void){
mem_UART_init();
uint8_t txBuf[] = "Simple Central memory board (LP)\n\r"; // Transmit buffer
UART_txBuf = txBuf;
UART_write(uart_handle, txBuf, sizeof(txBuf));
// uint8_t txBuf[] = "Simple Central memory board MA\n\r"; // Transmit buffer
// UART_txBuf = txBuf;
// UART_write(uart_handle, txBuf, sizeof(txBuf));
// mem_UART_display(txBuf);
}
@@ -61,24 +64,44 @@ typedef enum{
typedef enum{
INS_IDLE,
INS_RESET,
INS_KEY,
INS_SCAN,
INS_CONNECT
INS_SCAN_RESPONSE,
INS_CONNECT,
INS_WRITE,
INS_READ,
INS_DISCONNECT
} Control_Ins;
static LED_Status GLEDStatus = LED_OFF;
static UART_DATA_Status UARTStatus = UART_NO_DATA;
//static void mem_pin_callback(PIN_Handle handle, PIN_Id pin){
// switch(pin):{
// case PIN_MEM_INS: {
// break;
// }
// case PIN_MEM_REQ: {
// break;
// }
// default:{
// break;
// }
// }
//}
static void mem_central_event() {
if (flag_mask(EVT_MEM_LED)) {
flag_disable(EVT_MEM_LED);
GLEDStatus = LED_ON;
SetMemOutputPIN(Board_GLED, 1);
// SetMemOutputPIN(Board_GLED, 1);
}
if(flag_mask(EVT_MEM_LED_OFF)){
flag_disable(EVT_MEM_LED_OFF);
GLEDStatus = LED_OFF;
SetMemOutputPIN(Board_GLED, 0);
// SetMemOutputPIN(Board_GLED, 0);
}
if(flag_mask(EVT_MEM_UART)){
@@ -115,28 +138,133 @@ static void mem_central_event() {
static Control_Ins ins = INS_IDLE;
static void mem_recv_ins(){
UART_read(uart_handle, UART_rxBuf, 10);
extern uint8_t keysPressed;
extern Clock_Struct keyChangeClock;
// if(state == BLE_STATE_CONNECTED){
// UART_read(uart_handle, UART_rxBuf, UART_BUFF_SIZE);
// }
// else{
UART_read(uart_handle, UART_rxBuf, 3);
// }
switch(UART_rxBuf[0]){
case INS_IDLE:{
break;
}
case INS_RESET:{
state = BLE_STATE_IDLE;
connHandle = GAP_CONNHANDLE_INIT;
discState = BLE_DISC_STATE_IDLE;
break;
}
case INS_KEY:{
if(UART_rxBuf[1] == 1){
keysPressed = KEY_LEFT;
Util_startClock(&keyChangeClock);
}
else if(UART_rxBuf[1] == 2){
keysPressed = KEY_RIGHT;
Util_startClock(&keyChangeClock);
}
break;
}
case INS_SCAN:{
flag_notify(EVT_MEM_SCAN_DEVICE);
// flag_notify(EVT_MEM_SCAN_DEVICE);
SimpleBLECentral_discoverDevices();
break;
}
// instruction format:
// ins[0]: INS_SCAN_RESPONSE = 0x04
// ins[1]: scan_response (device number)=0, a certain device = device_id
// ins[2]: attr_length=0, e.g. len(addr)=6, len(company_code)=4
// addr=1, localName=2, company_code=3, version_info=4, battery_info=5
case INS_SCAN_RESPONSE:{
uint8_t device_number;
uint8_t attr_length[5] = {sizeof(devList[device_number].addr),
sizeof(devList[device_number].localName),
LEN_COMPANY_CODE,
LEN_VERSION_INFO,
LEN_BATTERY_INFO};
// report scan device number
if(UART_rxBuf[1] == 0){
uint8_t scan_result[10] = {0xFF, scanRes,0,0,0,0,0,0,0,0};
UART_write(uart_handle, scan_result, 10);
}
// report a certain device information
else{
device_number = UART_rxBuf[1] - 1;
if(device_number >= scanRes){
char illegal_id[20] = "illegal device id";
UART_write(uart_handle, illegal_id, 20);
}
if(UART_rxBuf[2] == 0){
UART_write(uart_handle, attr_length, 5);
}
else if(UART_rxBuf[2] == 1){
// uint8_t scan_addr[20] = Util_convertBdAddr2Str(devList[device_number].addr);
UART_write(uart_handle, Util_convertBdAddr2Str(devList[device_number].addr), attr_length[0]*2+2);
}
else if(UART_rxBuf[2] == 2){
// uint8_t scan_name[20] = "test_device_name";
// UART_write(uart_handle, scan_name, 20);
UART_write(uart_handle, devList[device_number].localName, attr_length[1]);
}
else if(UART_rxBuf[2] == 3){
UART_write(uart_handle, devList[device_number].company_code, attr_length[2]);
}
else if(UART_rxBuf[2] == 4){
UART_write(uart_handle, devList[device_number].version_info, attr_length[3]);
}
else if(UART_rxBuf[2] == 5){
UART_write(uart_handle, devList[device_number].battery_info, attr_length[4]);
}
else if(UART_rxBuf[2] == 6){
// TODO: send all device_info
// UART_write(uart_handle, devList[device_number].battery_info, attr_length[4]);
}
state = BLE_STATE_BROWSING;
}
break;
}
case INS_CONNECT:{
scanIdx = UART_rxBuf[1];
state = BLE_STATE_BROWSING;
if(state == BLE_STATE_BROWSING){
scanIdx = UART_rxBuf[1];
mem_connect_device();
}
break;
}
flag_notify(EVT_MEM_LED);
flag_notify(EVT_MEM_CONNECT);
case INS_WRITE:{
if(state == BLE_STATE_CONNECTED){
// selectedMenuItem = MENU_ITEM_READ_WRITE;
// KEY_INSTEAD_UART = 1;
mem_write_ins();
}
break;
}
case INS_READ:{
break;
}
case INS_DISCONNECT:{
selectedMenuItem = MENU_ITEM_DISCONNECT;
break;
}
default:{
uint8_t error_msg[10] = "wrong ins";
UART_write(uart_handle, error_msg, 10);
break;
}
}
@@ -145,7 +273,6 @@ static void mem_recv_ins(){
static void mem_connect_device() {
uint8_t addrType;
uint8_t *peerAddr;
char debug[2] = {scanIdx+'0', '\0'};
if (scanRes > 0 && state == BLE_STATE_BROWSING)
{
@@ -160,20 +287,135 @@ static void mem_connect_device() {
GAPCentralRole_EstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,
DEFAULT_LINK_WHITE_LIST,
addrType, peerAddr);
// Display_clearLines(dispHandle, ROW_FOUR, ROW_SEVEN);
// Display_print0(dispHandle, ROW_TWO, 0, Util_convertBdAddr2Str(peerAddr));
// Display_print0(dispHandle, ROW_FOUR, 0, "Connecting");
mem_UART_clear_screen();
mem_UART_display(Util_convertBdAddr2Str(peerAddr));
mem_UART_display("Connecting");
mem_UART_newline();
mem_UART_display("scanIdx = ");
mem_UART_display(debug);
mem_UART_newline();
}
}
static void mem_write_ins(){
uint8_t ack[4] = {0,0,0,0};
if (state == BLE_STATE_CONNECTED &&
charHdl != 0 &&
procedureInProgress == FALSE)
{
uint8_t status;
// Do a read or write as long as no other read or write is in progress
if (WWR == 0)
{
// Do a write
attWriteReq_t req;
req.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, 2, NULL);
if ( req.pValue != NULL )
{
// enable notify
req.handle = 0x0028;
req.len = 2;
req.pValue[0] = 0x01;
req.pValue[1] = 0x00;
req.sig = 0;
req.cmd = 0;
status = GATT_WriteCharValue(connHandle, &req, selfEntity);
if ( status != SUCCESS )
{
GATT_bm_free((gattMsg_t *)&req, ATT_WRITE_REQ);
}
else{
ack[0] = WWR;
ack[1] = WWR;
ack[2] = WWR;
ack[3] = WWR;
UART_write(uart_handle, ack, 4);
}
}
else
{
status = bleMemAllocError;
}
WWR ++;
}
else if(WWR == 1){
attWriteReq_t req2;
req2.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, 3, NULL);
// send instruction
req2.handle = 0x0024;
req2.len = 3;
req2.pValue[0] = 0x30;
req2.pValue[1] = 0x00;
req2.pValue[2] = 0x60;
req2.sig = 0;
req2.cmd = 0;
status = GATT_WriteCharValue(connHandle, &req2, selfEntity);
if ( status != SUCCESS )
{
GATT_bm_free((gattMsg_t *)&req2, ATT_WRITE_REQ);
}
else{
ack[0] = WWR;
ack[1] = WWR;
ack[2] = WWR;
ack[3] = WWR;
UART_write(uart_handle, ack, 4);
}
WWR ++;
}
else if(WWR == 2){
attWriteReq_t req3;
req3.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, 2, NULL);
// start device
req3.handle = 0x0024;
req3.len = 2;
req3.pValue[0] = 0xC0;
req3.pValue[1] = 0xC0;
req3.sig = 0;
req3.cmd = 0;
status = GATT_WriteCharValue(connHandle, &req3, selfEntity);
if ( status != SUCCESS )
{
GATT_bm_free((gattMsg_t *)&req3, ATT_WRITE_REQ);
}
else{
ack[0] = WWR;
ack[1] = WWR;
ack[2] = WWR;
ack[3] = WWR;
UART_write(uart_handle, ack, 4);
}
WWR = 2;
}
// else
// {
// attWriteReq_t req4;
// req4.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, 2, NULL);
//
// // stop device
// req4.handle = 0x0024;
// req4.len = 2;
// req4.pValue[0] = 0xC0;
// req4.pValue[1] = 0x60;
// req4.sig = 0;
// req4.cmd = 0;
//
// status = GATT_WriteCharValue(connHandle, &req4, selfEntity);
// if ( status != SUCCESS )
// {
// GATT_bm_free((gattMsg_t *)&req4, ATT_WRITE_REQ);
// }
// WWR =2;
// }
if (status == SUCCESS)
{
procedureInProgress = TRUE;
doWrite = !doWrite;
}
}
}
#endif
@@ -22,22 +22,25 @@ static void central_handle_notify(uint16_t length, uint8_t *value){
recv_noti[3] = value[3];
recv_noti[4] = value[4];
recv_noti[5] = value[5];
recv_noti[6] = value[6];
recv_noti[7] = value[7];
recv_noti[8] = value[8];
recv_noti[9] = '/0';
recv_noti[6] = 0xFF;
recv_noti[7] = 0xFF;
recv_noti[8] = (data_counter >> 8) & 0xFF;
recv_noti[9] = data_counter & 0xFF;
if(data_counter % 200 == 0){
if(data_counter++ % 50 == 0){
#ifndef BOOSTXL_CC2650MA
mem_UART_display_u8(recv_noti, 9);
mem_UART_display(" ");
mem_UART_display("Notify data counter: ");
mem_UART_display_u16(data_counter);
mem_UART_newline();
#else
UART_write(uart_handle, recv_noti, 10);
#endif
}
if(length == 200){
data_counter ++;
}
// if(length == 200){
// }
// mem_UART_display("Notify data: ");
// mem_UART_display_u8(value, length);
@@ -2,20 +2,34 @@
#ifndef MEM_CENTRAL_PIN
#define MEM_CENTRAL_PIN
static PIN_State mem_pins_state;
static PIN_Handle mem_pins_handle;
//static PIN_State mem_pins_state;
//static PIN_Handle mem_pins_handle;
static PIN_Config mem_pin_configuration[] = { //
Board_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
Board_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
PIN_TERMINATE
};
//static void GPIO_keyChangeHandler(UArg a0);
//static void GPIO_keyCallback(PIN_Handle hPin, PIN_Id pinId);
#define mem_pin_open() \
do { \
mem_pins_handle = PIN_open(&mem_pins_state, mem_pin_configuration); \
//#define GPIO_DEBOUNCE_TIMEOUT 50
//static Clock_Struct gpioChangeClock;
// Pointer to application callback
//keysPressedCB_t appKeyChangeHandler = NULL;
//static PIN_Config mem_pin_configuration[] = { //
// Board_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// Board_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// PIN_TERMINATE
//};
static void mem_pin_callback(PIN_Handle handle, PIN_Id pin);
#define mem_pin_open() \
do { \
mem_pins_handle = PIN_open(&mem_pins_state, BoardGpioInitTable); \
PIN_registerIntCb(mem_pins_handle, mem_pin_callback); \
PIN_setInterrupt(mem_pins_handle, PIN_MEM_INS | PIN_IRQ_NEGEDGE); \
PIN_setInterrupt(mem_pins_handle, PIN_MEM_REQ | PIN_IRQ_NEGEDGE); \
} while (0)
#define SetMemOutputPIN(PIN, value) PIN_setOutputValue(mem_pins_handle, PIN, value)
//#define SetMemOutputPIN(PIN, value) PIN_setOutputValue(hKeyPins, PIN, value)
#endif
@@ -13,7 +13,7 @@
#define flag_enable(flag) \
do { \
uint8 __key = Hwi_disable(); \
EventMask |= (uint16_t)(flag); \
EventMask |= (uint16_t)(flag); \
Hwi_restore(__key); \
} while (0)
@@ -23,7 +23,7 @@
#define flag_disable(flag) \
do { \
uint8 __key = Hwi_disable(); \
EventMask &= ~((uint16_t)(flag)); \
EventMask &= ~((uint16_t)(flag)); \
Hwi_restore(__key); \
} while (0)
@@ -33,9 +33,9 @@
#define flag_notify(flag) \
do { \
uint8 __key = Hwi_disable(); \
EventMask |= (uint16_t)(flag); \
EventMask |= (uint16_t)(flag); \
Hwi_restore(__key); \
Semaphore_post(sem); \
Semaphore_post(sem); \
} while (0)
/** event */
@@ -11,11 +11,13 @@
#include <ti/drivers/UART.h>
#include <ti/drivers/uart/UARTCC26XX.h>
#define UART_BUFF_SIZE 20
static UART_Handle uart_handle;
static UART_Params params;
static uint8_t *UART_txBuf;
static uint8_t UART_rxBuf[10];
static uint8_t UART_txBuf[UART_BUFF_SIZE];
static uint8_t UART_rxBuf[UART_BUFF_SIZE];
static void mem_recv_uart();
@@ -25,7 +27,7 @@ static void mem_UART_init(){
// Init UART and specify non-default parameters
UART_Params_init(&params);
params.baudRate = 9600;
params.baudRate = 115200;
params.writeDataMode = UART_DATA_BINARY;
// params.readMode = UART_MODE_CALLBACK;
// params.readDataMode = UART_DATA_BINARY;
@@ -43,7 +45,7 @@ static void mem_UART_display(char *str){
// calculate string size
uint8_t str_size;
for(str_size=0 ; *(str+str_size)!='\0' && str_size < 49; str_size++){
for(str_size=0 ; *(str+str_size)!='\0' && str_size < 10; str_size++){
// do nothing
}
str_size ++;
@@ -62,7 +64,6 @@ static void mem_UART_display(char *str){
static void mem_UART_clear_screen(){
uint8_t cls[] = "\033[2J";
uint8_t a[2];
UART_write(uart_handle, cls, sizeof(cls));
}
@@ -51,10 +51,13 @@
#include <string.h>
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/hal/Hwi.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/sysbios/knl/Semaphore.h>
#include <ti/sysbios/knl/Queue.h>
uint8_t KEY_INSTEAD_UART = 0;
#include "bcomdef.h"
#include "hci_tl.h"
@@ -67,6 +70,7 @@
#include "simple_gatt_profile.h"
#include "osal_snv.h"
#include "icall.h"
#include "icall_apimsg.h"
#include "util.h"
@@ -74,11 +78,18 @@
#include <ti/mw/display/Display.h>
#include "board.h"
#include <inc/hw_types.h>
#include "hal_defs.h"
#include "simple_central.h"
#include "ble_user_config.h"
//#ifndef CC2650_LAUNCHXL
//#error "undefine CC2650_LAUNCHXL"
#ifndef BOOSTXL_CC2650MA
#error "undefine BOOSTXL_CC2650MA"
#endif
/*********************************************************************
* MACROS
*/
@@ -123,7 +134,7 @@
// Initial minimum connection interval (units of 1.25 ms.)
//#define INITIAL_MAX_CONN_INTERVAL 320
#define INITIAL_MAX_CONN_INTERVAL 320
#define INITIAL_MAX_CONN_INTERVAL 30
// Initial slave latency
#define INITIAL_SLAVE_LATENCY 0
@@ -146,7 +157,7 @@
// Maximum connection interval (units of 1.25ms) if automatic parameter update
// request is enabled
//#define DEFAULT_UPDATE_MAX_CONN_INTERVAL 160
#define DEFAULT_UPDATE_MAX_CONN_INTERVAL 320
#define DEFAULT_UPDATE_MAX_CONN_INTERVAL 30
// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_UPDATE_SLAVE_LATENCY 0
@@ -257,12 +268,18 @@ typedef struct
/**
* Type of device discovery (Scan) to perform.
*/
#define LEN_COMPANY_CODE 4
#define LEN_VERSION_INFO 6
#define LEN_BATTERY_INFO 5
typedef struct
{
char localName[20]; //!< Device's Name
uint8_t addrType; //!< Address Type: @ref ADDRTYPE_DEFINES
uint8_t addr[B_ADDR_LEN]; //!< Device's Address
uint8_t nameLength; //!< Device name length
char company_code[LEN_COMPANY_CODE];
uint8_t version_info[LEN_VERSION_INFO];
uint8_t battery_info[LEN_BATTERY_INFO];
} devRecInfo_t;
/*********************************************************************
@@ -377,6 +394,8 @@ static void SimpleBLECentral_addDeviceInfo(uint8_t *pAddr, uint8_t addrType);
static bool SimpleBLECentral_findLocalName(uint8_t *pEvtData, uint8_t dataLen);
static void SimpleBLECentral_addDeviceName(uint8_t i, uint8_t *pEvtData,
uint8_t dataLen);
static void SimepleBLECentral_getDeviceinfo(uint8_t i, uint8_t *pEvtData, uint8_t dataLen);
static void SimpleBLECentral_processPairState(uint8_t pairState, uint8_t status);
static void SimpleBLECentral_processPasscode(uint16_t connectionHandle,
uint8_t uiOutputs);
@@ -489,10 +508,12 @@ static void SimpleBLECentral_init(void)
//In the project predefines, UART is disabled by default. Thus LCD display will be used.
//Please see the project documentation for instructions on choosing LDC or UART display.
// Display_Params dispParams;
// dispParams.lineClearMode = DISPLAY_CLEAR_BOTH;
Display_Params dispParams;
dispParams.lineClearMode = DISPLAY_CLEAR_BOTH;
// dispHandle = Display_open(Display_Type_LCD, &dispParams);
// dispHandle = NULL;
// if (dispHandle == NULL) dispHandle = Display_open(Display_Type_UART, &dispParams); // Try UART if no LCD found
dispHandle = Display_open(Display_Type_UART, &dispParams);
// Initialize internal data
for (i = 0; i < MAX_NUM_BLE_CONNS; i++)
@@ -572,6 +593,9 @@ static void SimpleBLECentral_taskFxn(UArg a0, UArg a1)
{
// Initialize application
SimpleBLECentral_init();
// mem_pins_handle = PIN_open(&mem_pins_state, BoardGpioInitTable);
// PIN_setPortOutputEnable(&mem_pins_state, 1);
// PIN_setOutputValue(hKeyPins, PIN_ID(PIN_MEM_TEST), 1);
MemBoard_init();
// System_printf("Hello, universe!\r\n");
@@ -715,8 +739,9 @@ static void SimpleBLECentral_processAppMsg(sbcEvt_t *pMsg)
// Read RSSI
VOID HCI_ReadRssiCmd(pRssi->connHandle);
}
break;
}
break;
// Pairing event
case SBC_PAIRING_STATE_EVT:
@@ -740,6 +765,7 @@ static void SimpleBLECentral_processAppMsg(sbcEvt_t *pMsg)
case SBC_CONNECTING_TIMEOUT_EVT:
{
GAPCentralRole_TerminateLink(connHandle);
break;
}
default:
@@ -765,6 +791,7 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
{
maxPduSize = pEvent->initDone.dataPktLen;
#ifndef BOOSTXL_CC2650MA
mem_UART_display("LaunchPad Mac: ");
mem_UART_display(Util_convertBdAddr2Str(pEvent->initDone.devAddr));
mem_UART_newline();
@@ -779,6 +806,7 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
mem_UART_display(">RIGHT to scan");
mem_UART_newline();
#endif
// UART_write(handle, txBuf, sizeof(txBuf));
// Display_print0(dispHandle, ROW_ZERO, 0, "BLE Central");
// Display_print0(dispHandle, ROW_ONE, 0, Util_convertBdAddr2Str(pEvent->initDone.devAddr));
@@ -812,6 +840,10 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
//Update deviceInfo entry with the name
SimpleBLECentral_addDeviceName(i, pEvent->deviceInfo.pEvtData,
pEvent->deviceInfo.dataLen);
// get company code, version, battery
SimepleBLECentral_getDeviceinfo(i, pEvent->deviceInfo.pEvtData,
pEvent->deviceInfo.dataLen);
}
}
}
@@ -826,34 +858,45 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
scanIdx = 0;
// Display_clearLines(dispHandle, ROW_ONE, ROW_SEVEN);
// Display_print1(dispHandle, ROW_ONE, 0, "Devices found %d", scanRes);
mem_UART_clear_screen();
// mem_UART_clear_screen();
char device_number[2] = {scanRes + '0', '\0'};
// report scan result
#ifndef BOOSTXL_CC2650MA
mem_UART_display("Devices found ");
mem_UART_display(device_number);
mem_UART_newline();
//#else
// uint8_t scan_result[10] = {8, scanRes,7,0,0,0,0,0,8,7};
// UART_write(uart_handle, scan_result, 10);
#endif
if (scanRes > 0)
{
#ifndef BOOSTXL_CC2650MA
// Display_print0(dispHandle, ROW_SIX, 0, "<LEFT to browse");
mem_UART_display("<LEFT to browse");
mem_UART_newline();
#endif
}
// Display_print0(dispHandle, ROW_SEVEN, 0, ">RIGHT to scan");
#ifndef BOOSTXL_CC2650MA
mem_UART_display(">RIGHT to scan");
mem_UART_newline();
#endif
// if(scanRes <= 0){
// return;
// }
#ifndef BOOSTXL_CC2650MA
if (scanRes > 0)
{
uint8_t found_device_id = 0;
char device_number2[2] = {'0', '\0'};
mem_UART_clear_screen();
// mem_UART_clear_screen();
for( found_device_id = 0 ; found_device_id < scanRes ; found_device_id++ ){
device_number2[0] = (found_device_id + 1) + '0';
mem_UART_display("Devices ");
mem_UART_display(device_number2);
mem_UART_newline();
@@ -867,6 +910,7 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
mem_UART_newline();
}
}
#endif
state = BLE_STATE_DISCOVERED;
}
break;
@@ -875,7 +919,7 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
{
if (pEvent->gap.hdr.status == SUCCESS)
{
//Connect to selected device
//Connect to selected device
state = BLE_STATE_CONNECTED;
connHandle = pEvent->linkCmpl.connectionHandle;
procedureInProgress = TRUE;
@@ -897,6 +941,7 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
}
// Display_clearLines(dispHandle, ROW_ONE, ROW_SEVEN);
// Display_print1(dispHandle, ROW_ONE, 0, "%s", devList[i].localName);
#ifndef BOOSTXL_CC2650MA
mem_UART_clear_screen();
mem_UART_display(devList[i].localName);
mem_UART_newline();
@@ -911,8 +956,14 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
mem_UART_display("Connected");
mem_UART_newline();
#else
// send MAC if device is connected
// UART_write(uart_handle, Util_convertBdAddr2Str(pEvent->linkCmpl.devAddr), 14);
#endif
// Display_print0(dispHandle, ROW_THREE, 0, "Connected");
selectedMenuItem = MENU_ITEM_CONN_PARAM_UPDATE;
selectedMenuItem = MENU_ITEM_READ_WRITE;
KEY_INSTEAD_UART = 1;
// Display_print0(dispHandle, ROW_SEVEN, 0, ">Param upd req");
}
else
@@ -955,6 +1006,7 @@ static void SimpleBLECentral_processRoleEvent(gapCentralRoleEvent_t *pEvent)
{
if (pEvent->linkUpdate.status == SUCCESS)
{
// get connection interval here
// Display_print1(dispHandle, ROW_FOUR, 0, "ParUpd: %d ms", pEvent->linkUpdate.connInterval * 1.25);
}
else
@@ -1015,21 +1067,23 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
// Display_clearLines(dispHandle, ROW_TWO, ROW_SEVEN);
// Display_print0(dispHandle, ROW_SIX, 0, "<LEFT to browse");
// Display_print0(dispHandle, ROW_SEVEN, 0, ">RIGHT to scan");
#ifndef BOOSTXL_CC2650MA
mem_UART_clear_screen();
mem_UART_display("<LEFT to browse");
mem_UART_newline();
mem_UART_display(">RIGHT to scan");
mem_UART_newline();
#endif
state = BLE_STATE_BROWSING;
scanIdx = 0;
}
else
{
// Display_print1(dispHandle, ROW_ONE, 0, "Device %d", (scanIdx + 1));
mem_UART_clear_screen();
// mem_UART_clear_screen();
char device_number[2] = {(scanIdx + 1) + '0', '\0'};
#ifndef BOOSTXL_CC2650MA
mem_UART_display("Device");
mem_UART_display(device_number);
mem_UART_newline();
@@ -1040,6 +1094,7 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
mem_UART_display(">RIGHT to connect");
mem_UART_newline();
#endif
// Display_print0(dispHandle, ROW_TWO, 0, Util_convertBdAddr2Str(devList[scanIdx].addr));
// Display_print1(dispHandle, ROW_THREE, 0, "%s", devList[scanIdx].localName);
// Display_print0(dispHandle, ROW_SEVEN, 0, ">RIGHT to connect");
@@ -1062,7 +1117,6 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
flag_notify(EVT_MEM_DECODE_INS);
}
if (keys & KEY_LEFT)
{
//Navigate through discovery results
@@ -1075,13 +1129,14 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
// Display_print1(dispHandle, ROW_ONE, 0, "Devices found %d", scanRes);
// Display_print0(dispHandle, ROW_SIX, 0, "<LEFT to browse");
// Display_print0(dispHandle, ROW_SEVEN, 0, ">RIGHT to scan");
#ifndef BOOSTXL_CC2650MA
mem_UART_clear_screen();
mem_UART_display("<LEFT to browse");
mem_UART_newline();
mem_UART_display(">RIGHT to scan");
mem_UART_newline();
#endif
state = BLE_STATE_BROWSING;
scanIdx = 0;
}
@@ -1092,8 +1147,9 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
// Display_print0(dispHandle, ROW_TWO, 0, Util_convertBdAddr2Str(devList[scanIdx].addr));
// Display_print1(dispHandle, ROW_THREE, 0, "%s", devList[scanIdx].localName);
// Display_print0(dispHandle, ROW_SEVEN, 0, ">RIGHT to connect");
mem_UART_clear_screen();
// mem_UART_clear_screen();
char device_number[2] = { (scanIdx + 1) + '0', '\0'};
#ifndef BOOSTXL_CC2650MA
mem_UART_display("Devices ");
mem_UART_display(device_number);
mem_UART_newline();
@@ -1106,7 +1162,7 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
mem_UART_display(">RIGHT to connect");
mem_UART_newline();
#endif
state = BLE_STATE_BROWSING;
scanIdx++;
}
@@ -1141,10 +1197,12 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
// Display_clearLines(dispHandle, ROW_FOUR, ROW_SEVEN);
// Display_print0(dispHandle, ROW_TWO, 0, Util_convertBdAddr2Str(peerAddr));
// Display_print0(dispHandle, ROW_FOUR, 0, "Connecting");
#ifndef BOOSTXL_CC2650MA
mem_UART_clear_screen();
mem_UART_display(Util_convertBdAddr2Str(peerAddr));
mem_UART_display("Connecting");
mem_UART_newline();
#endif
}
}
}
@@ -1155,6 +1213,11 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
break;
case BLE_STATE_CONNECTED:
if(keys & KEY_UART_EN)
{
flag_notify(EVT_MEM_DECODE_INS);
}
if (keys & KEY_LEFT) //Navigate though menu.
{
//Iterate through rows
@@ -1165,36 +1228,46 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
if (SimpleBLECentral_RssiFind(connHandle) == NULL)
{
// Display_print0(dispHandle, ROW_SEVEN, 0, ">Start RSSI poll");
#ifndef BOOSTXL_CC2650MA
mem_UART_display(">Start RSSI poll");
mem_UART_newline();
#endif
}
else
{
// Display_print0(dispHandle, ROW_SEVEN, 0, ">Stop RSSI poll");
#ifndef BOOSTXL_CC2650MA
mem_UART_display(">Stop RSSI poll");
mem_UART_newline();
#endif
}
break;
case MENU_ITEM_RSSI:
selectedMenuItem = MENU_ITEM_READ_WRITE;
// Display_print0(dispHandle, ROW_SEVEN, 0, ">Read/write req");
#ifndef BOOSTXL_CC2650MA
mem_UART_display(">Read/write req");
mem_UART_newline();
#endif
break;
case MENU_ITEM_READ_WRITE:
selectedMenuItem = MENU_ITEM_DISCONNECT;
// Display_print0(dispHandle, ROW_SEVEN, 0, ">Disconnect");
#ifndef BOOSTXL_CC2650MA
mem_UART_display(">Disconnect");
mem_UART_newline();
#endif
break;
case MENU_ITEM_DISCONNECT:
selectedMenuItem = MENU_ITEM_CONN_PARAM_UPDATE;
// Display_print0(dispHandle, ROW_SEVEN, 0, ">Param upd req");
#ifndef BOOSTXL_CC2650MA
mem_UART_display(">Param upd req");
mem_UART_newline();
#endif
break;
}
}
@@ -1233,20 +1306,26 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
// Display_clearLine(dispHandle, ROW_FIVE);
SimpleBLECentral_StartRssi(connHandle, DEFAULT_RSSI_PERIOD);
// Display_print0(dispHandle, ROW_SEVEN, 0, ">Stop RSSI poll");
#ifndef BOOSTXL_CC2650MA
mem_UART_display(">Stop RSSI poll");
mem_UART_newline();
#endif
}
else
{
SimpleBLECentral_CancelRssi(connHandle);
// Display_print0(dispHandle, ROW_FIVE, 0, "RSSI Cancelled");
#ifndef BOOSTXL_CC2650MA
mem_UART_display("RSSI Cancelled");
mem_UART_newline();
#endif
if (selectedMenuItem == MENU_ITEM_RSSI)
{
// Display_print0(dispHandle, ROW_SEVEN, 0, ">Start RSSI poll");
#ifndef BOOSTXL_CC2650MA
mem_UART_display(">Start RSSI poll");
mem_UART_newline();
#endif
}
}
break;
@@ -1257,6 +1336,7 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
procedureInProgress == FALSE)
{
uint8_t status;
uint8_t ack[4] = {0,0,0,0};
static uint8_t enable_notify = 1;
// Do a read or write as long as no other read or write is in progress
if (WWR == 0)
@@ -1267,9 +1347,10 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
if ( req.pValue != NULL )
{
// Display_print0(dispHandle, ROW_SIX, 0, "Write req sent");
#ifndef BOOSTXL_CC2650MA
mem_UART_display("Notify enable sent");
mem_UART_newline();
#endif
req.handle = 0x0028;
req.len = 2;
req.pValue[0] = 0x01;
@@ -1282,6 +1363,13 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
{
GATT_bm_free((gattMsg_t *)&req, ATT_WRITE_REQ);
}
else{
ack[0] = WWR;
ack[1] = WWR;
ack[2] = WWR;
ack[3] = WWR;
UART_write(uart_handle, ack, 4);
}
}
else
@@ -1293,9 +1381,10 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
else if(WWR == 1){
attWriteReq_t req2;
req2.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, 3, NULL);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("instruction sent");
mem_UART_newline();
#endif
req2.handle = 0x0024;
req2.len = 3;
req2.pValue[0] = 0x30;
@@ -1309,14 +1398,22 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
{
GATT_bm_free((gattMsg_t *)&req2, ATT_WRITE_REQ);
}
else{
ack[0] = WWR;
ack[1] = WWR;
ack[2] = WWR;
ack[3] = WWR;
UART_write(uart_handle, ack, 4);
}
WWR ++;
}
else if(WWR == 2){
attWriteReq_t req3;
req3.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, 2, NULL);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("start sent");
mem_UART_newline();
#endif
req3.handle = 0x0024;
req3.len = 2;
req3.pValue[0] = 0xC0;
@@ -1329,35 +1426,45 @@ static void SimpleBLECentral_handleKeys(uint8_t shift, uint8_t keys)
{
GATT_bm_free((gattMsg_t *)&req3, ATT_WRITE_REQ);
}
else{
ack[0] = WWR;
ack[1] = WWR;
ack[2] = WWR;
ack[3] = WWR;
UART_write(uart_handle, ack, 4);
}
WWR ++;
}
else
{
// Do a read
// attReadReq_t req;
// req.handle = 0x0027;
// status = GATT_ReadCharValue(connHandle, &req, selfEntity);
//// Display_print0(dispHandle, ROW_SIX, 0, "Read req sent");
// mem_UART_display("Read req sent");
// // Do a read
//// attReadReq_t req;
//// req.handle = 0x0027;
//// status = GATT_ReadCharValue(connHandle, &req, selfEntity);
////// Display_print0(dispHandle, ROW_SIX, 0, "Read req sent");
//// mem_UART_display("Read req sent");
//// mem_UART_newline();
// attWriteReq_t req4;
// req4.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, 2, NULL);
//#ifndef BOOSTXL_CC2650MA
// mem_UART_display("reset sent");
// mem_UART_newline();
attWriteReq_t req4;
req4.pValue = GATT_bm_alloc(connHandle, ATT_WRITE_REQ, 2, NULL);
mem_UART_display("reset sent");
mem_UART_newline();
req4.handle = 0x0024;
req4.len = 2;
req4.pValue[0] = 0xC0;
req4.pValue[1] = 0x60;
req4.sig = 0;
req4.cmd = 0;
status = GATT_WriteCharValue(connHandle, &req4, selfEntity);
if ( status != SUCCESS )
{
GATT_bm_free((gattMsg_t *)&req4, ATT_WRITE_REQ);
}
WWR =2;
//#endif
// req4.handle = 0x0024;
// req4.len = 2;
//// req4.pValue[0] = 0xC0;
//// req4.pValue[1] = 0x60;
// req4.pValue[0] = 0x00;
// req4.pValue[1] = 0x00;
// req4.sig = 0;
// req4.cmd = 0;
//
// status = GATT_WriteCharValue(connHandle, &req4, selfEntity);
// if ( status != SUCCESS )
// {
// GATT_bm_free((gattMsg_t *)&req4, ATT_WRITE_REQ);
// }
// WWR =2;
}
if (status == SUCCESS)
@@ -1405,9 +1512,11 @@ static void SimpleBLECentral_processGATTMsg(gattMsgEvent_t *pMsg)
// No HCI buffer was available. App can try to retransmit the response
// on the next connection event. Drop it for now.
// Display_print1(dispHandle, ROW_SIX, 0, "ATT Rsp drped %d", pMsg->method);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("ATT Rsp drped : ");
// mem_UART_display_u8((uint8_t *) pMsg->method);
mem_UART_newline();
#endif
// mem_UART_display_u8((uint8_t *) pMsg->method);
}
else if ((pMsg->method == ATT_READ_RSP) ||
@@ -1417,15 +1526,18 @@ static void SimpleBLECentral_processGATTMsg(gattMsgEvent_t *pMsg)
if (pMsg->method == ATT_ERROR_RSP)
{
// Display_print1(dispHandle, ROW_SIX, 0, "Read Error %d", pMsg->msg.errorRsp.errCode);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("Read Error: ");
// mem_UART_display_u8((uint8_t *) pMsg->msg.errorRsp.errCode);
mem_UART_newline();
#endif
// mem_UART_display_u8((uint8_t *) pMsg->msg.errorRsp.errCode);
}
else
{
// After a successful read, display the read value
// Display_print1(dispHandle, ROW_SIX, 0, "Read rsp: %d", pMsg->msg.readRsp.pValue[0]);
char ret[7];
#ifndef BOOSTXL_CC2650MA
ret[0] = pMsg->msg.readRsp.pValue[0] + '0';
ret[1] = pMsg->msg.readRsp.pValue[1] + '0';
ret[2] = pMsg->msg.readRsp.pValue[2] + '0';
@@ -1436,6 +1548,7 @@ static void SimpleBLECentral_processGATTMsg(gattMsgEvent_t *pMsg)
mem_UART_display("Read rsp: ");
mem_UART_display_u16(ret[5]);
mem_UART_newline();
#endif
}
procedureInProgress = FALSE;
@@ -1447,9 +1560,11 @@ static void SimpleBLECentral_processGATTMsg(gattMsgEvent_t *pMsg)
if (pMsg->method == ATT_ERROR_RSP)
{
// Display_print1(dispHandle, ROW_SIX, 0, "Write Error %d", pMsg->msg.errorRsp.errCode);
mem_UART_display("Write Error: ");
// mem_UART_display_u8((uint8_t *) pMsg->msg.errorRsp.errCode);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("Write Error: ");
mem_UART_newline();
#endif
}
else
{
@@ -1469,15 +1584,24 @@ static void SimpleBLECentral_processGATTMsg(gattMsgEvent_t *pMsg)
// Display the opcode of the message that caused the violation.
// Display_print1(dispHandle, ROW_THREE, 0, "FC Violated: %d", pMsg->msg.flowCtrlEvt.opcode);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("FC Violated: \n\r");
#endif
}
else if (pMsg->method == ATT_MTU_UPDATED_EVENT)
{
// MTU size updated
// Display_print1(dispHandle, ROW_THREE, 0, "MTU Size: %d", pMsg->msg.mtuEvt.MTU);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("MTU_UPDATED_EVENT, MTU Size: ");
mem_UART_display_u16(pMsg->msg.mtuEvt.MTU);
mem_UART_newline();
#else
// MTU size
// uint8_t connect_done[4] = {"M", "T", "U", (uint8_t) (pMsg->msg.mtuEvt.MTU)};
uint8_t connect_done[4] = {'M', 'T', 'U', pMsg->msg.mtuEvt.MTU};
UART_write(uart_handle, connect_done, 4);
#endif
}
else if (pMsg->method == ATT_HANDLE_VALUE_NOTI){
@@ -1798,9 +1922,11 @@ static void SimpleBLECentral_processGATTDiscEvent(gattMsgEvent_t *pMsg)
// Just in case we're using the default MTU size (23 octets)
// Display_print1(dispHandle, ROW_THREE, 0, "MTU Size: %d", ATT_MTU_SIZE);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("exchange MTU response, MTU Size: ");
mem_UART_display_u16(ATT_MTU_SIZE);
mem_UART_newline();
#endif
discState = BLE_DISC_STATE_SVC;
// Discovery simple BLE service
@@ -1816,6 +1942,7 @@ static void SimpleBLECentral_processGATTDiscEvent(gattMsgEvent_t *pMsg)
{
svcStartHdl = ATT_ATTR_HANDLE(pMsg->msg.findByTypeValueRsp.pHandlesInfo, 0);
svcEndHdl = ATT_GRP_END_HANDLE(pMsg->msg.findByTypeValueRsp.pHandlesInfo, 0);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("svcStartHdl:");
mem_UART_display_u16(svcStartHdl);
mem_UART_newline();
@@ -1823,6 +1950,7 @@ static void SimpleBLECentral_processGATTDiscEvent(gattMsgEvent_t *pMsg)
mem_UART_display("svcEndHdl:");
mem_UART_display_u16(svcEndHdl);
mem_UART_newline();
#endif
}
// If procedure complete
@@ -1843,9 +1971,10 @@ static void SimpleBLECentral_processGATTDiscEvent(gattMsgEvent_t *pMsg)
req.type.uuid[0] = LO_UINT16(0x2902);
req.type.uuid[1] = HI_UINT16(0x2902);
#ifndef BOOSTXL_CC2650MA
mem_UART_display("Discover characteristic");
mem_UART_newline();
#endif
VOID GATT_ReadUsingCharUUID(connHandle, &req, selfEntity);
}
}
@@ -1859,12 +1988,19 @@ static void SimpleBLECentral_processGATTDiscEvent(gattMsgEvent_t *pMsg)
charHdl = BUILD_UINT16(pMsg->msg.readByTypeRsp.pDataList[0],
pMsg->msg.readByTypeRsp.pDataList[1]);
// Display_print0(dispHandle, ROW_THREE, 0, "Simple Svc Found");
#ifndef BOOSTXL_CC2650MA
mem_UART_display("charHdl");
mem_UART_display_u16(charHdl);
mem_UART_newline();
mem_UART_display("Simple Svc Found");
mem_UART_newline();
#else
// connect done
uint8_t connect_done[4] = {42, 95, 5, 23};
UART_write(uart_handle, connect_done, 4);
#endif
procedureInProgress = FALSE;
}
discState = BLE_DISC_STATE_IDLE;
@@ -1953,11 +2089,13 @@ static void SimpleBLECentral_discoverDevices(void){
scanRes = 0;
memset(devList, NULL, sizeof(devList[0])*DEFAULT_MAX_SCAN_RES);
// Display_clearLines(dispHandle, ROW_ONE, ROW_SEVEN);
// Display_print0(dispHandle, ROW_ONE, 0, "Discovering...");
#ifndef BOOSTXL_CC2650MA
Display_clearLines(dispHandle, ROW_ONE, ROW_SEVEN);
Display_print0(dispHandle, ROW_ONE, 0, "Discovering...");
mem_UART_clear_screen();
mem_UART_display("Discovering");
mem_UART_newline();
#endif
GAPCentralRole_StartDiscovery(DEFAULT_DISCOVERY_MODE,
DEFAULT_DISCOVERY_ACTIVE_SCAN,
DEFAULT_DISCOVERY_WHITE_LIST);
@@ -2119,6 +2257,55 @@ static void SimpleBLECentral_addDeviceName(uint8_t i, uint8_t *pEvtData, uint8_t
}
}
static void SimepleBLECentral_getDeviceinfo(uint8_t i, uint8_t *pEvtData, uint8_t dataLen){
uint8_t scanRspLen;
uint8_t scanRspType;
uint8_t *pEnd;
pEnd = pEvtData + dataLen - 1;
// While end of data not reached
while (pEvtData < pEnd)
{
// Get length of next scan response item
scanRspLen = *pEvtData++;
if (scanRspLen > 0)
{
scanRspType = *pEvtData++;
// If scan response type is for local name
if (scanRspType == GAP_ADTYPE_MANUFACTURER_SPECIFIC)
{
uint8_t j = 0, k = 0;
uint8_t len[3] = {LEN_COMPANY_CODE,
LEN_VERSION_INFO,
LEN_BATTERY_INFO};
//Copy device name from the scan response data
while ((pEvtData < pEnd) && (j < scanRspLen - 1))
{
if( j < len[0] ){
devList[i].company_code[k++] = *pEvtData++;
}
else if( j < len[0] + len[1] ){
devList[i].version_info[k++ - len[0]] = *pEvtData++;
}
else if( j < len[0] + len[1] + len[2] ){
devList[i].battery_info[k++ -len[0] - len[1]] = *pEvtData++;
}
j++;
}
}
}
else
{
// Go to next scan response item
pEvtData += scanRspLen;
}
}
}
/*********************************************************************
* @fn SimpleBLECentral_eventCB
@@ -3,14 +3,14 @@
#define VERSION_DATE
#define VERSION_DATE_YEAR 20
#define VERSION_DATE_MONTH 5
#define VERSION_DATE_DAY 20
#define VERSION_DATE_HOUR 17
#define VERSION_DATE_MINUTE 24
#define VERSION_DATE_MONTH 7
#define VERSION_DATE_DAY 10
#define VERSION_DATE_HOUR 18
#define VERSION_DATE_MINUTE 32
// this is NOT the version hash !!
// it's the last version hash
#define VERSION_HASH eee40006d0e7f9e3ea85bd455f212034f932591d
#define VERSION_GIT_BRANCH MemBoard_simple_central
#define VERSION_HASH 93deaea1f3ee21a1ff52d9cd2cfd7e4ea97d26d9
#define VERSION_GIT_BRANCH simple_central_ma_pin
#endif
@@ -51,7 +51,7 @@
#include "hal_types.h"
#include "ble_user_config.h"
#include <ti/drivers/rf/rf.h>
#include <ti/drivers/rf/RF.h>
#if defined(BLE_V42_FEATURES) && (BLE_V42_FEATURES & SECURE_CONNS_CFG)
#include "ecc/ECCROMCC26XX.h"
@@ -49,7 +49,7 @@
*/
#include "osal_snv.h"
#include "osal_bufmgr.h"
#include "hci.h"
//#include "hci.h"
#include "sm.h"
#include "gap.h"
#include "gatt.h"
@@ -270,7 +270,7 @@ PIN_Status PIN_init(const PIN_Config aPinCfg[]) {
continue;
}
// Check that pin exists and is available
if (PIN_ID(aPinCfg[i])>=PIN_NumPins || bmReservedPins&(1<<PIN_ID(aPinCfg[i]))) {
if (PIN_ID(aPinCfg[i])>=PIN_NumPins || (bmReservedPins & (1<<( PIN_ID(aPinCfg[i]) )) )) {
return PIN_NO_ACCESS;
}
// Mark pin as being in aPinConfig