Compare commits

...

298 Commits

Author SHA1 Message Date
yichin ad1a5d25ac test data rate 10k 2020-05-06 20:53:31 +08:00
yichin 2424f31806 test data rate 10k 2020-05-06 20:41:06 +08:00
yichin d70b64a1f9 test data rate 2020-05-06 19:41:05 +08:00
yichin ed59a6502c test data rate 2020-05-06 19:12:08 +08:00
yichin 9b2ab7809f test data rate 2020-05-06 18:55:54 +08:00
yichin 5557f73416 test data rate 2020-05-06 18:35:31 +08:00
yichin 6ba1b1c347 test data rate 2020-05-06 18:18:19 +08:00
yichin e972859c1a pdu: 207 -> 251 2020-04-24 18:06:12 +08:00
yichin 597514a1cc attempt to config all register 2020-04-24 18:05:42 +08:00
yichin 9e278ac83a attempt to config all register 2020-04-24 17:49:30 +08:00
yichin 8df9c5d3dc attempt to config all register 2020-04-24 17:01:28 +08:00
weiting2 66e09591b4 attempt to use full function 2020-04-24 11:53:42 +08:00
weiting2 404d8d8d9d attempt to use full function neu with high DR 2020-04-23 18:13:44 +08:00
yichin 884b38b4a9 [semi stable] check sti_ch register 2020-04-23 15:35:35 +08:00
yichin 5a7604cad0 7.14k sample rate 2020-04-22 12:30:08 +08:00
yichin 06be551603 4K sample / sec 2020-04-22 11:39:09 +08:00
yichin 5d1aab1a17 2K sample / sec 2020-04-22 11:04:01 +08:00
yichin 7a88c4ea94 2K sample / sec 2020-04-22 10:38:47 +08:00
weiting2 071ee6d057 throughput test in neu2.1 2020-04-22 10:31:15 +08:00
yichin 7a3c746547 4K sample / sec 2020-04-21 18:30:47 +08:00
yichin 8e21db3440 what's wrong with the fucking connection interval 2020-04-21 17:19:19 +08:00
yichin 21be0d0286 counting data rate 2020-04-21 15:53:39 +08:00
yichin 8fdf51afea counting data rate 2020-04-21 12:41:44 +08:00
weiting2 ab98ad66a9 throughput test in neu2.1 2020-04-21 12:17:57 +08:00
yichin 14319151b3 attempt to call GATT_Notification 2020-04-21 11:55:10 +08:00
yichin 898478b485 attempt to construct clock 2020-04-21 11:12:54 +08:00
yichin 5923833fa1 check MTU update 2020-04-20 18:57:24 +08:00
yichin fd1d10b8e1 check MTU update 2020-04-20 18:07:10 +08:00
yichin b718cbfca3 throughput example 2020-04-20 12:18:38 +08:00
weiting2 a891741e98 throughput test in neu2.1 2020-04-20 11:46:47 +08:00
weiting2 1c14375948 throughput test in neu2.1 2020-04-17 17:00:27 +08:00
weiting2 c1cedcb9c2 add main in throughput example 2020-04-17 10:41:16 +08:00
yichin 271a80766b PDU = 207, connection interval = 14~25 * 8 2020-04-16 18:24:04 +08:00
yichin efb7df7c33 PDU = 207, connection interval = 14~25 * 8 2020-04-16 17:00:16 +08:00
yichin 0471fa43dc Merge remote-tracking branch 'origin/Neulive2.0_developement' into Neulive2.0_developement 2020-04-16 15:48:51 +08:00
weiting2 aa0c14c588 update pdu and request_tx_time 2020-04-16 15:48:39 +08:00
yichin 2543fd1238 Merge remote-tracking branch 'origin/Neulive2.0_developement' into Neulive2.0_developement 2020-04-16 15:40:52 +08:00
weiting2 c01d6a3899 update pdu and request_tx_time 2020-04-16 15:40:29 +08:00
yichin 79e5a480ec connection interval = 20~25 * 1.25ms 2020-04-16 13:34:32 +08:00
weiting2 e3bb56f38b update connection interval 2020-04-16 11:57:54 +08:00
weiting2 77cc277ba9 [semi stable] enable fast settling 2020-04-16 10:56:40 +08:00
weiting2 0bb8d7788d [semi stable] disable fast settling 2020-04-16 10:27:38 +08:00
weiting2 fcb35d7b91 [semi stable] should be no problem 2020-04-16 10:12:22 +08:00
weiting2 970d2adf73 [semi stable] should be no problem 2020-04-15 21:32:43 +08:00
weiting2 3d1779ad81 STI can work without REC? 2020-04-15 21:32:11 +08:00
weiting2 05bbb46400 STI can work without REC? 2020-04-15 21:23:05 +08:00
yichin b1dae861fc REC STI push low while working 2020-04-15 21:22:38 +08:00
weiting2 b9a0acffea STI can work without REC? 2020-04-15 18:02:48 +08:00
weiting2 765326df98 Merge remote-tracking branch 'origin/Neulive2.0_developement' into Neulive2.0_developement 2020-04-15 16:26:56 +08:00
weiting2 394b959ae5 combine rec and sti 2020-04-15 16:26:46 +08:00
yichin 09ab588e06 REC STI combine 2020-04-15 16:17:32 +08:00
weiting2 ad4898e0f0 combine rec and sti 2020-04-15 16:13:40 +08:00
weiting2 535f2a2f7d combine rec and sti 2020-04-14 17:21:44 +08:00
yichin a2235da1fd combine REC STI 2020-04-14 16:43:55 +08:00
weiting2 f9e281ea4a combine rec and sti 2020-04-14 14:36:44 +08:00
yichin 8a64684247 combine sti and rec 2020-04-14 14:31:01 +08:00
weiting2 290af2a77c [semi-stable] sti_clk updated, rec/sti can not co-work 2020-04-10 11:37:43 +08:00
yichin 99ceee42f6 sti clk = 2 2020-04-10 11:35:02 +08:00
yichin 6bc11ba56a [debug] test central memory 2020-04-09 17:30:56 +08:00
yichin 704253a9e8 [debug] test central memory 2020-04-09 17:21:56 +08:00
weiting2 efe3678d55 update sti_clk ratio 2020-04-08 19:03:04 +08:00
weiting2 3347d31297 [debug] check battery voltage during init 2020-04-08 17:47:49 +08:00
weiting2 d84d8666c5 [debug] turn off LED before shutdown 2020-04-08 16:51:49 +08:00
weiting2 b9e839ff41 [debug] turn off LED before shutdown 2020-04-08 16:48:37 +08:00
weiting2 24634276aa [debug] device should shutdown if battery below 4.2V 2020-04-08 16:36:27 +08:00
yichin 8e691ba69e Merge remote-tracking branch 'origin/Neulive2.0_developement' into Neulive2.0_developement 2020-04-08 16:31:04 +08:00
weiting2 30aa17dd0e update sti_clock ratio 2020-04-08 16:28:42 +08:00
yichin f0fbe52296 update cali table 2020-04-07 15:23:23 +08:00
yichin 48f61c564f update cali table 2020-04-07 10:56:30 +08:00
weiting2 1e67263010 recording data has wrong channel (last time select channel)
attempt to solve it
2020-04-06 18:37:16 +08:00
weiting2 9cf1e8f268 check STI register (polarity & amplitude) 2020-04-06 18:08:30 +08:00
yichin ceb15a9af1 red-purple if default RIS 2020-04-01 19:28:20 +08:00
weiting2 fe0c6093d5 check STI register (polarity & amplitude) 2020-04-01 10:04:33 +08:00
weiting2 a231b33ef8 check STI register (channel & amplitude) 2020-03-31 18:40:34 +08:00
weiting2 ccacc34bd0 check STI register (channel & amplitude) 2020-03-31 18:14:26 +08:00
weiting2 111d593567 check STI register (channel & amplitude) 2020-03-31 17:55:40 +08:00
weiting2 65eb3ab488 check STI register (channel & amplitude) 2020-03-31 17:31:56 +08:00
weiting2 ad65de63fe check STI register (channel & amplitude) 2020-03-31 15:11:13 +08:00
weiting2 135c7aaac4 update STT flag = true condition 2020-03-26 16:48:57 +08:00
weiting2 881e0ced01 orange LED when STI 2020-03-25 17:52:54 +08:00
weiting2 e79a73588f fix sti ins bug 2020-03-25 11:32:55 +08:00
weiting2 2c03a95d28 update comment 2020-03-25 11:14:46 +08:00
weiting2 17177af681 update comment 2020-03-24 17:50:11 +08:00
weiting2 bda081de95 update comment 2020-03-24 14:56:27 +08:00
weiting2 638c2fe671 [semi stable] battery volt with new format 2020-03-23 15:25:55 +08:00
weiting2 3d1de663a8 [semi stable] calibration well function; check chip register; check notify channel 2020-03-23 12:03:17 +08:00
weiting2 d1b1daeed7 [semi stable] calibration well function; check chip register; check notify channel 2020-03-23 11:54:36 +08:00
weiting2 3c22eda2dc [semi stable] calibration well function; check chip register; check notify channel 2020-03-20 17:20:07 +08:00
weiting2 5deae80baa [semi stable] calibration well function; check chip register; check notify channel 2020-03-20 17:10:06 +08:00
weiting2 0ce0e65d40 update cali CIS format 2020-03-20 14:11:34 +08:00
weiting2 cacc86099e update cali CIS format 2020-03-19 18:45:54 +08:00
weiting2 9b0d2a7fce [debug] check the first received channel 2020-03-17 15:15:32 +08:00
weiting2 71387262fc [debug] update cali table 2020-03-17 12:01:27 +08:00
weiting2 e9fbbc2aa1 Merge remote-tracking branch 'origin/Neulive2.0_developement' into Neulive2.0_developement 2020-03-17 11:41:59 +08:00
weiting2 ead9ef68ce Merge remote-tracking branch 'origin/Neulive2.0_developement' into Neulive2.0_developement 2020-03-17 11:38:46 +08:00
weiting2 b3f57d19b1 [debug] LED corlor = GRENN/CYAN if dis/connect 2020-03-17 11:38:45 +08:00
weiting2 3b6cc46136 Merge remote-tracking branch 'origin/Neulive2.0_developement' into Neulive2.0_developement 2020-03-17 11:38:11 +08:00
weiting2 11e1e8a26c [debug] LED corlor = GRENN/CYAN if dis/connect 2020-03-17 11:38:02 +08:00
weiting2 a6ce89f73f [stable] LED corlor = GRENN/CYAN if dis/connect 2020-03-17 11:36:50 +08:00
weiting2 aceb1d2f05 connect reset=CYCN; standby reset=GREEN 2020-03-17 11:26:39 +08:00
weiting2 24c476d919 [debug] TODO: connect reset=CYCN; standby reset=GREEN 2020-03-17 11:20:51 +08:00
weiting2 28332daea7 [stable] close-reopen SPI during reset 2020-03-17 11:10:32 +08:00
weiting2 0439d8d97d [debug] close-reopen SPI during reset 2020-03-17 11:06:48 +08:00
weiting2 3baec88cce [debug] check unusual channel pattern 2020-03-17 10:59:15 +08:00
weiting2 a3a69d24fd connect = LED CYAN; working = LED BLUE 2020-03-17 10:52:21 +08:00
weiting2 7ae75451bc [stable] neu2.1 check all rec register 2020-03-17 10:32:41 +08:00
weiting2 6937b6a54f check chip register 2020-03-16 19:03:25 +08:00
weiting2 fdbe554eda check chip register 2020-03-16 16:24:22 +08:00
weiting2 dac9aa3444 check chip register 2020-03-16 15:38:17 +08:00
weiting2 b9f8f07bbc check chip register 2020-03-16 15:35:39 +08:00
weiting2 3815fc66b4 check chip register 2020-03-16 15:30:39 +08:00
weiting2 77dbf2f5c9 check chip register 2020-03-16 14:27:07 +08:00
weiting2 e6c157688a check chip register 2020-03-16 12:00:47 +08:00
weiting2 4c72d92ebe neu, elite cali script 2020-03-13 15:05:03 +08:00
weiting2 919dfbc31b neu2.1 cali 2020-03-13 12:03:08 +08:00
weiting2 cc6f06dc3e neu2.1 cali 2020-03-12 10:22:37 +08:00
weiting2 0d97b06c57 [debug] time stamp nonuniform issue; report every time stamp to controller 2020-03-10 18:07:35 +08:00
weiting2 feffc91f96 [Stable] resolved timestamp reset issue 2020-03-10 15:34:59 +08:00
weiting2 fdb2c85ce3 CCS can not link FlushNotify function. What a garbage IDE 2020-03-10 15:31:41 +08:00
weiting2 94e0286059 CCS can not link FlushNotify function. What a garbage IDE 2020-03-10 15:25:32 +08:00
weiting2 97b1aac278 error fix 2020-03-10 14:59:46 +08:00
weiting2 ac7f145da5 error fix 2020-03-10 14:12:44 +08:00
weiting2 43f89eee78 error fix 2020-03-10 14:11:29 +08:00
weiting2 9ab356af36 error fix 2020-03-10 14:09:33 +08:00
weiting2 c9f7007368 flush notify before/after work 2020-03-10 14:07:19 +08:00
weiting2 4ebdb5cfa1 flush notify before/after work 2020-03-10 11:36:52 +08:00
weiting2 cd25c99600 flush notify before/after work 2020-03-10 11:10:00 +08:00
weiting2 adf44acec1 [Stable] resolved restart issue; update battery voltage while scan and connect 2020-03-09 17:47:11 +08:00
weiting2 61ba6905d3 update battery voltage while scanning device 2020-03-09 17:43:36 +08:00
weiting2 9991c818a4 error fix 2020-03-05 18:50:15 +08:00
weiting2 0e5f136c22 error fix 2020-03-05 18:48:40 +08:00
weiting2 9cd9680805 solve a script bug 2020-03-05 18:44:05 +08:00
weiting2 6faafc39e4 solve a script bug 2020-03-05 18:33:51 +08:00
weiting2 27896cd970 solve a script bug 2020-03-05 18:24:37 +08:00
weiting2 761a2c1653 add report battery function 2020-03-05 18:08:45 +08:00
weiting2 fd59b5a6ea add report battery function 2020-03-05 18:06:51 +08:00
weiting2 fec1fd439e add report battery function 2020-03-05 18:01:23 +08:00
weiting2 f0bc9575b9 add report battery function 2020-03-05 15:32:24 +08:00
weiting2 7a87809974 add cali function 2020-03-05 15:26:12 +08:00
weiting2 83befad0b1 add cali function 2020-03-05 15:25:06 +08:00
weiting2 1eb6b386e5 add cali table 2020-03-05 15:23:57 +08:00
weiting2 4d51474c65 check both rec & sti channel register 2020-03-05 15:00:59 +08:00
weiting2 3cb8a846b6 restart issue 99% solved 2020-03-05 14:47:49 +08:00
weiting2 bb0e524314 will recording work fine? 2020-03-05 14:32:56 +08:00
weiting2 f4a49e95f8 will recording work fine? 2020-03-05 14:02:13 +08:00
weiting2 d1dcc60965 will recording work fine? 2020-03-05 13:53:12 +08:00
weiting2 bacb67a75e will recording work fine? 2020-03-05 13:36:52 +08:00
weiting2 b9aaaf441e will recording work fine? 2020-03-05 11:53:35 +08:00
weiting2 d7684cb6b8 recording enable 2020-02-27 14:38:55 +08:00
weiting2 bd527afe41 recording enable 2020-02-27 10:32:33 +08:00
weiting2 996e73f2c8 recording enable 2020-02-25 18:40:43 +08:00
weiting2 9fdf1b535d get sti instruction 2020-02-25 16:52:13 +08:00
weiting2 c9bb309c29 get sti instruction 2020-02-25 16:52:05 +08:00
weiting2 9939a92809 update version script 2020-02-25 12:36:46 +08:00
weiting2 d5f1068b78 update version script 2020-02-25 12:36:15 +08:00
weiting2 5fdc676460 add version script 2020-02-25 12:17:39 +08:00
weiting2 d826e90919 add version script 2020-02-25 12:17:34 +08:00
weiting2 3bb8a11aff add version script 2020-02-25 12:16:48 +08:00
weiting2 7c00fd31c6 add version script 2020-02-25 12:16:29 +08:00
weiting2 a77f800a1d add version script 2020-02-25 12:14:04 +08:00
weiting2 799a7434dc add version script 2020-02-25 12:12:14 +08:00
weiting2 320c960370 add version script 2020-02-25 12:10:57 +08:00
weiting2 68673ef071 add version script 2020-02-24 18:29:22 +08:00
weiting2 114b7d1776 add version script 2020-02-24 18:23:32 +08:00
weiting2 9e6a71f7f8 add version script 2020-02-24 18:22:31 +08:00
weiting2 ad566ac363 add version script 2020-02-24 18:21:14 +08:00
weiting2 0516a58ec6 add version script 2020-02-24 18:16:09 +08:00
weiting2 143f733077 add version script 2020-02-24 17:58:46 +08:00
weiting2 a774a98ea4 add version script 2020-02-24 17:54:17 +08:00
weiting2 22350a3555 add version script 2020-02-24 17:53:04 +08:00
weiting2 bd3ab34263 add version script 2020-02-24 17:51:54 +08:00
weiting2 1f3ef4c84a add version script 2020-02-24 17:50:46 +08:00
weiting2 2add4a55ef add version script 2020-02-24 17:50:39 +08:00
weiting2 8788cf21c4 add version script 2020-02-24 17:47:37 +08:00
weiting2 2ddc9eb927 add version script 2020-02-24 17:47:28 +08:00
weiting2 a4f8684bef add version script 2020-02-24 17:45:23 +08:00
weiting2 10c6cf52b1 add version script 2020-02-24 17:42:14 +08:00
weiting2 f12064e029 add version script 2020-02-24 17:42:04 +08:00
weiting2 985cf9f977 add version script 2020-02-24 17:41:02 +08:00
weiting2 1b54fcae86 add version script 2020-02-24 17:37:14 +08:00
weiting2 f1b2e5a530 add version script 2020-02-24 17:25:24 +08:00
weiting2 2464c99999 add version script 2020-02-24 17:09:06 +08:00
weiting2 17fd5ace9b amplitude = 0x01FF 2020-02-24 11:46:08 +08:00
weiting2 e266de61bf amplitude = 0x01FF 2020-02-24 11:39:09 +08:00
weiting2 e8ba02eb7a amplitude = 0x01FF 2020-02-24 11:29:49 +08:00
weiting2 40edc8677f fix t2~t5 assign bug 2020-02-24 10:53:49 +08:00
weiting2 82d9be071b fix t2~t5 assign bug 2020-02-24 10:28:29 +08:00
weiting2 81760c35c9 I forgot to set amplitude at the last commit QQ 2020-02-21 18:33:38 +08:00
weiting2 9a361e6e97 new test pattern 2020-02-21 17:33:16 +08:00
weiting2 67a276dbb6 current_sti_polarity should be 16-bits 2020-02-21 17:13:48 +08:00
weiting2 be1276785c bug fix 2020-02-21 16:57:20 +08:00
weiting2 2f8b646a4f return NEU_SETUP_DONE at correct time 2020-02-21 16:42:36 +08:00
yichin 1ff7bc8746 error fix 3 2020-02-21 12:17:45 +08:00
weiting2 1dbf5c1b6b using warm up instruction 2020-02-21 12:11:59 +08:00
weiting2 5ba1f22de8 using warm up instruction 2020-02-21 11:40:12 +08:00
weiting2 e04a49b6a0 using warm up instruction 2020-02-21 09:55:48 +08:00
weiting2 5b2529ad71 try to read register 2020-02-19 18:25:05 +08:00
weiting2 e0a193c671 Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13 2020-02-19 16:54:52 +08:00
weiting2 99023db231 try to read register 2020-02-19 16:54:43 +08:00
yichin 2c5c92e578 error fix 2020-02-19 16:48:15 +08:00
weiting2 22594e36c0 we can config more than one channel now 2020-02-19 16:44:44 +08:00
weiting2 9018c98a68 test sti instruction 2020-02-19 14:45:52 +08:00
weiting2 62ed077791 test sti instruction 2020-02-19 14:28:09 +08:00
weiting2 68b32a5a15 test sti instruction 2020-02-19 11:56:55 +08:00
weiting2 a24aebf4ac test sti instruction 2020-02-19 11:29:19 +08:00
weiting2 95a7926f36 test sti instruction 2020-02-19 10:37:49 +08:00
yichin 76d5537b7a Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13 2020-02-19 10:10:00 +08:00
weiting2 75f1fcc663 test sti instruction 2020-02-19 09:56:46 +08:00
weiting2 ab803c7a54 test sti instruction 2020-02-18 18:56:09 +08:00
yichin 0431f8f1be Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13 2020-02-18 18:42:40 +08:00
weiting2 4f1884a468 test sti instruction 2020-02-18 18:42:12 +08:00
yichin 1789fd82a0 Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13 2020-02-18 18:17:31 +08:00
weiting2 9602b5e7fb test sti instruction 2020-02-18 17:52:22 +08:00
yichin 08e9cc715f error fix 2020-02-18 16:53:23 +08:00
weiting2 578b483c68 Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13 2020-02-18 16:46:13 +08:00
weiting2 fc2bd6b187 test sti instruction 2020-02-18 16:46:04 +08:00
yichin e7180b56ee Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13 2020-02-18 14:10:19 +08:00
yichin 020703e07d error fix 2020-02-18 14:10:06 +08:00
weiting2 c1e8443ceb test sti instruction 2020-02-18 14:09:22 +08:00
weiting2 7cda4c4dec test sti instruction 2020-02-18 11:47:01 +08:00
weiting2 4194730f9c get register value (for debug) 2020-02-18 10:40:14 +08:00
weiting2 a3fabf7eb6 get register value (for debug) 2020-02-18 10:07:07 +08:00
weiting2 33b17782cf get register value (for debug) 2020-02-15 18:20:54 +08:00
weiting2 0307d7ba2a H-bridge test 2020-02-15 17:20:46 +08:00
weiting2 00c431dfd0 H-bridge test 2020-02-15 17:19:19 +08:00
weiting2 317b34a8c0 t4 = 0.5 * t1 2020-02-15 16:55:32 +08:00
weiting2 09060b0b6f test current sti 2020-02-15 16:14:42 +08:00
weiting2 4cdda6dacb Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13 2020-02-15 15:36:56 +08:00
weiting2 54193ffae7 test current sti 2020-02-15 15:36:45 +08:00
yichin af5cd3dcf2 error fix 2020-02-15 15:27:34 +08:00
yichin c9985a3c67 Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
2020-02-15 15:26:26 +08:00
yichin 1d7aa1b0ad add version.h 2020-02-15 15:25:58 +08:00
weiting2 bb4561bd4e test current sti 2020-02-15 15:24:14 +08:00
weiting2 9077420de8 [BUG] voltage stimulate has a bug, voltage_sti_amplitude can't assign 2020-02-15 12:05:28 +08:00
weiting2 26e5f36783 stimulate test 2020-02-15 11:46:43 +08:00
weiting2 4d5b7b3033 stimulate test 2020-02-15 11:22:36 +08:00
weiting2 ed73d2fdae sti channel should be a u16, not u8
(because current+volt have 8+1 = 9 channel)
2020-02-14 18:44:14 +08:00
weiting2 a00aec83ff return version from CIS 2020-02-14 18:21:10 +08:00
yichin 6b611ff248 return version from CIS
new cali table
2020-02-14 18:20:14 +08:00
weiting2 e2af8153ed return version from CIS 2020-02-14 18:19:03 +08:00
weiting2 5724a22c9d try to use volt sti 2020-02-14 18:14:57 +08:00
weiting2 ee8e207004 [stable] recording well function; system clk = 2M; sample rate = 2k (default, ADC_clk_ratio=100) 2020-02-14 12:12:06 +08:00
weiting2 a2c93167ce 8k sample rate 2020-02-13 18:01:36 +08:00
weiting2 e94fd65e8f notify data size should be 241, not 20 2020-02-13 16:54:08 +08:00
weiting2 ddf2f9e8f5 will it break down if pi3 don't save data 2020-02-13 16:00:49 +08:00
weiting2 923e6408e7 will it break down if don't send notify 2020-02-13 15:21:15 +08:00
weiting2 96e6a441b9 2k sample rate 2020-02-13 13:54:28 +08:00
weiting2 fbb8a4cbf6 1k sample rate 2020-02-13 11:46:01 +08:00
weiting2 2c84a79ebb test notify 2020-02-13 11:19:20 +08:00
weiting2 7bd2381dca test notify 2020-02-13 11:09:27 +08:00
weiting2 a922b0cc40 test notify 2020-02-13 11:05:54 +08:00
weiting2 3c0cf37074 test notify 2020-02-13 10:45:00 +08:00
weiting2 f9412ed0ea test notify 2020-02-13 10:37:54 +08:00
weiting2 da6647391c notify length = 241; should be 20 2020-02-13 10:13:37 +08:00
weiting2 a2c6c0298e notify length = 241; should be 20 2020-02-12 18:48:03 +08:00
weiting2 aa6c58df79 test instruction 2020-02-12 18:01:53 +08:00
yichin 71d43c26be error fix 2020-02-12 16:34:53 +08:00
weiting2 e9dea14165 is interrupt a bug? 2020-02-12 16:32:06 +08:00
weiting2 3b076f0faa Merge remote-tracking branch 'origin/Neulive20_MergeWith13' into Neulive20_MergeWith13 2020-02-12 15:28:36 +08:00
weiting2 2f4c6ce787 notify buffer size = 20 2020-02-12 15:28:27 +08:00
yichin 6425ffd91c error fix; still have pin init error 2020-02-12 12:01:39 +08:00
weiting2 cbbe0a7387 merge everything in neu1.3 2020-02-12 10:09:04 +08:00
yichin ad0c8e6bd6 error fix; still have pin init error 2020-02-11 18:57:40 +08:00
weiting2 68085d5ea5 merge everything in neu1.3 2020-02-11 18:45:48 +08:00
weiting2 bfba8a23e1 merge everything in neu1.3 2020-02-11 18:36:49 +08:00
weiting2 2cd847b57b merge peripheral.c headstage.h pin.h 2020-02-11 18:29:28 +08:00
weiting2 11928ccbb8 merge peripheral.c headstage.h pin.h 2020-02-11 18:16:38 +08:00
weiting2 7bc70b5a72 merge peripheral.c headstage.h pin.h 2020-02-11 17:35:24 +08:00
weiting2 e10eeb48dd merge peripheral.c headstage.h pin.h 2020-02-11 15:45:28 +08:00
yichin 1298b5ce2a using lauch pad 2020-01-21 16:40:47 +08:00
yichin 6bb6678e07 add documentation 2019-12-03 20:08:51 +08:00
yichin 21cae3841d data rate test modified 2019-11-27 18:41:57 +08:00
yichin 332f134542 data rate test 2019-11-26 20:02:09 +08:00
yichin 3d7c0be8f3 data rate test 2019-11-25 19:12:28 +08:00
yichin 3a80c00cc5 data rate test for memory board 2019-11-14 18:16:15 +08:00
yichin 4811d4fb7b data rate test for memory board 2019-11-14 15:23:17 +08:00
yichin 866c569afb data rate test for memory board 2019-11-13 20:24:26 +08:00
yichin c02f13773a modify data rate 2019-11-13 14:02:57 +08:00
yichin 4d70145b4a modify data rate 2019-11-12 21:16:30 +08:00
yichin 31cac06417 set Battery information during broadcast 2019-10-21 15:41:17 +08:00
yichin f442760ac4 find another method to measure battery 2019-10-18 16:27:39 +08:00
yichin bcca4e2d7a adc sample battery with a small bug
that data will be two times greater than actual value
2019-10-16 10:10:22 +08:00
yichin 8801b2fa9d adc sample battery with a small bug
that data will be two times greater than actual value
2019-10-15 16:51:39 +08:00
yichin b32974aab8 Merge branch 'neulive/development' of https://gitlab.com/s880782002/bioprocc2650 into neulive/development 2019-10-15 10:18:35 +08:00
yichin 133ebc1032 adc voltage sense 2019-10-14 22:08:07 +08:00
yichin e1cdcd73fc temporary add 2019-10-14 15:45:14 +08:00
yichin aa410bec37 debug channel swap 2019-10-07 21:56:14 +08:00
yichin 3ac4620c7d debug channel swap 2019-10-04 18:20:41 +08:00
yichin 5283d905b7 debug channel swap 2019-10-04 16:11:23 +08:00
yichin f1b30c3ba7 channel length extension done 2019-10-03 19:01:26 +08:00
yichin 37d16a41b7 channel length extension don 2019-10-03 15:22:35 +08:00
yichin 4d5704d99e temporary modification 2019-10-01 12:18:10 +08:00
yichin 95f667e3b0 neulive 1.3 parameter done 2019-09-30 11:16:33 +08:00
yichin 1d33c05ca3 debug neulive1.3 2019-09-27 13:39:35 +08:00
yichin 5b4e14ec73 pass 2019-09-25 23:32:36 +08:00
yichin fb5cbe212e pass 2019-09-25 14:40:25 +08:00
yichin f675ff0b66 debug done 2019-09-24 16:15:00 +08:00
yichin 83ad8302c1 neulive1.3 with bug 2019-09-24 15:31:22 +08:00
68 changed files with 6605 additions and 1777 deletions
+2 -1
View File
@@ -6,4 +6,5 @@ ccsv8/
simplelink/ble_sdk_2_02_02_25/examples/cc2650em/simple_peripheral/ccs/app/.config/
# CSS build files
FlashROM/
FlashROM/
/Elite_test.txt
+7
View File
@@ -0,0 +1,7 @@
MAC 18:04:ED:37:C6:6A .
. coeff offset
ADC_C1 311760871.760443 -50619.5024488329
ADC_C2 0.065484773376246 -1061.19682828209
ADC_C3 0.003142283837061 -50.9228211021286
DAC -1.05569320115838 -0.000624379961454
ADC_V1 56126.9201379636 10.1198174952741
+6 -1
View File
@@ -26,7 +26,8 @@ BioPro Device
3. Neulive 1.3
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_neulive.h`
[docs](simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx\app/headstage/uni/Neulive13.md)
4. EliteZM
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_zm.h`
@@ -35,6 +36,10 @@ BioPro Device
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_sti.h`
6. Neulive 2.0
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_neu.h`
### Notable source code
* gpio table
Executable
+39
View File
@@ -0,0 +1,39 @@
#!/bin/bash
#path=$(pwd)
#folder=$($path | awk -F"/" '{$NF}')
folder=$(basename "$(pwd)")
if [ "$folder" == "bioprocc2650" ]; then
year=$(date +%-y)
month=$(date +%-m)
day=$(date +%-d)
hour=$(date +%-H)
minute=$(date +%-M)
hash=$(git rev-parse HEAD)
branch=$(git rev-parse --abbrev-ref HEAD)
sed -i "5c #define VERSION_DATE_YEAR ${year}"\
./simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
sed -i "6c #define VERSION_DATE_MONTH ${month}"\
./simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
sed -i "7c #define VERSION_DATE_DAY ${day}"\
./simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
sed -i "8c #define VERSION_DATE_HOUR ${hour}"\
./simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
sed -i "9c #define VERSION_DATE_MINUTE ${minute}"\
./simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
sed -i "13c #define VERSION_HASH ${hash}"\
./simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
sed -i "14c #define VERSION_GIT_BRANCH ${branch}"\
./simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
#cat ./simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_version.h
fi
+5 -5
View File
@@ -23,7 +23,7 @@ NEULIVE_INSTRUCTION = {
NEULIVE_PARAMETER = {
'LB': 0, # LOW BAND FREQEUNCY
'CH': 0, # CHOPPER
'CH': 1, # CHOPPER
'FS': 0, # FAST SETTLE
'WF': 1, # WAVEFORM : POS, NEG, P2N...etc.
'TV': 0, # STIMULATION VOLTAGE
@@ -36,10 +36,10 @@ NEULIVE_PARAMETER = {
'SB': 2, # STIMULATION BEHAVIOR
'TF': 1, # STIMULATION FREQUENCY
'CA': 1, # AMP CHANNEL A ENABLE
'CB': 0, # AMP CHANNEL B ENABLE
'CC': 0, # AMP CHANNEL C ENABLE
'CD': 0, # AMP CHANNEL D ENABLE
'CHA': 0, # AMP CHANNEL A
'CB': 1, # AMP CHANNEL B ENABLE
'CC': 1, # AMP CHANNEL C ENABLE
'CD': 1, # AMP CHANNEL D ENABLE
'CHA': 9, # AMP CHANNEL A
'CHB': 1, # AMP CHANNEL B
'CHC': 2, # AMP CHANNEL C
'CHD': 3, # AMP CHANNEL D
@@ -256,7 +256,9 @@ def print_result(result: Result, options: Options):
print(result.data_file)
print('data_count', result.data_count)
print('channel', ' '.join(list(map(str, sorted(result.channel)))))
print()
inv_map = {v: k for k, v in result.time_delta_counter.items()}
print('data loss rate', 1 - max(inv_map.keys()) * inv_map[max(inv_map.keys())] / result.total_duration)
try:
sample_rate = result.sample_rate
print('sample_rate [1/s]', sample_rate)
@@ -294,6 +296,10 @@ def print_result(result: Result, options: Options):
paint_fft_result(result, options)
def calculate_(result: Result):
print(max(result))
def paint_fft_result(result: Result, options: Options):
import matplotlib.pyplot as plt
import numpy as np
@@ -9,6 +9,6 @@
<linkerCommandFile value="cc26x0f128.cmd"/>
<rts value="libc.a"/>
<createSlaveProjects value=""/>
<connection value="common/targetdb/connections/TIXDS110_Connection.xml"/>
<isTargetManual value="true"/>
<connection value="common/targetdb/connections/TIXDS100v3_Dot7_Connection.xml"/>
<isTargetManual value="false"/>
</projectOptions>
@@ -1,167 +1,325 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?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.1291753115">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1291753115" moduleId="org.eclipse.cdt.core.settings" name="FlashROM">
<externalSettings/>
<extensions>
<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="com.ti.rtsc.XDCtools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.rtsc.xdctools.parsers.ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="com.ti.ccstudio.binaryparser.CoffParser" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.rtsc.XDCtools.parsers.ErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser" id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1291753115" name="FlashROM" parent="com.ti.ccstudio.buildDefinitions.TMS470.Default" postbuildStep="${CG_TOOL_HEX} -order MS --memwidth=8 --romwidth=8 --intel -o ${ProjName}.hex ${ProjName}.out" prebuildStep="">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1291753115." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.DebugToolchain.1418073980" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.linkerDebug.1380025885">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1582688306" 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="CCS_MBS_VERSION=5.5.0"/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=&quot;libc.a&quot;"/>
<listOptionValue builtIn="false" value="RTSC_MBS_VERSION=2.2.0"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.32.0.06_core"/>
<listOptionValue builtIn="false" value="RTSC_PRODUCTS=com.ti.rtsc.TIRTOSCC13XX_CC26XX:2.21.01.08;"/>
<listOptionValue builtIn="false" value="INACTIVE_REPOS="/>
<listOptionValue builtIn="false" value="EXPANDED_REPOS="/>
<listOptionValue builtIn="false" value="LINK_ORDER=TOOLS/ccs_linker_defines.cmd;TOOLS/cc26xx_app.cmd;"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.739662419" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="16.9.4.LTS" valueType="string"/>
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.targetPlatformDebug.634338313" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.targetPlatformDebug"/>
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.builderDebug.1783170872" name="GNU Make.FlashROM" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.compilerDebug.853360855" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.compilerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.SILICON_VERSION.205081197" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.SILICON_VERSION.7M3" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.CODE_STATE.1562370453" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.CODE_STATE.16" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.ABI.54100387" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.ABI.eabi" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.LITTLE_ENDIAN.776513622" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.OPT_LEVEL.1445673478" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.OPT_LEVEL.4" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.OPT_FOR_SPEED.484926802" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.OPT_FOR_SPEED.0" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.INCLUDE_PATH.1112813014" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/simple_central/cc26xx/app"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/simple_profile"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/heapmgr"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/controller/cc26xx/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common"/>
<listOptionValue builtIn="false" value="${SRC_EX}/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/sdata"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/saddr"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/icall/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.C_DIALECT.863938432" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.C_DIALECT" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.C_DIALECT.C99" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DEFINE.1446784470" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
<listOptionValue builtIn="false" value="CC2650DK_7ID"/>
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="GAPCENTRALROLE_NUM_RSSI_LINKS=1"/>
<listOptionValue builtIn="false" value="HEAPMGR_SIZE=0"/>
<listOptionValue builtIn="false" value="ICALL_MAX_NUM_ENTITIES=6"/>
<listOptionValue builtIn="false" value="ICALL_MAX_NUM_TASKS=3"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<listOptionValue builtIn="false" value="USE_ICALL"/>
<listOptionValue builtIn="false" value="xBOARD_DISPLAY_EXCLUDE_LCD"/>
<listOptionValue builtIn="false" value="xDisplay_DISABLE_ALL"/>
<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_5.2.compilerID.DIAG_WARNING.1982088211" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DISPLAY_ERROR_NUMBER.1446305355" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DIAG_SUPPRESS.1394384102" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="48"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DIAG_WRAP.850367854" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.GEN_FUNC_SUBSECTIONS.1893776167" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.CMD_FILE.2006401530" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.CMD_FILE" valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/build_config.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg"/>
</option>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__C_SRCS.339372296" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__C_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__CPP_SRCS.1684283158" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__CPP_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__ASM_SRCS.876227203" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__ASM_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__ASM2_SRCS.1353139879" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__ASM2_SRCS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.linkerDebug.1380025885" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.linkerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.STACK_SIZE.266547265" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.STACK_SIZE" value="256" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.HEAP_SIZE.1467179876" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.HEAP_SIZE" value="0" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.MAP_FILE.1547400525" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.MAP_FILE" value="&quot;${ProjName}.map&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.OUTPUT_FILE.2000240221" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.OUTPUT_FILE" value="&quot;${ProjName}.out&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.LIBRARY.1982802675" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.LIBRARY" valueType="libs">
<listOptionValue builtIn="false" value="&quot;libc.a&quot;"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
<listOptionValue builtIn="false" value="${ROM}/common_rom_releases/03282014/common_rom.symbols"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.SEARCH_PATH.1904712364" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.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_5.2.linkerID.DIAG_WRAP.2092354689" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.DIAG_SUPPRESS.747202646" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.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_5.2.linkerID.DISPLAY_ERROR_NUMBER.1660885810" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.XML_LINK_INFO.1420411176" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.XML_LINK_INFO" value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.UNUSED_SECTION_ELIMINATION.1346463382" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.UNUSED_SECTION_ELIMINATION" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.UNUSED_SECTION_ELIMINATION.on" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.COMPRESS_DWARF.770157989" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.COMPRESS_DWARF" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.COMPRESS_DWARF.on" valueType="enumerated"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exeLinker.inputType__CMD_SRCS.421661570" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exeLinker.inputType__CMD_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exeLinker.inputType__CMD2_SRCS.1231976535" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exeLinker.inputType__CMD2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exeLinker.inputType__GEN_CMDS.604048880" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exeLinker.inputType__GEN_CMDS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.2015157039" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex"/>
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1717747287" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1962556839" 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.807920375" 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.1248595667" 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.444999592" 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.1186365171" 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.430694521" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="&quot;${CG_TOOL_ROOT}&quot;" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.136330490" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="cc26x0f128.cmd" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<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">
<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 configRelations="2" moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1291753115">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider"
id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1291753115"
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="com.ti.rtsc.XDCtools.parsers.ErrorParser" 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.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=""
errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.rtsc.XDCtools.parsers.ErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser;org.eclipse.cdt.core.GmakeErrorParser"
id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1291753115" name="FlashROM"
parent="com.ti.ccstudio.buildDefinitions.TMS470.Default"
postbuildStep="${CG_TOOL_HEX} -order MS --memwidth=8 --romwidth=8 --intel -o ${ProjName}.hex ${ProjName}.out"
prebuildStep="">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1291753115." name="/"
resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.1547228068"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.823790760">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1311981229"
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="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="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.1278535507"
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.1286316488"
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.446247774"
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.1912820484"
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.147395442"
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.1631152097"
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.1810396348"
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.1849265676"
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.1940421475"
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.1367001075"
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.286581495"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH"
valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false"
value="${SRC_EX}/examples/simple_central/cc26xx/app"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/simple_profile"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/heapmgr"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/controller/cc26xx/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common"/>
<listOptionValue builtIn="false" value="${SRC_EX}/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/sdata"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/saddr"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/icall/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.25198801"
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.DEFINE.1378439661"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE"
valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
<listOptionValue builtIn="false" value="CC2650DK_7ID"/>
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="GAPCENTRALROLE_NUM_RSSI_LINKS=1"/>
<listOptionValue builtIn="false" value="HEAPMGR_SIZE=0"/>
<listOptionValue builtIn="false" value="ICALL_MAX_NUM_ENTITIES=6"/>
<listOptionValue builtIn="false" value="ICALL_MAX_NUM_TASKS=3"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<listOptionValue builtIn="false" value="USE_ICALL"/>
<listOptionValue builtIn="false" value="xBOARD_DISPLAY_EXCLUDE_LCD"/>
<listOptionValue builtIn="false" value="xDisplay_DISABLE_ALL"/>
<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.DIAG_WARNING.233710223"
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_SUPPRESS.20229844"
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_WRAP.515276425"
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.472353918"
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.603203403"
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.1076262962"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE"
valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/build_config.opt"/>
<listOptionValue builtIn="false"
value="${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg"/>
</option>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.20122028"
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.1937961346"
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.1529081332"
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.1787052493"
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.823790760"
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.654839495"
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.1634394199"
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.81069661"
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.460762728"
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.1440650831"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY"
valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<listOptionValue builtIn="false"
value="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
<listOptionValue builtIn="false"
value="${ROM}/common_rom_releases/03282014/common_rom.symbols"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.1917305202"
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_WRAP.87877887"
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.607092195"
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.DIAG_SUPPRESS.898739186"
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.XML_LINK_INFO.456484788"
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.UNUSED_SECTION_ELIMINATION.1278856259"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.on"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.1963895384"
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"/>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.219058338"
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.992399023"
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.1599766614"
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.2046318121"
name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.966050821"
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.1884095023"
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.1998683028"
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.405695666" name="XDCtools"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.605667670"
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.133637234"
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.2039910934"
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.1480791815"
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.214895402"
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.1983684756"
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.224609618"
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"/>
<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">
<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>
@@ -1,419 +1,419 @@
<?xml version='1.0' encoding='UTF-8'?>
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>simple_central_cc2650em_app</name>
<comment/>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
<nature>com.ti.ccstudio.core.ccsNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>Application</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/ECC</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/ECC/ECCROMCC26XX.c</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/ecc/ECCROMCC26XX.c</locationURI>
</link>
<link>
<name>Drivers/ECC/ECCROMCC26XX.h</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/ecc/ECCROMCC26XX.h</locationURI>
</link>
<link>
<name>ICall</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>ICallBLE</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Include</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>PROFILES</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Startup</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>TOOLS</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Application/board_key.c</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/board_key.c</locationURI>
</link>
<link>
<name>Application/board_key.h</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/board_key.h</locationURI>
</link>
<link>
<name>Application/simple_central.c</name>
<type>1</type>
<locationURI>SRC_EX/examples/simple_central/cc26xx/app/simple_central.c</locationURI>
</link>
<link>
<name>Application/simple_central.h</name>
<type>1</type>
<locationURI>SRC_EX/examples/simple_central/cc26xx/app/simple_central.h</locationURI>
</link>
<link>
<name>Application/util.c</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/util.c</locationURI>
</link>
<link>
<name>Application/util.h</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/util.h</locationURI>
</link>
<link>
<name>Drivers/Display</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/PIN</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/RF</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/SPI</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/TRNG</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/UART</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/UDMA</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>ICall/heapmgr.h</name>
<type>1</type>
<locationURI>SRC_COMMON/heapmgr/heapmgr.h</locationURI>
</link>
<link>
<name>ICall/icall.c</name>
<type>1</type>
<locationURI>SRC_COMMON/icall/src/icall.c</locationURI>
</link>
<link>
<name>ICall/icall.h</name>
<type>1</type>
<locationURI>SRC_COMMON/icall/src/inc/icall.h</locationURI>
</link>
<link>
<name>ICall/icall_addrs.h</name>
<type>1</type>
<locationURI>SRC_EX/icall/inc/icall_addrs.h</locationURI>
</link>
<link>
<name>ICall/icall_cc2650.c</name>
<type>1</type>
<locationURI>SRC_COMMON/icall/src/icall_cc2650.c</locationURI>
</link>
<link>
<name>ICall/icall_platform.h</name>
<type>1</type>
<locationURI>SRC_COMMON/icall/src/icall_platform.h</locationURI>
</link>
<link>
<name>ICallBLE/ble_user_config.c</name>
<type>1</type>
<locationURI>SRC_EX/icall/app/ble_user_config.c</locationURI>
</link>
<link>
<name>ICallBLE/ble_user_config.h</name>
<type>1</type>
<locationURI>SRC_EX/icall/inc/ble_user_config.h</locationURI>
</link>
<link>
<name>ICallBLE/icall_api.c</name>
<type>1</type>
<locationURI>SRC_EX/icall/app/icall_api.c</locationURI>
</link>
<link>
<name>ICallBLE/icall_apimsg.h</name>
<type>1</type>
<locationURI>SRC_EX/icall/inc/icall_apimsg.h</locationURI>
</link>
<link>
<name>Include/gap.h</name>
<type>1</type>
<locationURI>SRC_BLE_CORE/inc/gap.h</locationURI>
</link>
<link>
<name>Include/gapbondmgr.h</name>
<type>1</type>
<locationURI>SRC_EX/profiles/roles/gapbondmgr.h</locationURI>
</link>
<link>
<name>Include/gapgattserver.h</name>
<type>1</type>
<locationURI>SRC_EX/inc/gapgattserver.h</locationURI>
</link>
<link>
<name>Include/gatt.h</name>
<type>1</type>
<locationURI>SRC_BLE_CORE/inc/gatt.h</locationURI>
</link>
<link>
<name>Include/hci.h</name>
<type>1</type>
<locationURI>SRC_BLE_CORE/inc/hci.h</locationURI>
</link>
<link>
<name>Include/osal_snv.h</name>
<type>1</type>
<locationURI>SRC_COMMON/osal/src/inc/osal_snv.h</locationURI>
</link>
<link>
<name>PROFILES/central.c</name>
<type>1</type>
<locationURI>SRC_EX/profiles/roles/cc26xx/central.c</locationURI>
</link>
<link>
<name>PROFILES/central.h</name>
<type>1</type>
<locationURI>SRC_EX/profiles/roles/cc26xx/central.h</locationURI>
</link>
<link>
<name>Startup/board.c</name>
<type>1</type>
<locationURI>SRC_EX/target/board.c</locationURI>
</link>
<link>
<name>Startup/ccfg_app_ble.c</name>
<type>1</type>
<locationURI>PARENT-1-ORG_PROJ_DIR/config/ccfg_app_ble.c</locationURI>
</link>
<link>
<name>Startup/main.c</name>
<type>1</type>
<locationURI>SRC_EX/examples/simple_central/cc26xx/app/main.c</locationURI>
</link>
<link>
<name>TOOLS/app_ble.cfg</name>
<type>1</type>
<locationURI>PARENT-2-ORG_PROJ_DIR/ccs/config/app_ble.cfg</locationURI>
</link>
<link>
<name>TOOLS/cc26xx_app.cmd</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/ccs/cc26xx_app.cmd</locationURI>
</link>
<link>
<name>TOOLS/ccs_compiler_defines.bcfg</name>
<type>1</type>
<locationURI>PARENT-2-ORG_PROJ_DIR/ccs/config/ccs_compiler_defines.bcfg</locationURI>
</link>
<link>
<name>TOOLS/ccs_linker_defines.cmd</name>
<type>1</type>
<locationURI>PARENT-2-ORG_PROJ_DIR/ccs/config/ccs_linker_defines.cmd</locationURI>
</link>
<link>
<name>Drivers/Display/Display.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/Display.h</locationURI>
</link>
<link>
<name>Drivers/Display/DisplayDogm1286.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/DisplayDogm1286.c</locationURI>
</link>
<link>
<name>Drivers/Display/DisplayDogm1286.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/DisplayDogm1286.h</locationURI>
</link>
<link>
<name>Drivers/Display/DisplayUART.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/DisplayUART.c</locationURI>
</link>
<link>
<name>Drivers/Display/DisplayUART.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/DisplayUART.h</locationURI>
</link>
<link>
<name>Drivers/PIN/PIN.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/PIN.h</locationURI>
</link>
<link>
<name>Drivers/PIN/PINCC26XX.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/pin/PINCC26XX.c</locationURI>
</link>
<link>
<name>Drivers/PIN/PINCC26XX.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/pin/PINCC26XX.h</locationURI>
</link>
<link>
<name>Drivers/RF/RFCC26XX_singleMode.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/rf/RFCC26XX_singleMode.c</locationURI>
</link>
<link>
<name>Drivers/RF/RF.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/rf/RF.h</locationURI>
</link>
<link>
<name>Drivers/SPI/SPI.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/SPI.c</locationURI>
</link>
<link>
<name>Drivers/SPI/SPI.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/SPI.h</locationURI>
</link>
<link>
<name>Drivers/SPI/SPICC26XXDMA.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/spi/SPICC26XXDMA.c</locationURI>
</link>
<link>
<name>Drivers/SPI/SPICC26XXDMA.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/spi/SPICC26XXDMA.h</locationURI>
</link>
<link>
<name>Drivers/TRNG/TRNGCC26XX.c</name>
<type>1</type>
<locationURI>SRC_COMMON/hal/src/target/_common/TRNGCC26XX.c</locationURI>
</link>
<link>
<name>Drivers/TRNG/TRNGCC26XX.h</name>
<type>1</type>
<locationURI>SRC_COMMON/hal/src/target/_common/TRNGCC26XX.h</locationURI>
</link>
<link>
<name>Drivers/UART/UART.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/UART.c</locationURI>
</link>
<link>
<name>Drivers/UART/UART.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/UART.h</locationURI>
</link>
<link>
<name>Drivers/UART/UARTCC26XX.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/uart/UARTCC26XX.c</locationURI>
</link>
<link>
<name>Drivers/UART/UARTCC26XX.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/uart/UARTCC26XX.h</locationURI>
</link>
<link>
<name>Drivers/UDMA/UDMACC26XX.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/dma/UDMACC26XX.c</locationURI>
</link>
<link>
<name>Drivers/UDMA/UDMACC26XX.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/dma/UDMACC26XX.h</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>CC26XXWARE</name>
<value>file:/C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/cc26xxware_2_24_03_17272</value>
</variable>
<variable>
<name>ORG_PROJ_DIR</name>
<value>${PARENT-2-PROJECT_LOC}/iar/stack</value>
</variable>
<variable>
<name>ROM</name>
<value>${PARENT-5-ORG_PROJ_DIR}/src/rom</value>
</variable>
<variable>
<name>SRC_BLE_CORE</name>
<value>${PARENT-5-ORG_PROJ_DIR}/src</value>
</variable>
<variable>
<name>SRC_COMMON</name>
<value>${PARENT-5-ORG_PROJ_DIR}/src/components</value>
</variable>
<variable>
<name>SRC_EX</name>
<value>${PARENT-5-ORG_PROJ_DIR}/src</value>
</variable>
<variable>
<name>TI_RTOS_DRIVERS_BASE</name>
<value>file:/C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/tidrivers_cc13xx_cc26xx_2_21_01_01/packages</value>
</variable>
<variable>
<name>TOOLS_BLE</name>
<value>${PARENT-5-ORG_PROJ_DIR}/tools</value>
</variable>
</variableList>
<name>simple_central_cc2650em_app</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.rtsc.xdctools.buildDefinitions.XDC.xdcNature</nature>
<nature>com.ti.ccstudio.core.ccsNature</nature>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
<linkedResources>
<link>
<name>Application</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>ICall</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>ICallBLE</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Include</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>PROFILES</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Startup</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>TOOLS</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Application/board_key.c</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/board_key.c</locationURI>
</link>
<link>
<name>Application/board_key.h</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/board_key.h</locationURI>
</link>
<link>
<name>Application/simple_central.c</name>
<type>1</type>
<locationURI>SRC_EX/examples/simple_central/cc26xx/app/simple_central.c</locationURI>
</link>
<link>
<name>Application/simple_central.h</name>
<type>1</type>
<locationURI>SRC_EX/examples/simple_central/cc26xx/app/simple_central.h</locationURI>
</link>
<link>
<name>Application/util.c</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/util.c</locationURI>
</link>
<link>
<name>Application/util.h</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/util.h</locationURI>
</link>
<link>
<name>Drivers/Display</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/ECC</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/PIN</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/RF</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/SPI</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/TRNG</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/UART</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>Drivers/UDMA</name>
<type>2</type>
<locationURI>virtual:/virtual</locationURI>
</link>
<link>
<name>ICall/heapmgr.h</name>
<type>1</type>
<locationURI>SRC_COMMON/heapmgr/heapmgr.h</locationURI>
</link>
<link>
<name>ICall/icall.c</name>
<type>1</type>
<locationURI>SRC_COMMON/icall/src/icall.c</locationURI>
</link>
<link>
<name>ICall/icall.h</name>
<type>1</type>
<locationURI>SRC_COMMON/icall/src/inc/icall.h</locationURI>
</link>
<link>
<name>ICall/icall_addrs.h</name>
<type>1</type>
<locationURI>SRC_EX/icall/inc/icall_addrs.h</locationURI>
</link>
<link>
<name>ICall/icall_cc2650.c</name>
<type>1</type>
<locationURI>SRC_COMMON/icall/src/icall_cc2650.c</locationURI>
</link>
<link>
<name>ICall/icall_platform.h</name>
<type>1</type>
<locationURI>SRC_COMMON/icall/src/icall_platform.h</locationURI>
</link>
<link>
<name>ICallBLE/ble_user_config.c</name>
<type>1</type>
<locationURI>SRC_EX/icall/app/ble_user_config.c</locationURI>
</link>
<link>
<name>ICallBLE/ble_user_config.h</name>
<type>1</type>
<locationURI>SRC_EX/icall/inc/ble_user_config.h</locationURI>
</link>
<link>
<name>ICallBLE/icall_api.c</name>
<type>1</type>
<locationURI>SRC_EX/icall/app/icall_api.c</locationURI>
</link>
<link>
<name>ICallBLE/icall_apimsg.h</name>
<type>1</type>
<locationURI>SRC_EX/icall/inc/icall_apimsg.h</locationURI>
</link>
<link>
<name>Include/gap.h</name>
<type>1</type>
<locationURI>SRC_BLE_CORE/inc/gap.h</locationURI>
</link>
<link>
<name>Include/gapbondmgr.h</name>
<type>1</type>
<locationURI>SRC_EX/profiles/roles/gapbondmgr.h</locationURI>
</link>
<link>
<name>Include/gapgattserver.h</name>
<type>1</type>
<locationURI>SRC_EX/inc/gapgattserver.h</locationURI>
</link>
<link>
<name>Include/gatt.h</name>
<type>1</type>
<locationURI>SRC_BLE_CORE/inc/gatt.h</locationURI>
</link>
<link>
<name>Include/hci.h</name>
<type>1</type>
<locationURI>SRC_BLE_CORE/inc/hci.h</locationURI>
</link>
<link>
<name>Include/osal_snv.h</name>
<type>1</type>
<locationURI>SRC_COMMON/osal/src/inc/osal_snv.h</locationURI>
</link>
<link>
<name>PROFILES/central.c</name>
<type>1</type>
<locationURI>SRC_EX/profiles/roles/cc26xx/central.c</locationURI>
</link>
<link>
<name>PROFILES/central.h</name>
<type>1</type>
<locationURI>SRC_EX/profiles/roles/cc26xx/central.h</locationURI>
</link>
<link>
<name>Startup/board.c</name>
<type>1</type>
<locationURI>SRC_EX/target/board.c</locationURI>
</link>
<link>
<name>Startup/ccfg_app_ble.c</name>
<type>1</type>
<locationURI>PARENT-1-ORG_PROJ_DIR/config/ccfg_app_ble.c</locationURI>
</link>
<link>
<name>Startup/main.c</name>
<type>1</type>
<locationURI>SRC_EX/examples/simple_central/cc26xx/app/main.c</locationURI>
</link>
<link>
<name>TOOLS/app_ble.cfg</name>
<type>1</type>
<locationURI>PARENT-2-ORG_PROJ_DIR/ccs/config/app_ble.cfg</locationURI>
</link>
<link>
<name>TOOLS/cc26xx_app.cmd</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/ccs/cc26xx_app.cmd</locationURI>
</link>
<link>
<name>TOOLS/ccs_compiler_defines.bcfg</name>
<type>1</type>
<locationURI>PARENT-2-ORG_PROJ_DIR/ccs/config/ccs_compiler_defines.bcfg</locationURI>
</link>
<link>
<name>TOOLS/ccs_linker_defines.cmd</name>
<type>1</type>
<locationURI>PARENT-2-ORG_PROJ_DIR/ccs/config/ccs_linker_defines.cmd</locationURI>
</link>
<link>
<name>Drivers/Display/Display.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/Display.h</locationURI>
</link>
<link>
<name>Drivers/Display/DisplayDogm1286.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/DisplayDogm1286.c</locationURI>
</link>
<link>
<name>Drivers/Display/DisplayDogm1286.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/DisplayDogm1286.h</locationURI>
</link>
<link>
<name>Drivers/Display/DisplayUART.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/DisplayUART.c</locationURI>
</link>
<link>
<name>Drivers/Display/DisplayUART.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/mw/display/DisplayUART.h</locationURI>
</link>
<link>
<name>Drivers/ECC/ECCROMCC26XX.c</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/ecc/ECCROMCC26XX.c</locationURI>
</link>
<link>
<name>Drivers/ECC/ECCROMCC26XX.h</name>
<type>1</type>
<locationURI>SRC_EX/common/cc26xx/ecc/ECCROMCC26XX.h</locationURI>
</link>
<link>
<name>Drivers/PIN/PIN.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/PIN.h</locationURI>
</link>
<link>
<name>Drivers/PIN/PINCC26XX.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/pin/PINCC26XX.c</locationURI>
</link>
<link>
<name>Drivers/PIN/PINCC26XX.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/pin/PINCC26XX.h</locationURI>
</link>
<link>
<name>Drivers/RF/RF.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/rf/RF.h</locationURI>
</link>
<link>
<name>Drivers/RF/RFCC26XX_singleMode.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/rf/RFCC26XX_singleMode.c</locationURI>
</link>
<link>
<name>Drivers/SPI/SPI.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/SPI.c</locationURI>
</link>
<link>
<name>Drivers/SPI/SPI.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/SPI.h</locationURI>
</link>
<link>
<name>Drivers/SPI/SPICC26XXDMA.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/spi/SPICC26XXDMA.c</locationURI>
</link>
<link>
<name>Drivers/SPI/SPICC26XXDMA.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/spi/SPICC26XXDMA.h</locationURI>
</link>
<link>
<name>Drivers/TRNG/TRNGCC26XX.c</name>
<type>1</type>
<locationURI>SRC_COMMON/hal/src/target/_common/TRNGCC26XX.c</locationURI>
</link>
<link>
<name>Drivers/TRNG/TRNGCC26XX.h</name>
<type>1</type>
<locationURI>SRC_COMMON/hal/src/target/_common/TRNGCC26XX.h</locationURI>
</link>
<link>
<name>Drivers/UART/UART.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/UART.c</locationURI>
</link>
<link>
<name>Drivers/UART/UART.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/UART.h</locationURI>
</link>
<link>
<name>Drivers/UART/UARTCC26XX.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/uart/UARTCC26XX.c</locationURI>
</link>
<link>
<name>Drivers/UART/UARTCC26XX.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/uart/UARTCC26XX.h</locationURI>
</link>
<link>
<name>Drivers/UDMA/UDMACC26XX.c</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/dma/UDMACC26XX.c</locationURI>
</link>
<link>
<name>Drivers/UDMA/UDMACC26XX.h</name>
<type>1</type>
<locationURI>TI_RTOS_DRIVERS_BASE/ti/drivers/dma/UDMACC26XX.h</locationURI>
</link>
</linkedResources>
<variableList>
<variable>
<name>CC26XXWARE</name>
<value>file:/C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/cc26xxware_2_24_03_17272</value>
</variable>
<variable>
<name>ORG_PROJ_DIR</name>
<value>$%7BPARENT-2-PROJECT_LOC%7D/iar/stack</value>
</variable>
<variable>
<name>ROM</name>
<value>$%7BPARENT-5-ORG_PROJ_DIR%7D/src/rom</value>
</variable>
<variable>
<name>SRC_BLE_CORE</name>
<value>$%7BPARENT-5-ORG_PROJ_DIR%7D/src</value>
</variable>
<variable>
<name>SRC_COMMON</name>
<value>$%7BPARENT-5-ORG_PROJ_DIR%7D/src/components</value>
</variable>
<variable>
<name>SRC_EX</name>
<value>$%7BPARENT-5-ORG_PROJ_DIR%7D/src</value>
</variable>
<variable>
<name>TI_RTOS_DRIVERS_BASE</name>
<value>file:/C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/tidrivers_cc13xx_cc26xx_2_21_01_01/packages</value>
</variable>
<variable>
<name>TOOLS_BLE</name>
<value>$%7BPARENT-5-ORG_PROJ_DIR%7D/tools</value>
</variable>
</variableList>
</projectDescription>
@@ -9,6 +9,6 @@
<linkerCommandFile value="cc26x0f128.cmd"/>
<rts value="libc.a"/>
<createSlaveProjects value=""/>
<connection value="common/targetdb/connections/TIXDS100v3_Dot7_Connection.xml"/>
<connection value="common/targetdb/connections/TIXDS110_Connection.xml"/>
<isTargetManual value="false"/>
</projectOptions>
@@ -18,141 +18,282 @@
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" errorParsers="org.eclipse.rtsc.xdctools.parsers.ErrorParser;com.ti.rtsc.XDCtools.parsers.ErrorParser;com.ti.ccstudio.errorparser.CoffErrorParser;com.ti.ccstudio.errorparser.LinkErrorParser;com.ti.ccstudio.errorparser.AsmErrorParser;org.eclipse.cdt.core.GmakeErrorParser" id="com.ti.ccstudio.buildDefinitions.TMS470.Default.67178137" name="FlashROM" parent="com.ti.ccstudio.buildDefinitions.TMS470.Default" postbuildStep="${CG_TOOL_HEX} -order MS --memwidth=8 --romwidth=8 --intel -o ${ProjName}.hex ${ProjName}.out" prebuildStep="">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.67178137." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.630386091" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.79296890">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.548534114" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2650F128"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.32.2.25_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="/>
<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.47584557" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="18.1.4.LTS" valueType="string"/>
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.1062983983" 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.1700118337" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.2136445879" 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.1442029135" 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.1227543067" 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.983343098" 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.915765448" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.2028717074" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.4" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.1765791493" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.0" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.355253920" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false" value="C:\ti\simplelink\ble_sdk_2_02_02_25\src\examples\simple_peripheral\cc26xx\app\headstage"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/simple_peripheral/cc26xx/app"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/dev_info"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/simple_profile/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/simple_profile"/>
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.508772074"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.253004641">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.307496426"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2650F128"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="XDC_VERSION=3.32.2.25_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="/>
<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.1440951273"
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.1602976043"
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.1636245865"
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.970988650"
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.1857210705"
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.714636443"
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.261228559"
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.1228981473"
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.605071558"
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.108821138"
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.957532787"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH"
valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false"
value="C:\ti\simplelink\ble_sdk_2_02_02_25\src\examples\simple_peripheral\cc26xx\app\headstage"/>
<listOptionValue builtIn="false"
value="${SRC_EX}/examples/simple_peripheral/cc26xx/app"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/dev_info"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/simple_profile/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/simple_profile"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/heapmgr"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/controller/cc26xx/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common"/>
<listOptionValue builtIn="false" value="${SRC_EX}/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/sdata"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/saddr"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/icall/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.45713043" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
<listOptionValue builtIn="false" value="HEADSTAGE_UNI_2_0"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<listOptionValue builtIn="false" value="BOOSTXL_CC2650MA"/>
<listOptionValue builtIn="false" value="HEADSTAGE_MA_USE_SPI2"/>
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="GAPROLE_TASK_STACK_SIZE=540"/>
<listOptionValue builtIn="false" value="HEAPMGR_SIZE=0"/>
<listOptionValue builtIn="false" value="ICALL_MAX_NUM_ENTITIES=6"/>
<listOptionValue builtIn="false" value="ICALL_MAX_NUM_TASKS=3"/>
<listOptionValue builtIn="false" value="USE_ICALL"/>
<listOptionValue builtIn="false" value="xBOARD_DISPLAY_EXCLUDE_LCD"/>
<listOptionValue builtIn="false" value="xDisplay_DISABLE_ALL"/>
<listOptionValue builtIn="false" value="xdc_runtime_Assert_DISABLE_ALL"/>
<listOptionValue builtIn="false" value="xdc_runtime_Log_DISABLE_ALL"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.188887433" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.709859007" name="C Dialect" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.C99" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC.1303283836" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.880614544" name="Suppress diagnostic &lt;id&gt; (--diag_suppress, -pds)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="48"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.787930495" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.2110497797" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.1508735855" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS.1406670754" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.1230809079" name="Read options from specified file (--cmd_file, -@)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/build_config.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg"/>
</option>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.497243650" 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.1364217553" 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.39449259" 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.1178170160" 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.79296890" 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.891763345" 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.314304138" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE" value="0" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.338495855" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE" value="&quot;${ProjName}.map&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.1060277100" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.875035059" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
<listOptionValue builtIn="false" value="${ROM}/common_rom_releases/03282014/common_rom.symbols"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.1276978340" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH" valueType="libPaths">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.336823753" name="Suppress diagnostic &lt;id&gt; (--diag_suppress)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="10247-D"/>
<listOptionValue builtIn="false" value="16002-D"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.1219370365" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.703721803" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.1258348097" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO" value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.1063255995" name="Aggressively reduce size of the DWARF information (--compress_dwarf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.on" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.1912195294" name="Eliminate sections not needed in the executable (--unused_section_elimination)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.on" valueType="enumerated"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.464172264" 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.1422737841" 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.194007756" 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.148133664" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1747210980" 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.2120609162" 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.147492991" name="Output format" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.INTEL" valueType="enumerated"/>
</tool>
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.2115491595" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1165924088" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
<listOptionValue builtIn="false" value="${COM_TI_RTSC_TIRTOSCC13XX_CC26XX_REPOS}"/>
<listOptionValue builtIn="false" value="${TARGET_CONTENT_BASE}"/>
</option>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.231881756" name="Target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.arm.elf.M3" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.819491801" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.simplelink:CC2640F128" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.2074274477" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW" value="ti.platforms.simplelink:CC2640F128" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.235985274" name="Build-profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="release" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.173132565" name="Compiler tools directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="${CG_TOOL_ROOT}" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.582390411" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
<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/sdata"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/saddr"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/icall/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.1105424988"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE"
valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
<listOptionValue builtIn="false" value="HEADSTAGE_NOTIFY_USE_ATT"/>
<listOptionValue builtIn="false" value="HEADSTAGE_MA_USE_ADC"/>
<listOptionValue builtIn="false" value="HEADSTAGE_RECORD_BATTERY"/>
<listOptionValue builtIn="false" value="HEADSTAGE_CIS_VOLT_H"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<listOptionValue builtIn="false" value="BOOSTXL_CC2650MA"/>
<listOptionValue builtIn="false" value="HEADSTAGE_MA_USE_SPI2"/>
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="GAPROLE_TASK_STACK_SIZE=540"/>
<listOptionValue builtIn="false" value="HEAPMGR_SIZE=0"/>
<listOptionValue builtIn="false" value="ICALL_MAX_NUM_ENTITIES=6"/>
<listOptionValue builtIn="false" value="ICALL_MAX_NUM_TASKS=3"/>
<listOptionValue builtIn="false" value="USE_ICALL"/>
<listOptionValue builtIn="false" value="xBOARD_DISPLAY_EXCLUDE_LCD"/>
<listOptionValue builtIn="false" value="xDisplay_DISABLE_ALL"/>
<listOptionValue builtIn="false" value="xdc_runtime_Assert_DISABLE_ALL"/>
<listOptionValue builtIn="false" value="xdc_runtime_Log_DISABLE_ALL"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.1032444705"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.1070661718"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT"
value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.C99"
valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC.476728347"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.1028582292"
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.1576358748"
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.839364861"
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.1520544614"
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.632756283"
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.1953982293"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE"
valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/build_config.opt"/>
<listOptionValue builtIn="false"
value="${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg"/>
</option>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.311618182"
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.1172126406"
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.1875232524"
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.1021129889"
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.253004641"
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.163894365"
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.446557062"
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.1183163963"
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.1489194034"
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.83785030"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY"
valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<listOptionValue builtIn="false"
value="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
<listOptionValue builtIn="false"
value="${ROM}/common_rom_releases/03282014/common_rom.symbols"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.531184787"
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.1981415630"
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.649902168"
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.1729779528"
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.1878611611"
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.202293784"
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.320082858"
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.1085231487"
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.1108737317"
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.75789309"
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.1993143283"
name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1082701845"
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.1869306517"
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.823229474"
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.91063780" name="XDCtools"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1479641733"
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.141072820"
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.29309402"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM"
value="ti.platforms.simplelink:CC2640F128" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.655405343"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW"
value="ti.platforms.simplelink:CC2640F128" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.2098255943"
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.1106331477"
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.803098937"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS"
value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
</toolChain>
</folderInfo>
<sourceEntries>
@@ -0,0 +1,6 @@
/FlashROM__opt_for_speed__0/
/FlashROM__opt_for_speed__1/
/FlashROM__opt_for_speed__2/
/FlashROM__opt_for_speed__3/
/FlashROM__opt_for_speed__4/
/FlashROM__opt_for_speed__5/
@@ -12,7 +12,7 @@
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:simple_peripheral_cc2650em_app}"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\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\app\FlashROM\simple_peripheral_cc2650em_app.out"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\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\app\FlashROM\simple_peripheral_cc2650em_app.out"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\ccsv8\ccs_base\emulation\gel\images\cc26xx\cc26x0_rtos_rom_syms.out"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\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\app\FlashROM\simple_peripheral_cc2650em_app.out"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/simple_peripheral_cc2650em_app"/>
</listAttribute>
@@ -29,4 +29,190 @@ encoding//FlashROM/TOOLS/subdir_rules.mk=UTF-8
encoding//FlashROM/TOOLS/subdir_vars.mk=UTF-8
encoding//FlashROM/makefile=UTF-8
encoding//FlashROM/objects.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Application/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Application/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/Display/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/Display/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/ECC/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/ECC/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/PIN/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/PIN/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/RF/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/RF/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/SPI/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/SPI/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/TRNG/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/TRNG/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/UART/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/UART/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/UDMA/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Drivers/UDMA/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/ICall/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/ICall/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/ICallBLE/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/ICallBLE/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/PROFILES/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/PROFILES/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Startup/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/Startup/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/TOOLS/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/TOOLS/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/makefile=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/objects.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__0/sources.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Application/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Application/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/Display/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/Display/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/ECC/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/ECC/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/PIN/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/PIN/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/RF/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/RF/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/SPI/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/SPI/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/TRNG/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/TRNG/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/UART/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/UART/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/UDMA/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Drivers/UDMA/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/ICall/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/ICall/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/ICallBLE/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/ICallBLE/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/PROFILES/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/PROFILES/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Startup/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/Startup/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/TOOLS/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/TOOLS/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/makefile=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/objects.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__1/sources.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Application/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Application/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/Display/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/Display/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/ECC/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/ECC/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/PIN/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/PIN/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/RF/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/RF/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/SPI/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/SPI/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/TRNG/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/TRNG/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/UART/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/UART/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/UDMA/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Drivers/UDMA/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/ICall/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/ICall/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/ICallBLE/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/ICallBLE/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/PROFILES/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/PROFILES/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Startup/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/Startup/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/TOOLS/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/TOOLS/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/makefile=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/objects.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__2/sources.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Application/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Application/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/Display/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/Display/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/ECC/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/ECC/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/PIN/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/PIN/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/RF/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/RF/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/SPI/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/SPI/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/TRNG/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/TRNG/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/UART/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/UART/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/UDMA/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Drivers/UDMA/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/ICall/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/ICall/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/ICallBLE/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/ICallBLE/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/PROFILES/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/PROFILES/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Startup/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/Startup/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/TOOLS/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/TOOLS/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/makefile=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/objects.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__3/sources.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Application/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Application/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/Display/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/Display/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/ECC/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/ECC/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/PIN/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/PIN/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/RF/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/RF/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/SPI/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/SPI/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/TRNG/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/TRNG/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/UART/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/UART/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/UDMA/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Drivers/UDMA/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/ICall/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/ICall/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/ICallBLE/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/ICallBLE/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/PROFILES/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/PROFILES/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Startup/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/Startup/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/TOOLS/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/TOOLS/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/makefile=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/objects.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__4/sources.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Application/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Application/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/Display/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/Display/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/ECC/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/ECC/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/PIN/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/PIN/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/RF/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/RF/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/SPI/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/SPI/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/TRNG/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/TRNG/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/UART/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/UART/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/UDMA/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Drivers/UDMA/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/ICall/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/ICall/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/ICallBLE/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/ICallBLE/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/PROFILES/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/PROFILES/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Startup/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/Startup/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/TOOLS/subdir_rules.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/TOOLS/subdir_vars.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/makefile=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/objects.mk=UTF-8
encoding//FlashROM/optimizerAssistant/opt_for_speed__5/sources.mk=UTF-8
encoding//FlashROM/sources.mk=UTF-8
@@ -1,19 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS100v3 USB Debug Probe_0" href="connections/TIXDS100v3_Dot7_Connection.xml" id="Texas Instruments XDS100v3 USB Debug Probe_0" xml="TIXDS100v3_Dot7_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="2" id="The Converter Usage">
<choice Name="Generate 1149.7 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="The Converter 1149.7 Frequency">
<choice Name="Overclock with user specified value" value="unused">
<property Type="choicelist" Value="5" id="-- Choose a value from 1.0MHz to 50.0MHz"/>
</choice>
</property>
<property Type="choicelist" Value="5" id="The Target Scan Format"/>
<configuration XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe_0" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe_0" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cs_dap.xml" id="drivers" xml="tixds510cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cortexM.xml" id="drivers" xml="tixds510cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="1" id="Power Selection">
<choice Name="Probe supplied power" value="1">
<property Type="stringfield" Value="3.3" id="Voltage Level"/>
</choice>
</property>
<property Type="choicelist" Value="0" id="JTAG Signal Isolation"/>
<property Type="choicelist" Value="4" id="SWD Mode Settings">
<choice Name="cJTAG (1149.7) 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="XDS110 Aux Port"/>
</choice>
</property>
<property Type="choicelist" Value="1" id="Debug Probe Selection">
<choice Name="Select by serial number" value="0">
<property Type="stringfield" Value="L1000537" id="-- Enter the serial number"/>
</choice>
</property>
<platform XML_version="1.2" id="platform_0">
@@ -16,11 +16,11 @@ BIOS_INC = -I"C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/pa
TARGET_INC = -I"C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/"
INCS = $(BIOS_INC) $(TARGET_INC) --include_path="C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.4.LTS/include" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/icall/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/roles/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/roles" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/dev_info" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/simple_profile/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/simple_profile" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/common/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/heapmgr" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/controller/cc26xx/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/hal/src/target/_common" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/target" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/hal/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/osal/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/services/src/sdata" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/services/src/saddr" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/icall/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/rom" --include_path="C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/cc26xxware_2_24_03_17272" -IC:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/
INCS = $(BIOS_INC) $(TARGET_INC) --include_path="C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/include" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/icall/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/roles/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/roles" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/dev_info" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/simple_profile/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/profiles/simple_profile" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/common/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/heapmgr" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/controller/cc26xx/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/hal/src/target/_common" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/target" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/hal/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/osal/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/services/src/sdata" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/services/src/saddr" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/icall/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/inc" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/rom" --include_path="C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/cc26xxware_2_24_03_17272" -IC:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/
CC = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.4.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.4.LTS/include
ASM = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.4.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.4.LTS/include
AR = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.4.LTS/bin/armar rq
CC = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/include
ASM = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/include
AR = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/bin/armar rq
DEL = C:/ti/xdctools_3_32_02_25_core/packages/../bin/rm -f
CP = C:/ti/xdctools_3_32_02_25_core/packages/../bin/cp -f
@@ -9,6 +9,6 @@
<linkerCommandFile value="cc26x0f128.cmd"/>
<rts value="libc.a"/>
<createSlaveProjects value=""/>
<connection value="common/targetdb/connections/TIXDS100v3_Dot7_Connection.xml"/>
<connection value="common/targetdb/connections/TIXDS110_Connection.xml"/>
<isTargetManual value="false"/>
</projectOptions>
@@ -14,130 +14,246 @@
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1209999684" name="FlashROM" parent="com.ti.ccstudio.buildDefinitions.TMS470.Default" postannouncebuildStep="" postbuildStep="${CG_TOOL_HEX} -order MS --memwidth=8 --romwidth=8 --intel -o ${ProjName}.hex ${ProjName}.out;${TOOLS_BLE}/frontier/frontier.exe ccs ${PROJECT_LOC}/${ConfigName}/${ProjName}_linkInfo.xml ${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg ${ORG_PROJ_DIR}/../../ccs/config/ccs_linker_defines.cmd" preannouncebuildStep="" prebuildStep="&quot;${TOOLS_BLE}/lib_search/lib_search.exe&quot; ${ORG_PROJ_DIR}/build_config.opt &quot;${TOOLS_BLE}/lib_search/params_split_cc2640.xml&quot; ${SRC_BLE_CORE}/../blelib &quot;${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd&quot;">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1209999684." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.929750171" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1008890994">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1479696404" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2650F128"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.5.0"/>
<listOptionValue builtIn="false" value="LINK_ORDER=TOOLS/ccs_linker_defines.cmd;TOOLS/cc26xx_ble_stack.cmd;"/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.201372544" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="18.1.4.LTS" valueType="string"/>
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.1951196199" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug"/>
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.20903631" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.1176131016" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.647279085" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.7M3" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.1443871767" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.16" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.227818129" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.eabi" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN.784155377" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.494285153" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.4" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.581550859" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.0" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.1288777730" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/simple_peripheral/cc26xx/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/osal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/nv/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/nv"/>
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.1209999684." name="/"
resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.832046861"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1662665503">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.361513614"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=Cortex M.CC2650F128"/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
<listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=5.5.0"/>
<listOptionValue builtIn="false"
value="LINK_ORDER=TOOLS/ccs_linker_defines.cmd;TOOLS/cc26xx_ble_stack.cmd;"/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE="/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1409784186"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION"
value="18.1.4.LTS" valueType="string"/>
<targetPlatform
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.1097216259"
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.988453068"
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.772298983"
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.1310942383"
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.746618886"
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.1515548706"
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.607163911"
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.318297824"
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.631719280"
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.1577402438"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH"
valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false"
value="${SRC_EX}/examples/simple_peripheral/cc26xx/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target"/>
<listOptionValue builtIn="false"
value="${SRC_COMMON}/hal/src/target/_common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/osal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/nv/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/nv"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/saddr"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/icall/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/inc"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/controller/cc26xx/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/aes/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/npi/src"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx/npi/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.986125825" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="GATT_NO_CLIENT"/>
<listOptionValue builtIn="false" value="HEADSTAGE_NOTIFY_USE_ATT"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<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="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/controller/cc26xx/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/aes/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/npi/src"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx/npi/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.257493390"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE"
valueType="definedSymbols">
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="POWER_SAVING"/>
<listOptionValue builtIn="false" value="GATT_NO_CLIENT"/>
<listOptionValue builtIn="false" value="HEADSTAGE_NOTIFY_USE_ATT"/>
<listOptionValue builtIn="false" value="CC26XXWARE"/>
<listOptionValue builtIn="false" value="DATA="/>
<listOptionValue builtIn="false" value="EXT_HAL_ASSERT"/>
<listOptionValue builtIn="false" value="FLASH_ROM_BUILD"/>
<listOptionValue builtIn="false" value="INCLUDE_AES_DECRYPT"/>
<listOptionValue builtIn="false" value="NEAR_FUNC="/>
<listOptionValue builtIn="false" value="OSAL_CBTIMER_NUM_TASKS=1"/>
<listOptionValue builtIn="false" value="OSAL_SNV=1"/>
<listOptionValue builtIn="false" value="USE_ICALL"/>
<listOptionValue builtIn="false" value="xDEBUG"/>
<listOptionValue builtIn="false" value="xDEBUG_ENC"/>
<listOptionValue builtIn="false" value="xDEBUG_GPIO"/>
<listOptionValue builtIn="false" value="xDEBUG_SW_TRACE"/>
<listOptionValue builtIn="false" value="xPM_DISABLE_PWRDOWN"/>
<listOptionValue builtIn="false" value="xTESTMODES"/>
<listOptionValue builtIn="false" value="xTEST_BLEBOARD"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.372638078" name="C Dialect" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.C99" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.201347726" name="Suppress diagnostic &lt;id&gt; (--diag_suppress, -pds)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="48"/>
<listOptionValue builtIn="false" value="16004"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.73314177" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.1126279750" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.1492280006" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.538453952" name="Read options from specified file (--cmd_file, -@)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/build_config.opt"/>
</option>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.313905687" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS.1129729173" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS.156783227" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS.538375181" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1008890994" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE.1873600405" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE" value="256" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE.1359172875" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE" value="0" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.1355177509" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE" value="&quot;${ProjName}.map&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.829303802" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.1078356909" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd"/>
<listOptionValue builtIn="false" value="${ROM}/ble_rom_releases/04242014/ble_rom_patch.symbols"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.1707930214" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH" valueType="libPaths">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.59164041" name="Suppress diagnostic &lt;id&gt; (--diag_suppress)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="16002-D"/>
<listOptionValue builtIn="false" value="10247-D"/>
<listOptionValue builtIn="false" value="10325-D"/>
<listOptionValue builtIn="false" value="10229-D"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.11567165" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.1727810233" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.1385277262" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO" value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT.1153340314" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT" value="startup_entry" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.450995330" name="Aggressively reduce size of the DWARF information (--compress_dwarf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.on" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.1827942626" name="Eliminate sections not needed in the executable (--unused_section_elimination)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.on" valueType="enumerated"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.1279238428" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS.526125450" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS.581803256" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.947560992" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1295209583" name="Specify rom width (--romwidth, -romwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH" value="8" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH.110293046" name="Specify memory width (--memwidth, -memwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH" value="8" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.1122561921" name="Output format" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.INTEL" valueType="enumerated"/>
</tool>
</toolChain>
<listOptionValue builtIn="false" value="OSAL_SNV=1"/>
<listOptionValue builtIn="false" value="USE_ICALL"/>
<listOptionValue builtIn="false" value="xDEBUG"/>
<listOptionValue builtIn="false" value="xDEBUG_ENC"/>
<listOptionValue builtIn="false" value="xDEBUG_GPIO"/>
<listOptionValue builtIn="false" value="xDEBUG_SW_TRACE"/>
<listOptionValue builtIn="false" value="xPM_DISABLE_PWRDOWN"/>
<listOptionValue builtIn="false" value="xTESTMODES"/>
<listOptionValue builtIn="false" value="xTEST_BLEBOARD"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.174341808"
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.368319864"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS"
valueType="stringList">
<listOptionValue builtIn="false" value="48"/>
<listOptionValue builtIn="false" value="16004"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.1796876384"
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.1202072403"
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.746142779"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER"
value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.2057721302"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE"
valueType="stringList">
<listOptionValue builtIn="false" value="${SRC_EX}/config/build_components.opt"/>
<listOptionValue builtIn="false" value="${ORG_PROJ_DIR}/build_config.opt"/>
</option>
<inputType
id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.193620484"
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.1071304751"
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.1900538416"
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.1395617758"
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.1662665503"
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.1043297041"
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.30321841"
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.1098985537"
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.207849780"
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.1730405570"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY"
valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<listOptionValue builtIn="false"
value="${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd"/>
<listOptionValue builtIn="false"
value="${ROM}/ble_rom_releases/04242014/ble_rom_patch.symbols"/>
<listOptionValue builtIn="false"
value="${CC26XXWARE}/driverlib/bin/ccs/driverlib.lib"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.1642862213"
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.931842322"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS"
valueType="stringList">
<listOptionValue builtIn="false" value="16002-D"/>
<listOptionValue builtIn="false" value="10247-D"/>
<listOptionValue builtIn="false" value="10325-D"/>
<listOptionValue builtIn="false" value="10229-D"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.628793954"
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.1795637117"
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.1568690558"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO"
value="&quot;${ProjName}_linkInfo.xml&quot;" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT.790669318"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT"
value="startup_entry" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.636942967"
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.1245052655"
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.1776037702"
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.2125995458"
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.1674943097"
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.1597342378"
name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1896669298"
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.2112595558"
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.1916629122"
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=""/>
@@ -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>
@@ -1,19 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS100v3 USB Debug Probe_0" href="connections/TIXDS100v3_Dot7_Connection.xml" id="Texas Instruments XDS100v3 USB Debug Probe_0" xml="TIXDS100v3_Dot7_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="2" id="The Converter Usage">
<choice Name="Generate 1149.7 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="The Converter 1149.7 Frequency">
<choice Name="Overclock with user specified value" value="unused">
<property Type="choicelist" Value="5" id="-- Choose a value from 1.0MHz to 50.0MHz"/>
</choice>
</property>
<property Type="choicelist" Value="5" id="The Target Scan Format"/>
<configuration XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe_0" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe_0" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cs_dap.xml" id="drivers" xml="tixds510cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cortexM.xml" id="drivers" xml="tixds510cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="1" id="Power Selection">
<choice Name="Probe supplied power" value="1">
<property Type="stringfield" Value="3.3" id="Voltage Level"/>
</choice>
</property>
<property Type="choicelist" Value="0" id="JTAG Signal Isolation"/>
<property Type="choicelist" Value="4" id="SWD Mode Settings">
<choice Name="cJTAG (1149.7) 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="XDS110 Aux Port"/>
</choice>
</property>
<property Type="choicelist" Value="1" id="Debug Probe Selection">
<choice Name="Select by serial number" value="0">
<property Type="stringfield" Value="L1000537" id="-- Enter the serial number"/>
</choice>
</property>
<platform XML_version="1.2" id="platform_0">
@@ -594,3 +594,131 @@ const I2C_Config I2C_config[] = {
/*
* ============================= Watchdog end =====================================
*/
/*
* ================================ ADC begin ======================================
*/
#ifdef HEADSTAGE_RECORD_BATTERY
/* Place into subsections to allow the TI linker to remove items properly */
#if defined(__TI_COMPILER_VERSION__)
#pragma DATA_SECTION(ADC_config, ".const:ADC_config")
#pragma DATA_SECTION(adcCC26xxHWAttrs, ".const:adcCC26xxHWAttrs")
#endif
#include <ti/drivers/ADC.h>
#include <ti/drivers/adc/ADCCC26XX.h>
/* ADC objects */
ADCCC26XX_Object adcCC26xxObjects[BOOSTXL_CC2650MA_ADCCOUNT];
const ADCCC26XX_HWAttrs adcCC26xxHWAttrs[BOOSTXL_CC2650MA_ADCCOUNT] = {
{
.adcDIO = Board_DIO0_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO7,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = Board_DIO1_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO6,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = Board_DIO2_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO5,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = Board_DIO3_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO4,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = Board_DIO4_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO3,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = Board_DIO5_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO2,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = Board_DIO6_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO1,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = Board_DIO7_ANALOG,
.adcCompBInput = ADC_COMPB_IN_AUXIO0,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_10P9_MS,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = PIN_UNASSIGNED,
.adcCompBInput = ADC_COMPB_IN_DCOUPL,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = PIN_UNASSIGNED,
.adcCompBInput = ADC_COMPB_IN_VSS,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
},
{
.adcDIO = PIN_UNASSIGNED,
.adcCompBInput = ADC_COMPB_IN_VDDS,
.refSource = ADCCC26XX_FIXED_REFERENCE,
.samplingDuration = ADCCC26XX_SAMPLING_DURATION_2P7_US,
.inputScalingEnabled = true,
.triggerSource = ADCCC26XX_TRIGGER_MANUAL
}
};
const ADC_Config ADC_config[] = {
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[0], &adcCC26xxHWAttrs[0]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[1], &adcCC26xxHWAttrs[1]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[2], &adcCC26xxHWAttrs[2]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[3], &adcCC26xxHWAttrs[3]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[4], &adcCC26xxHWAttrs[4]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[5], &adcCC26xxHWAttrs[5]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[6], &adcCC26xxHWAttrs[6]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[7], &adcCC26xxHWAttrs[7]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[8], &adcCC26xxHWAttrs[8]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[9], &adcCC26xxHWAttrs[9]},
{&ADCCC26XX_fxnTable, &adcCC26xxObjects[10], &adcCC26xxHWAttrs[10]},
{NULL, NULL, NULL},
};
/*
* ================================ ADC end ========================================
*/
#endif
@@ -51,6 +51,7 @@ 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
@@ -208,6 +209,16 @@ extern const PIN_Config BoardGpioInitTable[];
#define Board_GPTIMER3A BOOSTXL_CC2650MA_GPTIMER3A
#define Board_GPTIMER3B BOOSTXL_CC2650MA_GPTIMER3B
/* Generic ADC instance identifiers */
#define Board_DIO0_ANALOG IOID_9
#define Board_DIO1_ANALOG PIN_UNASSIGNED
#define Board_DIO2_ANALOG PIN_UNASSIGNED
#define Board_DIO3_ANALOG PIN_UNASSIGNED
#define Board_DIO4_ANALOG PIN_UNASSIGNED
#define Board_DIO5_ANALOG PIN_UNASSIGNED
#define Board_DIO6_ANALOG PIN_UNASSIGNED
#define Board_DIO7_ANALOG PIN_UNASSIGNED
/* Generic PWM instance identifiers */
#define Board_PWM0 BOOSTXL_CC2650MA_PWM0
#define Board_PWM1 BOOSTXL_CC2650MA_PWM1
@@ -51,7 +51,7 @@ extern "C" {
#include <ti/drivers/PIN.h>
#include <driverlib/ioc.h>
#include "neu/headstage_pin.h"
//#include "neu/headstage_pin.h"
/** ============================================================================
* Externs
@@ -70,34 +70,34 @@ extern const PIN_Config BoardGpioInitTable[];
*/
/* Discrete outputs */
#define Board_RLED PIN_UNASSIGNED
#define Board_GLED PIN_UNASSIGNED
#define Board_RLED IOID_6
#define Board_GLED IOID_7
#define Board_LED_ON 1
#define Board_LED_OFF 0
/* Discrete inputs */
#define Board_BTN1 PIN_UNASSIGNED
#define Board_BTN2 PIN_UNASSIGNED
#define Board_BTN1 IOID_13
#define Board_BTN2 IOID_14
/* UART Board */
#define Board_UART_RX PIN_UNASSIGNED /* RXD */
#define Board_UART_TX PIN_UNASSIGNED /* TXD */
#define Board_UART_CTS PIN_UNASSIGNED /* CTS */
#define Board_UART_RTS PIN_UNASSIGNED /* RTS */
#define Board_UART_RX IOID_2 /* RXD */
#define Board_UART_TX IOID_3 /* TXD */
#define Board_UART_CTS IOID_19 /* CTS */
#define Board_UART_RTS IOID_18 /* RTS */
/* SPI Board */
//#define Board_SPI0_MISO PIN_UNASSIGNED /* RF1.20 */
//#define Board_SPI0_MOSI PIN_UNASSIGNED /* RF1.18 */
//#define Board_SPI0_CLK PIN_UNASSIGNED /* RF1.16 */
//#define Board_SPI0_CSN PIN_UNASSIGNED
//#define Board_SPI1_MISO PIN_UNASSIGNED
//#define Board_SPI1_MOSI PIN_UNASSIGNED
//#define Board_SPI1_CLK PIN_UNASSIGNED
//#define Board_SPI1_CSN PIN_UNASSIGNED
#define Board_SPI0_MISO IOID_8 /* RF1.20 */
#define Board_SPI0_MOSI IOID_9 /* RF1.18 */
#define Board_SPI0_CLK IOID_10 /* RF1.16 */
#define Board_SPI0_CSN IOID_11
#define Board_SPI1_MISO PIN_UNASSIGNED
#define Board_SPI1_MOSI PIN_UNASSIGNED
#define Board_SPI1_CLK PIN_UNASSIGNED
#define Board_SPI1_CSN PIN_UNASSIGNED
/* I2C */
#define Board_I2C0_SCL0 PIN_UNASSIGNED
#define Board_I2C0_SDA0 PIN_UNASSIGNED
#define Board_I2C0_SCL0 IOID_4
#define Board_I2C0_SDA0 IOID_5
/* SPI */
#define Board_SPI_FLASH_CS IOID_20
@@ -132,14 +132,14 @@ extern const PIN_Config BoardGpioInitTable[];
#define Board_LCD_CS_OFF 0
/* 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_PWMPIN0 IOID_12
#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
/** ============================================================================
* Instance identifiers
@@ -68,7 +68,7 @@ OUTPUT_DIRECTORY =
# performance problems for the file system.
# The default value is: NO.
CREATE_SUBDIRS = NO
CREATE_SUBDIRS = YES
# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
# characters to appear in the names of generated files. If set to NO, non-ASCII
@@ -0,0 +1,51 @@
#!/bin/bash
input="./Elite_test.txt"
declare -i col_index=0
declare -i row_index=0
declare -i channel=0
declare -i gain=0
declare -i current_line=2
declare -a value
MAC="MAC"
while read -r line; do
for word in $line; do
# get device MAC
if [ $row_index -eq 1 ] && [ $col_index -eq 0 ];then
MAC=$word
sed -i "${current_line} i \\\n#elif defined(BOARD_${MAC}){" ./test.txt
sed -i 's/:/_/g' ./test.txt
current_line=$current_line+2
# if [ $row_index -gt 0 ];then
# # row 1~8 is the least gain clai data
# channel=`expr $row_index - 1`
# channel=`expr $channel % 8`
#
# gain=`expr $row_index - 1`
# gain=`expr $gain / 8`
#
# if [ $col_index -eq 4 ];then
# sed -i "${current_line} i \\\t.Ch[${channel}].Gain[${gain}] = $word," ./test.txt
# current_line=$current_line+1
# elif [ $col_index -eq 6 ];then
# sed -i "${current_line} i \\\t.Ch[${channel}].Offset[${gain}] = $word," ./test.txt
# current_line=$current_line+1
# fi
fi
#update index
if [ $col_index -lt 5 ];then
col_index=$col_index+1
else
col_index=0
row_index=$row_index+1
fi
done
done < $input
#sed -i "${current_line} i }" ./test.txt
@@ -23,7 +23,7 @@ Instruction Specification
file defined:
Bio_Pro_Sci / 研發 / Pi3/DataServer / CC2650 / CC2650通用指令表
Bio_Pro_Sci /  / Pi3/DataServer / CC2650 / CC2650誘銵
```
struct instruction {
@@ -193,6 +193,8 @@ extern ICall_Semaphore semaphore;
#define CIS_NOP 0x00
#define CIS_VOLT 0x10
#define CIS_LED 0x20
#define CIS_CALI 0x30
#define CIS_VERSION 0x40
// CIS return status code
#define CDR_SUCCESS 0x0
@@ -206,7 +208,7 @@ extern ICall_Semaphore semaphore;
==== utility macro ====
=====================*/
#define _B_4b4b(a, b) ((((a) << 4) & 0xF0) | ((b)&0x0F))
#define _B_4b4b(a, b) (((a & 0x0f) << 4) | (b & 0x0f))
#define _B_flip2(a) \
({ \
@@ -318,9 +320,9 @@ typedef struct {
#include "headstage_neu.h"
/*======================
==== main function ====
======================*/
/*!
* main function
*/
static EventTableEntry EVENT_TABLE[] = { //
#ifdef HEADSTAGE_TNI_H
@@ -337,6 +339,9 @@ static EventTableEntry EVENT_TABLE[] = { //
#endif
#ifdef HEADSTAGE_NEU_H
{EVT_ALL, &headstage_neu_event},
#endif
#ifdef HEADSTAGE_TEST_DATA_H
{EVT_ALL, &headstage_test_event},
#endif
// terminated
{0, NULL}};
@@ -345,7 +350,7 @@ static EventTableEntry EVENT_TABLE[] = { //
* system event handle. It go through [EVENT_TABLE] and invoke event callback
* if event_mask bits set.
*/
static void headstage_event_handle() {
void headstage_event_handle() {
for (EventTableEntry *entry = EVENT_TABLE; EVENT_MASK && entry->event_mask; entry++) {
if (entry->event_callback && flag_mask(entry->event_mask)) {
entry->event_callback();
@@ -375,7 +380,14 @@ static void headstage_update_instruction(uint8_t *instruction) {
break;
}
case INS_TYPE_CIS: {
headstage_update_cis_instruction(ins_oper);
if(ins_oper == CIS_CALI){
// CIS has only 20 byte now
// need ins[2] to choose return gain or offset
SendCaliValue(instruction[2]);
}
else{
headstage_update_cis_instruction(ins_oper);
}
break;
}
}
@@ -0,0 +1,14 @@
#ifndef BIT_COUNT
#define BIT_COUNT
static uint8_t BitCount(uint8_t u8_value){
uint8_t ret = 0;
for(int i=0 ; i<8 ; i++){
if(u8_value & (1 << i)){
ret ++;
}
}
return ret;
}
#endif
@@ -13,5 +13,4 @@ static void headstage_arm_append_ramp_data(uint8_t *buff) {
buff[1] = (uint8_t)(v << 2);
}
#endif // HEADSTAGE_ARM_H
@@ -0,0 +1,42 @@
/* Copyright (c) 2019. BioPro. Scientific.
*/
#ifndef HEADSTAGE_BATT_H
#define HEADSTAGE_BATT_H
#include <driverlib/aon_batmon.h>
#define MAX_BATTERY_CAPACITY 4200
static uint8_t battery_percent = 100;
static uint8_t headstage_battery_percent() {
uint8_t internal_battery_percent;
uint32_t internal_batt_sense = AONBatMonBatteryVoltageGet();
internal_batt_sense = (internal_batt_sense * 125) >> 5;
internal_batt_sense = (internal_batt_sense * 100) / MAX_BATTERY_CAPACITY;
internal_battery_percent = internal_batt_sense & 0xFF;
if (internal_battery_percent < battery_percent) battery_percent = internal_battery_percent;
return battery_percent;
}
static uint8_t battery_volt = 256;
static uint8_t headstage_battery_volt1() {
uint8_t internal_battery_percent;
uint32_t internal_batt_sense = AONBatMonBatteryVoltageGet();
// internal_batt_sense = (internal_batt_sense * 125) >> 5;
// internal_batt_sense = (internal_batt_sense * 100) / MAX_BATTERY_CAPACITY;
internal_battery_percent = internal_batt_sense & 0xFF;
battery_volt = internal_battery_percent;
return battery_volt;
}
static uint8_t headstage_battery_volt2() {
uint8_t internal_battery_percent;
uint32_t internal_batt_sense = AONBatMonBatteryVoltageGet();
// internal_batt_sense = (internal_batt_sense * 125) >> 5;
// internal_batt_sense = (internal_batt_sense * 100) / MAX_BATTERY_CAPACITY;
internal_battery_percent = (internal_batt_sense >> 8) & 0xFF;
battery_volt = internal_battery_percent;
return battery_volt;
}
#endif // HEADSTAGE_BATT_H
@@ -0,0 +1,106 @@
#ifndef HEAD_BLAST_DATA
#define HEAD_BLAST_DATA
// L2CAP Header(2) + L2CAP CID(2) + ATT Opcode(1) + ATT handle(2)
#define TOTAL_PACKET_OVERHEAD 7
static void SimpleBLEPeripheral_performPeriodicTask();
/*********************************************************************
* @fn SimpleBLEPeripheral_blastData
*
* @brief Sends ATT notifications in a tight while loop to demo
* throughput
*
* @param none
*
* @return none
*/
static void SimpleBLEPeripheral_blastData() {
// Subtract the total packet overhead of ATT and L2CAP layer from notification payload
uint16_t len = MAX_PDU_SIZE - TOTAL_PACKET_OVERHEAD;
attHandleValueNoti_t noti;
bStatus_t status;
noti.handle = 0x27;
noti.len = len;
uint32_t not_time_stamp;
// Store hte connection handle for future reference
uint16_t connectionHandle;
GAPRole_GetParameter(GAPROLE_CONNHANDLE, &connectionHandle);
// If RTOS queue is not empty, process app message.
// We need to process the app message here in the case of a keypress
while (!Queue_empty(appMsgQueue)) {
sbpEvt_t *pMsg = (sbpEvt_t *)Util_dequeueMsg(appMsgQueue);
if (pMsg) {
// Process message.
SimpleBLEPeripheral_processAppMsg(pMsg);
// Free the space from the message.
ICall_free(pMsg);
}
}
not_time_stamp = Timestamp_get32() / 2;
noti.pValue = (uint8 *)GATT_bm_alloc(connectionHandle, ATT_HANDLE_VALUE_NOTI, GATT_MAX_MTU, &len);
if (noti.pValue != NULL) // if allocated
{
// Place index
noti.pValue[2] = not_time_stamp & 0xFF;
noti.pValue[3] = (not_time_stamp >> 8) & 0xFF;
noti.pValue[4] = (not_time_stamp >> 16) & 0xFF;
noti.pValue[5] = (not_time_stamp >> 24) & 0xFF;
noti.pValue[6] = 100;
noti.pValue[7] = 0;
// Attempt to send the notification
status = GATT_Notification(connectionHandle, &noti, GATT_NO_AUTHENTICATION);
if (status != SUCCESS) // if noti not sent
{
// PIN_setOutputValue(hSbpPins, Board_LED1, Board_LED_ON);
GATT_bm_free((gattMsg_t *)&noti, ATT_HANDLE_VALUE_NOTI);
} else {
// Notification is successfully sent, increment counters
// Display_print0(dispHandle, 4, 0, "success");
// PIN_setOutputValue(hSbpPins, Board_LED2, Board_LED_ON);
msg_counter++;
}
} else {
// bleNoResources was returned
asm(" NOP ");
}
// Reset debug pins
// PIN_setOutputValue(hSbpPins, Board_LED1, Board_LED_OFF);
// PIN_setOutputValue(hSbpPins, Board_LED2, Board_LED_OFF);
}
static void SimpleBLEPeripheral_performPeriodicTask(){
SimpleBLEPeripheral_blastData();
}
/*********************************************************************
* @fn SimpleBLEPeripheral_clockHandler
*
* @brief Handler function for clock timeouts.
*
* @param arg - event type
*
* @return None.
*/
static void SimpleBLEPeripheral_clockHandler(UArg arg) {
// Store the event.
events |= arg;
// Wake up the application.
Semaphore_post(sem);
}
#endif
@@ -0,0 +1,48 @@
#ifndef NEU_CALI_FXN
#define NEU_CALI_FXN
#include "headstage_cali_table.h"
static void CaliTable2u8(uint8_t* cali){
for(int i=0 ; i<12 ; i++){
for(int j=0 ; j<3 ; j++){
*(cali + 12*i + 2*j) = (uint8_t) (CaliTable.Ch[i].Gain[j] | 0xFF00) >> 8;
*(cali + 12*i + 2*j+1) = (uint8_t) (CaliTable.Ch[i].Gain[j] | 0x00FF);
*(cali + 12*i + 2*j+6) = (uint8_t) (CaliTable.Ch[i].Offset[j] | 0xFF00) >> 8;
*(cali + 12*i + 2*j+7) = (uint8_t) (CaliTable.Ch[i].Offset[j] | 0x00FF);
}
}
}
/*
* SendCaliValue
* CaliNumber : 0~23
* - 0: ch1 gain value
* - 1: ch1 offset value
* - 2: ch2 gain
* - .......
*/
static void SendCaliValue(uint8_t CaliNumber){
uint8_t ch, gain_offset;
uint8_t cdr_buf[10];
ch = 2 * (CaliNumber % 4);
uint8_t gain_level = CaliNumber / 4; // 0:gain, 1:offset
cdr_buf[0] = CHIP_ID;
cdr_buf[1] = (uint8_t) (CaliTable.Ch[ch].Gain[gain_level] >> 8) & 0xFF;
cdr_buf[2] = (uint8_t) CaliTable.Ch[ch].Gain[gain_level] & 0x00FF;
cdr_buf[3] = (uint8_t) (CaliTable.Ch[ch].Offset[gain_level] >> 8) & 0xFF;
cdr_buf[4] = (uint8_t) CaliTable.Ch[ch].Offset[gain_level] & 0x00FF;
cdr_buf[5] = (uint8_t) (CaliTable.Ch[ch+1].Gain[gain_level] >> 8) & 0xFF;
cdr_buf[6] = (uint8_t) CaliTable.Ch[ch+1].Gain[gain_level] & 0x00FF;
cdr_buf[7] = (uint8_t) (CaliTable.Ch[ch+1].Offset[gain_level] >> 8) & 0xFF;
cdr_buf[8] = (uint8_t) CaliTable.Ch[ch+1].Offset[gain_level] & 0x00FF;
cdr_buf[9] = 0; // don't care
SimpleProfile_SetParameter(BLE_CDR_BUFF_CHAR, BLE_CDR_BUFF_SIZE, cdr_buf);
}
#endif
@@ -0,0 +1,971 @@
#ifndef NEU_CALI_TABLE
#define NEU_CALI_TABLE
#define BOARD_TEST
typedef struct _SingleChannelCali{
uint16_t Gain[4];
int16_t Offset[4];
}SingleChannelCali;
struct _CaliTable{
SingleChannelCali Ch[8];
}CaliTable =
#ifdef BOARD_TEST
{
.Ch[0].Gain[0] = 1,
.Ch[0].Offset[0] = 0,
.Ch[1].Gain[0] = 1,
.Ch[1].Offset[0] = 0,
.Ch[2].Gain[0] = 1,
.Ch[2].Offset[0] = 0,
.Ch[3].Gain[0] = 1,
.Ch[3].Offset[0] = 0,
.Ch[4].Gain[0] = 1,
.Ch[4].Offset[0] = 0,
.Ch[5].Gain[0] = 1,
.Ch[5].Offset[0] = 0,
.Ch[6].Gain[0] = 1,
.Ch[6].Offset[0] = 0,
.Ch[7].Gain[0] = 1,
.Ch[7].Offset[0] = 0,
.Ch[0].Gain[1] = 1,
.Ch[0].Offset[1] = 0,
.Ch[1].Gain[1] = 1,
.Ch[1].Offset[1] = 0,
.Ch[2].Gain[1] = 1,
.Ch[2].Offset[1] = 0,
.Ch[3].Gain[1] = 1,
.Ch[3].Offset[1] = 0,
.Ch[4].Gain[1] = 1,
.Ch[4].Offset[1] = 0,
.Ch[5].Gain[1] = 1,
.Ch[5].Offset[1] = 0,
.Ch[6].Gain[1] = 1,
.Ch[6].Offset[1] = 0,
.Ch[7].Gain[1] = 1,
.Ch[7].Offset[1] = 0,
.Ch[0].Gain[2] = 1,
.Ch[0].Offset[2] = 0,
.Ch[1].Gain[2] = 1,
.Ch[1].Offset[2] = 0,
.Ch[2].Gain[2] = 1,
.Ch[2].Offset[2] = 0,
.Ch[3].Gain[2] = 1,
.Ch[3].Offset[2] = 0,
.Ch[4].Gain[2] = 1,
.Ch[4].Offset[2] = 0,
.Ch[5].Gain[2] = 1,
.Ch[5].Offset[2] = 0,
.Ch[6].Gain[2] = 1,
.Ch[6].Offset[2] = 0,
.Ch[7].Gain[2] = 1,
.Ch[7].Offset[2] = 0,
.Ch[0].Gain[3] = 1,
.Ch[0].Offset[3] = 0,
.Ch[1].Gain[3] = 1,
.Ch[1].Offset[3] = 0,
.Ch[2].Gain[3] = 1,
.Ch[2].Offset[3] = 0,
.Ch[3].Gain[3] = 1,
.Ch[3].Offset[3] = 0,
.Ch[4].Gain[3] = 1,
.Ch[4].Offset[3] = 0,
.Ch[5].Gain[3] = 1,
.Ch[5].Offset[3] = 0,
.Ch[6].Gain[3] = 1,
.Ch[6].Offset[3] = 0,
.Ch[7].Gain[3] = 1,
.Ch[7].Offset[3] = 0
};
#elif defined(BOARD_18_04_ED_37_C7_38)
{
.Ch[0].Gain[0] = 48,
.Ch[0].Offset[0] = 49,
.Ch[1].Gain[0] = 49,
.Ch[1].Offset[0] = 36,
.Ch[2].Gain[0] = 48,
.Ch[2].Offset[0] = 55,
.Ch[3].Gain[0] = 48,
.Ch[3].Offset[0] = 50,
.Ch[4].Gain[0] = 48,
.Ch[4].Offset[0] = 51,
.Ch[5].Gain[0] = 48,
.Ch[5].Offset[0] = 76,
.Ch[6].Gain[0] = 47,
.Ch[6].Offset[0] = 44,
.Ch[7].Gain[0] = 47,
.Ch[7].Offset[0] = 49,
.Ch[0].Gain[1] = 359,
.Ch[0].Offset[1] = 44,
.Ch[1].Gain[1] = 359,
.Ch[1].Offset[1] = -56,
.Ch[2].Gain[1] = 359,
.Ch[2].Offset[1] = 82,
.Ch[3].Gain[1] = 361,
.Ch[3].Offset[1] = 49,
.Ch[4].Gain[1] = 360,
.Ch[4].Offset[1] = 56,
.Ch[5].Gain[1] = 358,
.Ch[5].Offset[1] = 239,
.Ch[6].Gain[1] = 347,
.Ch[6].Offset[1] = 5,
.Ch[7].Gain[1] = 346,
.Ch[7].Offset[1] = 40,
.Ch[0].Gain[2] = 1494,
.Ch[0].Offset[2] = 14,
.Ch[1].Gain[2] = 1486,
.Ch[1].Offset[2] = -394,
.Ch[2].Gain[2] = 1473,
.Ch[2].Offset[2] = 185,
.Ch[3].Gain[2] = 1480,
.Ch[3].Offset[2] = 54,
.Ch[4].Gain[2] = 1478,
.Ch[4].Offset[2] = 75,
.Ch[5].Gain[2] = 1445,
.Ch[5].Offset[2] = 824,
.Ch[6].Gain[2] = 1437,
.Ch[6].Offset[2] = -138,
.Ch[7].Gain[2] = 1439,
.Ch[7].Offset[2] = 5,
.Ch[0].Gain[3] = 3027,
.Ch[0].Offset[3] = -36,
.Ch[1].Gain[3] = 2810,
.Ch[1].Offset[3] = -823,
.Ch[2].Gain[3] = 2945,
.Ch[2].Offset[3] = 319,
.Ch[3].Gain[3] = 2949,
.Ch[3].Offset[3] = 59,
.Ch[4].Gain[3] = 2947,
.Ch[4].Offset[3] = 102,
.Ch[5].Gain[3] = 1860,
.Ch[5].Offset[3] = 1443,
.Ch[6].Gain[3] = 2862,
.Ch[6].Offset[3] = -328,
.Ch[7].Gain[3] = 2890,
.Ch[7].Offset[3] = -41
};
#elif defined(BOARD_18_04_ED_37_C5_ED)
{
.Ch[0].Gain[0] = 95,
.Ch[0].Offset[0] = 2013,
.Ch[1].Gain[0] = 48,
.Ch[1].Offset[0] = -10,
.Ch[2].Gain[0] = 48,
.Ch[2].Offset[0] = -15,
.Ch[3].Gain[0] = 48,
.Ch[3].Offset[0] = -26,
.Ch[4].Gain[0] = 48,
.Ch[4].Offset[0] = -18,
.Ch[5].Gain[0] = 48,
.Ch[5].Offset[0] = -23,
.Ch[6].Gain[0] = 45,
.Ch[6].Offset[0] = -23,
.Ch[7].Gain[0] = 45,
.Ch[7].Offset[0] = -35,
.Ch[0].Gain[1] = 355,
.Ch[0].Offset[1] = 9,
.Ch[1].Gain[1] = 356,
.Ch[1].Offset[1] = 57,
.Ch[2].Gain[1] = 355,
.Ch[2].Offset[1] = 25,
.Ch[3].Gain[1] = 357,
.Ch[3].Offset[1] = -70,
.Ch[4].Gain[1] = 356,
.Ch[4].Offset[1] = -1,
.Ch[5].Gain[1] = 354,
.Ch[5].Offset[1] = -39,
.Ch[6].Gain[1] = 345,
.Ch[6].Offset[1] = -37,
.Ch[7].Gain[1] = 334,
.Ch[7].Offset[1] = -130,
.Ch[0].Gain[2] = 1540,
.Ch[0].Offset[2] = 60,
.Ch[1].Gain[2] = 1542,
.Ch[1].Offset[2] = 314,
.Ch[2].Gain[2] = 1529,
.Ch[2].Offset[2] = 174,
.Ch[3].Gain[2] = 1539,
.Ch[3].Offset[2] = -199,
.Ch[4].Gain[2] = 1541,
.Ch[4].Offset[2] = 50,
.Ch[5].Gain[2] = 1521,
.Ch[5].Offset[2] = -97,
.Ch[6].Gain[2] = 1480,
.Ch[6].Offset[2] = -92,
.Ch[7].Gain[2] = 1485,
.Ch[7].Offset[2] = -497,
.Ch[0].Gain[3] = 3310,
.Ch[0].Offset[3] = 222,
.Ch[1].Gain[3] = 3164,
.Ch[1].Offset[3] = 690,
.Ch[2].Gain[3] = 3220,
.Ch[2].Offset[3] = 467,
.Ch[3].Gain[3] = 3255,
.Ch[3].Offset[3] = -401,
.Ch[4].Gain[3] = 3311,
.Ch[4].Offset[3] = 160,
.Ch[5].Gain[3] = 3232,
.Ch[5].Offset[3] = 78,
.Ch[6].Gain[3] = 3253,
.Ch[6].Offset[3] = -178,
.Ch[7].Gain[3] = 2667,
.Ch[7].Offset[3] = -985
};
#elif defined(BOARD_00_81_F9_E4_9B_EF)
{
.Ch[0].Gain[0] = 48,
.Ch[0].Offset[0] = 98,
.Ch[1].Gain[0] = 47,
.Ch[1].Offset[0] = 85,
.Ch[2].Gain[0] = 47,
.Ch[2].Offset[0] = 76,
.Ch[3].Gain[0] = 47,
.Ch[3].Offset[0] = 95,
.Ch[4].Gain[0] = 47,
.Ch[4].Offset[0] = 81,
.Ch[5].Gain[0] = 47,
.Ch[5].Offset[0] = 64,
.Ch[6].Gain[0] = 45,
.Ch[6].Offset[0] = 65,
.Ch[7].Gain[0] = 1,
.Ch[7].Offset[0] = 79,
.Ch[0].Gain[1] = 353,
.Ch[0].Offset[1] = 206,
.Ch[1].Gain[1] = 353,
.Ch[1].Offset[1] = 106,
.Ch[2].Gain[1] = 353,
.Ch[2].Offset[1] = 31,
.Ch[3].Gain[1] = 354,
.Ch[3].Offset[1] = 176,
.Ch[4].Gain[1] = 355,
.Ch[4].Offset[1] = 73,
.Ch[5].Gain[1] = 351,
.Ch[5].Offset[1] = -50,
.Ch[6].Gain[1] = 343,
.Ch[6].Offset[1] = -45,
.Ch[7].Gain[1] = 222,
.Ch[7].Offset[1] = -44,
.Ch[0].Gain[2] = 1467,
.Ch[0].Offset[2] = 573,
.Ch[1].Gain[2] = 1469,
.Ch[1].Offset[2] = 160,
.Ch[2].Gain[2] = 1448,
.Ch[2].Offset[2] = -130,
.Ch[3].Gain[2] = 1468,
.Ch[3].Offset[2] = 495,
.Ch[4].Gain[2] = 1480,
.Ch[4].Offset[2] = 40,
.Ch[5].Gain[2] = 1444,
.Ch[5].Offset[2] = -444,
.Ch[6].Gain[2] = 1407,
.Ch[6].Offset[2] = -442,
.Ch[7].Gain[2] = 5736,
.Ch[7].Offset[2] = -592,
.Ch[0].Gain[3] = 2698,
.Ch[0].Offset[3] = 1047,
.Ch[1].Gain[3] = 3016,
.Ch[1].Offset[3] = 251,
.Ch[2].Gain[3] = 2915,
.Ch[2].Offset[3] = -327,
.Ch[3].Gain[3] = 2852,
.Ch[3].Offset[3] = 868,
.Ch[4].Gain[3] = 3035,
.Ch[4].Offset[3] = -19,
.Ch[5].Gain[3] = 2518,
.Ch[5].Offset[3] = -938,
.Ch[6].Gain[3] = 2387,
.Ch[6].Offset[3] = -936,
.Ch[7].Gain[3] = 11166,
.Ch[7].Offset[3] = -656
};
#elif defined(BOARD_00_81_F9_E4_9B_97)
{
.Ch[0].Gain[0] = 48,
.Ch[0].Offset[0] = 34,
.Ch[1].Gain[0] = 48,
.Ch[1].Offset[0] = 25,
.Ch[2].Gain[0] = 48,
.Ch[2].Offset[0] = 31,
.Ch[3].Gain[0] = 47,
.Ch[3].Offset[0] = 44,
.Ch[4].Gain[0] = 48,
.Ch[4].Offset[0] = 29,
.Ch[5].Gain[0] = 47,
.Ch[5].Offset[0] = 40,
.Ch[6].Gain[0] = 45,
.Ch[6].Offset[0] = 10,
.Ch[7].Gain[0] = 45,
.Ch[7].Offset[0] = 12,
.Ch[0].Gain[1] = 349,
.Ch[0].Offset[1] = 67,
.Ch[1].Gain[1] = 349,
.Ch[1].Offset[1] = -7,
.Ch[2].Gain[1] = 350,
.Ch[2].Offset[1] = 37,
.Ch[3].Gain[1] = 350,
.Ch[3].Offset[1] = 133,
.Ch[4].Gain[1] = 351,
.Ch[4].Offset[1] = 30,
.Ch[5].Gain[1] = 350,
.Ch[5].Offset[1] = 102,
.Ch[6].Gain[1] = 331,
.Ch[6].Offset[1] = -114,
.Ch[7].Gain[1] = 339,
.Ch[7].Offset[1] = -100,
.Ch[0].Gain[2] = 1443,
.Ch[0].Offset[2] = 181,
.Ch[1].Gain[2] = 1439,
.Ch[1].Offset[2] = -140,
.Ch[2].Gain[2] = 1445,
.Ch[2].Offset[2] = 54,
.Ch[3].Gain[2] = 1417,
.Ch[3].Offset[2] = 457,
.Ch[4].Gain[2] = 1442,
.Ch[4].Offset[2] = 38,
.Ch[5].Gain[2] = 1443,
.Ch[5].Offset[2] = 338,
.Ch[6].Gain[2] = 1377,
.Ch[6].Offset[2] = -558,
.Ch[7].Gain[2] = 1364,
.Ch[7].Offset[2] = -514,
.Ch[0].Gain[3] = 2914,
.Ch[0].Offset[3] = 323,
.Ch[1].Gain[3] = 2877,
.Ch[1].Offset[3] = -320,
.Ch[2].Gain[3] = 2910,
.Ch[2].Offset[3] = 73,
.Ch[3].Gain[3] = 2655,
.Ch[3].Offset[3] = 865,
.Ch[4].Gain[3] = 2884,
.Ch[4].Offset[3] = 44,
.Ch[5].Gain[3] = 2863,
.Ch[5].Offset[3] = 659,
.Ch[6].Gain[3] = 2282,
.Ch[6].Offset[3] = -1079,
.Ch[7].Gain[3] = 2420,
.Ch[7].Offset[3] = -1034
};
#elif defined(BOARD_00_81_F9_E4_8B_50)
{
.Ch[0].Gain[0] = 50,
.Ch[0].Offset[0] = 0,
.Ch[1].Gain[0] = 50,
.Ch[1].Offset[0] = 6,
.Ch[2].Gain[0] = 50,
.Ch[2].Offset[0] = 18,
.Ch[3].Gain[0] = 50,
.Ch[3].Offset[0] = 25,
.Ch[4].Gain[0] = 50,
.Ch[4].Offset[0] = 0,
.Ch[5].Gain[0] = 50,
.Ch[5].Offset[0] = 20,
.Ch[6].Gain[0] = 48,
.Ch[6].Offset[0] = 3,
.Ch[7].Gain[0] = 48,
.Ch[7].Offset[0] = -3,
.Ch[0].Gain[1] = 362,
.Ch[0].Offset[1] = -58,
.Ch[1].Gain[1] = 362,
.Ch[1].Offset[1] = -12,
.Ch[2].Gain[1] = 363,
.Ch[2].Offset[1] = 78,
.Ch[3].Gain[1] = 363,
.Ch[3].Offset[1] = 125,
.Ch[4].Gain[1] = 364,
.Ch[4].Offset[1] = -60,
.Ch[5].Gain[1] = 361,
.Ch[5].Offset[1] = 91,
.Ch[6].Gain[1] = 341,
.Ch[6].Offset[1] = -32,
.Ch[7].Gain[1] = 352,
.Ch[7].Offset[1] = -83,
.Ch[0].Gain[2] = 1484,
.Ch[0].Offset[2] = -271,
.Ch[1].Gain[2] = 1482,
.Ch[1].Offset[2] = -88,
.Ch[2].Gain[2] = 1460,
.Ch[2].Offset[2] = 288,
.Ch[3].Gain[2] = 1471,
.Ch[3].Offset[2] = 487,
.Ch[4].Gain[2] = 1474,
.Ch[4].Offset[2] = -270,
.Ch[5].Gain[2] = 1463,
.Ch[5].Offset[2] = 340,
.Ch[6].Gain[2] = 1426,
.Ch[6].Offset[2] = -158,
.Ch[7].Gain[2] = 1424,
.Ch[7].Offset[2] = -363,
.Ch[0].Gain[3] = 2918,
.Ch[0].Offset[3] = -530,
.Ch[1].Gain[3] = 2937,
.Ch[1].Offset[3] = -177,
.Ch[2].Gain[3] = 2839,
.Ch[2].Offset[3] = 549,
.Ch[3].Gain[3] = 2713,
.Ch[3].Offset[3] = 926,
.Ch[4].Gain[3] = 2888,
.Ch[4].Offset[3] = -549,
.Ch[5].Gain[3] = 2823,
.Ch[5].Offset[3] = 665,
.Ch[6].Gain[3] = 2814,
.Ch[6].Offset[3] = -319,
.Ch[7].Gain[3] = 2817,
.Ch[7].Offset[3] = -744
};
#elif defined(BOARD_18_04_ED_37_C6_52)
{
.Ch[0].Gain[0] = 48,
.Ch[0].Offset[0] = 21,
.Ch[1].Gain[0] = 48,
.Ch[1].Offset[0] = 31,
.Ch[2].Gain[0] = 48,
.Ch[2].Offset[0] = 4,
.Ch[3].Gain[0] = 48,
.Ch[3].Offset[0] = 37,
.Ch[4].Gain[0] = 48,
.Ch[4].Offset[0] = 11,
.Ch[5].Gain[0] = 48,
.Ch[5].Offset[0] = 26,
.Ch[6].Gain[0] = 12,
.Ch[6].Offset[0] = 14,
.Ch[7].Gain[0] = 47,
.Ch[7].Offset[0] = -23,
.Ch[0].Gain[1] = 359,
.Ch[0].Offset[1] = -20,
.Ch[1].Gain[1] = 360,
.Ch[1].Offset[1] = 57,
.Ch[2].Gain[1] = 360,
.Ch[2].Offset[1] = -151,
.Ch[3].Gain[1] = 361,
.Ch[3].Offset[1] = 100,
.Ch[4].Gain[1] = 361,
.Ch[4].Offset[1] = -90,
.Ch[5].Gain[1] = 358,
.Ch[5].Offset[1] = 20,
.Ch[6].Gain[1] = 89,
.Ch[6].Offset[1] = -73,
.Ch[7].Gain[1] = 348,
.Ch[7].Offset[1] = -352,
.Ch[0].Gain[2] = 1562,
.Ch[0].Offset[2] = -170,
.Ch[1].Gain[2] = 1556,
.Ch[1].Offset[2] = 150,
.Ch[2].Gain[2] = 1506,
.Ch[2].Offset[2] = -725,
.Ch[3].Gain[2] = 1551,
.Ch[3].Offset[2] = 341,
.Ch[4].Gain[2] = 1539,
.Ch[4].Offset[2] = -476,
.Ch[5].Gain[2] = 1541,
.Ch[5].Offset[2] = -19,
.Ch[6].Gain[2] = 399,
.Ch[6].Offset[2] = -403,
.Ch[7].Gain[2] = 897,
.Ch[7].Offset[2] = -1430,
.Ch[0].Gain[3] = 3345,
.Ch[0].Offset[3] = -412,
.Ch[1].Gain[3] = 3352,
.Ch[1].Offset[3] = 296,
.Ch[2].Gain[3] = 1885,
.Ch[2].Offset[3] = -1344,
.Ch[3].Gain[3] = 3184,
.Ch[3].Offset[3] = 695,
.Ch[4].Gain[3] = 2760,
.Ch[4].Offset[3] = -994,
.Ch[5].Gain[3] = 3301,
.Ch[5].Offset[3] = -74,
.Ch[6].Gain[3] = 815,
.Ch[6].Offset[3] = -906,
.Ch[7].Gain[3] = 311,
.Ch[7].Offset[3] = -1815
};
#elif defined(BOARD_18_04_ED_37_C6_94)
{
.Ch[0].Gain[0] = 50,
.Ch[0].Offset[0] = 72,
.Ch[1].Gain[0] = 50,
.Ch[1].Offset[0] = 66,
.Ch[2].Gain[0] = 50,
.Ch[2].Offset[0] = 53,
.Ch[3].Gain[0] = 51,
.Ch[3].Offset[0] = 54,
.Ch[4].Gain[0] = 51,
.Ch[4].Offset[0] = 43,
.Ch[5].Gain[0] = 50,
.Ch[5].Offset[0] = 65,
.Ch[6].Gain[0] = 48,
.Ch[6].Offset[0] = 56,
.Ch[7].Gain[0] = 47,
.Ch[7].Offset[0] = 52,
.Ch[0].Gain[1] = 376,
.Ch[0].Offset[1] = 218,
.Ch[1].Gain[1] = 376,
.Ch[1].Offset[1] = 156,
.Ch[2].Gain[1] = 377,
.Ch[2].Offset[1] = 65,
.Ch[3].Gain[1] = 377,
.Ch[3].Offset[1] = 69,
.Ch[4].Gain[1] = 378,
.Ch[4].Offset[1] = -10,
.Ch[5].Gain[1] = 376,
.Ch[5].Offset[1] = 145,
.Ch[6].Gain[1] = 347,
.Ch[6].Offset[1] = 86,
.Ch[7].Gain[1] = 351,
.Ch[7].Offset[1] = 42,
.Ch[0].Gain[2] = 1561,
.Ch[0].Offset[2] = 711,
.Ch[1].Gain[2] = 1560,
.Ch[1].Offset[2] = 496,
.Ch[2].Gain[2] = 1569,
.Ch[2].Offset[2] = 146,
.Ch[3].Gain[2] = 1554,
.Ch[3].Offset[2] = 131,
.Ch[4].Gain[2] = 1563,
.Ch[4].Offset[2] = -198,
.Ch[5].Gain[2] = 1564,
.Ch[5].Offset[2] = 452,
.Ch[6].Gain[2] = 1482,
.Ch[6].Offset[2] = 196,
.Ch[7].Gain[2] = 1510,
.Ch[7].Offset[2] = 6,
.Ch[0].Gain[3] = 2287,
.Ch[0].Offset[3] = 1323,
.Ch[1].Gain[3] = 2956,
.Ch[1].Offset[3] = 944,
.Ch[2].Gain[3] = 3169,
.Ch[2].Offset[3] = 268,
.Ch[3].Gain[3] = 3119,
.Ch[3].Offset[3] = 205,
.Ch[4].Gain[3] = 3124,
.Ch[4].Offset[3] = -449,
.Ch[5].Gain[3] = 3036,
.Ch[5].Offset[3] = 864,
.Ch[6].Gain[3] = 2983,
.Ch[6].Offset[3] = 273,
.Ch[7].Gain[3] = 3126,
.Ch[7].Offset[3] = -38
};
#elif defined(BOARD_18_04_ED_37_C6_BE)
{
.Ch[0].Gain[0] = 48,
.Ch[0].Offset[0] = 21,
.Ch[1].Gain[0] = 48,
.Ch[1].Offset[0] = 11,
.Ch[2].Gain[0] = 48,
.Ch[2].Offset[0] = 25,
.Ch[3].Gain[0] = 48,
.Ch[3].Offset[0] = 24,
.Ch[4].Gain[0] = 48,
.Ch[4].Offset[0] = 8,
.Ch[5].Gain[0] = 48,
.Ch[5].Offset[0] = 20,
.Ch[6].Gain[0] = 46,
.Ch[6].Offset[0] = 10,
.Ch[7].Gain[0] = 46,
.Ch[7].Offset[0] = 37,
.Ch[0].Gain[1] = 356,
.Ch[0].Offset[1] = -11,
.Ch[1].Gain[1] = 357,
.Ch[1].Offset[1] = -88,
.Ch[2].Gain[1] = 357,
.Ch[2].Offset[1] = 8,
.Ch[3].Gain[1] = 357,
.Ch[3].Offset[1] = 5,
.Ch[4].Gain[1] = 358,
.Ch[4].Offset[1] = -112,
.Ch[5].Gain[1] = 356,
.Ch[5].Offset[1] = -17,
.Ch[6].Gain[1] = 342,
.Ch[6].Offset[1] = -94,
.Ch[7].Gain[1] = 345,
.Ch[7].Offset[1] = 106,
.Ch[0].Gain[2] = 1518,
.Ch[0].Offset[2] = -146,
.Ch[1].Gain[2] = 1507,
.Ch[1].Offset[2] = -454,
.Ch[2].Gain[2] = 1504,
.Ch[2].Offset[2] = -50,
.Ch[3].Gain[2] = 1515,
.Ch[3].Offset[2] = -55,
.Ch[4].Gain[2] = 1500,
.Ch[4].Offset[2] = -575,
.Ch[5].Gain[2] = 1517,
.Ch[5].Offset[2] = -165,
.Ch[6].Gain[2] = 1431,
.Ch[6].Offset[2] = -480,
.Ch[7].Gain[2] = 1479,
.Ch[7].Offset[2] = 376,
.Ch[0].Gain[3] = 3186,
.Ch[0].Offset[3] = -338,
.Ch[1].Gain[3] = 2732,
.Ch[1].Offset[3] = -941,
.Ch[2].Gain[3] = 3115,
.Ch[2].Offset[3] = -125,
.Ch[3].Gain[3] = 3140,
.Ch[3].Offset[3] = -150,
.Ch[4].Gain[3] = 2359,
.Ch[4].Offset[3] = -1136,
.Ch[5].Gain[3] = 3175,
.Ch[5].Offset[3] = -397,
.Ch[6].Gain[3] = 2533,
.Ch[6].Offset[3] = -979,
.Ch[7].Gain[3] = 2889,
.Ch[7].Offset[3] = 741
};
#elif defined(BOARD_18_04_ED_37_C6_DF)
{
.Ch[0].Gain[0] = 50,
.Ch[0].Offset[0] = 17,
.Ch[1].Gain[0] = 50,
.Ch[1].Offset[0] = 24,
.Ch[2].Gain[0] = 49,
.Ch[2].Offset[0] = 47,
.Ch[3].Gain[0] = 50,
.Ch[3].Offset[0] = 33,
.Ch[4].Gain[0] = 50,
.Ch[4].Offset[0] = 27,
.Ch[5].Gain[0] = 12,
.Ch[5].Offset[0] = 48,
.Ch[6].Gain[0] = 48,
.Ch[6].Offset[0] = 21,
.Ch[7].Gain[0] = 48,
.Ch[7].Offset[0] = 28,
.Ch[0].Gain[1] = 371,
.Ch[0].Offset[1] = -70,
.Ch[1].Gain[1] = 371,
.Ch[1].Offset[1] = -24,
.Ch[2].Gain[1] = 370,
.Ch[2].Offset[1] = 143,
.Ch[3].Gain[1] = 372,
.Ch[3].Offset[1] = 37,
.Ch[4].Gain[1] = 374,
.Ch[4].Offset[1] = 2,
.Ch[5].Gain[1] = 90,
.Ch[5].Offset[1] = 150,
.Ch[6].Gain[1] = 355,
.Ch[6].Offset[1] = -41,
.Ch[7].Gain[1] = 353,
.Ch[7].Offset[1] = 4,
.Ch[0].Gain[2] = 3167,
.Ch[0].Offset[2] = 1231,
.Ch[1].Gain[2] = 1585,
.Ch[1].Offset[2] = -210,
.Ch[2].Gain[2] = 1566,
.Ch[2].Offset[2] = 520,
.Ch[3].Gain[2] = 1589,
.Ch[3].Offset[2] = 51,
.Ch[4].Gain[2] = 1592,
.Ch[4].Offset[2] = -96,
.Ch[5].Gain[2] = 391,
.Ch[5].Offset[2] = 552,
.Ch[6].Gain[2] = 1512,
.Ch[6].Offset[2] = -281,
.Ch[7].Gain[2] = 1544,
.Ch[7].Offset[2] = -80,
.Ch[0].Gain[3] = 3062,
.Ch[0].Offset[3] = -884,
.Ch[1].Gain[3] = 3340,
.Ch[1].Offset[3] = -474,
.Ch[2].Gain[3] = 2885,
.Ch[2].Offset[3] = 1009,
.Ch[3].Gain[3] = 3336,
.Ch[3].Offset[3] = 78,
.Ch[4].Gain[3] = 3372,
.Ch[4].Offset[3] = -229,
.Ch[5].Gain[3] = 745,
.Ch[5].Offset[3] = 1118,
.Ch[6].Gain[3] = 3103,
.Ch[6].Offset[3] = -634,
.Ch[7].Gain[3] = 3195,
.Ch[7].Offset[3] = -205
};
#elif defined(BOARD_18_04_ED_37_C7_6F)
{
.Ch[0].Gain[0] = 49,
.Ch[0].Offset[0] = -15,
.Ch[1].Gain[0] = 48,
.Ch[1].Offset[0] = -38,
.Ch[2].Gain[0] = 49,
.Ch[2].Offset[0] = -13,
.Ch[3].Gain[0] = 49,
.Ch[3].Offset[0] = -5,
.Ch[4].Gain[0] = 48,
.Ch[4].Offset[0] = -24,
.Ch[5].Gain[0] = 48,
.Ch[5].Offset[0] = -27,
.Ch[6].Gain[0] = 46,
.Ch[6].Offset[0] = -32,
.Ch[7].Gain[0] = 0,
.Ch[7].Offset[0] = -44,
.Ch[0].Gain[1] = 358,
.Ch[0].Offset[1] = -31,
.Ch[1].Gain[1] = 357,
.Ch[1].Offset[1] = -74,
.Ch[2].Gain[1] = 359,
.Ch[2].Offset[1] = 29,
.Ch[3].Gain[1] = 359,
.Ch[3].Offset[1] = 96,
.Ch[4].Gain[1] = 358,
.Ch[4].Offset[1] = -49,
.Ch[5].Gain[1] = 357,
.Ch[5].Offset[1] = -80,
.Ch[6].Gain[1] = 346,
.Ch[6].Offset[1] = -119,
.Ch[7].Gain[1] = 341,
.Ch[7].Offset[1] = -118,
.Ch[0].Gain[2] = 1517,
.Ch[0].Offset[2] = -73,
.Ch[1].Gain[2] = 1496,
.Ch[1].Offset[2] = -255,
.Ch[2].Gain[2] = 1500,
.Ch[2].Offset[2] = 177,
.Ch[3].Gain[2] = 1497,
.Ch[3].Offset[2] = 459,
.Ch[4].Gain[2] = 1496,
.Ch[4].Offset[2] = -151,
.Ch[5].Gain[2] = 1495,
.Ch[5].Offset[2] = -283,
.Ch[6].Gain[2] = 1438,
.Ch[6].Offset[2] = -436,
.Ch[7].Gain[2] = 0,
.Ch[7].Offset[2] = -24,
.Ch[0].Gain[3] = 3171,
.Ch[0].Offset[3] = -127,
.Ch[1].Gain[3] = 3054,
.Ch[1].Offset[3] = -501,
.Ch[2].Gain[3] = 3061,
.Ch[2].Offset[3] = 387,
.Ch[3].Gain[3] = 2702,
.Ch[3].Offset[3] = 920,
.Ch[4].Gain[3] = 3046,
.Ch[4].Offset[3] = -303,
.Ch[5].Gain[3] = 3035,
.Ch[5].Offset[3] = -551,
.Ch[6].Gain[3] = 2782,
.Ch[6].Offset[3] = -879,
.Ch[7].Gain[3] = 0,
.Ch[7].Offset[3] = -23
};
#elif defined(BOARD_00_81_F9_E4_8C_D0)
{
.Ch[0].Gain[0] = 49,
.Ch[0].Offset[0] = -52,
.Ch[1].Gain[0] = 49,
.Ch[1].Offset[0] = -40,
.Ch[2].Gain[0] = 49,
.Ch[2].Offset[0] = -23,
.Ch[3].Gain[0] = 49,
.Ch[3].Offset[0] = -32,
.Ch[4].Gain[0] = 13,
.Ch[4].Offset[0] = -21,
.Ch[5].Gain[0] = 49,
.Ch[5].Offset[0] = -14,
.Ch[6].Gain[0] = 47,
.Ch[6].Offset[0] = -45,
.Ch[7].Gain[0] = 47,
.Ch[7].Offset[0] = -47,
.Ch[0].Gain[1] = 363,
.Ch[0].Offset[1] = -174,
.Ch[1].Gain[1] = 363,
.Ch[1].Offset[1] = -90,
.Ch[2].Gain[1] = 363,
.Ch[2].Offset[1] = 43,
.Ch[3].Gain[1] = 364,
.Ch[3].Offset[1] = -39,
.Ch[4].Gain[1] = 95,
.Ch[4].Offset[1] = 61,
.Ch[5].Gain[1] = 363,
.Ch[5].Offset[1] = 109,
.Ch[6].Gain[1] = 349,
.Ch[6].Offset[1] = -122,
.Ch[7].Gain[1] = 352,
.Ch[7].Offset[1] = -132,
.Ch[0].Gain[2] = 1512,
.Ch[0].Offset[2] = -644,
.Ch[1].Gain[2] = 1519,
.Ch[1].Offset[2] = -412,
.Ch[2].Gain[2] = 1530,
.Ch[2].Offset[2] = 292,
.Ch[3].Gain[2] = 1520,
.Ch[3].Offset[2] = -58,
.Ch[4].Gain[2] = 399,
.Ch[4].Offset[2] = 367,
.Ch[5].Gain[2] = 1498,
.Ch[5].Offset[2] = 559,
.Ch[6].Gain[2] = 1491,
.Ch[6].Offset[2] = -403,
.Ch[7].Gain[2] = 1457,
.Ch[7].Offset[2] = -451,
.Ch[0].Gain[3] = 2194,
.Ch[0].Offset[3] = -1174,
.Ch[1].Gain[3] = 3091,
.Ch[1].Offset[3] = -536,
.Ch[2].Gain[3] = 3000,
.Ch[2].Offset[3] = 614,
.Ch[3].Gain[3] = 3130,
.Ch[3].Offset[3] = -90,
.Ch[4].Gain[3] = 784,
.Ch[4].Offset[3] = 791,
.Ch[5].Gain[3] = 2205,
.Ch[5].Offset[3] = 1071,
.Ch[6].Gain[3] = 2802,
.Ch[6].Offset[3] = -766,
.Ch[7].Gain[3] = 2731,
.Ch[7].Offset[3] = -856
};
#elif defined(BOARD_18_04_ED_37_C6_C7)
{
.Ch[0].Gain[0] = 48,
.Ch[0].Offset[0] = -21,
.Ch[1].Gain[0] = 48,
.Ch[1].Offset[0] = -21,
.Ch[2].Gain[0] = 48,
.Ch[2].Offset[0] = -20,
.Ch[3].Gain[0] = 48,
.Ch[3].Offset[0] = -40,
.Ch[4].Gain[0] = 48,
.Ch[4].Offset[0] = -37,
.Ch[5].Gain[0] = 48,
.Ch[5].Offset[0] = -45,
.Ch[6].Gain[0] = 46,
.Ch[6].Offset[0] = -62,
.Ch[7].Gain[0] = 46,
.Ch[7].Offset[0] = -37,
.Ch[0].Gain[1] = 360,
.Ch[0].Offset[1] = 41,
.Ch[1].Gain[1] = 360,
.Ch[1].Offset[1] = 45,
.Ch[2].Gain[1] = 361,
.Ch[2].Offset[1] = 55,
.Ch[3].Gain[1] = 361,
.Ch[3].Offset[1] = -99,
.Ch[4].Gain[1] = 362,
.Ch[4].Offset[1] = -64,
.Ch[5].Gain[1] = 358,
.Ch[5].Offset[1] = -144,
.Ch[6].Gain[1] = 346,
.Ch[6].Offset[1] = -261,
.Ch[7].Gain[1] = 341,
.Ch[7].Offset[1] = -81,
.Ch[0].Gain[2] = 1536,
.Ch[0].Offset[2] = 359,
.Ch[1].Gain[2] = 1535,
.Ch[1].Offset[2] = 293,
.Ch[2].Gain[2] = 1535,
.Ch[2].Offset[2] = 387,
.Ch[3].Gain[2] = 1539,
.Ch[3].Offset[2] = -317,
.Ch[4].Gain[2] = 1545,
.Ch[4].Offset[2] = -151,
.Ch[5].Gain[2] = 1512,
.Ch[5].Offset[2] = -515,
.Ch[6].Gain[2] = 1349,
.Ch[6].Offset[2] = -994,
.Ch[7].Gain[2] = 1457,
.Ch[7].Offset[2] = -245,
.Ch[0].Gain[3] = 3027,
.Ch[0].Offset[3] = 729,
.Ch[1].Gain[3] = 3125,
.Ch[1].Offset[3] = 650,
.Ch[2].Gain[3] = 3006,
.Ch[2].Offset[3] = 794,
.Ch[3].Gain[3] = 3159,
.Ch[3].Offset[3] = -621,
.Ch[4].Gain[3] = 3237,
.Ch[4].Offset[3] = -314,
.Ch[5].Gain[3] = 2751,
.Ch[5].Offset[3] = -993,
.Ch[6].Gain[3] = 992,
.Ch[6].Offset[3] = -1615,
.Ch[7].Gain[3] = 3141,
.Ch[7].Offset[3] = -490
};
// gain=1, offset = 0, if any channel has no calibration data
#else
{
.Ch[0].Gain[0] = 1,
.Ch[0].Offset[0] = 0,
.Ch[1].Gain[0] = 1,
.Ch[1].Offset[0] = 0,
.Ch[2].Gain[0] = 1,
.Ch[2].Offset[0] = 0,
.Ch[3].Gain[0] = 1,
.Ch[3].Offset[0] = 0,
.Ch[4].Gain[0] = 1,
.Ch[4].Offset[0] = 0,
.Ch[5].Gain[0] = 1,
.Ch[5].Offset[0] = 0,
.Ch[6].Gain[0] = 1,
.Ch[6].Offset[0] = 0,
.Ch[7].Gain[0] = 1,
.Ch[7].Offset[0] = 0,
.Ch[0].Gain[1] = 1,
.Ch[0].Offset[1] = 0,
.Ch[1].Gain[1] = 1,
.Ch[1].Offset[1] = 0,
.Ch[2].Gain[1] = 1,
.Ch[2].Offset[1] = 0,
.Ch[3].Gain[1] = 1,
.Ch[3].Offset[1] = 0,
.Ch[4].Gain[1] = 1,
.Ch[4].Offset[1] = 0,
.Ch[5].Gain[1] = 1,
.Ch[5].Offset[1] = 0,
.Ch[6].Gain[1] = 1,
.Ch[6].Offset[1] = 0,
.Ch[7].Gain[1] = 1,
.Ch[7].Offset[1] = 0,
.Ch[0].Gain[2] = 1,
.Ch[0].Offset[2] = 0,
.Ch[1].Gain[2] = 1,
.Ch[1].Offset[2] = 0,
.Ch[2].Gain[2] = 1,
.Ch[2].Offset[2] = 0,
.Ch[3].Gain[2] = 1,
.Ch[3].Offset[2] = 0,
.Ch[4].Gain[2] = 1,
.Ch[4].Offset[2] = 0,
.Ch[5].Gain[2] = 1,
.Ch[5].Offset[2] = 0,
.Ch[6].Gain[2] = 1,
.Ch[6].Offset[2] = 0,
.Ch[7].Gain[2] = 1,
.Ch[7].Offset[2] = 0,
.Ch[0].Gain[3] = 1,
.Ch[0].Offset[3] = 0,
.Ch[1].Gain[3] = 1,
.Ch[1].Offset[3] = 0,
.Ch[2].Gain[3] = 1,
.Ch[2].Offset[3] = 0,
.Ch[3].Gain[3] = 1,
.Ch[3].Offset[3] = 0,
.Ch[4].Gain[3] = 1,
.Ch[4].Offset[3] = 0,
.Ch[5].Gain[3] = 1,
.Ch[5].Offset[3] = 0,
.Ch[6].Gain[3] = 1,
.Ch[6].Offset[3] = 0,
.Ch[7].Gain[3] = 1,
.Ch[7].Offset[3] = 0
};
#endif
#endif
@@ -0,0 +1,52 @@
#ifndef NEU_CHECK_INSTRUCTION
#define NEU_CHECK_INSTRUCTION
#include "headstage_instruction.h"
#include "neu/headstage_spi.h"
#include "neu/headstage_reset.h"
static uint8_t check_ins(uint16_t trans_ins){
uint16_t recv_ins;
recv_ins = spi_rxbuf[1] << 8 | spi_rxbuf[2];
return (trans_ins == recv_ins);
}
static void check_register(uint8_t register_to_check, uint16_t instruction_to_fit, uint8_t next_state){
if(spi_state_counter < 6){
SPICallBack = CONTINUOUS_TRANS;
spi_txbuf[0] = register_to_check;
spi_txbuf[1] = register_to_check;
spi_txbuf[2] = register_to_check;
spi_state_counter ++;
headstage_spi_transaction(3);
}
else{
spi_state_counter = 0;
if(check_ins(instruction_to_fit)){
NEULIVE_STATE.state = next_state;
SPICallBack = ONE_SHOT_SPI;
}
else{
// resend instruction
SPI_close(headstage_spi_handle);
DBSReset();
// NEULIVE_STATE.state = NEU_WRITE_INSTRUCTION;
// NEULIVE_STATE.config_type = NEU_SET_STI_CUR;
// if(STI){
// INSTRUCTION.ins_opcode = T_ZE;
// }
// else{
// INSTRUCTION.ins_opcode = BIAS_ONE;
// }
NEULIVE_STATE.state = NEU_DATA_RATE_TEST;
SPICallBack = ONE_SHOT_SPI;
ReopenSPI();
}
headstage_spi_transaction(3);
}
}
#endif
@@ -27,7 +27,7 @@ static void headstage_gptimer_callback(GPTimerCC26XX_Handle handle, GPTimerCC26X
params.width = GPT_CONFIG_16BIT; \
params.mode = GPT_MODE_PERIODIC_DOWN; \
params.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF; \
gptimer_handle = GPTimerCC26XX_open(Board_GPTIMER0A, &params); \
gptimer_handle = GPTimerCC26XX_open(Board_GPTIMER3A, &params); \
GPTimerCC26XX_setLoadValue(gptimer_handle, 0xFFFFFF); \
GPTimerCC26XX_registerInterrupt(gptimer_handle, headstage_gptimer_callback, GPT_INT_TIMEOUT); \
} while (0)
@@ -42,4 +42,4 @@ static void headstage_gptimer_callback(GPTimerCC26XX_Handle handle, GPTimerCC26X
GPTimerCC26XX_setLoadValue(gptimer_handle, _load); \
} while (0)
#endif // HEADSTAGE_GPTIMER_H
#endif // HEADSTAGE_GPTIMER_H
@@ -0,0 +1,96 @@
#ifndef NEU_INSTRUCTION
#define NEU_INSTRUCTION
/** amounts of channel */
#define NEU_STI_CHANNEL_COUNTS 9 // channel 0~7 is current sti; channel 8 = voltage sti
#define NEU_REC_CHANNEL_COUNTS 16 /**< recording channel counts */
struct HEADSTAGE_PARAMETER_TABLE {
uint8_t current_sti_cycle[NEU_STI_CHANNEL_COUNTS]; /** stimulation times will be executed. */
// sti_tx[0~7] is current stimulate
// sti_tx[8] assign to voltage mode channel. */
uint16_t sti_t1[NEU_STI_CHANNEL_COUNTS]; /**< first stimulation pulse duration, it can't be 0. */
uint16_t sti_t2[NEU_STI_CHANNEL_COUNTS]; /**< interval between biphasic pulses. */
uint16_t sti_t3[NEU_STI_CHANNEL_COUNTS]; /**< second stimulation pulse duration. */
uint32_t sti_t4[NEU_STI_CHANNEL_COUNTS]; /**< discharge time per stimulation. */
uint16_t sti_t5[NEU_STI_CHANNEL_COUNTS]; /**< discharge time after final stimulation. */
bool sti_mode; /**< if true: continuous mode, else limited mode. */
bool sti_h_bridge; /**< if true: enable h bridge, else single ended. */
bool sti_ref; /**< if true: reference cell body to gnd, else single ended is used. */
uint16_t current_sti_polarity; /**<
* default : low side.
* define which channel is high side or low side.
*/
uint8_t voltage_sti_channel; /**<
* voltage_channel[7:4] represent pmos channel,
* voltage_channel[3:0] represent nmos channel
*/
uint8_t amplifier_gain; /**<
* parameter table to represent actual amplifier gain
* ----------
* | bit |mean|
* ----------
* |0b00 | 100|
* ----------
* |0b01 | 400|
* ----------
* |0b10 | 800|
* -----------
* |0b11 | 25 |
* -----------
*/
/**< these parameter define the bias voltage of amplifier. */
uint8_t vgrp;
uint8_t vgrn;
uint8_t vgr_int_old;
uint8_t vgr_intp;
uint8_t vgr_intn;
uint8_t ins_opcode; /**< check instruction opcode which is transmitted to DBS. */
uint8_t voltage_sti_amplitude; /**< voltage mode stimulation amplitude control. */
uint16_t arbitrary_index; /**< this index to keep address of arbitrary data we have already stored. */
uint16_t arbitrary_en; /**< if true: enable arbitrary mode stimulation. */
uint16_t recording_channel; /**< recording_channel[17] represent enabling channel 17. */
uint16_t sti_amplitude_h; /**< positive side amplitude. */
uint16_t sti_amplitude_l; /**< negative side amplitude. */
uint16_t sys_clk_ratio; /**< frequency divider ratio for digital core clock. */
uint16_t adc_clock_ratio; /**< frequency divider ratio for adc clock. */
uint16_t sti_clock_ratio; /**< frequency divider ratio for stimulation clock. */
uint16_t chopper_ratio; /**< freqeuncy divider for chopper. */
uint16_t sti_channel; /**<
* if stimulation[7] == true, stimulation channel 7 is enabled .
* if stimulation[4] == true. stimulation channel 4 is enabled .
*/
uint8_t sti_ch_config_done; // number of stimulate channel which is config done
} INSTRUCTION = {0};
/**
* @brief:
* manage which operation to be conducted
*/
struct HEADSTAGE_STATE {
uint8_t state;
uint8_t config_type;
uint8_t index;
} NEULIVE_STATE = {0};
static bool STI = false;
static uint8_t spi_state_counter = 0;
static bool ConnectState = false;
static bool IsFirstData = true;
#endif
@@ -82,6 +82,7 @@ static uint16_t headstage_led_set_buffer(uint16_t *ins_buf, uint8_t repeat, LEDP
#define COLOR_BLUE 5
#define COLOR_CYAN 6
#define COLOR_MAGENTA 7
#define COLOR_PURPLE 8
#define COLOR_WHITE 9
// clang-format on
@@ -93,7 +94,7 @@ static uint8_t headstage_led_set_color(uint16_t *ins_buf, uint8_t repeat, uint8_
parameter = (LEDParameter){.luminance = 0xE1, .red = 0xFF, .green = 0x00, .blue = 0x00};
break;
case COLOR_ORANGE:
parameter = (LEDParameter){.luminance = 0xE1, .red = 0xFF, .green = 0x03, .blue = 0x00};
parameter = (LEDParameter){.luminance = 0xE1, .red = 0xFF, .green = 0x98, .blue = 0x00};
break;
case COLOR_YELLOW:
parameter = (LEDParameter){.luminance = 0xE1, .red = 0x0F, .green = 0x0F, .blue = 0x00};
@@ -113,6 +114,9 @@ static uint8_t headstage_led_set_color(uint16_t *ins_buf, uint8_t repeat, uint8_
case COLOR_WHITE:
parameter = (LEDParameter){.luminance = 0xE1, .red = 0x0F, .green = 0x7F, .blue = 0x1F};
break;
case COLOR_PURPLE:
parameter = (LEDParameter){.luminance = 0xE1, .red = 0x98, .green = 0x33, .blue = 0xFA};
break;
default:
case COLOR_BLACK:
parameter = (LEDParameter){.luminance = 0x00, .red = 0x00, .green = 0x00, .blue = 0x00};
@@ -44,31 +44,61 @@ static uint8_t headstage_notify_buffer[BLE_NOT_BUFF_SIZE] = {0};
*
*/
static void headstage_notify_send() {
#ifdef HEADSTAGE_NOTIFY_USE_ATT
uint16_t buffer_size = BLE_NOT_BUFF_SIZE;
uint8_t *value = (uint8 *)GATT_bm_alloc(CONNECT_HANDLE, ATT_HANDLE_VALUE_NOTI, GATT_MAX_MTU, &buffer_size);
if (value != NULL) {
memcpy(value, headstage_notify_buffer, buffer_size);
attHandleValueNoti_t notify = {
// clang-format off
.handle = 0x1E,
.len = buffer_size,
.pValue = value
// clang-format on
};
if (GATT_Notification(CONNECT_HANDLE, &notify, 0) != SUCCESS) {
// notify not send
GATT_bm_free((gattMsg_t *)&notify, ATT_HANDLE_VALUE_NOTI);
}
}
#else
//#ifdef HEADSTAGE_NOTIFY_USE_ATT
// uint16_t buffer_size = BLE_NOT_BUFF_SIZE;
// uint8_t *value = (uint8 *)GATT_bm_alloc(CONNECT_HANDLE, ATT_HANDLE_VALUE_NOTI, GATT_MAX_MTU, &buffer_size);
//
// if (value != NULL) {
// memcpy(value, headstage_notify_buffer, buffer_size);
//
// attHandleValueNoti_t notify = {
// // clang-format off
// .handle = 0x1E,
// .len = buffer_size,
// .pValue = value
// // clang-format on
// };
//
// if (GATT_Notification(CONNECT_HANDLE, &notify, 0) != SUCCESS) {
// // notify not send
// GATT_bm_free((gattMsg_t *)&notify, ATT_HANDLE_VALUE_NOTI);
// }
// }
//
//#else
SimpleProfile_SetParameter(BLE_NOT_BUFF_CHAR, BLE_NOT_BUFF_SIZE, headstage_notify_buffer);
#endif
//#endif
}
/*
// | | 1 | 2 | 3 |
// 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2
// -----------------------------------------------------------------
// | header | length = N |
// | timestamp |
// | time delta |
// | data [0] | data[1] |
// | ............................ | data[15] |
*/
static void FlushNotify(){
// headstage_notify_buffer[0] = INSTRUCTION.chip_id;
headstage_notify_buffer[0] = CHIP_ID;
headstage_notify_buffer[1] = 1; // data length = 1 when flushing notify
for (int i = 2; i < BLE_NOT_BUFF_SIZE ; i++) {
headstage_notify_buffer[i] = 0;
}
// 1 Timestamp = 32 usec; 31 Timestamp ~= 1 msec
uint32_t flush_time_stamp = 0; // msec
headstage_notify_buffer[2] = flush_time_stamp & 0xFF;
headstage_notify_buffer[3] = (flush_time_stamp >> 8) & 0xFF;
headstage_notify_buffer[4] = (flush_time_stamp >> 16) & 0xFF;
headstage_notify_buffer[5] = (flush_time_stamp >> 24) & 0xFF;
SimpleProfile_SetParameter(BLE_NOT_BUFF_CHAR, BLE_NOT_BUFF_SIZE, headstage_notify_buffer);
}
#endif // HEADSTAGE_NOTIFY_H
@@ -16,6 +16,8 @@
#include "sti/headstage_pin.h"
#elif defined(HEADSTAGE_NEU_H)
#include "neu/headstage_pin.h"
#elif defined(HEADSTAGE_TEST_DATA_H)
#include "uni/headstage_pin.h"
#else
#error "headstage_pin headstage_pin_configuration not defined"
@@ -4,6 +4,6 @@
#include <ti/drivers/Power.h>
#include <ti/drivers/power/PowerCC26XX.h>
#define headstage_power_shutdown() Power_shutdown(0, 0)
#define headstage_power_shutdown() Power_shutdown(NULL, 0)
#endif // HEADSTAGE_POWER_H
@@ -11,6 +11,9 @@
/*
* SPI parameter and function declaration
*/
static uint8_t spi_rxbuf[120] = {0};
static SPI_Handle spi_handle = NULL;
static SPI_Transaction spi_transaction;
@@ -28,7 +31,7 @@ static SPI_Transaction spi_transaction;
spi_parameter.bitRate = 12000000; \
spi_parameter.transferTimeout = 1000; \
spi_parameter.dataSize = 8; \
spi_parameter.frameFormat = SPI_POL0_PHA0; \
spi_parameter.frameFormat = SPI_POL0_PHA1; \
spi_handle = SPI_open(Board_SPI0, &spi_parameter); \
} while (0)
@@ -40,4 +43,12 @@ static SPI_Transaction spi_transaction;
SPI_transfer(spi_handle, &spi_transaction); \
})
#define headstage_spi_test_transaction(len) \
({ \
spi_transaction.txBuf = NULL; \
spi_transaction.rxBuf = (spi_rxbuf); \
spi_transaction.count = (len); \
SPI_transfer(spi_handle, &spi_transaction); \
})
#endif // HEADSTAGE_SPI_H
@@ -0,0 +1,119 @@
#ifndef HEADSTAGE_H
#error "headstage_test_data.h not include"
#endif
#ifndef HEADSTAGE_TEST_DATA_H
#define HEADSTAGE_TEST_DATA_H
/**
* @file headstage_test_data.h
*
* Copyright (c) 2019. BioPro. Scientific
*
* NEULIVE test structure:
*
* headstage_init()
* headstage_test_event()
*
*/
#define DEVICE_NAME "Neulive-v1.3"
#define MAJOR_PRODUCT_NUMBER 1
#define MINOR_PRODUCT_NUMBER 1
#define MAJOR_VERSION_NUMBER 1
#define MINOR_VERSION_NUMBER 3
#include "time.h"
#include "headstage_pin.h"
#include "headstage_led.h"
#include "headstage_notify.h"
#include "headstage_batt.h"
#include "headstage_gptimer.h"
#include "headstage_spi.h"
#include "tni/headstage_notify.h"
static void headstage_test_periodic();
static void headstage_init() {
headstage_pin_open();
headstage_spi_open();
headstage_gptimer_open();
headstage_gptimer_set_frequency(1000);
}
static void headstage_update_ris_instruction(uint8_t ins_len, uint8_t* instruction) {
}
static void headstage_update_vis_instruction(uint8_t ins_oper) {
switch (ins_oper) {
case VIS_STI:
headstage_gptimer_start();
break;
default:
break;
}
}
static void headstage_update_cis_instruction(uint8_t ins_oper) {
}
static void headstage_test_event() {
if (flag_mask(EVT_PERIODIC_GPTIMER)) {
flag_disable(EVT_PERIODIC_GPTIMER);
headstage_test_periodic();
}
if (EVENT_MASK == 0) {
// fast return
}
if (flag_mask(EVT_DISCONNECTED)) {
headstage_update_vis_instruction(VIS_INT);
}
}
static void headstage_append_data( uint8_t* dat_buf) {
for (uint8_t i = 0; i < 1 ; i++) {
dat_buf[3*i] = ( 0x0f << 4 ) | ( dat_buf[3*i+1] );
dat_buf[3*i+1] = dat_buf[3*i+2] ;
}
}
static uint8_t headstage_append_notify_data(uint8_t* data_value) {
if ( not_buf_offset <= NOT_BUF_OFFSET_INIT) {
headstage_notify_set_timestamp();
not_buf_offset = NOT_BUF_OFFSET_INIT;
}
for (uint8_t i = 0; i < 1 ; i++) {
headstage_notify_buffer[2*i + not_buf_offset] = data_value[3*i];
headstage_notify_buffer[2*i + 1 + not_buf_offset] = data_value[3*i + 1];
}
not_buf_offset = not_buf_offset + 2;
if (not_buf_offset == 200) {
uint32_t current = headstage_time_stamp_us();
uint32_t time_delta = ((current - not_time_stamp)) & 0xFFFF;
headstage_notify_buffer[6] = time_delta & 0xFF;
headstage_notify_buffer[7] = (time_delta >> 8) & 0xFF;
}
return not_buf_offset;
}
/**
* @fn headstage_test_periodic
* description : every 100us sample adc data
*/
static void headstage_test_periodic() {
headstage_spi_test_transaction(3);
headstage_append_data(spi_rxbuf);
uint8_t index = headstage_append_notify_data(spi_rxbuf);
if ( index >= 200 ) {
headstage_notify_flip_buffer();
headstage_notify_send();
}
}
#endif
@@ -0,0 +1,16 @@
#ifndef VERSION_DATE
#define VERSION_DATE
#define VERSION_DATE_YEAR 20
#define VERSION_DATE_MONTH 4
#define VERSION_DATE_DAY 24
#define VERSION_DATE_HOUR 11
#define VERSION_DATE_MINUTE 53
// this is NOT the version hash !!
// it's the last version hash
#define VERSION_HASH 404d8d8d9d0b04eb9ed6fcc656ba52180d13d8c8
#define VERSION_GIT_BRANCH neulive20_blastData
#endif
@@ -0,0 +1,23 @@
#ifndef CHECK_MOSI
#define CHECK_MOSI
#include "headstage_led.h"
/*
* MOSI channel meet with INSTRUCTION.recording_channel ?
*/
static uint8_t CheckMOSI(uint8_t* MOSI){
uint8_t ch = MOSI[0];
uint16_t selectCh = 0x0001 << ch;
if(selectCh & INSTRUCTION.recording_channel){
return 1;
}
else{
// headstage_led_color(COLOR_RED);
// headstage_led_color(COLOR_GREEN);
return 0;
}
}
#endif
@@ -10,20 +10,27 @@
#define NOT_BUF_OFFSET_INIT 8
static uint32_t not_buf_offset = NOT_BUF_OFFSET_INIT;
static uint8_t not_buf_offset = NOT_BUF_OFFSET_INIT;
static uint32_t not_time_stamp = 0;
static uint32_t data_counter = 0;
static void headstage_notify_set_timestamp() {
not_time_stamp = headstage_time_stamp_us();
headstage_notify_buffer[2] = not_time_stamp & 0xFF;
headstage_notify_buffer[3] = (not_time_stamp >> 8) & 0xFF;
headstage_notify_buffer[4] = (not_time_stamp >> 16) & 0xFF;
headstage_notify_buffer[5] = (not_time_stamp >> 24) & 0xFF;
// headstage_notify_buffer[2] = not_time_stamp & 0xFF;
// headstage_notify_buffer[3] = (not_time_stamp >> 8) & 0xFF;
// headstage_notify_buffer[4] = (not_time_stamp >> 16) & 0xFF;
// headstage_notify_buffer[5] = (not_time_stamp >> 24) & 0xFF;
headstage_notify_buffer[5] = data_counter & 0xFF;
headstage_notify_buffer[4] = (data_counter >> 8) & 0xFF;
headstage_notify_buffer[3] = (data_counter >> 16) & 0xFF;
headstage_notify_buffer[2] = (data_counter >> 24) & 0xFF;
data_counter ++;
}
static void headstage_notify_flip_buffer() {
uint8_t data_count = (not_buf_offset - NOT_BUF_OFFSET_INIT) / 2;
uint8_t data_count = (not_buf_offset - NOT_BUF_OFFSET_INIT) / 3;
headstage_notify_buffer[0] = CHIP_ID;
headstage_notify_buffer[1] = data_count;
@@ -39,13 +46,15 @@ static uint8_t headstage_notify_append_data(uint8_t *data_value) {
if (data_value == NULL) {
headstage_notify_buffer[not_buf_offset++] = 0x00;
headstage_notify_buffer[not_buf_offset++] = 0x03;
headstage_notify_buffer[not_buf_offset++] = 0x00;
headstage_notify_buffer[not_buf_offset++] = 0x00;
} else {
headstage_notify_buffer[not_buf_offset++] = data_value[0];
headstage_notify_buffer[not_buf_offset++] = data_value[1];
headstage_notify_buffer[not_buf_offset++] = data_value[2];
}
if (not_buf_offset == BLE_NOT_BUFF_SIZE) {
if (not_buf_offset >= BLE_NOT_BUFF_SIZE - 1) {
uint32_t current = headstage_time_stamp_us();
uint32_t time_delta = ((current - not_time_stamp)) & 0xFFFF;
@@ -25,19 +25,19 @@
// clang-format off
#define PIN_RESET IOID_0 // SPI1 to receive LSK
#define PIN_EN_ADC_SPI_CLK IOID_1 // SPI1 clock
#define PIN_LED_SDI IOID_0 // SPI1 to receive LSK
#define PIN_LED_CLK IOID_1 // SPI1 clock
#define PIN_DC_DC IOID_2 // STI select need
#define PIN_BATT_HALF IOID_3 //
#define PIN_AMP_VCK IOID_4 //
#define PIN_LED_SDI IOID_7 //
#define PIN_LED_CLK IOID_8 //
#define PIN_STI_CLK IOID_9 //
#define PIN_SPI_MISO IOID_10 //
#define PIN_SPI_MOSI IOID_11 //
#define PIN_SPI_CS IOID_12 //
#define PIN_SPI_CLK IOID_13 //
#define PIN_SYS_CLK IOID_14 //
#define PIN_EN_ADC_SPI_CLK IOID_3 //
#define PIN_BATT_HALF IOID_4 //
#define PIN_SPI_MISO IOID_7 //
#define PIN_SPI_MOSI IOID_8 //
#define PIN_SPI_CS IOID_9 //
#define PIN_SPI_CLK IOID_10 //
#define PIN_SYS_CLK IOID_11 //
#define PIN_RESET IOID_12 //
#define PIN_AMP_VCK IOID_13 //
#define PIN_STI_CLK IOID_14 //
// clang-format on
#endif
@@ -47,7 +47,8 @@
#define Board_SPI0_MISO PIN_SPI_MISO
#define Board_SPI0_MOSI PIN_SPI_MOSI
#define Board_SPI0_CLK PIN_SPI_CLK
#define Board_SPI0_CSN PIN_SPI_CS
//#define Board_SPI0_CSN PIN_SPI_CS
#define Board_SPI0_CSN PIN_UNASSIGNED
/*
* SPI1 interface work with LED
@@ -0,0 +1,110 @@
#ifndef NEU_2_RST
#define NEU_2_RST
#include "headstage_instruction.h"
#include "neu/headstage_spi.h"
static void ResetINSTRUCTION();
static void MCUReset(){
// Reset INSTRUCTION & NEULIVE_STATE
ResetINSTRUCTION();
// global variable reset
IsFirstData = true;
STI = false;
// SPI reset
SPI_close(headstage_spi_handle);
spi_state_counter = 0;
for(int i=0 ; i<SPI_BUFFER_SIZE ; i++ ){
spi_txbuf[i] = 0;
spi_rxbuf[i] = 0;
}
SPICallBack = ONE_SHOT_SPI;
ReopenSPI();
for(int i=0 ; i<SPI_LED_BUFF_SIZE ; i++){
headstage_spi_led_txbuf[i] = 0;
}
// CIS buffer reset
for(int i=0 ; i<BLE_CDR_BUFF_SIZE ; i++){
cdr_buf[i] = 0;
}
// Notify Buffer reset
for(int i=0 ; i<BLE_NOT_BUFF_SIZE ; i++){
headstage_notify_buffer[i] = 0;
}
not_buf_offset = NOT_BUF_OFFSET_INIT;
not_time_stamp = 0;
if(ConnectState){
headstage_led_color(COLOR_CYAN);
}
else{
headstage_led_color(COLOR_GREEN); // color green
}
// this flag is set by SimpleBLEPeripheral_processStateChangeEvt() in simple_peripheral.c
// ConnectState = false;
}
static void DBSReset(){
headstage_pin_output(PIN_RESET, 0);
headstage_cpu_delay_ms(10);
headstage_pin_output(PIN_DC_DC, 1);
headstage_pin_output(PIN_EN_ADC_SPI_CLK, 1);
headstage_pin_output(PIN_RESET, 1);
}
static void Neu2Reset(){
DBSReset();
MCUReset();
}
static void ResetINSTRUCTION(){
INSTRUCTION.vgrp = 16;
INSTRUCTION.vgrn = 16;
INSTRUCTION.vgr_intp = 16;
INSTRUCTION.vgr_intn = 16;
INSTRUCTION.vgr_int_old = 16;
INSTRUCTION.recording_channel = 0b0000000000000000;
INSTRUCTION.adc_clock_ratio = 100;
INSTRUCTION.sys_clk_ratio = 10;
INSTRUCTION.sti_clock_ratio = 10;
INSTRUCTION.amplifier_gain = 0;
INSTRUCTION.chopper_ratio = 2;
INSTRUCTION.sti_t1[1] = 1;
INSTRUCTION.sti_t2[1] = 0;
INSTRUCTION.sti_t3[1] = 0;
INSTRUCTION.sti_t4[1] = 0;
INSTRUCTION.sti_t5[1] = 0;
INSTRUCTION.sti_channel = 2;
INSTRUCTION.arbitrary_en = 0;
INSTRUCTION.arbitrary_index = 0;
INSTRUCTION.sti_h_bridge = 0;
INSTRUCTION.sti_mode = 0;
INSTRUCTION.sti_ref = 0;
INSTRUCTION.current_sti_polarity = 2;
INSTRUCTION.sti_amplitude_h = 0;
INSTRUCTION.sti_amplitude_l = 0;
INSTRUCTION.ins_opcode = BIAS_ONE;
INSTRUCTION.sti_ch_config_done = 0;
uint8_t voltage_sti_channel = 0;
uint8_t voltage_sti_amplitude = 0;
for(int i=0 ; i<NEU_STI_CHANNEL_COUNTS ; i++){
INSTRUCTION.current_sti_cycle[i] = 0;
}
NEULIVE_STATE.state = NEU_IDLE;
NEULIVE_STATE.config_type = 0;
NEULIVE_STATE.index = 0;
}
#endif
@@ -12,7 +12,7 @@
#include <ti/drivers/dma/UDMACC26XX.h>
#include <ti/drivers/spi/SPICC26XXDMA.h>
#define SPI_BUFFER_SIZE 20
#define SPI_BUFFER_SIZE 3
static uint8_t spi_txbuf[SPI_BUFFER_SIZE] = {0};
static uint8_t spi_rxbuf[SPI_BUFFER_SIZE] = {0};
@@ -22,6 +22,7 @@ static SPI_Handle headstage_spi_handle = NULL;
static SPI_Transaction headstage_spi_transaction;
static void headstage_spi_callback(SPI_Handle handle, SPI_Transaction* transaction);
static bool OpenSPI = false;
// SPI parameters initialize
#define headstage_spi_open() \
@@ -38,14 +39,14 @@ static void headstage_spi_callback(SPI_Handle handle, SPI_Transaction* transacti
headstage_spi_handle = SPI_open(Board_SPI0, &spi_parameter); \
} while (0)
#define headstage_spi_transaction(handle, length, tx, rx) \
({ \
SPI_Transaction transaction = headstage_spi_transaction ; \
transaction.count = (length); \
transaction.txBuf = (tx); \
transaction.rxBuf = (rx); \
SPI_transfer(handle, &transaction); \
})
//#define headstage_spi_transaction(handle, length, tx, rx) \
// ({ \
// SPI_Transaction transaction = headstage_spi_transaction ; \
// transaction.count = (length); \
// transaction.txBuf = (tx); \
// transaction.rxBuf = (rx); \
// SPI_transfer(handle, &transaction); \
// })
#define headstage_spi_transaction(length) \
({ \
@@ -70,4 +71,54 @@ static void headstage_spi_callback(SPI_Handle handle, SPI_Transaction* transacti
} \
} while (0)
#endif
static void ReopenSPI(){
SPI_init();
SPI_Params spi_parameter;
SPI_Params_init(&spi_parameter);
spi_parameter.transferMode = SPI_MODE_CALLBACK;
spi_parameter.mode = SPI_SLAVE;
spi_parameter.bitRate = NEU_SPI_FREQ;
spi_parameter.dataSize = 8;
spi_parameter.frameFormat = SPI_POL0_PHA1;
spi_parameter.transferCallbackFxn = headstage_spi_callback;
headstage_spi_handle = SPI_open(Board_SPI0, &spi_parameter);
}
//static void WriteSPI(uint8_t length){
// if(OpenSPI){
// ReopenSPI();
// }
//
// for(int i=length ; i<SPI_BUFFER_SIZE ; i++){
// spi_rxbuf[i] = 0x00;
// }
//
// SPICallBack = FLUSH_BUFFER;
// headstage_spi_transaction.count = 3;
// headstage_spi_transaction.txBuf = spi_txbuf;
// headstage_spi_transaction.rxBuf = spi_rxbuf;
//
// SPI_transfer(headstage_spi_handle, &headstage_spi_transaction);
//}
//static void ReadSPI(){
// if(OpenSPI){
// ReopenSPI();
// }
//
// SPICallBack = READ_REG;
// headstage_spi_transaction.count = 3;
// headstage_spi_transaction.txBuf = spi_txbuf;
// headstage_spi_transaction.rxBuf = spi_rxbuf;
//
// SPI_transfer(headstage_spi_handle, &headstage_spi_transaction);
//}
static void AppendSPITX(uint8_t index, uint32_t value){
tx_put_u24(index, value);
for(int i=3 ; i<SPI_BUFFER_SIZE ; i++){
spi_txbuf[i] = 0;
}
}
#endif
@@ -1,7 +1,7 @@
/* Copyright (c) 2019. BioPro. Scientific.
*/
#ifndef HEADSTAGE_ADC_H
#define HEADSTAGE_ADC_H
#ifndef HEADSTAGE_STI_ADC_H
#define HEADSTAGE_STI_ADC_H
#if defined(BOOSTXL_CC2650MA) && !defined(HEADSTAGE_MA_USE_ADC)
#error "put HEADSTAGE_MA_USE_ADC in predefined"
@@ -37,4 +37,4 @@ static ADC_Handle headstage_adc_handle_2;
headstage_adc_handle_2 = ADC_open(CC2650_ADC2, &param); \
} while (0)
#endif // HEADSTAGE_ADC_H
#endif // HEADSTAGE_STI_ADC_H
@@ -10,7 +10,7 @@
#define NOT_BUF_OFFSET_INIT 8
static uint32_t not_buf_offset = NOT_BUF_OFFSET_INIT;
static uint8_t not_buf_offset = NOT_BUF_OFFSET_INIT;
static uint32_t not_time_stamp = 0;
static void headstage_notify_set_timestamp() {
@@ -58,4 +58,5 @@ static uint8_t headstage_notify_append_data(uint8_t channel, uint8_t *data_value
return ret;
}
#endif // HEADSTAGE_NOTIFY_TDC4VAF2_H
@@ -0,0 +1,118 @@
#Neulive 1.3
##include files
######time.h
This part is used for getting the time information.
Such as year and month.
For example:
static void headstage_init_device_info() {
uint8_t year = 10 * (date[9] - '0') + (date[10] - '0');
uint8_t month = 0;
switch (date[0]) {
case 'J':
// Jan, January
// Jun, June
// Jul, July
if (date[1] == 'a') {
month = 1;
} else if (date[2] == 'n') {
month = 6;
} else {
month = 7;
}
break;
case 'F':
// Feb, February
month = 2;
break;
case 'M':
// Mar, March
// May, May
if (date[2] == 'r') {
month = 3;
} else {
month = 5;
}
break;
case 'A':
// Apr, April
// Ang, August
if (date[1] == 'p') {
month = 4;
} else {
month = 8;
}
break;
case 'S':
// Sep, September
month = 9;
break;
case 'O':
// Oct, October
month = 10;
break;
case 'N':
// Nov, November
month = 11;
break;
case 'D':
// Dec, December
month = 12;
break;
}
......
*p++ = year;
*p++ = month;
......
}
######population.h
This is used for checking each digit of data is 1 or 0.
It will return how many 1 are included in the value.
static uint32_t pop_count(uint32_t value) {
value -= ((value >> 1) & 0x55555555);
value = (((value >> 2) & 0x33333333) + (value & 0x33333333));
value = (((value >> 4) + value) & 0x0f0f0f0f);
value += (value >> 8);
value += (value >> 16);
return (value & 0x0000003f);
}
######headstage_arm.h
This part is used for generating arbitrary data to test data rate.
######headstage_debug.h
######headstage_pin.h
######headstage_led.h
######headstage_watchdog.h
######headstage_notify.h
######headstage_indicate.h
######headstage_batt.h
######tni/headstage_notify.h
######uni/headstage_spi.h
######uni/headstage_pwm.h
######uni/uni1.3_parameter.h
-------------
@@ -1,5 +1,26 @@
/* Copyright (c) 2019. BioPro. Scientific.
*/
#ifndef HEADSTAGE_ADC_H
#define HEADSTAGE_ADC_H
#endif // HEADSTAGE_ADC_H
#ifndef HEADSTAGE_UNI_ADC_H
#define HEADSTAGE_UNI_ADC_H
#include <Board.h>
#include <ti/drivers/ADC.h>
static ADC_Handle headstage_adc;
#define headstage_adc_open() \
do { \
ADC_init(); \
ADC_Params headstage_adc_params; \
ADC_Params_init(&headstage_adc_params); \
headstage_adc = ADC_open(BOOSTXL_CC2650MA_ADC0, &headstage_adc_params); \
} while (0)
#define headstage_adc_convert() \
({ \
uint16_t adc_value; \
ADC_convert(headstage_adc, &adc_value); \
ADC_convertRawToMicroVolts(headstage_adc , adc_value); \
})
#endif // HEADSTAGE_UNI_ADC_H
@@ -48,7 +48,7 @@
#define Board_SPI0_MISO PIN_UNASSIGNED
#define Board_SPI0_MOSI PIN_LSK_MOSI
#define Board_SPI0_CLK PIN_LSK_CLK
#define Board_SPI0_CS PIN_LSK_CS
#define Board_SPI0_CSN PIN_LSK_CS
/*
* SPI1 interface work with LED
@@ -57,7 +57,7 @@
#define Board_SPI1_MISO PIN_UNASSIGNED
#define Board_SPI1_MOSI PIN_ASK_MOSI
#define Board_SPI1_CLK PIN_UNASSIGNED
#define Board_SPI1_CS PIN_ASK_CS
#define Board_SPI1_CSN PIN_ASK_CS
/* Power Management Board */
#define Board_SRDY Board_BP_Pin_J2_19
@@ -76,14 +76,14 @@
#endif
static PIN_Config headstage_pin_configuration[] = { //
PIN_STI_SEL | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
PIN_RESET | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
PIN_VGRP | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
PIN_FASTSET | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
PIN_LED_CLK | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
PIN_LED_OUT | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
//
PIN_TERMINATE};
//static PIN_Config headstage_pin_configuration[] = { //
// PIN_STI_SEL | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// PIN_RESET | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// PIN_VGRP | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// PIN_FASTSET | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// PIN_LED_CLK | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// PIN_LED_OUT | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// //
// PIN_TERMINATE};
#endif // HEADSTAGE_PIN_UNI_H
@@ -12,53 +12,53 @@
"REC_CHANNEL_COUNT": 12,
"STI_CHANNEL_COUNT": 4,
"ADC_SAMPLE_RATE_LIST": [
2000,
1000,
1900,
3800,
7600,
15200,
30400
15200
],
"STI_FREQ_LIST": [
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
22,
24,
26,
28,
30,
32,
34,
36,
38,
40,
100,
200,
300,
400,
500,
600,
700,
800,
1000,
1200,
1400,
1600,
1800,
2000
900,
1000
],
"STI_PULSE_WIDTH": [
80,
180,
280,
380,
480,
580,
680,
780,
880,
980
400,
900,
1400,
1900,
2400,
2900,
3400,
3900,
4400,
4900
]
},
"parameters": {
@@ -84,9 +84,6 @@
"description": "amp gain",
"record_meta": true,
"value": [
3,
14,
27,
60,
280,
540
@@ -187,10 +184,6 @@
},
"instruction": {
"start": [
{
"expression": "len(CHANNEL) > 0",
"raise": "no recording channel"
},
"data_format",
"_notify(True)",
"start_recording",
@@ -55,9 +55,6 @@ static uint16_t amp_gain_table[] = {
0b100011, // 3
0b101100, // 14
0b101001, // 27
0b000011, // 60
0b001100, // 280
0b001001, // 540
};
#endif
@@ -72,7 +72,6 @@
#if defined(FEATURE_OAD) || defined(IMAGE_INVALIDATE)
#include "oad_target.h"
#include "oad.h"
#endif // FEATURE_OAD || IMAGE_INVALIDATE
@@ -115,21 +114,30 @@
#ifndef FEATURE_OAD
// Minimum connection interval (units of 1.25ms, 80=100ms) if automatic
// parameter update request is enabled
//#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 6
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 6
// Maximum connection interval (units of 1.25ms, 800=1000ms) if automatic
// parameter update request is enabled
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 6
//#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 6
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 320
#else //! FEATURE_OAD
// Minimum connection interval (units of 1.25ms, 8=10ms) if automatic
// parameter update request is enabled
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 80
//#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 80
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL 8
// Maximum connection interval (units of 1.25ms, 8=10ms) if automatic
// parameter update request is enabled
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 80
//#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 80
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL 16
#endif // FEATURE_OAD
//#define SBP_PERIODIC_EVT_PERIOD DEFAULT_DESIRED_MIN_CONN_INTERVAL*1.25 + 2
#define SBP_PERIODIC_EVT_PERIOD 8
// Slave latency to use if automatic parameter update request is enabled
#define DEFAULT_DESIRED_SLAVE_LATENCY 0
@@ -153,7 +161,7 @@
#define SBP_TASK_PRIORITY 1
#ifndef SBP_TASK_STACK_SIZE
#define SBP_TASK_STACK_SIZE 1024
#define SBP_TASK_STACK_SIZE 844
#endif
// Internal Events for RTOS application
@@ -161,6 +169,7 @@
#define SBP_STATE_CHANGE_EVT 0x0001
#define SBP_CHAR_CHANGE_EVT 0x0002
#define SBP_CONN_EVT_END_EVT 0x0004
#define SBP_PERIODIC_EVT 0x0008
// clang-format on
/*********************************************************************
@@ -180,12 +189,16 @@ typedef struct {
* LOCAL VARIABLES
*/
// Entity ID globally used to check for source and/or destination of messages
static ICall_EntityID self;
// Semaphore globally used to post events to the application thread
ICall_Semaphore semaphore;
// Clock instances for internal periodic events.
static Clock_Struct periodicClock;
// Queue object used for app messages
static Queue_Struct application_message;
static Queue_Handle application_message_queue;
@@ -196,6 +209,9 @@ static Queue_Struct oad_queue;
static Queue_Handle oad_queue_handle;
#endif // FEATURE_OAD
// events flag for internal application events.
static uint16_t events;
// Task configuration
Task_Struct sbpTask;
Char sbpTaskStack[SBP_TASK_STACK_SIZE];
@@ -221,7 +237,10 @@ static void SimpleBLEPeripheral_sendAttRsp(void);
static void SimpleBLEPeripheral_freeAttRsp(uint8_t status);
static void SimpleBLEPeripheral_stateChangeCB(gaprole_States_t newState);
static void SimpleBLEPeripheral_enqueueMsg(uint8_t event, uint8_t state);
static void headstage_data_length_extension();
static void SimpleBLEPeripheral_performPeriodicTask(void);
static void SimpleBLEPeripheral_clockHandler(UArg arg);
#ifndef FEATURE_OAD_ONCHIP
static void SimpleBLEPeripheral_charValueChangeCB(uint8_t paramID);
@@ -309,6 +328,7 @@ static void SimpleBLEPeripheral_init(void) {
// so that the application can send and receive messages.
ICall_registerApp(&self, &semaphore);
// Hard code the DB Address till CC2650 board gets its own IEEE address
#ifdef USE_RCOSC
RCOSC_enableCalibration();
#endif // USE_RCOSC
@@ -316,6 +336,9 @@ static void SimpleBLEPeripheral_init(void) {
// Create an RTOS queue for message from profile to be sent to app.
application_message_queue = Util_constructQueue(&application_message);
// Util_constructClock(&periodicClock, SimpleBLEPeripheral_clockHandler, SBP_PERIODIC_EVT_PERIOD, 0, false, SBP_PERIODIC_EVT);
// Util_constructClock(&periodicClock, SimpleBLEPeripheral_clockHandler, 100, 0, false, SBP_PERIODIC_EVT);
// Setup the GAP
GAP_SetParamValue(TGAP_CONN_PAUSE_PERIPHERAL, DEFAULT_CONN_PAUSE_PERIPHERAL);
@@ -408,12 +431,10 @@ static void SimpleBLEPeripheral_init(void) {
// Register for GATT local events and ATT Responses pending for transmission
GATT_RegisterForMsgs(self);
HCI_LE_WriteSuggestedDefaultDataLenCmd(251, 2120); // this is used for data length extension
//
HCI_LE_ReadMaxDataLenCmd();
HCI_LE_WriteSuggestedDefaultDataLenCmd(251, 2120); // this is used for data length extension
uint8_t prepare_write_req = 6;
GATTServApp_SetParameter(GATT_PARAM_NUM_PREPARE_WRITES, 1, &prepare_write_req);
}
#ifndef DEVICE_NAME
@@ -512,7 +533,7 @@ static void headstage_init_device_info() {
for (unsigned int i = 0; i < sizeof(DEVICE_NAME) - 1; i++) {
*p++ = DEVICE_NAME[i];
}
*p++ = 11;
*p++ = 16;
*p++ = GAP_ADTYPE_MANUFACTURER_SPECIFIC;
// unsafe_memcpy(p, "BPHS", 4);
*p++ = 'B';
@@ -525,6 +546,13 @@ static void headstage_init_device_info() {
*p++ = MINOR_VERSION_NUMBER;
*p++ = year;
*p++ = month;
*p++ = 'B';
*p++ = 'A';
*p++ = 'T';
*p++ = headstage_battery_volt1();
*p++ = headstage_battery_volt2();
GGS_SetParameter(GGS_DEVICE_NAME_ATT, sizeof(DEVICE_NAME), DEVICE_NAME);
@@ -555,7 +583,6 @@ static void SimpleBLEPeripheral_taskFxn(UArg a0, UArg a1) {
// message is queued to the message receive queue of the thread or when
// ICall_signal() function is called onto the semaphore.
ICall_Errno errno = ICall_wait(ICALL_TIMEOUT_FOREVER);
// headstage_watchdog_clear();
if (errno == ICALL_ERRNO_SUCCESS) {
ICall_EntityID dest;
ICall_ServiceEnum src;
@@ -583,23 +610,32 @@ static void SimpleBLEPeripheral_taskFxn(UArg a0, UArg a1) {
ICall_freeMsg(message);
}
}
}
// If RTOS queue is not empty, process app message.
while (!Queue_empty(application_message_queue)) {
sbpEvt_t *message = (sbpEvt_t *)Util_dequeueMsg(application_message_queue);
if (message) {
// Process message.
SimpleBLEPeripheral_processAppMsg(message);
// If RTOS queue is not empty, process app message.
while (!Queue_empty(application_message_queue)) {
sbpEvt_t *message = (sbpEvt_t *)Util_dequeueMsg(application_message_queue);
if (message) {
// Process message.
SimpleBLEPeripheral_processAppMsg(message);
// Free the space from the message.
ICall_free(message);
}
// Free the space from the message.
ICall_free(message);
}
}
if (EVENT_MASK > 0) {
headstage_event_handle();
}
// if (events & SBP_PERIODIC_EVT) {
// events &= ~SBP_PERIODIC_EVT;
//
// Util_startClock(&periodicClock);
//
// // Perform periodic application task
// SimpleBLEPeripheral_performPeriodicTask();
// }
#ifdef FEATURE_OAD
while (!Queue_empty(oad_queue_handle)) {
oadTargetWrite_t *oadWriteEvt = Queue_get(oad_queue_handle);
@@ -678,8 +714,7 @@ static uint8_t SimpleBLEPeripheral_processGATTMsg(gattMsgEvent_t *message) {
} else if (message->method == ATT_MTU_UPDATED_EVENT) {
// MTU size updated
headstage_debug_buffer[10] = 0xff;
headstage_set_debug_information();
} else if (message->method == ATT_HANDLE_VALUE_CFM) {
// quick pass
}
@@ -766,6 +801,7 @@ static void SimpleBLEPeripheral_processAppMsg(sbpEvt_t *message) {
break;
case SBP_CHAR_CHANGE_EVT:
// Util_startClock(&periodicClock);
headstage_characteristic_updated(message->hdr.state);
break;
}
@@ -825,14 +861,16 @@ static void SimpleBLEPeripheral_processStateChangeEvt(gaprole_States_t newState)
uint8_t numActive = 0;
numActive = linkDB_NumActive();
headstage_led_color(COLOR_CYAN);
uint16_t cxnHandle;
// requestedPDUSize = LL payload = L2CAP_header + ATT header + BLE_NOT_BUFF_SIZE = 7 + BLE_NOT_BUFF_SIZE
uint16_t requestedPDUSize = 251;
uint16_t requestTxTime = 2120;
uint16_t requestTxTime = 2120; // (LL payload + 14) * 8
GAPRole_GetParameter(GAPROLE_CONNHANDLE, &cxnHandle);
if (SUCCESS != HCI_LE_SetDataLenCmd(cxnHandle, requestedPDUSize, requestTxTime)) {
if (SUCCESS == HCI_LE_SetDataLenCmd(cxnHandle, requestedPDUSize, requestTxTime)) {
ConnectState = true;
// headstage_led_color(COLOR_CYAN);
}
// Use numActive to determine the connection handle of the last
// connection
@@ -841,13 +879,14 @@ static void SimpleBLEPeripheral_processStateChangeEvt(gaprole_States_t newState)
uint8_t peerAddress[B_ADDR_LEN];
GAPRole_GetParameter(GAPROLE_CONN_BD_ADDR, peerAddress);
}
flag_notify(EVT_CONNECTED);
break;
}
case GAPROLE_WAITING:
// Device is started but not advertising, is in waiting period before advertising again
SimpleBLEPeripheral_freeAttRsp(bleNotConnected);
ConnectState = false;
headstage_led_color(COLOR_GREEN);
break;
case GAPROLE_WAITING_AFTER_TIMEOUT:
@@ -941,3 +980,25 @@ static void SimpleBLEPeripheral_enqueueMsg(uint8_t event, uint8_t state) {
Util_enqueueMsg(application_message_queue, semaphore, (uint8 *)message);
}
}
static void SimpleBLEPeripheral_performPeriodicTask(){
SimpleBLEPeripheral_blastData();
}
/*********************************************************************
* @fn SimpleBLEPeripheral_clockHandler
*
* @brief Handler function for clock timeouts.
*
* @param arg - event type
*
* @return None.
*/
static void SimpleBLEPeripheral_clockHandler(UArg arg) {
// Store the event.
events |= arg;
// Wake up the application.
Semaphore_post(semaphore);
}
@@ -0,0 +1,289 @@
/******************************************************************************
@file main.c
@brief main entry of the BLE stack sample application.
Group: WCS, BTS
Target Device: CC2650, CC2640
******************************************************************************
Copyright (c) 2013-2018, Texas Instruments Incorporated
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Texas Instruments Incorporated nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
******************************************************************************
Release Name: ble_sdk_2_02_02_25
Release Date: 2018-04-02 18:03:35
*****************************************************************************/
/*******************************************************************************
* INCLUDES
*/
#include <xdc/runtime/Error.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/power/PowerCC26XX.h>
#include <ti/sysbios/BIOS.h>
#include "icall.h"
#include "hal_assert.h"
#include "central.h"
#include "simple_central.h"
/* Header files required to enable instruction fetch cache */
#include <inc/hw_memmap.h>
#include <driverlib/vims.h>
#ifndef USE_DEFAULT_USER_CFG
#include "ble_user_config.h"
// BLE user defined configuration
bleUserCfg_t user0Cfg = BLE_USER_CFG;
#endif // USE_DEFAULT_USER_CFG
#include <ti/mw/display/Display.h>
#ifdef USE_FPGA
#include <inc/hw_prcm.h>
#endif // USE_FPGA
/*******************************************************************************
* MACROS
*/
/*******************************************************************************
* CONSTANTS
*/
#if defined( USE_FPGA )
#define RFC_MODE_BLE PRCM_RFCMODESEL_CURR_MODE1
#define RFC_MODE_ANT PRCM_RFCMODESEL_CURR_MODE4
#define RFC_MODE_EVERYTHING_BUT_ANT PRCM_RFCMODESEL_CURR_MODE5
#define RFC_MODE_EVERYTHING PRCM_RFCMODESEL_CURR_MODE6
//
#define SET_RFC_BLE_MODE(mode) HWREG( PRCM_BASE + PRCM_O_RFCMODESEL ) = (mode)
#endif // USE_FPGA
/*******************************************************************************
* TYPEDEFS
*/
/*******************************************************************************
* LOCAL VARIABLES
*/
/*******************************************************************************
* GLOBAL VARIABLES
*/
/*******************************************************************************
* EXTERNS
*/
extern void AssertHandler(uint8 assertCause, uint8 assertSubcause);
extern Display_Handle dispHandle;
/*******************************************************************************
* @fn Main
*
* @brief Application Main
*
* input parameters
*
* @param None.
*
* output parameters
*
* @param None.
*
* @return None.
*/
int main()
{
#if defined( USE_FPGA )
HWREG(PRCM_BASE + PRCM_O_PDCTL0) &= ~PRCM_PDCTL0_RFC_ON;
HWREG(PRCM_BASE + PRCM_O_PDCTL1) &= ~PRCM_PDCTL1_RFC_ON;
#endif // USE_FPGA
/* Register Application callback to trap asserts raised in the Stack */
RegisterAssertCback(AssertHandler);
PIN_init(BoardGpioInitTable);
#if defined( USE_FPGA )
// set RFC mode to support BLE
// Note: This must be done before the RF Core is released from reset!
SET_RFC_BLE_MODE(RFC_MODE_BLE);
#endif // USE_FPGA
// Enable iCache prefetching
VIMSConfigure(VIMS_BASE, TRUE, TRUE);
// Enable cache
VIMSModeSet(VIMS_BASE, VIMS_MODE_ENABLED);
#if !defined( POWER_SAVING ) || defined( USE_FPGA )
/* Set constraints for Standby, powerdown and idle mode */
// PowerCC26XX_SB_DISALLOW may be redundant
Power_setConstraint(PowerCC26XX_SB_DISALLOW);
Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
#endif // POWER_SAVING | USE_FPGA
/* Initialize ICall module */
ICall_init();
/* Start tasks of external images - Priority 5 */
ICall_createRemoteTasks();
/* Kick off profile - Priority 3 */
GAPCentralRole_createTask();
/* Kick off application - Priority 1 */
SimpleBLECentral_createTask();
/* enable interrupts and start SYS/BIOS */
BIOS_start();
return 0;
}
/*******************************************************************************
* @fn AssertHandler
*
* @brief This is the Application's callback handler for asserts raised
* in the stack. When EXT_HAL_ASSERT is defined in the Stack
* project this function will be called when an assert is raised,
* and can be used to observe or trap a violation from expected
* behavior.
*
* As an example, for Heap allocation failures the Stack will raise
* HAL_ASSERT_CAUSE_OUT_OF_MEMORY as the assertCause and
* HAL_ASSERT_SUBCAUSE_NONE as the assertSubcause. An application
* developer could trap any malloc failure on the stack by calling
* HAL_ASSERT_SPINLOCK under the matching case.
*
* An application developer is encouraged to extend this function
* for use by their own application. To do this, add hal_assert.c
* to your project workspace, the path to hal_assert.h (this can
* be found on the stack side). Asserts are raised by including
* hal_assert.h and using macro HAL_ASSERT(cause) to raise an
* assert with argument assertCause. the assertSubcause may be
* optionally set by macro HAL_ASSERT_SET_SUBCAUSE(subCause) prior
* to asserting the cause it describes. More information is
* available in hal_assert.h.
*
* input parameters
*
* @param assertCause - Assert cause as defined in hal_assert.h.
* @param assertSubcause - Optional assert subcause (see hal_assert.h).
*
* output parameters
*
* @param None.
*
* @return None.
*/
void AssertHandler(uint8 assertCause, uint8 assertSubcause)
{
// Open the display if the app has not already done so
if ( !dispHandle )
{
dispHandle = Display_open(Display_Type_LCD, NULL);
}
Display_print0(dispHandle, 0, 0, ">>>STACK ASSERT");
// check the assert cause
switch (assertCause)
{
case HAL_ASSERT_CAUSE_OUT_OF_MEMORY:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> OUT OF MEMORY!");
break;
case HAL_ASSERT_CAUSE_INTERNAL_ERROR:
// check the subcause
if (assertSubcause == HAL_ASSERT_SUBCAUSE_FW_INERNAL_ERROR)
{
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> INTERNAL FW ERROR!");
}
else
{
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> INTERNAL ERROR!");
}
break;
case HAL_ASSERT_CAUSE_ICALL_ABORT:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> ICALL ABORT!");
HAL_ASSERT_SPINLOCK;
break;
default:
Display_print0(dispHandle, 0, 0, "***ERROR***");
Display_print0(dispHandle, 2, 0, ">> DEFAULT SPINLOCK!");
HAL_ASSERT_SPINLOCK;
}
return;
}
/*******************************************************************************
* @fn smallErrorHook
*
* @brief Error handler to be hooked into TI-RTOS.
*
* input parameters
*
* @param eb - Pointer to Error Block.
*
* output parameters
*
* @param None.
*
* @return None.
*/
void smallErrorHook(Error_Block *eb)
{
for (;;);
}
/*******************************************************************************
*/
@@ -71,6 +71,8 @@
#include "ble_user_config.h"
#include "headstage_spi.h"
/*********************************************************************
* MACROS
@@ -270,6 +272,10 @@ static uint8_t throughput_peripheral_peer_addr[B_ADDR_LEN] = { 0xFF, 0xEE, 0xDD,
// Received byte counters
static volatile uint32_t bytesRecvd = 0;
static volatile uint32_t bytesRecvdShadow = 0;
static volatile uint8_t channel = 0;
uint8_t spi_tx[3] = {0x00, 0x01, 0x0f};
uint8_t spi_rx[3] = {0};
/*********************************************************************
* LOCAL FUNCTIONS
@@ -370,7 +376,7 @@ static void SimpleBLECentral_init(void)
// Register the current thread as an ICall dispatcher application
// so that the application can send and receive messages.
ICall_registerApp(&selfEntity, &sem);
headstage_spi_open();
// Hard code the DB Address till CC2650 board gets its own IEEE address
//uint8 bdAddress[B_ADDR_LEN] = { 0x11, 0x11, 0x11, 0x11, 0x11, 0x11 };
//HCI_EXT_SetBDADDRCmd(bdAddress);
@@ -496,7 +502,7 @@ static void SimpleBLECentral_taskFxn(UArg a0, UArg a1)
ICall_HciExtEvt *pMsg = NULL;
if (ICall_fetchServiceMsg(&src, &dest,
(void **)&pMsg) == ICALL_ERRNO_SUCCESS)
(void **)&pMsg) == ICALL_ERRNO_SUCCESS) // i think this part of (void **)&pMsg is called by referenced
{
if ((src == ICALL_SERVICE_CLASS_BLE) && (dest == selfEntity))
{
@@ -536,6 +542,10 @@ static void SimpleBLECentral_taskFxn(UArg a0, UArg a1)
events &= ~SBC_MEASURE_SPEED_EVT;
Display_print1(dispHandle, 7, 0, "Rate (B/s): %d", bytesRecvdShadow);
Display_print1(dispHandle, 7, 0, "channel:%d", channel);
Display_print1(dispHandle, 7, 0, "spi_rxbuf[0]: %d", spi_rx[0]);
Display_print1(dispHandle, 7, 0, "spi_rxbuf[1]: %d", spi_rx[1]);
Display_print1(dispHandle, 7, 0, "spi_rxbuf[2]: %d", spi_rx[2]);
}
}
}
@@ -850,6 +860,7 @@ static void SimpleBLECentral_processGATTMsg(gattMsgEvent_t *pMsg)
else if (pMsg->method == ATT_HANDLE_VALUE_NOTI)
{
bytesRecvd += pMsg->msg.handleValueNoti.len;
channel = pMsg->msg.handleValueNoti.pValue[8];
}
else if (pMsg->method == ATT_MTU_UPDATED_EVENT)
{
@@ -1295,6 +1306,7 @@ static uint8_t SimpleBLECentral_enqueueMsg(uint8_t event, uint8_t state,
*/
static void SimpleBLECentral_speedHandler(UArg a0)
{
// headstage_spi_transaction(3, spi_tx, spi_rx);
bytesRecvdShadow = bytesRecvd;
bytesRecvd = 0;
events |= SBC_MEASURE_SPEED_EVT;
@@ -0,0 +1,120 @@
/******************************************************************************
@file main.c
@brief main entry of the BLE stack sample application.
Group: WCS, BTS
Target Device: CC2650, CC2640
******************************************************************************
Copyright (c) 2013-2018, Texas Instruments Incorporated
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Texas Instruments Incorporated nor the names of
its contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
******************************************************************************
Release Name: ble_sdk_2_02_02_25
Release Date: 2018-04-02 18:03:35
*****************************************************************************/
/*================
==== include ====
===============*/
// clang-format off
#include <xdc/runtime/Error.h>
#include <ti/drivers/PIN.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/power/PowerCC26XX.h>
#include <ti/sysbios/BIOS.h>
#include "icall.h"
#include "bcomdef.h"
#include "peripheral.h"
#include "simple_peripheral.h"
/* Header files required to enable instruction fetch cache */
#include <inc/hw_memmap.h>
#include <driverlib/vims.h>
// clang-format on
#ifndef USE_DEFAULT_USER_CFG
#include "ble_user_config.h"
// BLE user defined configuration
bleUserCfg_t user0Cfg = BLE_USER_CFG;
#endif // USE_DEFAULT_USER_CFG
extern const PIN_Config BoardGpioInitTable[];
/**
* @fn Main
*
* @brief Application Main
*
* input parameters
*
* @param None.
*
* output parameters
*
* @param None.
*
* @return None.
*/
int main() {
PIN_init(BoardGpioInitTable);
// Enable iCache prefetching
VIMSConfigure(VIMS_BASE, TRUE, TRUE);
// Enable cache
VIMSModeSet(VIMS_BASE, VIMS_MODE_ENABLED);
/* Initialize ICall module */
ICall_init();
/* Start tasks of external images - Priority 5 */
ICall_createRemoteTasks();
/* Kick off profile - Priority 3 */
GAPRole_createTask();
SimpleBLEPeripheral_createTask();
/* enable interrupts and start SYS/BIOS */
BIOS_start();
return 0;
}
@@ -85,6 +85,7 @@ extern "C" {
#define SIMPLEPROFILE_CHAR2_LEN 10
#define SIMPLEPROFILE_CHAR3_LEN 20
#define SIMPLEPROFILE_CHAR4_LEN 200
//#define SIMPLEPROFILE_CHAR4_LEN 20
#define SIMPLEPROFILE_CHAR5_LEN 20
/*********************************************************************