Compare commits

..

1251 Commits

Author SHA1 Message Date
yichin a64d596e7f test 2020-01-10 18:10:35 +08:00
105042004 e98f387c82 change pulse period 2020-01-10 17:17:35 +08:00
105042004 c9bbc1aab1 test SCC 2020-01-10 17:02:10 +08:00
yichin 9e4bb038e8 testing SAC 2019-12-27 19:20:50 +08:00
105042004 ce5c87fcf7 create Square Current mode 2019-12-27 17:40:34 +08:00
royluo 78d788cab2 IV and CV mode with Vout version 2019-12-20 12:13:22 +08:00
royluo 02185083f5 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-12-20 12:06:34 +08:00
royluo aeca114c5f IV and CV mode with Vin version
(add ReadVout)
2019-12-20 12:04:59 +08:00
Benny Liu 7b4f2b5828 update BOARD_KUMA & BOARD_MINO calibration data. 2019-12-20 12:04:16 +08:00
YiChin 7b075f40a3 BOARD_KUMA & BOARD_MINO calibration data 2019-12-19 15:55:00 +08:00
yichin 6c68c67f0e annotation test CVcurve use led 2019-12-19 12:50:43 +08:00
Benny Liu fd9f0ef321 upload BOARD_BIGBROTHER calibration data 2019-12-17 19:01:30 +08:00
yichin cb44628316 Fucking Benny use my branch to calibrate 2019-12-17 16:23:07 +08:00
weiting2 63fd8cf1df flush notify buffer, cycle number should be 0x00, not 0xFF 2019-12-13 14:57:30 +08:00
Benny Liu cc39131466 don't care 2019-12-13 14:23:34 +08:00
Benny Liu e71e064846 Merge branch 'Elite_OBJ_Version' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_OBJ_Version 2019-12-13 11:22:34 +08:00
Benny Liu 1356a8c8af calibration usage 2019-12-13 11:22:16 +08:00
weiting2 d9b6340f23 reset ADC gain and DAC when press "Stop" button 2019-12-12 12:26:38 +08:00
weiting2 2709baf8e8 flush notify buffer after stop 2019-12-11 15:59:30 +08:00
weiting2 046fae3617 flush notify buffer before start 2019-12-11 15:58:59 +08:00
YiChin 688868fb48 flush notify buffer before start 2019-12-11 14:29:26 +08:00
weiting2 5967b6ebc6 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-12-11 13:22:41 +08:00
weiting2 d9e9a2102e flush timestamp register before start PeriodicEvent 2019-12-11 13:22:26 +08:00
105042004 065517a7cc test CV curve 2019-12-06 18:09:13 +08:00
105042004 0691725819 test CV curve 2019-12-06 17:34:04 +08:00
105042004 5954a965dc test CVcurve use led 2019-12-06 16:28:59 +08:00
105042004 788aca30ef test CV curve 2019-12-06 16:01:01 +08:00
weiting2 bda30b15b5 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-12-06 10:25:37 +08:00
weiting2 32523d6f88 fix ADC level 2019-12-06 10:25:20 +08:00
Benny Liu 300707871e Merge branch 'Elite_OBJ_Version' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_OBJ_Version 2019-12-03 15:35:17 +08:00
Benny Liu b21bdf57be calibration data for board KELLY 2019-12-03 15:35:08 +08:00
105042004 3067a5eafe CV test 2019-11-29 19:06:29 +08:00
105042004 ec4e48725c CV test 2019-11-29 18:54:16 +08:00
105042004 8322623699 test CV 2019-11-29 18:34:32 +08:00
105042004 c588d4d377 test CV curve 2019-11-29 18:21:40 +08:00
105042004 9e23b67e03 CV curve add VinVout switch 2019-11-29 17:40:37 +08:00
weiting2 0d4f77d25a add comment for CC mode 2019-11-28 19:09:51 +08:00
YiChin 0a16b06c78 11/28 NCKU version
[IV] return Vin
[CC] after reach Vmax/min, Iset = 0
2019-11-28 11:10:26 +08:00
weiting2 c6b6ff420d [CC] after Vin reach Vmax/min, Vout=VMax 2019-11-27 21:38:48 +08:00
YiChin 221c301739 CC Mode should add a DONE flag 2019-11-27 21:33:09 +08:00
weiting2 5355e584a3 fix CC stop condition 2019-11-27 19:19:25 +08:00
weiting2 9fa2c0eb1a fixup! This is a stable version. 11/28 sell to NCKU with CC mode IV mode return Vin 2019-11-27 19:12:44 +08:00
weiting2 03a1e5a633 fixup! This is a stable version. 11/28 sell to NCKU with CC mode IV mode return Vin 2019-11-27 18:58:27 +08:00
weiting2 968150e9b7 fixup! This is a stable version. 11/28 sell to NCKU with CC mode IV mode return Vin 2019-11-27 18:53:33 +08:00
weiting2 ef7484569d Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-27 17:25:43 +08:00
weiting2 9cc483da5a This is a stable version.
11/28 sell to NCKU with CC mode
IV mode return Vin
2019-11-27 17:22:54 +08:00
weiting2 eb9609da00 [CC] use INS.VoltLimit store CC mode limit volt 2019-11-27 17:20:35 +08:00
weiting2 ea5c79cd77 [CC] use INS.VoltLimit store CC mode limit volt 2019-11-27 17:02:54 +08:00
weiting2 4d4a0f5ce3 [CC] use INS.VoltLimit store CC mode limit volt 2019-11-27 16:39:15 +08:00
weiting2 cbeef5d00b [CC] use INS.VoltLimit store CC mode limit volt 2019-11-27 16:21:59 +08:00
weiting2 433e9d27ec [CC] use INS.VoltLimit store CC mode limit volt 2019-11-27 16:14:26 +08:00
weiting2 1e039a988a [CC] what's wrong 2019-11-27 15:48:05 +08:00
weiting2 393051bfec [IV] default output Volt is Vin instead of Vout 2019-11-27 14:03:47 +08:00
weiting2 d0b51aef7a Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-27 12:47:02 +08:00
YiChin c5e6739632 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-27 12:45:57 +08:00
YiChin b91fdc6d3f delete neu 2019-11-27 12:45:25 +08:00
weiting2 d62b879a17 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-27 12:42:27 +08:00
weiting2 31306ee2a9 [IV] default output Volt is Vin instead of Vout 2019-11-27 10:32:50 +08:00
Benny Liu 0346e37e50 calibration data of various boards 2019-11-26 18:52:14 +08:00
weiting2 f004c60964 [IV] default output Volt is Vin instead of Vout 2019-11-26 15:55:41 +08:00
YiChin 61c7827d93 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-22 17:52:20 +08:00
105042004 4fcb7594d7 test 2019-11-22 17:51:45 +08:00
YiChin 4d71181d78 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-22 17:43:35 +08:00
105042004 ed5e6d82fb test IV 2019-11-22 17:43:09 +08:00
YiChin efc23e1393 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-22 17:35:33 +08:00
105042004 d8ce4418ae test realV 2019-11-22 17:26:30 +08:00
YiChin fc5cebe638 Merge branch 'Elite_OBJ_Version' of C:\ti with conflicts. 2019-11-22 17:22:32 +08:00
105042004 fb7811559b test IV curve 2019-11-22 17:01:23 +08:00
YiChin a2e7049aa6 test IV Vinout 2019-11-22 16:55:09 +08:00
105042004 f9e6fa7ad0 IV curve add Vin Vout select 2019-11-22 13:02:34 +08:00
Benny Liu e89dbd2f5c calibration data 2019-11-20 18:39:20 +08:00
Benny Liu 0b59913870 calibration data 2019-11-19 18:35:14 +08:00
YiChin d2e11c947a [RT] fix Vout value 2019-11-19 15:28:19 +08:00
weiting2 8c6968ec05 [CC] using new IUC 2019-11-18 16:28:23 +08:00
weiting2 b864235e5c Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-18 15:08:44 +08:00
YiChin bd15523916 Every thing well done 2019-11-18 15:08:09 +08:00
YiChin 2f61a9ce99 [CV] auto gain solved 2019-11-18 14:40:10 +08:00
YiChin ed2edccbc1 [CV] auto gain not solve yet 2019-11-18 14:28:11 +08:00
weiting2 59dc27dfda [CV] Try AutoGain 2019-11-18 14:21:30 +08:00
YiChin 1f1b20f92f steptime = 0.5sec bug fix 2019-11-18 14:12:52 +08:00
weiting2 9a511e0fc1 [CV] Try AutoGain 2019-11-18 12:02:53 +08:00
YiChin dff4082ea9 [CV] try to fix auto 2019-11-18 11:36:33 +08:00
YiChin a4e62ac39e [IV] Auto gain work 2019-11-18 11:11:23 +08:00
YiChin e119cfceb8 [IV] Auto gain work 2019-11-18 10:55:03 +08:00
YiChin 308d1c6ef3 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/EliteIVCurve.h
2019-11-18 09:53:17 +08:00
weiting2 89cd606529 [IV] Try AutoGain 2019-11-18 09:50:03 +08:00
YiChin 0ed0c08878 [IV] AutoGain would block reading volt, WHY 2019-11-16 12:31:13 +08:00
weiting2 f1a3c290e9 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-16 10:32:54 +08:00
weiting2 47af16a2e2 [IV] Try AutoGain 2019-11-16 10:32:35 +08:00
105042004 3f885decac add measurevolt for PS 2019-11-15 14:10:26 +08:00
weiting2 fb58112ba7 [IV] three-wire stable version 2019-11-14 18:25:21 +08:00
weiting2 9928f5281f [IV] read Vin origin data 2019-11-14 18:02:19 +08:00
weiting2 cf2944f651 [IV] read Vin origin data 2019-11-14 17:16:51 +08:00
weiting2 5cfdec63e2 [IV] read Vin origin data 2019-11-14 16:53:35 +08:00
weiting2 5defc984c2 [IV] read Vin origin data 2019-11-14 16:44:52 +08:00
weiting2 a0f7eff938 [IV] read Vin origin data 2019-11-14 16:19:44 +08:00
weiting2 31a2dd0891 [IV] read Vin origin data 2019-11-14 16:14:47 +08:00
YiChin 67b9a5be85 [IV] notify no data whyyyyyy 2019-11-14 16:12:14 +08:00
weiting2 837bd99e86 [IV] read Vin origin data 2019-11-14 15:59:20 +08:00
YiChin 507386a231 error fix 2019-11-14 15:54:14 +08:00
YiChin 11b155070d add wood/dirt star 2019-11-14 15:47:47 +08:00
YiChin 91a9a315e4 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/EliteITCurve.h
2019-11-14 15:46:46 +08:00
weiting2 85e2f6cf9d [IV] try to report Vin 2019-11-14 15:45:07 +08:00
YiChin f3301069ef [IV] todo : fix auto gain 2019-11-14 13:47:33 +08:00
YiChin 7c1f558687 [IV] todo : fix auto gain 2019-11-14 12:58:14 +08:00
weiting2 448a81bdf7 [IV] try to solve auto gain 2019-11-14 11:53:20 +08:00
YiChin 2712a2fa73 error fix 2019-11-14 10:26:41 +08:00
weiting2 8151053d08 [IV] Vo = Vo - I*100R 2019-11-14 10:13:56 +08:00
weiting2 5e8f0af363 [CC] delete old code
[CCC] add CCC mode
2019-11-13 13:22:49 +08:00
YiChin 006d1c26b3 stable version fix Iin error 2019-11-13 11:38:33 +08:00
YiChin 46f080e642 stable version VERY NICE 2019-11-13 11:25:35 +08:00
YiChin 6088b102f8 stable version CC mode must autogain 2019-11-12 20:55:06 +08:00
YiChin 7a59623930 CC mode GAIN_10K work fine? 2019-11-11 17:53:02 +08:00
weiting2 4789a32fd4 [CC] Do not use auto gain in CC mode 2019-11-11 17:23:44 +08:00
weiting2 4b6bea5f41 test ADC gain instruction 2019-11-11 16:25:00 +08:00
weiting2 da2b97dcf1 NotifyReady not done
TODO: Vmax, Vmin in CC
2019-11-11 14:18:39 +08:00
YiChin 6aee724a7c NotifyReady flag can not work?! 2019-11-11 13:57:45 +08:00
weiting2 f1765d957c comment some useless function 2019-11-11 13:44:30 +08:00
YiChin 19e760f9cc NotifyReady flag can not work?! 2019-11-11 13:31:55 +08:00
weiting2 04c7e8d640 [headstage] add NotifyReady flag 2019-11-11 12:39:21 +08:00
weiting2 813ef50bf5 [headstage] add NotifyReady flag 2019-11-11 11:32:04 +08:00
YiChin 8bc43f1bb0 [CC] This is a stable version 2019-11-11 11:06:55 +08:00
weiting2 50acc23eb1 [CC mode] read Vin 2019-11-11 10:52:21 +08:00
YiChin a26bad68a6 [CC] everything well, return Vin works ^^ 2019-11-11 10:46:13 +08:00
weiting2 f5796e8ac5 [CC mode] read Vin 2019-11-11 10:26:13 +08:00
YiChin c862e6790f [CC] everything well, NEED RETURN VIN 2019-11-08 17:38:55 +08:00
YiChin fb43ec6ac3 [CC] Vin + V_(Iin-GND) = battery V 2019-11-08 16:09:09 +08:00
weiting2 e1aa33e6cb [CC mode] read Vin 2019-11-08 13:34:32 +08:00
YiChin fb3060a220 [VT, IT] default sample rate 100
[CC] notify rate 10
2019-11-08 13:09:07 +08:00
weiting2 be40ac25dc [CC mode] read Vin 2019-11-08 12:44:39 +08:00
YiChin 5a29b161ac [CC mode] return Vin has trouble 2019-11-08 11:24:56 +08:00
weiting2 caee6602a8 add potential state mode 2019-11-07 15:15:50 +08:00
weiting2 12c4908881 [CC mode] Vmax, Vmin
[headstage] flag, counter init function
2019-11-07 14:30:26 +08:00
YiChin cb0b0fafd0 [CC mode] return Vout - I*R 2019-11-07 10:58:57 +08:00
YiChin 633b3424e1 CC mode can work with little error 2019-11-06 20:24:46 +08:00
weiting2 c75a147392 CC mode return Vin 2019-11-06 12:17:41 +08:00
YiChin 1e71de284c try to return Vin 2019-11-06 12:11:44 +08:00
weiting2 3bfadb0ea5 CC mode notify gone 2019-11-06 11:15:12 +08:00
YiChin a22a1aa656 Vout bug solved; no notify in CC 2019-11-06 11:05:22 +08:00
weiting2 ac8f1af1cc try fix Vout mode bug 2019-11-06 10:30:20 +08:00
YiChin 42b5edd2bf find error 2019-11-06 10:14:25 +08:00
weiting2 cafa70e740 try fix Vout mode bug 2019-11-06 10:01:58 +08:00
alan576 7ecc6063ac [CCMode] TODO list :VMax & VMin 2019-11-05 23:57:27 +08:00
alan576 1c5e586bd9 [CCMode] return Vin instead of VOut 2019-11-05 23:55:47 +08:00
alan576 9861067a17 [CCMode] check IUC-Measure value (step value) 2019-11-05 23:46:44 +08:00
alan576 295abacf7c Add notify counter 2019-11-05 23:40:56 +08:00
YiChin 6b5dfcc12a James test CCmode 2019-11-05 19:23:35 +08:00
weiting2 8aab5b5aab IV/CV mode current auto gain problem 2019-11-05 18:51:07 +08:00
YiChin 776e40b639 James test CCmode 2019-11-05 18:39:46 +08:00
weiting2 a97909625d IV/CV mode current auto gain problem 2019-11-05 17:18:37 +08:00
YiChin 259170af20 James test CCmode 2019-11-05 17:05:28 +08:00
YiChin b929433eef James test CCmode 2019-11-05 11:52:59 +08:00
weiting2 b166235c21 IV/CV mode current auto gain problem 2019-11-05 10:26:19 +08:00
YiChin 37ad0160d0 IV/CV auto gain should more smooth 2019-11-04 18:23:31 +08:00
weiting2 d40891396d IV/CV mode current auto gain problem 2019-11-04 17:21:29 +08:00
weiting2 4f31028d1a VO free WMD bug 2019-11-04 17:19:35 +08:00
weiting2 8727b7d2eb try to fix IV mode 2019-11-04 17:09:32 +08:00
weiting2 39e012de64 try to fix IV mode 2019-11-04 16:54:41 +08:00
weiting2 48e566dea4 try to fix IV mode 2019-11-04 13:27:44 +08:00
weiting2 3f617786ef try to fix IV mode 2019-11-04 12:11:13 +08:00
YiChin 080ca80f2b IV/CV has an auto gain prob 2019-11-04 11:47:16 +08:00
weiting2 4875bb271a try to fix IV mode 2019-11-04 11:43:31 +08:00
YiChin b0ac5bb6e6 IV/CV has an auto gain prob 2019-11-04 11:25:09 +08:00
YiChin 8b6a402d47 error fix 2019-11-04 10:11:56 +08:00
weiting2 aefb2cffbb Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-04 09:44:21 +08:00
weiting2 6934d858fe free WMD and NULL it 2019-11-04 09:44:07 +08:00
YiChin bc28dedc64 IVmode stop and call reset() 2019-11-01 19:30:30 +08:00
105042004 92b81cb47f check limit 2019-11-01 18:47:01 +08:00
105042004 e9b5414ab0 set _LimitVlaue to 1e5 2019-11-01 18:28:06 +08:00
YiChin d3f6a6521a fix ITmode bug 2019-11-01 18:23:58 +08:00
105042004 13efb6c32a add limit to IVmode 2019-11-01 17:35:04 +08:00
YiChin 18e4cac845 all mode can work 2019-11-01 14:07:04 +08:00
YiChin f6a474e537 error fix 2019-11-01 12:17:28 +08:00
weiting2 311bbdd809 test CCMode 2019-11-01 12:05:25 +08:00
weiting2 e47cf7c3db test CCMode 2019-11-01 11:57:09 +08:00
YiChin b27718a30f error fix 2019-11-01 11:46:12 +08:00
YiChin be79bec5e0 error fix 2019-11-01 11:28:14 +08:00
weiting2 a551eb1143 delete Set & Get QQQ 2019-11-01 11:21:03 +08:00
weiting2 ddc51481b8 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-11-01 10:16:23 +08:00
weiting2 d8a567c607 WHY VStop so many problem?!!!!! 2019-11-01 10:16:07 +08:00
YiChin 776d8074b1 what's wrong with IV->SetVStop ? 2019-10-31 19:24:24 +08:00
YiChin e0f937be45 what's wrong with IV->SetVStop ? 2019-10-31 18:23:40 +08:00
weiting2 2d7bbb74aa WHY VStop so many problem?!!!!! 2019-10-31 18:02:20 +08:00
weiting2 03367a76cf set init value by SetValue fxn 2019-10-31 17:40:45 +08:00
YiChin 8fffec3116 debug Set & Get Fxn in IV 2019-10-31 16:46:16 +08:00
weiting2 d7210e3b5a set init value by SetValue fxn 2019-10-31 16:41:57 +08:00
weiting2 82834f30b0 remove static in union 2019-10-31 16:10:06 +08:00
weiting2 50fbaa5bc7 remove static in union 2019-10-31 16:02:51 +08:00
weiting2 696f6447dc debug IVMode DAC out 2019-10-31 15:51:39 +08:00
weiting2 60734c69b4 debug IVMode DAC out 2019-10-31 15:37:30 +08:00
weiting2 ddf22de09b Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-10-31 14:22:48 +08:00
weiting2 e169ed1d44 check IV init 2019-10-31 14:22:37 +08:00
YiChin 55759938da Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-10-31 13:47:06 +08:00
YiChin 45de2e6825 do not free WM 2019-10-31 13:46:54 +08:00
weiting2 4c0e7e2149 IT support both auto/non-auto mode 2019-10-31 13:46:15 +08:00
weiting2 b63989ca78 remember to free memory 2019-10-31 11:26:33 +08:00
weiting2 c2df81dd3b remember to free memory 2019-10-31 11:26:23 +08:00
YiChin 7d6a0ce845 error fix 2019-10-31 11:16:29 +08:00
weiting2 2c9105eb0a remember to free memory 2019-10-31 10:44:06 +08:00
weiting2 0d705b7d28 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-10-30 19:03:17 +08:00
weiting2 266e597e19 add CCMode in OOC struct 2019-10-30 19:02:58 +08:00
105042004 92d49c1f93 change CV IV curve function 2019-10-30 19:00:54 +08:00
weiting2 c40adb3b64 add CCMode in OOC struct 2019-10-30 18:49:01 +08:00
weiting2 44e5f54c50 using union 2019-10-30 16:50:20 +08:00
weiting2 c642325859 using union 2019-10-30 16:35:57 +08:00
weiting2 c3adc55aec using union 2019-10-30 16:24:21 +08:00
weiting2 8700625d69 using union 2019-10-30 16:18:35 +08:00
weiting2 bc4dcfbe7d using union 2019-10-30 16:17:06 +08:00
weiting2 43170a4282 using union 2019-10-30 16:14:22 +08:00
weiting2 3652e19a3d using union 2019-10-30 16:03:27 +08:00
weiting2 36e6a47472 using union 2019-10-30 15:31:18 +08:00
weiting2 c71c55ecf1 using union 2019-10-30 14:48:00 +08:00
weiting2 57a5b2b4f5 Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-10-30 14:38:48 +08:00
weiting2 0da311941b malloc only once 2019-10-30 14:38:27 +08:00
105042004 7965a4cc1d rewrite small error 2019-10-30 14:32:18 +08:00
105042004 551f9de36b add LIMIT to IV mode 2019-10-30 14:29:34 +08:00
weiting2 fa8f0202e9 malloc only once 2019-10-30 12:23:08 +08:00
YiChin ee35c54dec should be stable 2019-10-29 14:58:24 +08:00
weiting2 031b98a6d5 VT/IT/VOut using OOC struct 2019-10-29 14:54:40 +08:00
weiting2 82ab990f0b VT/IT/VOut using OOC struct 2019-10-29 14:19:11 +08:00
weiting2 38774d9201 VT/IT/VOut using OOC struct 2019-10-29 14:14:34 +08:00
YiChin 6845963c8b should be stable 2019-10-29 12:30:28 +08:00
YiChin 4e4ce66318 bug fix 2019-10-29 12:26:26 +08:00
YiChin 6fe44a536f bug fix 2019-10-29 12:14:20 +08:00
YiChin 07272963bf bug fix 2019-10-29 12:14:04 +08:00
weiting2 80dbc64452 VT/IT/VOut using OOC struct 2019-10-29 12:04:49 +08:00
weiting2 3a8c5d843a VT/IT/VOut using OOC struct 2019-10-29 11:58:50 +08:00
weiting2 bf4baa8200 VT/IT/VOut using OOC struct 2019-10-29 11:53:34 +08:00
YiChin bf2b1b9d3e error fix 2019-10-29 11:52:22 +08:00
weiting2 03391b4fb3 VT/IT/VOut using OOC struct with unknown error 2019-10-29 11:43:33 +08:00
YiChin 9040e85dbb error fix 2019-10-29 11:39:23 +08:00
YiChin 85021a88b0 error fix 2019-10-29 11:34:55 +08:00
weiting2 a5df1c227e VT/IT/VOut using OOC struct 2019-10-29 11:18:16 +08:00
weiting2 8213d9fb19 VT/IT/VOut using OOC struct 2019-10-29 11:01:57 +08:00
YiChin 14c424571a Merge remote-tracking branch 'origin/Elite_OBJ_Version' into Elite_OBJ_Version 2019-10-29 09:57:26 +08:00
YiChin 8a94a57843 error fix 2019-10-29 09:56:50 +08:00
weiting2 a58f787253 VT/IT using OOC struct 2019-10-28 19:00:09 +08:00
weiting2 6c839b22d9 VT/IT using OOC struct 2019-10-28 17:53:49 +08:00
YiChin c086de7cf4 OOC compile pass 2019-10-28 17:31:25 +08:00
YiChin 3c5f4d9bb4 OOC error fix 2019-10-28 16:51:48 +08:00
weiting2 f3037c7959 OOC struct 2019-10-28 16:09:33 +08:00
YiChin 5a519d5fb5 OOC error fix 2019-10-28 16:07:06 +08:00
weiting2 a16543ee57 OOC struct 2019-10-28 12:41:59 +08:00
YiChin 9d281ce999 error fix 2019-10-28 12:06:44 +08:00
weiting2 d97b3ad6b0 OOC struct 2019-10-28 11:59:03 +08:00
YiChin cad1763981 error fix 2019-10-28 11:52:05 +08:00
weiting2 092c02940d OOC struct 2019-10-28 11:20:44 +08:00
weiting2 0a19abd0e8 first attempt to pointer of pointer 2019-10-24 12:10:08 +08:00
YiChin 284cfe6d05 double pointer attempt 2019-10-24 11:52:34 +08:00
weiting2 3298b6226b first attempt to pointer of pointer 2019-10-24 11:48:19 +08:00
YiChin dfcaf2d908 double pointer attempt 2019-10-24 11:45:00 +08:00
weiting2 d517318a67 first attempt to pointer of pointer 2019-10-24 11:36:59 +08:00
weiting2 d0aa520329 Merge branch 'Elite_master' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_master 2019-10-24 11:02:41 +08:00
weiting2 9a875b8459 first attempt to pointer of pointer 2019-10-24 10:59:19 +08:00
YiChin 73ac2f5c90 should be a stable version 2019-10-24 10:17:24 +08:00
YiChin efcb1132de auto gain seems done
need more test
2019-10-23 18:42:17 +08:00
YiChin 7492ed161d auto gain prob 2019-10-23 17:05:25 +08:00
YiChin ae7ec2e5ce auto gain prob 2019-10-23 16:42:28 +08:00
weiting2 63fde4bdbc TODO: IV CV add Imax 2019-10-23 14:04:35 +08:00
YiChin 32ccb8838f add water star data 2019-10-23 11:14:00 +08:00
YiChin 5b6fd53830 CV underflow done? 2019-10-23 10:42:53 +08:00
YiChin 86eef98b13 CV still underflow, implement auto gain on IV CV IT RT 2019-10-22 18:15:35 +08:00
YiChin 3fdbfcf39f CV still underflow 2019-10-22 15:25:41 +08:00
weiting2 847ea9f3c0 IV underflow 2019-10-22 14:56:01 +08:00
weiting2 25bd5b5ebe auto gain 2019-10-22 14:27:27 +08:00
YiChin 335fe6a9a4 IV CV still underflow 2019-10-22 12:28:48 +08:00
YiChin 6a0480613c fix CC mode feedback bug 2019-10-22 11:55:16 +08:00
YiChin 300fb9a44c fix IV CV underflow if Vfinal = -5V 2019-10-22 11:41:38 +08:00
weiting2 4fac2aa380 update board 21 2019-10-22 10:11:44 +08:00
YiChin d2ab4c1fe8 RT done, UI should X1e5 for every resister value 2019-10-21 19:01:24 +08:00
YiChin 6048e10ab7 RT done, UI should X1e5 for every resister value 2019-10-21 18:28:00 +08:00
weiting2 6bd94e3f73 gain switch in RT mode 2019-10-21 17:52:22 +08:00
YiChin fc302d4c75 should modify DAC usercode 2019-10-21 16:53:49 +08:00
weiting2 26a35a1446 gain switch in RT mode 2019-10-21 14:45:53 +08:00
YiChin 8f2eda7281 The least gain can not witch to max gain in one step 2019-10-21 12:20:44 +08:00
weiting2 e26a97a32f Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-21 11:38:49 +08:00
weiting2 5bdb0b04da gain switch in one cycle, debug 2019-10-21 11:38:31 +08:00
YiChin 8f8407601e error fix 2019-10-21 11:31:47 +08:00
YiChin 4c6dbcf98d error fix 2019-10-21 11:26:40 +08:00
weiting2 20ccd5de56 gain switch in one cycle 2019-10-21 11:24:59 +08:00
weiting2 3c3ad8ccc7 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/EliteITCurve.h
2019-10-21 11:21:42 +08:00
weiting2 1030d6625b TODO: gain switch in one cycle 2019-10-21 11:20:46 +08:00
weiting2 326f3eb6b6 LED shows ADC gain state 2019-10-21 10:57:26 +08:00
YiChin 9dd7228eb5 clean warning 2019-10-21 10:51:13 +08:00
weiting2 59ac6b9909 add ReadCurrent() 2019-10-21 10:37:33 +08:00
YiChin e24ce8e5d5 auto gain done 2019-10-21 10:26:52 +08:00
weiting2 8720300bfc small-mid range gain switch test 2019-10-21 10:11:10 +08:00
weiting2 23fc75a236 small-mid range gain switch test 2019-10-18 18:06:13 +08:00
weiting2 80c25267cb all range auto scale 2019-10-18 17:49:31 +08:00
YiChin 81d1aff615 maybe auto gain should read data after circuit stable 2019-10-18 16:27:00 +08:00
weiting2 3221fe6492 largest and mid gain switch, considering negative current 2019-10-18 16:07:22 +08:00
weiting2 4ca7d5b681 try easy auto-scale ADC gain 2019-10-18 15:55:23 +08:00
weiting2 49677aa5b1 try easy auto-scale ADC gain 2019-10-18 15:30:46 +08:00
YiChin bbfef99a65 maybe auto gain should read data after circuit stable 2019-10-18 15:12:20 +08:00
weiting2 05f11fd147 try easy auto-scale ADC gain 2019-10-18 14:26:40 +08:00
YiChin f0aedf786d CC mode done 2019-10-17 18:15:37 +08:00
weiting2 a12146a479 CC mode bug fix 2019-10-17 16:26:55 +08:00
weiting2 410bef2e23 CC mode bug fix 2019-10-17 16:03:15 +08:00
YiChin 17c6a506cb error fix 2019-10-17 15:42:38 +08:00
weiting2 0b9c945aee change IUC and CC mode BT instruction 2019-10-17 15:08:31 +08:00
YiChin 53ef219d6e [CC] battery test perfect, should add +- current in UI 2019-10-17 11:38:53 +08:00
YiChin a14b2480db [CC] battery test perfect, should add +- current in UI 2019-10-17 11:11:25 +08:00
YiChin 89368d5352 CC mode mA done 2019-10-16 17:36:48 +08:00
YiChin f7903a0a31 CC mode earth 2019-10-16 17:03:24 +08:00
YiChin 56f42d21c5 CC mode earth 2019-10-16 17:01:15 +08:00
YiChin 52a8baad08 CC mode mA 2019-10-16 15:01:05 +08:00
YiChin 7acdbf6e78 [CC] seems done 2019-10-16 14:10:10 +08:00
YiChin 393394be6f [CC] seems done 2019-10-16 12:25:30 +08:00
YiChin b7f305e378 [CC] discharge fine, charge doesn't work 2019-10-16 11:50:26 +08:00
weiting2 cad8a78164 check IUC-Measure difference 2019-10-16 10:48:27 +08:00
YiChin 0c4ebcac79 [CC] discharge fine, charge doesn't work 2019-10-16 10:41:17 +08:00
YiChin e700657d5d [CC] discharge fine, charge doesn't work 2019-10-15 18:16:17 +08:00
YiChin ea9fb92d53 [CC] discharge fine, charge doesn't work 2019-10-15 18:12:18 +08:00
YiChin ba215c7ca9 pointer->value compare error 2019-10-15 16:54:48 +08:00
YiChin 564dc6e266 test cc mode notify 2019-10-15 15:43:13 +08:00
weiting2 86a2e54694 trans IUC current update 2019-10-15 14:21:57 +08:00
YiChin 358950bec0 CC mode read, done 2019-10-15 12:17:53 +08:00
weiting2 de2cb269b7 check measure current 2019-10-14 18:42:24 +08:00
YiChin 151e829973 test IUC 2019-10-14 17:50:35 +08:00
YiChin 19121b55a7 test IUC 2019-10-14 17:34:25 +08:00
alan 31f03582a3 check notify 2019-10-14 17:27:10 +08:00
alan 0859f6da6d check notify 2019-10-14 17:12:27 +08:00
YiChin 120b7086e5 USA demo version 2019-10-14 10:05:43 +08:00
YiChin d393872d8c [CV] done 2019-10-10 17:28:29 +08:00
YiChin 3ab9afdcd3 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-10 17:27:25 +08:00
YiChin 8812b4c103 [CV] done 2019-10-10 17:27:00 +08:00
Benny Liu 4cccced7ac calibration data for European 2019-10-09 18:40:09 +08:00
alan 7b3d342be6 [CV] Test turn back measure current 2019-10-09 16:50:26 +08:00
alan 97409c88c3 [IV][IT][VT][RT][Vout] work fine
[CV] turn direction has an offset bug
2019-10-08 19:01:03 +08:00
Benny Liu 1d675d9d78 calibration data 2019-10-08 18:57:00 +08:00
Benny Liu 1774a255d8 Merge branch 'Elite_ZTcurve' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_ZTcurve 2019-10-08 18:48:34 +08:00
Benny Liu 1863016b63 calibration data of various boards 2019-10-08 18:48:24 +08:00
YiChin 1e89a540a1 macro CAPS 2019-10-08 18:00:57 +08:00
alan 5daa67e054 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-08 17:56:23 +08:00
alan 05ce7f7f44 [IV][CV] get sample after wait 0.1 sec 2019-10-08 17:56:08 +08:00
YiChin 9391c700a1 macro CAPS 2019-10-08 16:38:27 +08:00
YiChin 16c4ecf9f2 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-08 16:34:58 +08:00
alan 7280f76fae [Test] CC mode Vout = Iconstant 2019-10-08 16:33:52 +08:00
YiChin 3a5d40a5d9 kelly macro CAPS 2019-10-08 11:56:22 +08:00
alan 40dd596fef CV mode debug 2019-10-08 10:15:59 +08:00
YiChin 56b240b101 CC mode can read current and set IUC correctly 2019-10-07 18:21:42 +08:00
alan bf36103499 test CCmode output Volt 2019-10-07 16:39:20 +08:00
YiChin 477144dc24 delete gain switch LED 2019-10-05 14:31:26 +08:00
alan 0aa45cfedc Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-05 14:12:41 +08:00
alan 4691345831 test CCmode output Volt 2019-10-05 14:12:22 +08:00
Benny Liu 8445f8c263 board BAY_BAY calibration data 2019-10-05 12:09:52 +08:00
Benny Liu 7176f91a3f fix error 2019-10-05 11:32:58 +08:00
Benny Liu e37065ce91 board Kelly calibration data 2019-10-05 11:29:46 +08:00
YiChin 2537b76256 error fix 2019-10-05 10:47:47 +08:00
alan 59e275c997 test switch ADC gain 2019-10-05 10:07:56 +08:00
105042004 bfe61896e8 BAYBAY Kwlly Iin callibration 2019-10-04 19:13:43 +08:00
alan 0ad8b13db2 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-04 16:42:26 +08:00
alan 3c8abc04a8 ADC test WITHOUT avg 2019-10-04 16:42:08 +08:00
Benny Liu a48cf75c90 Merge branch 'Elite_ZTcurve' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_ZTcurve 2019-10-04 15:22:34 +08:00
alan 4f7017d5b2 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-04 15:16:58 +08:00
alan 79f0d57161 ADC test with avg 2019-10-04 15:16:42 +08:00
Benny Liu d76e8e6f3f Merge branch 'Elite_ZTcurve' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_ZTcurve 2019-10-04 15:08:43 +08:00
Benny Liu b6147c1fe5 fish_vet calibration data 2019-10-04 15:08:32 +08:00
YiChin 4bbd92127a Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-04 15:03:31 +08:00
YiChin 337c2aef8d add CV curve 2019-10-04 15:03:11 +08:00
alan e943d22a5f Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-04 14:47:27 +08:00
alan bceb8b9134 ADC test with avg 2019-10-04 14:47:09 +08:00
YiChin 14adc8a768 10/4 demo version 2019-10-04 14:00:21 +08:00
YiChin 7c44ad2272 10/6 demo version 2019-10-04 11:22:07 +08:00
alan c8272dd455 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-04 09:51:34 +08:00
YiChin cb2aa2126b 10/6 demo version 2019-10-03 18:35:55 +08:00
YiChin f74a412611 10/6 demo version 2019-10-03 18:18:23 +08:00
YiChin f0b92f8578 ADD 517 CORRECTION DATA 2019-10-03 18:14:15 +08:00
YiChin e7cae7dc21 10/6 demo version 2019-10-03 16:49:57 +08:00
YiChin 1c41bd7a45 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-03 12:58:31 +08:00
YiChin a671a4916d 10/6 demo version 2019-10-03 12:57:18 +08:00
alan 15ea1488c9 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-10-02 18:27:06 +08:00
Benny Liu f92dd743ef triceratops calibration data 2019-10-02 18:03:19 +08:00
alan eddbe3980a 10/6 demo version 2019-10-02 17:49:06 +08:00
Benny Liu b27df1489b Merge branch 'Elite_ZTcurve' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_ZTcurve 2019-10-02 17:46:35 +08:00
YiChin dc3f2ee046 10/6 demo version 2019-10-02 16:47:43 +08:00
YiChin ba7f03daeb 10/6 demo version 2019-10-02 16:19:14 +08:00
YiChin 079500faff 10/6 demo version 2019-10-02 16:13:21 +08:00
YiChin ce0defe5e9 RT mode demo prepare 2019-10-02 15:40:53 +08:00
alan 7b1bcd5147 Elite 1.4-re CCmode test read current 2019-10-02 14:01:34 +08:00
alan 787eb5dce1 Elite 1.4-re CCmode test read current 2019-10-02 12:04:45 +08:00
YiChin 9d73fab37e CC MDOE error fix 2019-10-02 11:31:39 +08:00
alan 6a833aabee Elite 1.4-re CCmode test read current 2019-10-01 18:42:42 +08:00
alan e40d0896b8 Elite 1.4-re CCmode test read current 2019-10-01 17:56:47 +08:00
alan c265eb0118 Elite 1.4-re CCmode test read current 2019-10-01 17:41:38 +08:00
alan cead3b0b5c Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/EliteCCMode.h
2019-10-01 17:22:56 +08:00
alan 238c09befd Elite 1.4-re CCmode test read current 2019-10-01 17:22:18 +08:00
YiChin de1867d523 CC MDOE error fix 2019-10-01 17:19:06 +08:00
YiChin 906e02e265 CC MDOE error fix 2019-10-01 16:47:14 +08:00
Benny Liu 307308825e time test 2019-10-01 16:24:30 +08:00
YiChin aaf166d187 CC MDOE error fix 2019-10-01 15:59:39 +08:00
YiChin 38ff1f8c2b CC MDOE error fix 2019-10-01 15:12:18 +08:00
YiChin 82f58b3255 CC MDOE error fix 2019-10-01 14:40:35 +08:00
alan 31d22f02e1 Elite 1.4-re CCmode test read current 2019-10-01 14:28:43 +08:00
alan ff1f517af5 Elite 1.4-re CCmode test read current 2019-10-01 09:53:10 +08:00
alan fb340fbec6 Elite 1.4-re CCmode test 2019-09-30 17:40:55 +08:00
YiChin e208bfd4d9 CC MDOE error fix 2019-09-30 16:33:57 +08:00
alan b9f4967a23 Elite 1.4-re CCmode test 2019-09-30 16:12:10 +08:00
YiChin 539a388ec4 CC MDOE error fix 2019-09-30 16:10:02 +08:00
alan f770ba8783 Elite 1.4-re CCmode test 2019-09-30 15:37:16 +08:00
alan 6d2ef3e106 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-09-30 15:19:49 +08:00
alan e483c58f10 Elite 1.4-re CCmode test 2019-09-30 15:19:28 +08:00
YiChin b07c10bb53 CC MDOE error fix 2019-09-30 15:13:50 +08:00
alan bb10a463dc Elite 1.4-re CCmode test 2019-09-30 14:58:46 +08:00
YiChin 93e0db98fc CC MDOE error fix 2019-09-30 14:40:36 +08:00
YiChin 51fc4553a3 CC MDOE error fix 2019-09-30 14:31:15 +08:00
alan 5184fe76e7 Elite 1.4-re CCmode test 2019-09-30 14:26:45 +08:00
alan ee264a6f18 Elite 1.4-re CCmode test 2019-09-27 18:05:24 +08:00
YiChin d290201085 CC MDOE 2019-09-27 17:51:45 +08:00
alan 5ab5bdc301 Elite 1.4-re CCmode test 2019-09-27 17:37:10 +08:00
alan de995e2cec Elite 1.4-re CCmode test 2019-09-27 17:31:46 +08:00
alan 81fb68264c Elite 1.4-re CCmode test 2019-09-27 17:01:40 +08:00
alan b05a245cf4 Elite 1.4-re CCmode test 2019-09-27 16:35:22 +08:00
alan f3376a2ab3 Elite 1.4-re CCmode test 2019-09-27 15:25:22 +08:00
alan 48faeeaf1d Elite 1.4-re CCmode test 2019-09-27 15:11:57 +08:00
alan 5560899c94 Elite 1.4-re CCmode test 2019-09-27 14:41:31 +08:00
YiChin 85e7b34da1 CC MDOE 2019-09-27 13:08:57 +08:00
YiChin 013a2b9ede CC MDOE 2019-09-27 12:52:56 +08:00
alan e984572847 Elite 1.4-re CCmode test 2019-09-27 11:09:38 +08:00
alan 591c01bb98 Elite 1.4-re CCmode test 2019-09-27 10:49:14 +08:00
alan 7b053c506e Elite 1.4-re CCmode test 2019-09-27 10:48:22 +08:00
alan e8fcdc18da Merge remote-tracking branch 'remotes/origin/Elite_GPTimer' into Elite_ZTcurve 2019-09-27 10:41:34 +08:00
alan b65ff2383a Elite 1.4-re gptimer test 2019-09-26 18:05:28 +08:00
alan b69e9017bf Elite 1.4-re gptimer test 2019-09-26 17:07:59 +08:00
YiChin 09a40e1912 turn on/off with new clock done 2019-09-26 16:45:46 +08:00
alan 6fa630e6e4 Elite 1.4-re gptimer test 2019-09-26 16:03:48 +08:00
alan 95d3c0bbc4 Elite 1.4-re gptimer test 2019-09-26 15:45:19 +08:00
YiChin 9bf2ab20a8 gptimer_open has no bug 2019-09-26 15:35:22 +08:00
alan 15a10b2405 Elite 1.4-re gptimer test 2019-09-26 15:20:27 +08:00
YiChin a4093cdc70 gptimer_open has a bug 2019-09-26 15:08:53 +08:00
alan 8713d743e1 Elite 1.4-re gptimer test 2019-09-26 15:03:55 +08:00
YiChin 4d3129782e gptimer_open has a bug 2019-09-26 14:46:52 +08:00
alan 53ed3f7d6c Elite 1.4-re gptimer test 2019-09-26 12:17:42 +08:00
alan 91d68e665b Elite 1.4-re gptimer test 2019-09-26 11:32:03 +08:00
alan 0bc606c3a8 Elite 1.4-re gptimer test 2019-09-26 11:12:28 +08:00
alan d19b709324 Elite 1.4-re gptimer test 2019-09-26 11:11:40 +08:00
alan 74742ca45b Elite 1.4-re gptimer test 2019-09-26 11:10:05 +08:00
YiChin 2678b0c02f smallZ-T curve 2019-09-26 11:06:55 +08:00
alan 5576c071c5 Elite 1.4-re gptimer test 2019-09-26 10:52:01 +08:00
alan 27c51a6c54 Elite 1.4-re gptimer test 2019-09-26 10:43:02 +08:00
alan 98c4a62130 Elite 1.4-re genius correction test 2019-09-25 12:18:03 +08:00
alan 7bf8620baf Elite 1.4-re genius correction test 2019-09-25 12:11:33 +08:00
alan 1f742b24df Elite 1.4-re try compile gptimer 2019-09-25 11:59:50 +08:00
Benny Liu 3ac1d77651 Genius calibration data 2019-09-25 11:59:13 +08:00
YiChin ae74c4e5cd fix error 2019-09-25 11:36:48 +08:00
alan 434be00a44 Elite 1.4-re try compile gptimer 2019-09-25 11:26:28 +08:00
Benny Liu 0b365f098d Elite Genius board calibration data 2019-09-25 10:30:39 +08:00
YiChin 54e1aab5fc RT class leader 2019-09-24 18:50:37 +08:00
alan 76c8b49553 Elite 1.4-re RT mode 2019-09-23 18:36:56 +08:00
YiChin 085d51adcf RT class leader 2019-09-23 18:33:46 +08:00
alan 0b75801ed6 Elite 1.4-re RT mode 2019-09-23 18:01:45 +08:00
alan eb712ed4bb Elite 1.4-re RT mode 2019-09-23 17:55:52 +08:00
alan c6f6f4c8f7 Elite 1.4-re RT mode 2019-09-23 17:25:14 +08:00
alan ab8c29021d Elite 1.4-re RT mode 2019-09-23 16:48:50 +08:00
alan 62961eeaa4 Elite 1.4-re RT mode 2019-09-23 16:39:35 +08:00
alan b32c3048d7 Elite 1.4-re RT mode 2019-09-23 16:33:38 +08:00
alan bc18b12227 Elite 1.4-re RT mode 2019-09-23 16:09:48 +08:00
YiChin 28734c52a4 RT class leader 2019-09-23 16:03:03 +08:00
alan cd38d00496 Elite 1.4-re RT mode 2019-09-23 15:51:54 +08:00
alan e613ae4542 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-09-23 15:28:43 +08:00
YiChin 4439a83382 RT class leader 2019-09-23 15:20:56 +08:00
YiChin 64ef6657be RT class leader 2019-09-23 10:24:00 +08:00
alan 35760ace39 Elite 1.4-re RT mode 2019-09-20 18:29:42 +08:00
alan 72e6e9acae Elite 1.4-re RT mode 2019-09-20 18:25:21 +08:00
alan eecc7236ad Elite 1.4-re RT mode 2019-09-20 15:12:03 +08:00
alan bdb280c029 Elite 1.4-re RT mode 2019-09-20 14:01:30 +08:00
YiChin 77b1259bf3 bug fix 2019-09-20 11:36:06 +08:00
YiChin 6b9ffacb89 bug fix 2019-09-19 18:58:04 +08:00
YiChin 523a98cf8a bug fix 2019-09-19 16:57:34 +08:00
YiChin 98db6a0390 bug fix 2019-09-19 11:05:53 +08:00
YiChin 164d5209eb bug fix 2019-09-19 10:29:52 +08:00
alan 4b8a1960dd Elite 1.4-re RT mode 2019-09-18 17:17:00 +08:00
alan 2e25a129d6 Elite 1.4-re RT mode 2019-09-18 12:24:18 +08:00
YiChin 3fc2ccbc6a ZT should work 2019-09-18 11:37:24 +08:00
YiChin 78853da803 ZT should work 2019-09-17 18:38:10 +08:00
YiChin 4668654d3c ZT should work 2019-09-17 12:07:09 +08:00
YiChin 55503b209b ZT clean buf has a bug 2019-09-17 10:53:24 +08:00
alan 0fdd8bf693 Elite 1.4-re RT mode with 4 level (small resister 2019-09-16 18:45:41 +08:00
YiChin a6459e4302 ZT clean buf has a bug 2019-09-16 18:40:23 +08:00
YiChin b256a61876 CC studio is a FUCKING stupid IDE, F U C K 2019-09-16 18:01:25 +08:00
alan a59c70f75b Elite 1.4-re RT mode with 4 level (small resister 2019-09-16 17:49:29 +08:00
YiChin 59f608a4d0 bug fix 2019-09-16 17:45:58 +08:00
YiChin 70543a2bd5 bug fix 2019-09-16 15:14:07 +08:00
YiChin 7743b6ef62 bug fix 2019-09-16 12:17:43 +08:00
alan a7f3120fb9 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-09-16 12:09:40 +08:00
alan 16525b0d19 Elite 1.4-re RT mode with 4 level (small resister 2019-09-16 12:09:21 +08:00
YiChin c96b9db716 using long long in correction 2019-09-12 10:20:12 +08:00
YiChin a8bdface95 using long long in correction 2019-09-11 12:13:25 +08:00
YiChin ea8bf21ffd using long long in correction 2019-09-11 11:41:52 +08:00
YiChin 24efe9d896 using long long in correction 2019-09-11 11:41:23 +08:00
alan 3ae0520f39 Elite 1.4-re test ZT_curve branch 2019-09-11 10:06:48 +08:00
alan 035ca66237 Elite 1.4-re debug VT 2019-09-05 17:20:44 +08:00
alan 66fd1a5f2f Elite 1.4-re debug VT 2019-09-05 12:23:11 +08:00
alan ba4a082834 Elite 1.4-re debug VT 2019-09-05 12:16:23 +08:00
alan ac7b4e8ac3 Elite 1.4-re debug VT 2019-09-05 12:07:29 +08:00
alan 7e79b2e12c Elite 1.4-re debug VT 2019-09-05 11:45:20 +08:00
YiChin 0da686a78b add new correction data 2019-09-05 11:20:59 +08:00
alan 474e3cb8d9 Elite 1.4-re IV avg out at steptime-1 2019-09-05 10:35:49 +08:00
alan e649bd9a25 Elite 1.4-re RT comment 2019-09-05 10:26:44 +08:00
alan 1f5bf25d16 Elite 1.4-re Vorigin Vfinal use usercode 2019-09-04 18:52:49 +08:00
alan 14cc86bce1 Elite 1.4-re Vorigin Vfinal use usercode 2019-09-04 18:43:41 +08:00
alan 5f636db5ed Elite 1.4-re fix function pointer error (*self) 2019-09-04 14:58:41 +08:00
alan 72c84deb85 Elite 1.4-re fix function pointer error (*self) 2019-09-04 14:51:16 +08:00
alan a0cc1cf228 Elite 1.4-re fix function pointer error (*self) 2019-09-04 14:35:01 +08:00
alan 41b35655a6 Elite 1.4-re fix function pointer error 2019-09-04 14:25:10 +08:00
YiChin 68169aed0d fix error 2019-09-04 14:09:21 +08:00
alan 645b971b6b Elite 1.4-re fix function pointer error 2019-09-04 13:55:32 +08:00
YiChin f669739b4e fix error 2019-09-04 13:01:34 +08:00
alan 9f5912c649 Elite 1.4-re IUC compare with real I 2019-09-04 12:55:19 +08:00
alan 8dac9ea12c Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-09-04 12:48:21 +08:00
alan 9f2e6547d2 Elite 1.4-re IUC compare with real I 2019-09-04 12:47:56 +08:00
YiChin 164be3061d Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-09-04 12:44:52 +08:00
YiChin f4acbf75d8 fix error 2019-09-04 12:44:22 +08:00
alan a3f710f398 Elite 1.4-re IUC compare with real I 2019-09-04 12:25:37 +08:00
alan fdd9ee173c Elite 1.4-re IUC compare with real I 2019-09-04 12:07:41 +08:00
alan 5c581869da Elite 1.4-re IUC compare with real I 2019-09-04 12:07:06 +08:00
alan f1bb7e6217 Elite 1.4-re add function pointer 2019-09-04 11:16:02 +08:00
alan bc553c66af Elite 1.4-re step time macro 2019-09-03 18:21:18 +08:00
alan 2bb80a06ed Elite 1.4-re merge with IVtest branch 2019-09-03 18:19:59 +08:00
alan d44dd996a7 Elite 1.4-re merge with IVtest branch 2019-09-03 18:16:32 +08:00
alan 36de918cfc Elite 1.4-re IUC to real nA/pA 2019-09-03 18:14:25 +08:00
alan 4b45002129 Elite 1.4-re fix error 2019-09-03 17:11:16 +08:00
alan 2d23da34c2 Elite 1.4-re split every function into .h file 2019-09-03 17:03:23 +08:00
alan ff58ec8a1e Elite 1.4-re split every function into .h file 2019-09-03 17:01:46 +08:00
alan 6ae419b537 Elite 1.4-re add CCmode 2019-09-03 16:22:08 +08:00
alan 96350c19c2 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-09-03 12:39:07 +08:00
alan ab52989e0e Elite 1.4-re add CCmode 2019-09-03 12:38:49 +08:00
alan 035f01fb0a Elite 1.4-re add CCmode 2019-09-03 11:41:30 +08:00
alan e235fd3adf Elite 1.4-re add CCmode 2019-09-03 11:23:21 +08:00
105042004 272d0e423d fix Impedance_Calculate() 2019-09-03 11:11:37 +08:00
alan e227b395f9 Elite 1.4-re add CCmode 2019-09-02 18:50:59 +08:00
YiChin 91d8d1a4d0 add ZTcurve impedance calculation function 2019-08-30 18:16:14 +08:00
alan c5543e777a Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-08-30 15:05:37 +08:00
alan ddfcd11fb4 Elite 1.4-re ZT_plot not finish yet 2019-08-30 15:05:19 +08:00
YiChin 03ef7ef734 fix error 2019-08-30 12:34:17 +08:00
alan 4d84788f51 Elite 1.4-re fix error 2019-08-30 12:15:15 +08:00
YiChin 6d48245d82 fix error 2019-08-30 12:08:31 +08:00
YiChin a2070d1073 Merge remote-tracking branch 'origin/Elite_ZTcurve' into Elite_ZTcurve 2019-08-30 11:52:39 +08:00
YiChin 40bb5b8e0a fix error 2019-08-30 11:49:45 +08:00
alan ac3bee4609 Elite 1.4-re fix error 2019-08-30 11:40:29 +08:00
alan 4166c2721c Elite 1.4-re add (instruction, LED, reset...).h file 2019-08-30 11:26:47 +08:00
alan 8455fe9422 Elite 1.4-re stepcode to DAC code 2019-08-29 17:11:55 +08:00
alan ed3a24a9c9 Elite 1.4-re stepcode to DAC code 2019-08-29 17:04:31 +08:00
alan d93464e970 Elite 1.4-re step reset value = 1mV 2019-08-29 16:57:22 +08:00
105042004 0909855fbb fix 10e3 2019-08-29 16:52:16 +08:00
alan dc32d4fb13 Elite 1.4-re delete 1.3 DACout function 2019-08-29 16:15:36 +08:00
alan 36e0be6f9b Elite 1.4-re FXN_GEN type VS bitwise priority? 2019-08-29 16:09:39 +08:00
105042004 ea5355f413 fix CHAO I correction 2019-08-29 15:09:21 +08:00
105042004 27960395de Merge branch 'Elite_IVtest' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_IVtest 2019-08-29 14:33:26 +08:00
105042004 cdbcb85640 add CHAO I DAC correction code 2019-08-29 14:32:54 +08:00
alan db2d8e4217 Elite 1.4-re clean warning 2019-08-29 12:38:33 +08:00
alan 1b9aedf7a0 Elite 1.4-re clean warning 2019-08-29 12:24:40 +08:00
alan 1cba7efeeb Elite 1.4-re interrupt function 2019-08-29 12:20:21 +08:00
alan ec7e721fcc Elite 1.4-re reformat 2019-08-29 12:16:28 +08:00
YiChin dcfb390243 fix format bug 2019-08-29 12:03:00 +08:00
alan 2cd7161694 Elite 1.4-re have a format bug 2019-08-29 11:58:14 +08:00
105042004 a84ec8c438 fix IV curve 2019-08-29 11:43:46 +08:00
105042004 33805dd480 fix IV curve 2019-08-29 11:41:53 +08:00
alan a033919d47 Elite 1.4-re IV mode with LED hint 2019-08-29 11:30:09 +08:00
alan 72674329bc Elite 1.4-re DAC control and IV mode notify 2019-08-29 11:07:56 +08:00
alan 6d690d80da Merge remote-tracking branch 'origin/Elite_IVtest' into Elite_IVtest
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/impedance_meter.h
2019-08-29 11:07:49 +08:00
alan e607ae50e1 Elite 1.4-re DAC control and IV mode notify 2019-08-29 11:05:12 +08:00
105042004 750c13ee00 test IV current 2019-08-29 10:54:37 +08:00
105042004 b66a5c1cc5 test IV current 2019-08-29 10:45:46 +08:00
105042004 732ef11d7f test IV current 2019-08-29 10:38:10 +08:00
105042004 1187ead2cf test IV current 2019-08-29 10:31:28 +08:00
105042004 c6ddc19fdc fix average 2019-08-28 18:53:30 +08:00
105042004 e864d8fc10 fix average 2019-08-28 18:52:23 +08:00
YiChin 3a0d730c11 push 2019-08-28 16:36:29 +08:00
alan 773b9f5e48 Elite 1.4-re move include "XXX.h" 2019-08-28 16:26:38 +08:00
alan 3218b3a531 Elite 1.4-re move include "XXX.h" 2019-08-28 16:19:24 +08:00
alan 658ed58412 Elite 1.4-re IV-current avg has a bug; move include "XXX.h" 2019-08-28 16:13:19 +08:00
105042004 9d288dee41 fix IV notify 2019-08-28 14:40:56 +08:00
105042004 e975789be4 fix IV notify 2019-08-28 14:40:44 +08:00
105042004 bf2ef89a7f fix correction data init 2019-08-28 14:10:29 +08:00
105042004 f81aa9a47b fix correction_data 2019-08-28 13:02:03 +08:00
alan 2a82ac65e2 Elite 1.4-re correction struct 2019-08-28 12:45:24 +08:00
105042004 6a506898a8 fix correction_data init 2019-08-28 12:26:45 +08:00
105042004 8606e0ca9d fix Correction data 2019-08-28 12:10:46 +08:00
105042004 5951d1c9e2 switch to chao i 2019-08-28 11:54:01 +08:00
105042004 e741d1b252 Merge branch 'Elite_IVtest' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_IVtest 2019-08-28 11:53:19 +08:00
105042004 f85d687a77 add DAC correction data 2019-08-28 11:52:54 +08:00
alan 142b006c63 Elite 1.4-re use old format notify 2019-08-28 11:42:15 +08:00
alan 5e59e60b4e Merge remote-tracking branch 'origin/Elite_IVtest' into Elite_IVtest 2019-08-28 11:36:29 +08:00
105042004 f678680f1d push 2019-08-28 11:36:09 +08:00
105042004 0de37ed924 merge 2019-08-28 11:30:53 +08:00
105042004 5f2b3c55bb arrange correction data 2019-08-28 11:22:42 +08:00
alan 4a37fa8668 Elite 1.4-re write notify comment 2019-08-28 10:49:49 +08:00
alan f7f5e550c9 Elite 1.4-re notify include mode & gain infomation 2019-08-28 10:48:50 +08:00
alan 24db728a6c Elite 1.4-re move DAC correction to correction.h 2019-08-28 10:37:36 +08:00
alan 1f2ddc7829 Elite 1.4-re ADC gain macro 2019-08-28 10:36:35 +08:00
alan 77d22be8fa Elite 1.4-re notify format 2019-08-28 10:32:08 +08:00
alan 691bd9a10f Merge remote-tracking branch 'origin/Elite_IVtest' into Elite_IVtest 2019-08-28 10:09:59 +08:00
alan f5165cc78b Elite 1.4-re Correction array 2019-08-28 10:09:47 +08:00
105042004 6cb687d8b6 IV curve count current average 2019-08-28 02:34:13 +08:00
alan 80dd042021 Merge remote-tracking branch 'origin/Elite_IVtest' into Elite_IVtest 2019-08-27 17:59:24 +08:00
alan 3b43cd1e74 Elite 1.4-re Correction array 2019-08-27 17:59:07 +08:00
105042004 289b0ad94c change to chao i 2019-08-27 17:12:58 +08:00
105042004 e1469d96d8 delete current 2019-08-27 17:01:37 +08:00
105042004 93f106dc30 push chao i 2019-08-27 16:36:03 +08:00
105042004 73913197df push 2019-08-27 16:33:51 +08:00
105042004 4ec017a68f add tri correction 2019-08-27 16:33:42 +08:00
105042004 284891f73a Merge branch 'Elite_IVtest' of https://gitlab.com/bioproscientific/bioprocc2650 into Elite_IVtest 2019-08-27 14:08:27 +08:00
105042004 5a1b69d29b 29 21 ADC volt correction 2019-08-27 14:06:47 +08:00
Benny Liu 0699a7edf7 fix 2019-08-26 15:02:18 +08:00
Benny Liu 14c21694ec fix 2019-08-26 12:22:26 +08:00
Benny Liu 5f95225d00 auto shifting tesst 2019-08-26 12:08:37 +08:00
Benny Liu c1b25aa3ef update calibration data 2019-08-26 10:37:40 +08:00
105042004 237f6a820c move DAC reset parameter 2019-08-23 16:21:32 +08:00
105042004 7ba3aa560b move IV current average 2019-08-23 16:03:52 +08:00
105042004 405b599562 push 2019-08-23 15:01:32 +08:00
105042004 1dae858671 fix 2019-08-23 14:54:05 +08:00
105042004 aee139e154 push 2019-08-23 14:23:56 +08:00
105042004 b80f977e16 fix ADC current samplerate 2019-08-23 14:13:12 +08:00
105042004 e6e8b255ba Merge branch 'Elite_IVtest' of https://gitlab.com/s880782002/bioprocc2650 into Elite_IVtest 2019-08-23 11:17:40 +08:00
105042004 0aca212f53 commit 2019-08-23 11:17:28 +08:00
alan 7f64e9b9c7 Elite 1.4-re clock with event mask 2019-08-23 11:16:51 +08:00
alan 8953c51f9a Elite 1.4-re AVG notify current & V 2019-08-23 10:48:38 +08:00
105042004 72d97ad288 Elite change IV curve samplerate to average 2019-08-23 10:26:50 +08:00
105042004 43cb1a278b change iv curve sample rate 2019-08-22 18:09:59 +08:00
105042004 ccc1becc87 push 2019-08-22 11:34:46 +08:00
105042004 8b55122225 fix IV curve/instruction 2019-08-22 11:18:29 +08:00
alan 776fe53178 Elite 1.4-re periodic event flag 2019-08-21 10:24:19 +08:00
alan 003b115067 Elite 1.4-re ADC w/r delay time 2019-08-21 09:57:56 +08:00
alan bcf682e116 Elite 1.4-re clock callback 2019-08-21 09:50:34 +08:00
alan ad4fab1aa6 Elite 1.4-re clock callback 2019-08-21 00:18:25 +08:00
alan 80d89e7b87 Elite 1.4-re IT fix display output V 2019-08-20 23:55:19 +08:00
alan 46bbbc8ac7 Elite 1.4-re IT fix display output V 2019-08-20 23:22:04 +08:00
alan cd43385573 Elite 1.4-re IT fix display output V 2019-08-20 23:14:15 +08:00
YiChin 63b4c19d67 ADC Gain level instructino 2019-08-20 22:50:53 +08:00
YiChin 837055cc29 ADC Gain level instructino 2019-08-20 22:05:04 +08:00
alan 053718f7f2 Elite 1.4-re IT over/under flow check 2019-08-20 21:49:34 +08:00
Benny Liu 9d18f7c67f manual shift 2019-08-20 21:34:48 +08:00
YiChin f32ac10e94 ADC Gain level instructino 2019-08-20 21:22:09 +08:00
alan aaa3f62f62 Elite 1.4-re try to fix IV plot 2019-08-20 21:01:07 +08:00
alan c68f34a48a Elite 1.4-re try to fix IV plot 2019-08-20 20:37:14 +08:00
alan c39075eff8 Elite 1.4-re try to fix IV plot 2019-08-20 20:03:18 +08:00
YiChin 53c28fed5d Elite 1.4-re try to DAC 2019-08-20 19:24:08 +08:00
YiChin 112e177928 Elite 1.4-re try to DAC 2019-08-20 19:14:15 +08:00
105042004 449201e3ea change steptime 2019-08-20 18:48:05 +08:00
105042004 c7c9e75c17 test steptime 2019-08-20 18:40:00 +08:00
105042004 2bdbe91c7e test steptime 2019-08-20 18:27:55 +08:00
YiChin 58c3f8fd22 Elite 1.4-re try to DAC 2019-08-20 17:11:03 +08:00
YiChin ad7063eea2 Elite 1.4-re try to DAC 2019-08-20 16:35:10 +08:00
YiChin 34b3524533 Elite 1.4-re try to DAC 2019-08-20 16:33:53 +08:00
YiChin f63d991df4 Elite 1.4-re try to fix IV zero Notify problem 2019-08-20 15:24:30 +08:00
YiChin 10a640bac6 Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo 2019-08-20 15:15:14 +08:00
YiChin e4bd49e6ae Elite 1.4-re try to fix IV zero Notify problem 2019-08-20 15:13:58 +08:00
Benny Liu c14d4a9f6b don't care 2019-08-20 15:13:29 +08:00
YiChin 596897ccd7 Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/impedance_meter.h
2019-08-20 14:39:58 +08:00
YiChin b304f03a7a Elite 1.4-re try to fix IV zero Notify problem 2019-08-20 14:39:13 +08:00
105042004 2c9f467939 push 2019-08-20 14:37:37 +08:00
105042004 31f6c9d43c fix DAC correction 2019-08-20 14:36:50 +08:00
Benny Liu 91e5f2f43f error fix 2019-08-20 14:35:37 +08:00
Benny Liu f4f5c18a95 Merge branch 'Elite_14re_demo' of https://gitlab.com/s880782002/bioprocc2650 into Elite_14re_demo 2019-08-20 14:33:00 +08:00
alan 08b1bd4ce6 Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/EliteDAC.h
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/impedance_meter.h
2019-08-20 14:32:28 +08:00
Benny Liu 61934cee51 Merge branch 'Elite_14re_demo' of https://gitlab.com/s880782002/bioprocc2650 into Elite_14re_demo 2019-08-20 14:32:18 +08:00
Benny Liu ae560e8923 Gain Boundary for CHAO-I 2019-08-20 14:31:29 +08:00
alan d0f1cb5db0 Elite 1.4-re try to fix IV plot 2019-08-20 14:31:02 +08:00
YiChin 18b1279fe6 Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo 2019-08-20 14:06:38 +08:00
YiChin dd541ef1d0 Elite 1.4-re try to fix IV zero Notify problem 2019-08-20 14:05:55 +08:00
Benny Liu d3c3135775 add calibration data for CHAO-I. 2019-08-20 14:04:07 +08:00
alan 317305dbcd Elite 1.4-re try to fix IV plot 2019-08-20 13:48:18 +08:00
105042004 d889aee9df gix bug 2019-08-20 13:32:38 +08:00
105042004 0d2ef231d7 fix CV curve function 2019-08-20 11:16:37 +08:00
105042004 52036a6c4b merge 2019-08-20 11:04:33 +08:00
105042004 fc44b2be44 add Notify_IV( ) 2019-08-20 11:03:27 +08:00
alan 48fcbe8de8 Elite 1.4-re move ADC overflow to correction.h 2019-08-20 10:48:55 +08:00
alan 8a2bb2a8a4 Elite 1.4-re fix reset (but failed) 2019-08-20 10:32:44 +08:00
YiChin 37480a0c6e Elite 1.4-re add correction comment of #0 board 2019-08-20 10:26:45 +08:00
YiChin 332b49de31 Elite 1.4-re LED 2019-08-19 19:14:16 +08:00
YiChin 3fa9abecd9 Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage.h
2019-08-19 18:03:56 +08:00
YiChin 25c964ee37 Elite 1.4-re LED 2019-08-19 18:02:39 +08:00
105042004 5b471539e9 push 2019-08-19 18:01:43 +08:00
105042004 1739a4ebd2 Merge branch 'Elite_14re_demo' of https://gitlab.com/s880782002/bioprocc2650 into Elite_14re_demo 2019-08-19 17:43:49 +08:00
105042004 dfde53e893 adjust clock 2019-08-19 17:43:35 +08:00
YiChin a9066d91fc Elite 1.4-re LED 2019-08-19 17:43:16 +08:00
105042004 e3aff9e394 Merge branch 'Elite_14re_demo' of https://gitlab.com/s880782002/bioprocc2650 into Elite_14re_demo 2019-08-19 16:37:44 +08:00
105042004 68ea183e52 test samperate 2019-08-19 16:37:20 +08:00
alan 78bafd54f3 Elite 1.4-re ADC auto switch 2019-08-19 16:07:20 +08:00
YiChin 429ccd3254 Elite 1.4-re LED 2019-08-19 15:53:10 +08:00
YiChin 4d181df5b8 Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo 2019-08-19 15:32:53 +08:00
YiChin e8d8b7730e Elite 1.4-re LED 2019-08-19 15:32:40 +08:00
105042004 04e649ce0b merge 2019-08-19 15:31:02 +08:00
105042004 b54d1c3b2b Elite 1.4 adjust steptime 2019-08-19 15:28:41 +08:00
105042004 ec58058e00 Elite 1.4 adjust sampling rate 2019-08-19 15:24:58 +08:00
alan a8bc5a22d5 Elite 1.4-re push 2019-08-19 15:00:24 +08:00
alan ddf5a59ee9 Elite 1.4-re push 2019-08-19 14:59:56 +08:00
alan 19ed1b1444 Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo 2019-08-19 14:56:44 +08:00
alan 0c08992214 Elite 1.4-re push 2019-08-19 14:56:27 +08:00
105042004 c48f570877 Elite 1.4 adjust samplerate_counter 2019-08-19 14:56:14 +08:00
105042004 95dc465f45 fix samplerate 2019-08-19 14:44:30 +08:00
105042004 65b49cdd11 fix EliteADCControl 2019-08-19 14:40:47 +08:00
105042004 a18cabfa33 fix EliteADCControl 2019-08-19 14:40:17 +08:00
105042004 9d86f9f1f9 fix 2019-08-19 14:34:15 +08:00
105042004 adca6987b4 Elite 1.4 move IT_plot() 2019-08-19 14:25:40 +08:00
105042004 cf5d09d0d1 fix bug 2019-08-19 14:07:55 +08:00
105042004 b4075c14fd Elite 1.4 fix sample rate 2019-08-19 14:00:31 +08:00
105042004 06717ad552 merge 2019-08-19 12:51:32 +08:00
105042004 e4b4b3e0e5 Elite1.4 Seperate DAC and ADC / add Sampling rate 2019-08-19 12:48:22 +08:00
alan e51a0adf12 Elite 1.4-re error fix 2019-08-19 12:29:00 +08:00
YiChin 3bdba2ad71 Elite 1.4-re error fix 2019-08-19 11:48:09 +08:00
alan 89e7935cd6 Elite 1.4-re error fix 2019-08-19 11:30:34 +08:00
YiChin 935e3fea4d Elite 1.4-re error fix 2019-08-19 11:24:09 +08:00
YiChin e1f4c20fd7 Elite 1.4-re error fix 2019-08-19 11:11:18 +08:00
alan 226c822fcf Elite 1.4-re clock 0.05s ->0.01s | samplerate 2019-08-19 11:09:42 +08:00
alan 7905d25c2f Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/EliteADC.h
2019-08-19 10:57:23 +08:00
alan 941d508859 Elite 1.4-re clock 0.05s ->0.01s | samplerate 2019-08-19 10:56:23 +08:00
alan 2230a78ad1 Elite 1.4-re clock 0.05s ->0.01s | samplerate 2019-08-19 10:50:40 +08:00
Benny Liu 95ec664c9c Merge branch 'Elite_14re_demo' of https://gitlab.com/s880782002/bioprocc2650 into Elite_14re_demo 2019-08-19 10:46:55 +08:00
Benny Liu ef894ae441 calibration coefficient value 2019-08-19 10:46:34 +08:00
YiChin f887abbf66 Elite 1.4-re new world 2019-08-19 10:30:03 +08:00
alan d51b9839c2 Elite 1.4-re clock 0.05s ->0.01s 2019-08-16 19:09:11 +08:00
alan fb08b5638d Elite 1.4-re clock 0.05s ->0.01s 2019-08-16 19:03:54 +08:00
alan c09ec1b3e1 Elite 1.4-re clock 0.05s ->0.01s 2019-08-16 18:47:50 +08:00
alan b77104baa8 Elite 1.4-re clock 0.05s ->0.01s 2019-08-16 18:34:37 +08:00
alan 60beceb0a4 Elite 1.4-re clock 0.05s ->0.01s 2019-08-16 18:12:43 +08:00
alan 36810bbf53 Merge remote-tracking branch 'origin/Elite_14re_demo' into Elite_14re_demo 2019-08-16 18:07:14 +08:00
alan 5f62559811 Elite 1.4-re clock 0.05s ->0.01s 2019-08-16 18:07:01 +08:00
Benny Liu bb521437db auto shift bug fix 2019-08-16 17:56:14 +08:00
Benny Liu c31bbef8f5 auto shift 2019-08-16 17:47:16 +08:00
Benny Liu ca5203848d DAC output voltage correction 2019-08-16 17:01:59 +08:00
Benny Liu b6f8ddd041 auto shift 2019-08-16 16:47:09 +08:00
alan 1e834cfb45 Elite 1.4-re ADC current correction 2019-08-16 16:40:09 +08:00
alan e93ac78ccd Elite 1.4-re ADC current correction 2019-08-16 14:23:02 +08:00
YiChin 8a375019f1 Elite 1.4-re error fix 2019-08-16 14:20:50 +08:00
YiChin 3cda19e2d2 Elite 1.4-re error fix 2019-08-16 13:40:24 +08:00
YiChin 95169d0885 Merge remote-tracking branch 'origin/elite_tempbranch' into elite_tempbranch 2019-08-16 12:28:45 +08:00
YiChin 96c3b0725b Elite 1.4-re error fix 2019-08-16 12:28:19 +08:00
alan b29eef912d Elite 1.4-re ADC current correction 2019-08-16 12:26:53 +08:00
YiChin 7790621b3c Elite 1.4-re error fix 2019-08-16 11:51:59 +08:00
YiChin adf96c3055 Elite 1.4-re error fix 2019-08-16 11:18:25 +08:00
YiChin a99ced845c Elite 1.4-re error fix 2019-08-16 11:01:02 +08:00
YiChin be6681a0fd Merge remote-tracking branch 'origin/elite_tempbranch' into elite_tempbranch 2019-08-16 10:17:01 +08:00
alan fbcb1f8ddd Elite 1.4-re ADC volt correction 2019-08-16 10:16:13 +08:00
YiChin 61cb5a9eed Elite 1.4-re error fix 2019-08-15 18:46:23 +08:00
alan 64d32a6386 Merge remote-tracking branch 'origin/elite_tempbranch' into elite_tempbranch 2019-08-15 18:44:33 +08:00
alan 50e47e75a1 Elite 1.4-re ADC volt correction 2019-08-15 18:44:21 +08:00
YiChin 21b7e081e7 Elite 1.4-re error fix 2019-08-15 18:38:34 +08:00
alan e53403d11b Elite 1.4-re ADC volt correction 2019-08-15 18:31:38 +08:00
alan 6ef19dfbdc Elite 1.4-re ADC volt correction 2019-08-15 17:52:32 +08:00
alan 1c601e57a4 Elite 1.4-re new notify.h 2019-08-15 17:42:13 +08:00
YiChin 346ff4db00 Elite 1.4-re error fix 2019-08-15 17:24:34 +08:00
alan 6900a6f3be Elite 1.4-re new notify.h 2019-08-15 17:00:57 +08:00
YiChin 08c3c19219 Elite 1.4-re error fix 2019-08-15 16:55:29 +08:00
alan 828d5301e7 Elite 1.4-re VT function test 2019-08-15 16:39:09 +08:00
alan 4ffbcba8cf Elite 1.4-re VT function test 2019-08-15 16:32:39 +08:00
alan 0290a178ee Elite 1.4-re ADC correction using CIS 2019-08-15 15:53:40 +08:00
YiChin 4723ec9d5b fix instruction length 2019-08-15 12:05:23 +08:00
YiChin 4b908677a9 compile pass 2019-08-15 11:37:28 +08:00
105042004 24b7699520 test width period 2019-08-15 11:24:00 +08:00
105042004 6a2bba3119 test period width 2019-08-15 11:23:36 +08:00
alan 4a2af94b31 Elite 1.4-re DAC correction 2019-08-14 19:22:48 +08:00
alan 77719e3713 Elite 1.4-re DAC correction 2019-08-14 19:15:44 +08:00
alan 94776b0171 Merge remote-tracking branch 'origin/elite_tempbranch' into elite_tempbranch
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage.h
2019-08-14 19:13:26 +08:00
alan 5c4c08fc97 Elite 1.4-re ADC test 2019-08-14 19:11:57 +08:00
YiChin 1d58fe359b Elite 1.4-re LED modify 2019-08-14 18:10:53 +08:00
105042004 a50849882e test pulse period pulse width 2019-08-14 11:56:41 +08:00
105042004 89a474f509 test pulse width 2019-08-14 11:06:51 +08:00
105042004 4cc1d01c6a update DPV curve fix CV curve overflow 2019-08-14 10:29:24 +08:00
105042004 703d6bcb69 test DPV 2019-08-14 09:58:20 +08:00
105042004 a0cf6389aa test DPV 2019-08-13 18:28:21 +08:00
105042004 7cf77afab3 fix bug 2019-08-13 18:16:01 +08:00
105042004 ec36764750 test DPV 2019-08-13 18:05:20 +08:00
105042004 e1186901e9 test DPV curve 2019-08-13 17:54:39 +08:00
105042004 82d1b90542 test DPV amplitude 2019-08-13 17:47:23 +08:00
105042004 1c2b3ac07c test DPV step 2019-08-13 17:42:11 +08:00
105042004 5d545d6acf test DPV 2019-08-13 17:37:09 +08:00
105042004 abacf8b977 test DPV curve 2019-08-13 17:23:26 +08:00
105042004 e7fb10be20 kill 10V 2019-08-13 17:12:46 +08:00
105042004 9eac85a5d3 test DPV 2019-08-13 16:29:25 +08:00
105042004 c2a4d4ddac test DPV 2019-08-13 15:31:38 +08:00
105042004 c64b19bbb4 test DPV 2019-08-13 15:09:42 +08:00
105042004 f8569c15bc test Amplitude 2019-08-13 14:52:50 +08:00
105042004 1b0d50eeaf test DPV 2019-08-13 14:43:12 +08:00
105042004 e681c0a2b0 test 2019-08-13 14:35:42 +08:00
105042004 6dcb7173d5 test 2019-08-13 14:35:29 +08:00
105042004 ee8165d4b9 test 2019-08-13 14:28:27 +08:00
105042004 0539ffbd23 test 2019-08-13 14:17:11 +08:00
105042004 4bc2364e07 test 2019-08-13 14:04:10 +08:00
105042004 fbff4b2985 test amplitude 2019-08-13 12:58:53 +08:00
105042004 6031a35461 update step amplitide width 2019-08-13 12:24:51 +08:00
105042004 b55b521d06 test 2019-08-13 11:58:02 +08:00
105042004 8303c80326 test DPV 2019-08-13 11:50:53 +08:00
105042004 1a196b20da test DPV 2019-08-13 11:50:29 +08:00
105042004 aa2e813fb1 update CV curve DPV curve SWV curve 2019-08-13 11:07:13 +08:00
105042004 92ef9e44d6 fix 2019-08-08 18:07:41 +08:00
105042004 d840e63ac1 test DPV curve 2019-08-08 17:58:48 +08:00
105042004 345bbf7f21 fix 2019-08-08 17:17:23 +08:00
105042004 e728e0b520 fix bug 2019-08-08 16:50:13 +08:00
105042004 be70e455d7 update CV curve DPV curve 2019-08-08 16:23:17 +08:00
105042004 7a92fe8f86 debug CV curve 2019-08-08 14:47:39 +08:00
105042004 bbcda86272 test CV curve 2019-08-08 14:38:17 +08:00
105042004 148b3a4bd3 change step 2019-08-08 14:28:23 +08:00
105042004 dc0267427f test 2019-08-08 13:59:00 +08:00
105042004 fa71a8535d test 2019-08-08 13:50:39 +08:00
105042004 15d7e94082 test 2019-08-08 13:36:18 +08:00
105042004 d571d1ea98 test 2019-08-08 12:58:04 +08:00
105042004 ca2cef61a4 test 2019-08-08 12:45:25 +08:00
105042004 5957b60680 fix CV curve 2019-08-08 12:31:04 +08:00
105042004 37e9931c5a test IV cuve 2019-08-08 11:58:22 +08:00
105042004 837e9f4029 fix CV curve 2019-08-08 11:41:14 +08:00
105042004 020746027d test step 2019-08-08 11:05:23 +08:00
105042004 f170f9ab0d fix 2019-08-08 10:52:15 +08:00
105042004 44bab26192 fix bug 2019-08-08 10:34:48 +08:00
105042004 042b15f787 fix bug 2019-08-08 10:11:54 +08:00
105042004 4d95438e20 update CVcurve DPVcurve SWVcurve 2019-08-07 22:32:58 +08:00
105042004 94fd12b436 push 2019-08-07 12:29:42 +08:00
105042004 d9d12321b7 push 2019-08-07 12:23:20 +08:00
105042004 73ab6505ca test CV curve 2 2019-08-07 12:19:59 +08:00
105042004 7f1cd7437c test CV curve 2019-08-07 12:17:33 +08:00
Benny Liu 0e40bc0deb Merge branch 'elite_tempbranch' of https://gitlab.com/s880782002/bioprocc2650 into elite_tempbranch 2019-08-07 11:17:31 +08:00
Benny Liu 51a46e0f4d shift gear 2019-08-07 11:15:01 +08:00
105042004 9ffe4e2965 test CV curve 2019-08-07 11:07:15 +08:00
105042004 d4551a83e6 test CV curve 2019-08-07 10:56:24 +08:00
105042004 fbd4699246 test12 2019-08-06 18:13:47 +08:00
105042004 bfc8242ee6 test11 2019-08-06 17:56:52 +08:00
105042004 68598cc9d0 test10 2019-08-06 17:41:58 +08:00
105042004 c87ff74add test9 2019-08-06 17:15:18 +08:00
105042004 fcb9ca34a1 test8 2019-08-06 16:36:28 +08:00
105042004 43e19870b2 test7 2019-08-06 16:07:30 +08:00
105042004 365b272e91 test6 2019-08-06 15:28:57 +08:00
105042004 56ad82e481 test6 2019-08-06 15:18:02 +08:00
105042004 110940e898 test5 2019-08-06 15:12:02 +08:00
105042004 f58557d785 test4 2019-08-06 13:56:13 +08:00
105042004 5a0d3e5026 test 3 2019-08-06 13:44:14 +08:00
105042004 357e30d8af test CV curve 2019-08-06 13:26:20 +08:00
105042004 c3b633a207 test CV curve 2019-08-06 13:20:51 +08:00
105042004 daef46eecc update CV curve 2019-08-06 12:47:45 +08:00
105042004 140add3754 change reset 2019-08-06 12:20:31 +08:00
105042004 540a6a3d2a update CVcurve 2019-08-06 11:47:10 +08:00
105042004 a7e337cf96 add DPV & fix bug 2019-08-01 11:52:03 +08:00
105042004 a6cf807b08 fix errors 2019-08-01 11:19:43 +08:00
105042004 b87b5c4f2f add DPV 2019-08-01 10:40:37 +08:00
105042004 cb1497d434 add CVcurve 2019-07-30 16:50:01 +08:00
105042004 01d104c81c Merge remote-tracking branch 'origin/elite_memory' into elite_tempbranch 2019-07-30 10:44:54 +08:00
alan d716f396b4 Elite 1.4 DAC output fxn 2019-07-30 10:08:29 +08:00
YiChin c683e0261c Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-26 15:28:49 +08:00
YiChin 4d1ed89e40 Elite 1.4 ADC test 2019-07-26 15:26:39 +08:00
alan 7769de7174 Elite 1.4 ADC test 2019-07-26 11:58:39 +08:00
alan 99a2fb27df Elite 1.4 ADC test 2019-07-26 11:26:45 +08:00
alan 45f96605d9 Elite 1.4 ADC test 2019-07-26 10:35:35 +08:00
alan fb7b75b02d Elite 1.4 ADC test 2019-07-26 09:51:52 +08:00
YiChin 101c03b19e Elite 1.4 ADC test 2019-07-26 09:11:43 +08:00
alan 17fa54c979 Elite 1.4 I2C test 2019-07-26 09:03:43 +08:00
alan 35f610001f Elite 1.4 I2C test 2019-07-25 18:33:13 +08:00
alan 1f57e7d2de Elite 1.4 I2C test 2019-07-25 17:57:15 +08:00
alan 3fad139bc5 Elite 1.4 I2C test 2019-07-25 17:30:26 +08:00
alan ba3888f523 Elite 1.4 I2C test 2019-07-25 15:42:17 +08:00
alan 9751ef2529 Elite 1.4 ADC test 2019-07-25 14:59:09 +08:00
alan b69b46a78c Elite 1.4 ADC test 2019-07-25 14:50:17 +08:00
YiChin 88979fe511 Elite 1.4 ADC test 2019-07-25 14:26:51 +08:00
105042004 7d2fc57b77 add comment 2019-07-25 12:13:05 +08:00
105042004 71c30babea add comment 2019-07-25 12:11:16 +08:00
alan c4996a3e2d Elite 1.4 ADC test 2019-07-25 09:47:14 +08:00
YiChin 7a71bbb995 Elite 1.4 DAC test 2019-07-24 18:32:27 +08:00
YiChin 45b00acc8b Elite 1.4 DAC test 2019-07-24 18:08:49 +08:00
YiChin 0728f77d31 Elite 1.4 DAC test 2019-07-24 17:28:53 +08:00
YiChin 3c2bec7d02 Elite 1.4 DAC test 2019-07-24 17:21:10 +08:00
alan bf1669c0f0 Elite 1.4 DAC test 2019-07-24 16:34:27 +08:00
YiChin b1e17a1115 Elite 1.4 DAC test 2019-07-24 16:26:25 +08:00
alan 3814e51585 Elite 1.4 DAC test 2019-07-24 16:10:15 +08:00
YiChin f7f5c3abc6 Elite 1.4 DAC test 2019-07-24 14:57:40 +08:00
YiChin 9cac8694c0 Elite 1.4 I2C test 2019-07-24 14:11:21 +08:00
YiChin e63af33723 Elite 1.4 I2C test 2019-07-24 11:53:26 +08:00
YiChin fcbda78a46 Elite 1.4 I2C test 2019-07-24 11:49:20 +08:00
YiChin e7cdc676cf Elite 1.4 I2C test 2019-07-24 11:39:55 +08:00
YiChin c2bd1e9780 Elite 1.4 test 2019-07-24 10:35:58 +08:00
YiChin 2fab159ba8 Elite 1.4 test 2019-07-24 09:56:48 +08:00
YiChin 1e41629f49 I2C PIN 2019-07-23 17:34:50 +08:00
YiChin 18c32c7e64 I2C PIN 2019-07-23 14:27:39 +08:00
YiChin e8aac9bd81 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-23 13:34:03 +08:00
YiChin 263ba0581b I2C PIN 2019-07-23 13:33:34 +08:00
alan db943ee144 memory elite I2C 2019-07-23 13:32:30 +08:00
alan afb3da7942 memory elite I2C 2019-07-23 12:54:49 +08:00
alan 34fe7564ba memory elite I2C 2019-07-23 12:35:02 +08:00
alan eef87b3881 memory elite I2C 2019-07-23 12:25:13 +08:00
YiChin d606b2c7e9 I2C PIN 2019-07-23 11:11:45 +08:00
YiChin 495aa8bbc5 I2C PIN 2019-07-22 17:13:27 +08:00
alan f12185f853 memory elite I2C 2019-07-22 17:03:49 +08:00
alan a2d3ac3138 memory elite I2C 2019-07-22 15:22:43 +08:00
alan e4d34f886a memory elite I2C 2019-07-22 15:13:09 +08:00
alan ca946c1cd1 memory elite I2C 2019-07-19 09:20:29 +08:00
alan 26737e0a11 Merge remote-tracking branch 'origin/elite_memory' into elite_memory
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/EliteI2C.h
2019-07-19 09:19:59 +08:00
alan576 fc86bc9dd3 I2C write 2019-07-18 22:37:30 +08:00
alan c115de0bf0 memory elite I2C 2019-07-18 18:43:58 +08:00
alan da9e8493b7 memory elite I2C 2019-07-18 18:38:18 +08:00
alan 02a94ff271 memory elite 2019-07-18 18:34:09 +08:00
YiChin 7a06c05343 I2C PIN 2019-07-18 17:49:02 +08:00
alan 16eafe918a memory elite 2019-07-18 16:57:06 +08:00
YiChin 397cc1c50c I2C PIN 2019-07-18 16:51:03 +08:00
YiChin d8ac537fba I2C PIN 2019-07-18 16:28:50 +08:00
alan dbe5257f3a memory elite 2019-07-18 13:55:20 +08:00
alan 7437c17f84 memory elite 2019-07-18 12:19:27 +08:00
YiChin 520e710aae I2C PIN 2019-07-18 11:55:48 +08:00
YiChin 49888e73bb Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-18 11:28:41 +08:00
alan 78db3a0122 memory elite 2019-07-18 11:28:03 +08:00
YiChin cad6f00f2d Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-18 11:21:42 +08:00
alan 0139bfa17d memory elite 2019-07-18 11:21:03 +08:00
YiChin fa87ba98c5 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-18 11:15:46 +08:00
alan f296b7a2c4 memory elite 2019-07-18 11:15:04 +08:00
alan c41e366758 memory elite 2019-07-18 11:10:22 +08:00
alan c241a1ea16 memory elite 2019-07-18 11:07:34 +08:00
YiChin 0bc9f8f4e3 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-18 10:39:45 +08:00
alan 55a35e662c memory elite 2019-07-18 10:39:17 +08:00
YiChin d386613e55 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-18 10:36:09 +08:00
alan e8b365c966 memory elite 2019-07-18 10:34:50 +08:00
YiChin e8a6546e54 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-18 10:33:24 +08:00
alan 10bf24e490 memory elite 2019-07-18 10:32:54 +08:00
YiChin ad4d0fcf0a Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-18 10:30:02 +08:00
alan f4a339d55e memory elite 2019-07-18 10:29:33 +08:00
YiChin 74c0d60b2f Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-18 10:12:22 +08:00
alan 5e56c37511 memory elite 2019-07-18 10:10:14 +08:00
YiChin 5a5d934a46 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 18:50:32 +08:00
alan ddc606a9bd memory elite 2019-07-17 18:48:14 +08:00
YiChin 70ee55c5a0 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 18:44:05 +08:00
alan 8179ce47d1 memory elite 2019-07-17 18:42:36 +08:00
YiChin a6e240cd52 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 18:11:09 +08:00
alan dc87af411a memory elite 2019-07-17 18:09:32 +08:00
YiChin c1363da184 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 17:45:55 +08:00
alan 58970cb3c3 memory elite 2019-07-17 17:44:54 +08:00
alan fc83f4f227 memory elite 2019-07-17 17:34:05 +08:00
YiChin f16bbccd69 I2C PIN 2019-07-17 15:31:33 +08:00
YiChin b0430fc05e I2C PIN 2019-07-17 15:27:58 +08:00
YiChin 754d07a06c Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 15:27:22 +08:00
alan 05fa80faa2 memory elite 2019-07-17 15:22:28 +08:00
alan 3fa823b193 memory elite 2019-07-17 15:21:54 +08:00
YiChin 3b661d6dc2 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 15:16:11 +08:00
alan 9c7b9e44a1 memory elite 2019-07-17 15:14:43 +08:00
YiChin b30c3108b7 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 14:10:43 +08:00
alan 1bc1a4e982 memory elite 2019-07-17 14:09:12 +08:00
YiChin d36f5c3b38 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 14:00:34 +08:00
alan 8427271eb0 memory elite 2019-07-17 13:59:08 +08:00
YiChin 01a2c6e8cd Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 13:50:11 +08:00
alan 409ca3dd06 memory elite 2019-07-17 13:48:41 +08:00
YiChin 80f3b65c83 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 13:43:25 +08:00
alan f6269fd244 memory elite 2019-07-17 13:41:35 +08:00
YiChin 9f02fee658 Merge remote-tracking branch 'origin/elite_memory' into elite_memory 2019-07-17 13:37:01 +08:00
YiChin 92a76e834f I2C PIN 2019-07-17 13:34:55 +08:00
alan 28b8b8ce9d memory elite 2019-07-17 13:34:41 +08:00
alan b0ef493774 memory elite 2019-07-17 12:27:54 +08:00
alan 01c11fabec memory elite 2019-07-17 12:18:53 +08:00
alan 6a57a8b107 memory elite 2019-07-17 10:49:15 +08:00
alan 64c24bf496 memory elite 2019-07-16 18:47:38 +08:00
alan ceab949ff1 memory elite 2019-07-16 18:33:55 +08:00
alan 7be310f4e7 memory elite 2019-07-16 18:26:27 +08:00
alan d64dff8e04 memory elite 2019-07-16 18:23:15 +08:00
alan ec55140718 memory elite 2019-07-16 18:11:06 +08:00
alan 69b32f6a1c memory elite 2019-07-16 18:10:17 +08:00
alan 38cd245907 memory elite 2019-07-16 18:06:28 +08:00
alan c1ced5f9ff LED brightness 2019-07-10 14:44:38 +08:00
alan cc437b89e9 disable 10V 2019-07-05 18:20:05 +08:00
YiChin 794c74c629 I2C PIN 2019-07-03 14:42:30 +08:00
YiChin 83db25142d I2C PIN 2019-07-03 14:27:38 +08:00
alan c4484d3cc1 I2C PIN assign 2019-07-03 14:09:08 +08:00
alan f9a5d8b093 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-07-03 14:06:01 +08:00
alan 5b3c3f40e6 I2C delete wrong PIN 2019-07-03 14:05:47 +08:00
YiChin 8f2e2d5465 I2C PIN 2019-07-03 14:03:46 +08:00
YiChin 8e182ceb29 I2C 2019-07-03 13:40:47 +08:00
alan fc10503cdd I2C test 2019-07-03 12:15:48 +08:00
alan a2296d1822 I2C test 2019-07-03 12:14:52 +08:00
YiChin 66b57372cb I2C 2019-07-03 11:39:01 +08:00
alan 1e5299034f I2C test 2019-07-03 11:28:41 +08:00
alan 82afe90a60 I2C test 2019-07-03 11:28:29 +08:00
YiChin a0ca72082e I2C 2019-07-03 11:07:22 +08:00
alan 22e52e46ff I2C test 2019-07-03 10:55:28 +08:00
alan 20820648ad I2C test 2019-07-03 10:32:30 +08:00
alan f41790fff2 I2C test 2019-07-03 10:27:36 +08:00
alan fe4977c08d do nothing 2019-07-02 10:16:42 +08:00
YiChin e12dd54f2a delete warning 2019-07-01 11:52:41 +08:00
alan 7d4de8c0bc cyclic volt 2019-07-01 11:45:50 +08:00
alan 2bd5a3849f cyclic V 2019-06-28 18:36:03 +08:00
YiChin 0e7b9462c1 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-06-28 11:12:02 +08:00
alan b14d4da555 read current 2019-06-28 11:11:04 +08:00
YiChin b61647e504 read current 2019-06-27 15:55:04 +08:00
YiChin 728ce5b19d read current 2019-06-27 11:36:30 +08:00
alan d11b9cdbe2 read current 2019-06-27 10:46:23 +08:00
YiChin 149e092181 read current 2019-06-27 10:34:48 +08:00
YiChin f5de72ad41 read current 2019-06-27 10:16:36 +08:00
YiChin 6fa2d4310b Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-06-27 10:06:32 +08:00
alan eb76f57688 read current 2019-06-27 10:03:22 +08:00
YiChin 096bb72eb1 read current 2019-06-26 15:24:51 +08:00
YiChin 10407d1529 read current 2019-06-26 11:27:43 +08:00
alan ae67ac3355 read current 2019-06-26 10:56:17 +08:00
YiChin 5eba8169c6 read current 2019-06-26 10:45:16 +08:00
alan e299a6e01d read current 2019-06-26 09:33:34 +08:00
YiChin 3ea4c0a147 read current 2019-06-26 08:46:19 +08:00
YiChin 8b1cee29b1 read current 2019-06-25 17:40:17 +08:00
alan c8cac98df6 read volt 2019-06-25 12:14:21 +08:00
alan e0f811c706 read volt 2019-06-24 17:03:05 +08:00
alan 7254bd8c07 read volt 2019-06-24 16:02:27 +08:00
YiChin c8b527c99a read current 2019-06-24 15:57:37 +08:00
alan 629088602a choose current-read channel 2019-06-24 15:01:48 +08:00
YiChin bdc1e1bf9e read current 2019-06-24 14:55:00 +08:00
YiChin e88368e4f5 stable turnon have 10v 2019-06-24 11:13:02 +08:00
alan df40ab38bc VT IT function 2019-06-24 09:51:47 +08:00
alan a115eb69d0 VT IT function 2019-06-24 09:50:30 +08:00
alan 57f84f4ebd VT IT function 2019-06-21 15:49:27 +08:00
alan 2cf42f3f66 VT IT function 2019-06-21 13:31:54 +08:00
alan 6d585f6a74 VT IT function 2019-06-21 12:26:08 +08:00
alan 7525795ac8 VT IT function 2019-06-21 12:00:46 +08:00
alan ba66c00010 VT IT function 2019-06-21 11:01:32 +08:00
alan 7a9f66a1ae VT IT function 2019-06-20 17:33:42 +08:00
alan 488d955fcd VT IT function 2019-06-20 17:27:21 +08:00
alan 4064fc3396 VT IT function 2019-06-20 12:14:09 +08:00
alan b731bd2faf decode AIN0 & 1 2019-06-19 17:33:17 +08:00
alan 1d5e6feafe decode AIN0 & 1 2019-06-19 17:15:16 +08:00
alan 12e00174d2 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-06-19 16:57:38 +08:00
alan a381517458 turn on 10v 2019-06-19 16:57:15 +08:00
YiChin 54611577ba ADC check 2019-06-19 16:01:47 +08:00
alan 450572ad8f Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-06-19 15:44:57 +08:00
alan 877adc39df turn on 10v 2019-06-19 15:44:35 +08:00
alan 9feb2ea1e6 turn on 10v 2019-06-19 15:43:59 +08:00
YiChin afc7ae2cb5 ADC check 2019-06-18 18:02:09 +08:00
YiChin 4d7ce9fba4 ADC check 2019-06-18 17:59:00 +08:00
alan 6254b23b3a BT format 2019-06-18 17:53:20 +08:00
alan 9ac6c643b3 BT format 2019-06-18 16:28:46 +08:00
alan e7d7e6993d delay before read ADCrxbuf 2019-06-17 16:02:38 +08:00
alan b2393e88fa delay before read ADCrxbuf 2019-06-17 15:44:31 +08:00
alan 57738442d7 decode ADC data 2019-06-17 10:06:57 +08:00
alan 2126e2ffa6 decode ADC data 2019-06-14 17:39:59 +08:00
alan 0ed4a20505 decode ADC data 2019-06-13 18:52:17 +08:00
alan a3c00d0a6e decode ADC data 2019-06-13 18:03:59 +08:00
alan 1f00996142 decode ADC data 2019-06-13 17:54:00 +08:00
YiChin 56093efb5a ADC check 2019-06-13 17:46:00 +08:00
alan e0c7786752 auto enable 10v test 2019-06-13 15:44:24 +08:00
YiChin 8ba667bbb8 auto enable 10v 2019-06-13 15:36:47 +08:00
alan 7661d230f1 decode ADC 2019-06-13 14:33:05 +08:00
alan 577eaaef56 decode ADC 2019-06-13 13:50:11 +08:00
alan b64719acea delay enable_10v 2019-06-11 15:37:04 +08:00
YiChin 7e6050e721 bug fix 2019-06-11 15:28:24 +08:00
alan ca3c31d7f5 LED brightness 2019-06-06 09:58:43 +08:00
YiChin c89e493e67 bug fix 2019-06-05 15:39:16 +08:00
alan a856cdc7d2 decode ADC V & I 2019-06-05 15:35:17 +08:00
alan 76cdf969a5 decode ADC V & I 2019-06-05 12:34:59 +08:00
alan 48c85a4389 decode ADC V & I 2019-06-05 12:25:29 +08:00
alan 992bc26ff1 enable 10v 2019-06-04 17:54:21 +08:00
alan b5aa10a8b5 enable 10v 2019-06-04 17:40:26 +08:00
alan b5eec41f36 DAC reset parameter 2019-06-04 14:26:19 +08:00
alan 2fb8faefbd DAC reset parameter 2019-06-04 14:18:43 +08:00
alan bcd144d265 IV curve full function 2019-06-04 11:57:50 +08:00
alan be1e961c2e IV curve full function 2019-06-04 11:40:28 +08:00
alan 6832bdfff6 notify format 2019-06-03 18:41:39 +08:00
alan 98aeea5f76 notify format 2019-06-03 18:38:21 +08:00
YiChin 85ff9dc965 bug fix 2019-06-03 17:09:37 +08:00
alan c650618e48 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-06-03 15:53:36 +08:00
alan 882d87e522 decode ADC 2019-06-03 15:22:22 +08:00
YiChin 80a7847e67 bug fix 2019-06-03 12:30:33 +08:00
alan 86f2a3b7f1 decode ADC 2019-06-03 12:25:59 +08:00
alan a735a613d6 decode ADC 2019-06-03 12:04:04 +08:00
alan 666725a5f0 decode ADC 2019-06-03 11:16:50 +08:00
YiChin 89fb479591 bug fix 2019-06-03 10:24:53 +08:00
YiChin 5c7dc68e12 bug fix 2019-05-31 17:14:33 +08:00
alan 8a5afab22f decode ADC 2019-05-31 17:09:15 +08:00
alan 589357b800 decode ADC 2019-05-31 17:05:37 +08:00
alan 3ea2f423cc decode ADC 2019-05-31 15:14:01 +08:00
alan 150187c1f5 decode ADC 2019-05-31 14:35:28 +08:00
YiChin ac1f2524f4 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-31 14:23:09 +08:00
YiChin 72a000f0ff bug fix 2019-05-31 14:22:34 +08:00
alan 89b8f3fbdf decode ADC 2019-05-31 14:19:54 +08:00
alan 2518fac529 decode ADC 2019-05-31 12:25:22 +08:00
alan 447913d970 elite launch pad 2019-05-30 18:26:52 +08:00
alan a3c65a76a1 idk 2019-05-28 18:09:54 +08:00
alan 3e3ed17693 disable 10v 2019-05-28 14:39:38 +08:00
alan 60a79e4d63 disable 10v 2019-05-28 11:59:13 +08:00
alan bf99c38328 disable 10v 2019-05-28 11:16:13 +08:00
alan 5a336e92de Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-27 18:33:38 +08:00
alan f495369097 disable 10v 2019-05-27 18:33:20 +08:00
YiChin2018 8bd9149406 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-27 14:17:14 +08:00
YiChin2018 c143fca1dd check elite version 2019-05-27 14:14:07 +08:00
alan 4be39160cb disable 10v 2019-05-27 11:45:32 +08:00
alan 2d32cdca79 test No.7 board 2019-05-27 11:30:58 +08:00
alan fe23291b22 test No.7 board 2019-05-27 11:19:58 +08:00
alan f9640eca33 test No.7 board 2019-05-27 11:04:08 +08:00
alan a1b77848ef 6994 turn on bug? 2019-05-24 12:25:32 +08:00
alan 5f45be8ae6 6994 turn on bug? 2019-05-24 12:21:55 +08:00
alan 4007c2f55d 6994 turn on bug? 2019-05-24 12:08:41 +08:00
alan afe3d87d80 6994 turn on bug? 2019-05-24 11:54:39 +08:00
alan d59346a05e 6994 turn on bug? 2019-05-24 11:39:57 +08:00
alan 627ba46781 6994 turn on bug? 2019-05-24 11:03:26 +08:00
alan 6586df1ccf 6994 turn on bug? 2019-05-24 11:01:37 +08:00
alan de4f3a6d93 test new Elite board 2019-05-24 10:56:27 +08:00
alan e7512a6896 test new Elite board 2019-05-24 10:43:53 +08:00
alan 030eb4234b test new Elite board 2019-05-24 10:31:30 +08:00
alan 8b551f91a4 test new Elite board 2019-05-24 10:07:30 +08:00
alan f5f8673d93 ADC formula 2019-05-23 16:18:48 +08:00
alan 4344429fbf ADC formula 2019-05-23 16:18:40 +08:00
alan f5aa6f44c1 ADC formula 2019-05-23 16:15:29 +08:00
alan eb61856009 sendnotify 2019-05-23 10:07:20 +08:00
alan 3282e85635 sendnotify 2019-05-22 17:03:24 +08:00
alan fc50f62678 SendNotify 2019-05-22 16:28:20 +08:00
alan 8c0d3f6873 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-22 16:22:37 +08:00
alan b1028cb2da SendNotify 2019-05-22 16:22:23 +08:00
Ta-Shun Su 3074e7e3be update devlib Elite 2019-05-22 16:22:06 +08:00
Ta-Shun Su 0416b66ace update devlib Elite 2019-05-22 15:08:06 +08:00
alan 03ccd3de8a RIS VIS CIS 2019-05-22 15:05:07 +08:00
Ta-Shun Su 6a048e4caf Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-22 14:59:31 +08:00
Ta-Shun Su 0eb27aebc8 add devlib Elite 2019-05-22 14:58:23 +08:00
alan acc2ca6f41 RIS VIS CIS 2019-05-22 12:22:08 +08:00
alan bf03fcce62 RIS VIS CIS 2019-05-22 12:10:54 +08:00
alan aca289cb6c RIS VIS CIS 2019-05-22 11:33:21 +08:00
alan ca2296fd1b json 2019-05-22 11:13:02 +08:00
alan f5e43575e0 json 2019-05-22 10:58:14 +08:00
alan 666da6629e json 2019-05-21 18:40:09 +08:00
alan 63b21353d5 disable 10v (debug 2019-05-21 17:24:22 +08:00
alan 70818392bc add json 2019-05-21 15:42:46 +08:00
alan 4620798382 add json 2019-05-21 15:40:23 +08:00
alan 809ba648ff add json 2019-05-21 11:48:40 +08:00
alan 0901616b39 should be ok 2019-05-21 11:37:30 +08:00
alan 5c07352e4c should be ok 2019-05-21 11:09:11 +08:00
alan 7f3e15cb46 two way IV curve, fix reset LED BUG 2019-05-21 11:02:45 +08:00
alan 64926f8aa9 two way IV curve, fix reset LED BUG 2019-05-21 10:08:01 +08:00
alan fcf3e4bc17 two way IV curve, fix reset LED BUG 2019-05-20 18:36:19 +08:00
alan 00809b9022 two way IV curve, fix reset LED BUG 2019-05-20 18:17:03 +08:00
alan 0192c63ad3 Periodic DAC well function, add reset 2019-05-20 17:51:55 +08:00
alan 60db87b8ec Periodic DAC well function, add reset 2019-05-20 17:50:56 +08:00
alan 9b7571ddbf Periodic DAC well function, add reset 2019-05-20 17:44:23 +08:00
alan 8861b0480e Periodic DAC well function, add reset 2019-05-20 17:40:37 +08:00
alan d54827dfdd Periodic ADC with multi-input parameter 2019-05-20 16:54:27 +08:00
alan 0999a45f5e Periodic ADC with multi-input parameter 2019-05-20 16:47:40 +08:00
alan 887b046409 Periodic ADC with multi-input parameter 2019-05-20 16:32:02 +08:00
alan 4337d81951 Periodic ADC with multi-input parameter 2019-05-20 16:10:13 +08:00
alan 7fdb0f6e5f Periodic ADC with multi-input parameter 2019-05-20 15:54:39 +08:00
alan 263053a500 Periodic ADC with multi-input parameter 2019-05-20 14:39:23 +08:00
alan a8360e94a2 Periodic ADC with multi-input parameter 2019-05-20 14:36:43 +08:00
alan 5f01c568fd Periodic ADC with multi-input parameter 2019-05-20 14:33:35 +08:00
alan 6214b33965 Periodic ADC with multi-input parameter 2019-05-20 14:30:45 +08:00
alan 2bf1f9dc62 Periodic ADC with multi-input parameter 2019-05-20 14:26:56 +08:00
alan fc26383fa1 test Periodic DAC 2019-05-20 12:45:32 +08:00
alan a3e1d5f983 test Periodic DAC 2019-05-20 12:08:36 +08:00
alan d69ea4978a test Periodic DAC 2019-05-20 11:51:41 +08:00
alan fca331fefa test Periodic DAC 2019-05-20 11:37:51 +08:00
alan 5b43b36596 test Periodic DAC 2019-05-20 11:24:12 +08:00
alan 2e9d534ffe test Periodic DAC 2019-05-20 11:00:51 +08:00
alan 0eb128ff48 test Periodic DAC 2019-05-20 10:21:17 +08:00
alan aae2fb0591 test Periodic DAC 2019-05-20 10:12:16 +08:00
alan b63c01f25b IV = ADC test 2019-05-17 18:28:28 +08:00
alan d82bfa77ff IV = ADC test 2019-05-17 18:19:39 +08:00
alan 33ca96b15a IV = ADC test 2019-05-17 18:14:33 +08:00
alan 1c2659c0fc IV = ADC test 2019-05-17 18:09:12 +08:00
alan 3d43bbf501 IV = ADC test 2019-05-17 18:07:55 +08:00
YiChin 42bef16cbe bug fix 2019-05-17 17:03:57 +08:00
alan 1a172d5bde send ADC notify back 2019-05-17 16:26:31 +08:00
alan caea8ceb06 send ADC notify back 2019-05-17 16:05:16 +08:00
alan ff4a3fdb5e send ADC notify back 2019-05-17 15:45:48 +08:00
alan e9d27886ed send ADC notify back 2019-05-17 15:39:41 +08:00
alan 759f7dbc72 send ADC notify back 2019-05-17 15:30:17 +08:00
alan 646abd4d4a send ADC notify back 2019-05-17 15:16:37 +08:00
alan 2a0fade480 send ADC notify back 2019-05-17 14:42:30 +08:00
alan 23e85a173d Stable, char2,4 fine. Consume 75mA in idle,
130mA working
2019-05-16 18:15:34 +08:00
alan d6cc1124c8 try char4 2019-05-16 18:06:00 +08:00
alan c4c303a948 try char4 2019-05-16 17:42:51 +08:00
alan cd06b0fc5e try char2 2019-05-16 17:13:14 +08:00
alan d7344acdac try char2 2019-05-16 17:03:01 +08:00
alan 418b89848e Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-16 16:52:02 +08:00
alan 0641b6c79c try char2 2019-05-16 16:41:00 +08:00
YiChin ff5cb3ddc7 idk 2019-05-16 14:57:04 +08:00
YiChin 305de3891d Merge branch 'elite_zm/master' of https://bitbucket.org/YiChin2018/bioprocc2650 into elite_zm/master 2019-05-16 14:41:10 +08:00
alan 37ebae07c0 try char2 2019-05-16 14:39:03 +08:00
alan 10ba95e53c try char2 2019-05-16 14:15:48 +08:00
alan 7cf0c3070e Merge branch 'tmp' into elite_zm/master
# Conflicts:
#	simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/impedance_meter.h
2019-05-16 13:48:42 +08:00
YiChin 3d1089bdaf LED darker, 10v enable first, 5v enable after press 1 sec 2019-05-16 11:25:17 +08:00
alan d6582b9da8 cyclic_Voltammetry 2019-05-15 18:25:12 +08:00
YiChin b6aaad5ffd pull high CS 2019-05-15 16:44:01 +08:00
YiChin 950f411b7f pull high ADC CS 2019-05-15 16:40:31 +08:00
alan 7f4eafc61f test ADC/DAC switch 2019-05-15 16:06:11 +08:00
alan 82540de425 Stable version (use pure color) 2019-05-15 13:58:18 +08:00
YiChin 3ce500735a do not use "combine color", use R G B pure color 2019-05-15 13:49:58 +08:00
alan 2b0ebbd911 modify key press LED 2019-05-15 12:38:38 +08:00
alan 4461df12fb cyclic 2019-05-13 12:50:32 +08:00
alan 8171d940a8 ADC w/r 2019-05-13 10:23:00 +08:00
alan 667ef30a86 ADC w/r 2019-05-13 09:56:48 +08:00
alan 40e621ca26 adc comment 2019-05-10 18:33:35 +08:00
alan 5227af8c97 open-close SPI0 2019-05-10 18:13:49 +08:00
alan 3ce57243aa open-close SPI0 2019-05-10 18:12:31 +08:00
alan 21c0bb59c3 open-close SPI0 2019-05-10 18:05:40 +08:00
alan 457030989a open-close SPI0 2019-05-10 18:04:05 +08:00
alan f8653b3749 open-close SPI0 2019-05-10 17:55:44 +08:00
alan 33b2aaf46e open-close SPI0 2019-05-10 15:21:47 +08:00
alan 7af2a69e8f DAC init 2019-05-10 12:11:47 +08:00
alan f3195f2111 ramp test 2019-05-09 18:14:44 +08:00
alan 568d2f7938 should be stable 2019-05-09 18:12:53 +08:00
alan a1cc97df35 add periodic event 2019-05-09 18:01:11 +08:00
alan b47c43466b add periodic event 2019-05-09 17:07:36 +08:00
alan 48e92df901 ramp in periodic task 2019-05-09 16:33:44 +08:00
alan f581156c9a TurnOnElite 2019-05-09 15:47:43 +08:00
alan d1ced61993 DAC power on reset = mid-scale 2019-05-09 15:08:02 +08:00
alan a055479140 DAC power on reset = mid-scale 2019-05-09 15:06:14 +08:00
alan a2c48bd8dc clock with PeriodicEvent 2019-05-09 14:48:59 +08:00
alan 6d274cddee move out clock 2019-05-09 14:34:24 +08:00
alan 6c640de827 delete old DAC code/comment 2019-05-09 12:29:10 +08:00
alan caaf15a835 ramp function 2019-05-08 18:28:02 +08:00
alan 5fa4f3564f hope can scan 2019-05-08 18:10:28 +08:00
alan e3dc39f1aa ADC spi 2019-05-08 17:54:09 +08:00
alan c12bf4dccd spi 1M 2019-05-08 17:41:51 +08:00
YiChin 040e7fc0d1 stable 2019-05-08 17:38:12 +08:00
YiChin 54e97545dc 1sec DAC 2019-05-08 17:27:20 +08:00
YiChin 68ff23df61 bug fix 2019-05-08 14:39:52 +08:00
alan 2fd95dac35 ADC spi 2019-05-08 13:18:38 +08:00
alan ea23cf7f6e ADC spi 2019-05-08 11:42:01 +08:00
alan 0ff285882e LED spi 1M 2019-05-08 11:12:34 +08:00
alan dfc135392f bug fix 2019-05-08 10:04:00 +08:00
alan b1ddee7c0b bug fix 2019-05-08 09:59:09 +08:00
YiChin e68552b740 bug fix 2019-05-07 18:40:07 +08:00
YiChin 812e35c6c1 bug fix 2019-05-07 18:39:26 +08:00
alan 2d4cf408f9 combine LED & ADC SPI 2019-05-07 18:34:58 +08:00
alan 750d4ad449 combine LED & ADC SPI 2019-05-07 18:29:20 +08:00
alan 34b0b6af46 combine LED & ADC SPI 2019-05-07 18:26:47 +08:00
YiChin f55d1d161d DAC stable version 2019-05-07 17:30:01 +08:00
alan 2d8a5bd4fb Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-07 16:52:00 +08:00
alan 1152ea3960 SPI u8 * 3 2019-05-07 16:51:29 +08:00
YiChin 1fae6abb15 bug fix 2019-05-07 16:41:07 +08:00
alan bb643cc79f SPI u8 * 3 2019-05-07 16:35:18 +08:00
alan cad336db0e test DAC 2019-05-07 16:31:48 +08:00
alan 1d15c7d7cd test DAC 2019-05-07 16:25:46 +08:00
YiChin fb3f2860ea bug fix 2019-05-07 16:19:21 +08:00
alan 6568045f46 test DAC 2019-05-07 16:14:56 +08:00
alan 6892bcf21e test DAC 2019-05-07 16:00:59 +08:00
alan 47aa461598 test DAC 2019-05-07 15:09:11 +08:00
alan f25fb340a9 test BT connect 2019-05-07 14:43:48 +08:00
alan 7a37647d72 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-07 14:35:29 +08:00
alan b2509ac5d9 test BT connect 2019-05-07 14:35:09 +08:00
YiChin 6e351e9dce rebuild? 2019-05-07 14:19:58 +08:00
YiChin ad1e401476 fix too few argument 2019-05-07 12:04:03 +08:00
alan a3894ca51d SPI 00 => 01 2019-05-07 11:59:44 +08:00
alan 81127d81fe SPI 01 mode => 00, add command in DAC function 2019-05-06 18:00:41 +08:00
alan 277bd7dcfb do not too bright 2019-05-06 17:45:58 +08:00
alan 321bc497aa do not too bright 2019-05-06 17:14:29 +08:00
alan 88abb662d1 do not too bright 2019-05-06 17:11:27 +08:00
alan 6fa0a142fe do not too bright 2019-05-06 17:02:09 +08:00
alan b192fbb0e1 test DAC 2019-05-06 16:44:39 +08:00
alan 6438180082 test DAC 2019-05-06 16:28:53 +08:00
alan 3ae7000718 test DAC 2019-05-06 16:08:08 +08:00
alan 178c982acb test DAC 2019-05-06 15:57:49 +08:00
alan 3507b6d1d0 test DAC 2019-05-06 15:53:10 +08:00
alan 5045681045 Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-06 15:19:23 +08:00
alan b4dd7f0f30 test DAC 2019-05-06 15:19:07 +08:00
YiChin 272a66ee0c 6994 off 2019-05-06 15:04:29 +08:00
alan 4c61710ae7 test DAC 2019-05-06 15:03:32 +08:00
alan c9872a6ce9 test DAC 2019-05-06 14:58:27 +08:00
alan db9d36046a test DAC 2019-05-06 14:46:52 +08:00
alan f3dc2d9923 test DAC 2019-05-06 14:04:04 +08:00
alan 5e58a2ba02 EliteKey press 2019-05-06 13:47:42 +08:00
alan c8c6c82c0b Merge remote-tracking branch 'origin/elite_zm/master' into elite_zm/master 2019-05-06 13:44:04 +08:00
alan a31c33540e EliteKey press 2019-05-06 13:43:32 +08:00
YiChin 45dc14e181 rebuild pass 2019-05-06 12:47:12 +08:00
YiChin b086410846 Merge branch 'master' into elite_zm/master 2019-05-06 12:39:53 +08:00
alan 67e280004b EliteKey press 2019-05-06 11:41:02 +08:00
Ta-Shun Su 3b5c24311d Merge branch 'master' into elite_zm/master 2019-05-06 11:35:42 +08:00
Ta-Shun Su b75d54ce46 pull 2019-05-06 11:02:43 +08:00
Ta-Shun Su 0a90afecdb copy from Elite_alan 2019-04-30 18:06:28 +08:00
143 changed files with 16458 additions and 9877 deletions
+1 -1
View File
@@ -8,6 +8,6 @@ AllowAllParametersOfDeclarationOnNextLine: false
AllowShortFunctionsOnASingleLine: Empty
BinPackArguments: false
BinPackParameters: false
IndentCaseLabels: true
IndentCaseLabels: false
SortIncludes: true
TabWidth: 4
-7
View File
@@ -1,7 +0,0 @@
<component name="CopyrightManager">
<copyright>
<option name="keyword" value="Copyright .*" />
<option name="notice" value="Copyright (c) &amp;#36;today.year. BioPro. Scientific." />
<option name="myName" value="BioProSci" />
</copyright>
</component>
-7
View File
@@ -1,7 +0,0 @@
<component name="CopyrightManager">
<settings default="BioProSci">
<module2copyright>
<element module="SimplePeripheral" copyright="BioProSci" />
</module2copyright>
</settings>
</component>
-3
View File
@@ -1,3 +0,0 @@
<component name="DependencyValidationManager">
<scope name="HostTest" pattern="file[BioProCC2650]:simplelink/ble_sdk_2_02_02_25/src/examples/host_test/cc26xx/app/master//*" />
</component>
-3
View File
@@ -1,3 +0,0 @@
<component name="DependencyValidationManager">
<scope name="SimplePeripheral" pattern="file[BioProCC2650]:simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage//*" />
</component>
-63
View File
@@ -1,63 +0,0 @@
BioProCC2650
============
BioPro Device
-------------
### Major source code path
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage.h`
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/simple_peripheral.c`
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/main.c`
### Current project
1. Elite
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_tni.h`
2. Neulive 1.2
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_uni.h`
3. Neulive 1.3
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_neulive.h`
4. EliteZM
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_zm.h`
5. NeuliveSTI
`simplelink/ble_sdk_2_02_02_25/src/examples/simple_peripheral/cc26xx/app/headstage/headstage_sti.h`
### Notable source code
* gpio table
`simplelink/ble_sdk_2_02_02_25/src/boards/BOOSTXL_CC2650MA/BOOSTXL_CC2650MA.h`
`simplelink/ble_sdk_2_02_02_25/src/boards/CC2650_LAUNCHXL/CC2650_LAUNCHXL.h`
* characteristic
`simplelink/ble_sdk_2_02_02_25/src/profiles/simple_profile/simple_gatt_profile.h`
`simplelink/ble_sdk_2_02_02_25/src/profiles/simple_profile/cc26xx/simple_gatt_profile.c`
BioPro Control
--------------
major source code path:
`simplelink/ble_sdk_2_02_02_25/src/examples/host_test/cc26xx/app/host_test_app.c`
`simplelink/ble_sdk_2_02_02_25/src/examples/host_test/cc26xx/app/main.c`
-----------------------------------------------
Copyright (c) 2019. BioPro. Scientific.
-83
View File
@@ -1,83 +0,0 @@
import unittest
from typing import List, Optional
from random import randint
REC_CHANNEL_COUNT = 16
def to_channel_table(*channel: int) -> List[bool]:
return [i in channel for i in range(REC_CHANNEL_COUNT)]
def rearrange_channel_mux_table(channel_table: List[bool]) -> Optional[List[int]]:
enable_channel_number = 0
last_enable_channel = 0
for i in range(REC_CHANNEL_COUNT):
if channel_table[i]:
last_enable_channel = i
enable_channel_number += 1
if enable_channel_number == 0:
return None
channel_mux = [0 for _ in range(REC_CHANNEL_COUNT)]
if enable_channel_number == 1:
channel_mux[0] = last_enable_channel
return channel_mux
next_enable_channel = last_enable_channel
channel_mux_index = last_enable_channel
channel_mux[channel_mux_index] = last_enable_channel
channel_mux_index -= 1
while channel_mux_index >= 0:
i = next_enable_channel - 1
while i >= 0:
if channel_table[i]:
next_enable_channel = i
break
i -= 1
if i < 0:
break
else:
channel_mux[channel_mux_index] = next_enable_channel
channel_mux_index -= 1
offset = last_enable_channel - channel_mux_index
while channel_mux_index >= 0:
channel_mux[channel_mux_index] = channel_mux[channel_mux_index + offset]
channel_mux_index -= 1
return channel_mux
class UniRearrangeMuxChannelTest(unittest.TestCase):
def test_empty_channel(self):
self.assertIsNone(rearrange_channel_mux_table(to_channel_table()))
def test_single_channel(self):
for _ in range(3):
c = randint(0, REC_CHANNEL_COUNT - 1)
expect = [c if i == 0 else 0 for i in range(REC_CHANNEL_COUNT)]
print(expect)
self.assertEqual(expect, rearrange_channel_mux_table(to_channel_table(c)))
def test_two_channel(self):
self.assertEqual([2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
rearrange_channel_mux_table(to_channel_table(1, 2)))
self.assertEqual([2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
rearrange_channel_mux_table(to_channel_table(2, 1)))
if __name__ == '__main__':
unittest.main()
@@ -9,6 +9,6 @@
<linkerCommandFile value="cc26x0f128.cmd"/>
<rts value="libc.a"/>
<createSlaveProjects value=""/>
<connection value="common/targetdb/connections/TIXDS110_Connection.xml"/>
<connection value="common/targetdb/connections/TIXDS100v3_Dot7_Connection.xml"/>
<isTargetManual value="false"/>
</projectOptions>
@@ -15,21 +15,10 @@
</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.424169782" 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.424169782." name="/"
resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.1173081242"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1800796783">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.693831027"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<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.424169782" 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.424169782." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.136928788" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.37064489">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1210258155" 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"/>
@@ -37,58 +26,26 @@
<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="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="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.1023148574"
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.41460164"
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.819418377"
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.144859800"
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.756442743"
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.1850874246"
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.1985865490"
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.1566672213"
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.269771165"
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.1117024701"
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.1121975273"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH"
valueType="includePath">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1594012352" 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.884318453" 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.533944020" 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.1506775938" 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.1113348311" 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.1386730269" 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.1504759685" 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.1493045381" 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.720922480" 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.621501022" 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.1073606662" 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\host_test\cc26xx\app\cc2650"/>
<listOptionValue builtIn="false" value="C:\ti\simplelink\ble_sdk_2_02_02_25\src\examples\host_test\cc26xx\app\cc2650"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/host_test/cc26xx/app"/>
<listOptionValue builtIn="false" value="${SRC_EX}/inc"/>
<listOptionValue builtIn="false" value="${SRC_EX}/icall/inc"/>
@@ -100,8 +57,7 @@
<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/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"/>
@@ -111,9 +67,7 @@
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.792206649"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE"
valueType="definedSymbols">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.2012350267" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
<listOptionValue builtIn="false" value="BOOSTXL_CC2650MA"/>
<listOptionValue builtIn="false" value="CC2650_HOSTTESTAPP"/>
@@ -131,162 +85,69 @@
<listOptionValue builtIn="false" value="xdc_runtime_Assert_DISABLE_ALL"/>
<listOptionValue builtIn="false" value="xdc_runtime_Log_DISABLE_ALL"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.197877363"
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.456910676"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS"
valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.224289740" 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.294930590" 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.1971171356"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING"
valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.451343672" 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.573196199"
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.1629960274"
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.1584231423"
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.1151584779"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE"
valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.2064869740" 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.1403269172" 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.299069087" 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.1054593545" 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"/>
<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.1845691272"
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.53583423"
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.692368130"
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.1164085053"
name="Assembly Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.1087313500" 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.1358529988" 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.1106701818" 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.1931280841" 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.1800796783"
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.1031712469"
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.1778813394"
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.375846461"
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.1302090817"
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.878755625"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY"
valueType="libs">
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.37064489" 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.1134406099" 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.210645710" 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.1502641146" 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.1870612882" 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.505994136" 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"/>
<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.1127290509"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH"
valueType="libPaths">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.2037194602" 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.1512149397"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS"
valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.983516893" 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.42405609"
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.171469423"
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.814200934"
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.889162304"
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.1426063564"
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.2126816627"
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.675637584"
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.1643778133"
name="Generated Linker Command Files"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.149997443" 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.1443585498" 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.1373189675" 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.1262389112" 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.1547031242" 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.148684573" 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.1853959754" 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.896474434" 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.1476570691"
name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.5522776"
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.658584028"
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.85831100"
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 id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.112378568" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1489301946" 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.1781561401" 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.1666511750" 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.1596276548" name="XDCtools"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1881437539"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH"
valueType="stringList">
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1597178438" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1157586592" 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.670802148"
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.1100456719"
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.2129755708"
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.1148967838"
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.382428425"
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.1227130265"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS"
value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.818653015" 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.1701617419" 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.902568806" 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.1802155224" 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.1913827880" 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.1356547121" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
</toolChain>
</folderInfo>
File diff suppressed because one or more lines are too long
@@ -1,20 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe_0" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe_0" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cs_dap.xml" id="drivers" xml="tixds510cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds510cortexM.xml" id="drivers" xml="tixds510cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="1" id="Power Selection">
<choice Name="Probe supplied power" value="1">
<property Type="stringfield" Value="3.3" id="Voltage Level"/>
</choice>
</property>
<property Type="choicelist" Value="0" id="JTAG Signal Isolation"/>
<property Type="choicelist" Value="4" id="SWD Mode Settings">
<choice Name="cJTAG (1149.7) 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="XDS110 Aux Port"/>
<configuration XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS100v3 USB Debug Probe_0" href="connections/TIXDS100v3_Dot7_Connection.xml" id="Texas Instruments XDS100v3 USB Debug Probe_0" xml="TIXDS100v3_Dot7_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe_0">
<instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="2" id="The Converter Usage">
<choice Name="Generate 1149.7 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="The Converter 1149.7 Frequency">
<choice Name="Overclock with user specified value" value="unused">
<property Type="choicelist" Value="5" id="-- Choose a value from 1.0MHz to 50.0MHz"/>
</choice>
</property>
<property Type="choicelist" Value="5" id="The Target Scan Format"/>
</choice>
</property>
<platform XML_version="1.2" id="platform_0">
@@ -1,12 +1,12 @@
XOPTS = -I"C:/ti/xdctools_3_32_02_25_core/packages/" -Dxdc_target_types__=C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=M3
XOPTS = -I"C:/ti/xdctools_3_32_00_06_core/packages/" -Dxdc_target_types__=C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=M3
vpath % C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/sysbios/
vpath %.c C:/ti/xdctools_3_32_02_25_core/packages/
vpath %.c C:/ti/xdctools_3_32_00_06_core/packages/
CCOPTS = --endian=little -mv7M3 --abi=eabi -q -ms --opt_for_speed=0 --program_level_compile -o3 -g --optimize_with_debug -Dti_sysbios_knl_Task_minimizeLatency__D=FALSE -Dti_sysbios_family_arm_cc26xx_Boot_driverlibVersion=2 -Dti_sysbios_knl_Clock_stopCheckNext__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_enableException__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_disablePriority__D=32U -Dti_sysbios_family_arm_m3_Hwi_numSparseInterrupts__D=0U
XDC_ROOT = C:/ti/xdctools_3_32_02_25_core/packages/
XDC_ROOT = C:/ti/xdctools_3_32_00_06_core/packages/
BIOS_ROOT = C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/sysbios/
@@ -22,8 +22,8 @@ CC = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.4.LTS/bin/armcl -c $(CCOPTS) -I
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
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
DEL = C:/ti/xdctools_3_32_00_06_core/packages/../bin/rm -f
CP = C:/ti/xdctools_3_32_00_06_core/packages/../bin/cp -f
define RM
$(if $(wildcard $1),$(DEL) $1,:)
@@ -0,0 +1,24 @@
eclipse.preferences.version=1
encoding//FlashROM/HAL/Common/subdir_rules.mk=UTF-8
encoding//FlashROM/HAL/Common/subdir_vars.mk=UTF-8
encoding//FlashROM/HAL/Target/CC2650/Drivers/subdir_rules.mk=UTF-8
encoding//FlashROM/HAL/Target/CC2650/Drivers/subdir_vars.mk=UTF-8
encoding//FlashROM/HAL/Target/CC2650/_common/subdir_rules.mk=UTF-8
encoding//FlashROM/HAL/Target/CC2650/_common/subdir_vars.mk=UTF-8
encoding//FlashROM/ICallBLE/subdir_rules.mk=UTF-8
encoding//FlashROM/ICallBLE/subdir_vars.mk=UTF-8
encoding//FlashROM/LIB/subdir_rules.mk=UTF-8
encoding//FlashROM/LIB/subdir_vars.mk=UTF-8
encoding//FlashROM/NPI/subdir_rules.mk=UTF-8
encoding//FlashROM/NPI/subdir_vars.mk=UTF-8
encoding//FlashROM/OSAL/subdir_rules.mk=UTF-8
encoding//FlashROM/OSAL/subdir_vars.mk=UTF-8
encoding//FlashROM/PROFILES/subdir_rules.mk=UTF-8
encoding//FlashROM/PROFILES/subdir_vars.mk=UTF-8
encoding//FlashROM/Startup/subdir_rules.mk=UTF-8
encoding//FlashROM/Startup/subdir_vars.mk=UTF-8
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/sources.mk=UTF-8
@@ -9,6 +9,6 @@
<linkerCommandFile value="cc26x0f128.cmd"/>
<rts value="libc.a"/>
<createSlaveProjects value=""/>
<connection value="common/targetdb/connections/TIXDS110_Connection.xml"/>
<connection value="common/targetdb/connections/TIXDS100v3_Dot7_Connection.xml"/>
<isTargetManual value="false"/>
</projectOptions>
@@ -1,325 +1,167 @@
<?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.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.2079916299"
name="TI Build Tools"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain"
targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.359281383">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1403802377"
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.1953808956"
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.1180497951"
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.2070551780"
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.1306366958"
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.2037905754"
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.1812404024"
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.77486684"
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.1708087181"
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.591572597"
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.669408849"
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.1919802378"
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.1979964544"
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.1973710961"
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.1101619710"
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.745132727"
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.1192012182"
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.1448106382"
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.228032026"
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.1744014687"
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.527515133"
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.157524795"
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.254881474"
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.1260545957"
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.359281383"
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.1791815751"
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.853152076"
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.1631632024"
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.817209809"
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.1392949840"
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.2035350756"
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.855578978"
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.2038149205"
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.1111299871"
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.1791098043"
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.1933643679"
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.1036145279"
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.577375655"
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.884146734"
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.202893273"
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.437714635" name="ARM Hex Utility"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.822506424"
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.1556809750"
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.906796827"
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.468794920" name="XDCtools"
superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1737311321"
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.1154106658"
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.191996622"
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.248478595"
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.1641024594"
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.538416893"
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.193006169"
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"/>
<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>
</cproject>
@@ -1,124 +0,0 @@
//*****************************************************************************
//! @file cc26x0f128.cmd
//! @brief CC26x0F128 rev2 linker file for Code Composer Studio.
//!
//! Revised $Date$
//! Revision $Revision$
//
// This file is auto-generated.
//
// Copyright (C) 2017 Texas Instruments Incorporated - http://www.ti.com/
//
//
// 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.
//****************************************************************************/
/* Retain interrupt vector table variable */
--retain=g_pfnVectors
/* Override default entry point. */
--entry_point ResetISR
/* Allow main() to take args */
--args 0x8
/* Suppress warnings and errors: */
/* - 10063: Warning about entry point not being _c_int00 */
/* - 16011, 16012: 8-byte alignment errors. Observed when linking in object */
/* files compiled using Keil (ARM compiler) */
--diag_suppress=10063,16011,16012
/* The following command line options are set as part of the CCS project. */
/* If you are building using the command line, or for some reason want to */
/* define them here, you can uncomment and modify these lines as needed. */
/* If you are using CCS for building, it is probably better to make any such */
/* modifications in your CCS project and leave this file alone. */
/* */
/* --heap_size=0 */
/* --stack_size=256 */
/* --library=rtsv7M3_T_le_eabi.lib */
/* The starting address of the application. Normally the interrupt vectors */
/* must be located at the beginning of the application. */
#define FLASH_BASE 0x0
#define FLASH_SIZE 0x20000
#define RAM_BASE 0x20000000
#define RAM_SIZE 0x5000
#define GPRAM_BASE 0x11000000
#define GPRAM_SIZE 0x2000
/* System memory map */
MEMORY
{
/* Application stored in and executes from internal flash */
FLASH (RX) : origin = FLASH_BASE, length = FLASH_SIZE
/* Application uses internal RAM for data */
SRAM (RWX) : origin = RAM_BASE, length = RAM_SIZE
/* Application can use GPRAM region as RAM if cache is disabled in the CCFG
(DEFAULT_CCFG_SIZE_AND_DIS_FLAGS.SET_CCFG_SIZE_AND_DIS_FLAGS_DIS_GPRAM = 0) */
GPRAM (RWX): origin = GPRAM_BASE, length = GPRAM_SIZE
}
/* Section allocation in memory */
SECTIONS
{
.intvecs : > FLASH_BASE
.text : > FLASH
.const : > FLASH
.constdata : > FLASH
.rodata : > FLASH
.binit : > FLASH
.cinit : > FLASH
.pinit : > FLASH
.init_array : > FLASH
.emb_text : > FLASH
.ccfg : > FLASH (HIGH)
.vtable : > SRAM
.vtable_ram : > SRAM
vtable_ram : > SRAM
.data : > SRAM
.bss : > SRAM
.sysmem : > SRAM
.stack : > SRAM (HIGH)
.nonretenvar : > SRAM
.TI.noinit : > SRAM
.gpram : > GPRAM
#ifdef __TI_COMPILER_VERSION__
#if __TI_COMPILER_VERSION__ >= 15009000
/* Hide section from older compilers not supporting the "ramfunc" attribute.
See http://processors.wiki.ti.com/index.php/Placing_functions_in_RAM */
.TI.ramfunc : {} load=FLASH, run=SRAM, table(BINIT)
#endif
#endif
}
/* Create global constant that points to top of stack */
/* CCS: Change stack size under Project Properties */
__STACK_TOP = __stack + __STACK_SIZE;
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
<configuration XML_version="1.2" id="configuration_0">
<instance XML_version="1.2" desc="Texas Instruments XDS100v3 USB Debug Probe" href="connections/TIXDS100v3_Dot7_Connection.xml" id="Texas Instruments XDS100v3 USB Debug Probe" xml="TIXDS100v3_Dot7_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS100v3 USB Debug Probe">
<instance XML_version="1.2" href="drivers/tixds100v2icepick_c.xml" id="drivers" xml="tixds100v2icepick_c.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cs_dap.xml" id="drivers" xml="tixds100v2cs_dap.xml" xmlpath="drivers"/>
<instance XML_version="1.2" href="drivers/tixds100v2cortexM.xml" id="drivers" xml="tixds100v2cortexM.xml" xmlpath="drivers"/>
<property Type="choicelist" Value="2" id="The Converter Usage">
<choice Name="Generate 1149.7 2-pin advanced modes" value="enable">
<property Type="choicelist" Value="1" id="The Converter 1149.7 Frequency">
<choice Name="Overclock with user specified value" value="unused">
<property Type="choicelist" Value="5" id="-- Choose a value from 1.0MHz to 50.0MHz"/>
</choice>
</property>
<property Type="choicelist" Value="5" id="The Target Scan Format"/>
</choice>
</property>
<platform XML_version="1.2" id="platform_0">
<instance XML_version="1.2" desc="CC2640F128" href="devices/cc2640f128.xml" id="CC2640F128" xml="cc2640f128.xml" xmlpath="devices"/>
</platform>
</connection>
</configuration>
</configurations>
@@ -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,8 +18,8 @@
<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.444422184" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1330732365">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1540699960" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.1369151231" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.223507680">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.732777020" 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"/>
@@ -34,17 +34,17 @@
<listOptionValue builtIn="false" value="LINK_ORDER=TOOLS/ccs_linker_defines.cmd;TOOLS/cc26xx_app.cmd;"/>
<listOptionValue builtIn="false" value="RTSC_MBS_VERSION=2.2.0"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1414041701" 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.129069465" 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.896834824" 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.125712613" 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.1372243856" 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.2122837792" 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.1195332370" 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.618174488" 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.1755393337" 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.371697957" 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.686399483" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.579299287" 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.2112816025" 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.1418617668" 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.1368914557" 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.872349905" 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.1023813954" 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.1674413144" 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.184317276" 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.1068578615" 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.1943600764" 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.644525479" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false" value="C:\ti\simplelink\ble_sdk_2_02_02_25\src\examples\simple_peripheral\cc26xx\app\headstage"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/simple_peripheral/cc26xx/app"/>
@@ -70,12 +70,11 @@
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.784417628" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.1330623088" 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_H"/>
<listOptionValue builtIn="false" value="HEADSTAGE_MA_USE_SPI2"/>
<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"/>
@@ -87,71 +86,71 @@
<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.571279713" 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.281544410" 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.250251326" 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.2060899973" name="Suppress diagnostic &lt;id&gt; (--diag_suppress, -pds)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.1308360247" 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.504235202" 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.105967788" 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.698913237" 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.1942076915" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.1399241416" 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.834573500" 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.195059603" 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.2020372146" 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.999239773" name="Read options from specified file (--cmd_file, -@)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.867926379" 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.980626282" 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.374992114" 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.1890491357" 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.715176094" 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.1144773376" 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.1482099620" 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.1464468386" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.263445006" 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.1235873701" 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.207268648" 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.1068957263" 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.1330732365" 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.505117678" 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.1666572203" 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.735813737" 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.1831786229" 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.1415642475" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.223507680" 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.698430423" 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.402182782" 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.1628689699" 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.2141951901" 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.679112687" 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.1551539095" 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">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.650613345" 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.1633469628" name="Suppress diagnostic &lt;id&gt; (--diag_suppress)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.782343525" 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.1043837738" 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.744951807" 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.1083456720" 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.1378440824" 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.937801301" 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.1610224531" 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.449429516" 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.693413847" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.1555270082" 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.16105060" 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.1713299511" 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.68776981" 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.1860389255" 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.152379533" 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.158095632" 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.978853236" 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.430022974" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1461218441" 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.385381392" 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.1950693056" 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 id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.2015106526" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1270425102" 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.16813235" 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.318851558" 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.74242513" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.2041877412" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.927640565" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1908494509" 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.215751123" 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.1966943903" 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.2050291678" 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.1120380121" 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.972212328" 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.1732037300" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.1746187707" 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.884959194" 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.943624305" 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.1521167272" 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.1901654533" 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.138005453" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
</toolChain>
</folderInfo>
@@ -1,19 +1,20 @@
<?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>
<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.3.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.3.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include
ASM = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include
AR = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.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>
@@ -15,8 +15,8 @@
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.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">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.958553711" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.2088015050">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2112506999" 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"/>
@@ -26,17 +26,17 @@
<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" 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" 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.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" 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" 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" 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" 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" 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" 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" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.101349069" 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.572884961" 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.50794417" 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.783335843" 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.341974501" 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.274225680" 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.529764162" 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.1837039616" 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.1393115220" 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.2112471580" 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.152832201" 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"/>
@@ -60,7 +60,7 @@
<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" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.1361895403" 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="CC26XXWARE"/>
@@ -81,60 +81,60 @@
<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" 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" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.1555958931" 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.1144396572" 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" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.1546809951" 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" 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" 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" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.12083718" 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.1432753391" 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.1345637669" 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"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.1884548091" 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.682104615" 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.662317863" 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.728508440" 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" 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" 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" 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" 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" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.2088015050" 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.1079333148" 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.1347544490" 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.136883143" 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.1510359183" 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.1331488920" 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" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH" valueType="libPaths">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.1835383942" 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" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.821225577" 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" 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" 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" 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" 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" 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" 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"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.1390204935" 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.1601082213" 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.351715800" 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.90863272" 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.1779672459" 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.1701763005" 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.687564793" 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.1056923280" 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.73723664" 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" 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" 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" 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 id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.1766088709" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.494132983" 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.1603693219" 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.1153492005" 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>
@@ -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,20 @@
<?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>
<platform XML_version="1.2" id="platform_0">
@@ -16,7 +16,7 @@
# sources were generated) is:
# C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\host_test\ccs\config\src
#
GEN_SRC_DIR ?= ../../config/src
GEN_SRC_DIR ?= ../../../../../ti/simplelink/ble_sdk_2_02_02_25/examples/cc2650lp/host_test/ccs/config/src
ifeq (,$(wildcard $(GEN_SRC_DIR)))
$(error "ERROR: GEN_SRC_DIR must be set to the directory containing the generated sources")
@@ -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/host_test/cc26xx/app/cc2650" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/examples/host_test/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/common/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/npi/src" --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_16.9.4.LTS/include" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/examples/host_test/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/common/cc26xx" --include_path="C:/ti/simplelink/ble_sdk_2_02_02_25/src/components/npi/src" --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_16.9.4.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_16.9.4.LTS/include
ASM = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_16.9.4.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_16.9.4.LTS/include
AR = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_16.9.4.LTS/bin/armar rq
DEL = C:/ti/xdctools_3_32_00_06_core/packages/../bin/rm -f
CP = C:/ti/xdctools_3_32_00_06_core/packages/../bin/cp -f
@@ -16,74 +16,33 @@
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.TMS470.Default.893345658" name="FlashROM" parent="com.ti.ccstudio.buildDefinitions.TMS470.Default" postbuildStep="${CG_TOOL_HEX} -order MS --memwidth=8 --romwidth=8 --intel -o ${ProjName}.hex ${ProjName}.out;${TOOLS_BLE}/frontier/frontier.exe ccs ${PROJECT_LOC}/${ConfigName}/${ProjName}_linkInfo.xml ${ORG_PROJ_DIR}/../../ccs/config/ccs_compiler_defines.bcfg ${ORG_PROJ_DIR}/../../ccs/config/ccs_linker_defines.cmd " prebuildStep="&quot;${TOOLS_BLE}/lib_search/lib_search.exe&quot; ${ORG_PROJ_DIR}/build_config.opt &quot;${TOOLS_BLE}/lib_search/params_split_cc2640.xml&quot; ${SRC_BLE_CORE}/../blelib &quot;${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd&quot;">
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.893345658." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.1431601382" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.716596257">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.112107036"
superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.112107036" 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="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.1393968817"
name="Compiler version"
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.1399984445"
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.346699308"
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.379907802"
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.1188897895"
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.260270385"
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.1061165831"
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.1637311026"
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.343640745"
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.1935603639"
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.248832673"
name="Add dir to #include search path (--include_path, -I)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH"
valueType="includePath">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1393968817" 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.1399984445" 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.346699308" 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.379907802" 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.1188897895" 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.260270385" 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.1061165831" 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.1637311026" 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.343640745" 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.1935603639" 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.248832673" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/host_test/cc26xx/stack"/>
<listOptionValue builtIn="false" value="${SRC_EX}/common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target"/>
<listOptionValue builtIn="false"
value="${SRC_COMMON}/hal/src/target/_common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/target/_common/cc26xx"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/hal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/osal/src/inc"/>
<listOptionValue builtIn="false" value="${SRC_COMMON}/services/src/saddr"/>
@@ -101,10 +60,7 @@
<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.311838370"
name="Pre-define NAME (--define, -D)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE"
valueType="definedSymbols">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.311838370" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="CC26XX"/>
<listOptionValue builtIn="false" value="CC26XXWARE"/>
<listOptionValue builtIn="false" value="DATA="/>
@@ -122,159 +78,60 @@
<listOptionValue builtIn="false" value="xDEBUG_SW_TRACE"/>
<listOptionValue builtIn="false" value="xTESTMODES"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.1530414089"
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.346769402"
name="Suppress diagnostic &lt;id&gt; (--diag_suppress, -pds)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS"
valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.1530414089" 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.346769402" 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.985906813"
name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING"
valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING.985906813" 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.1900794497"
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.1472554041"
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.1875467634"
name="Read options from specified file (--cmd_file, -@)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE"
valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.1900794497" 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.1472554041" 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.1875467634" 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.1068856348"
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.283329144"
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.1505921526"
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.1598563167"
name="Assembly Sources"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS.1068856348" 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.283329144" 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.1505921526" 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.1598563167" 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.716596257"
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.994355013"
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.286610833"
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.548001976"
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.1905400443"
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.130553737"
name="Include library file or command file as input (--library, -l)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY"
valueType="libs">
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.716596257" 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.994355013" 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.286610833" 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.548001976" 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.1905400443" 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.130553737" 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"/>
<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.378169544"
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">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH.378169544" 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.2009050246"
name="Suppress diagnostic &lt;id&gt; (--diag_suppress)"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS"
valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS.2009050246" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS" valueType="stringList">
<listOptionValue builtIn="false" value="16002-D"/>
<listOptionValue builtIn="false" value="10325-D"/>
<listOptionValue builtIn="false" value="10247-D"/>
<listOptionValue builtIn="false" value="10229-D"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.399480161"
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.761961046"
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.1877655749"
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.73948152"
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.1946326793"
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.658048172"
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.1470975849"
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.2130492020"
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.199028729"
name="Generated Linker Command Files"
superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.399480161" 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.761961046" 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.1877655749" 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.73948152" 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.1946326793" 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.658048172" 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.1470975849" 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.2130492020" 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.199028729" 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.1264701033"
name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.747122944"
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.97263130"
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.970460733"
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 id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.1264701033" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.747122944" 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.97263130" 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.970460733" 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>
@@ -16,35 +16,35 @@
</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.67178137.1867331134" 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="">
<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.67178137.1867331134" 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.1867331134." name="/" resourcePath="">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.260390339" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1981462200">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.23520031" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.DebugToolchain.936572434" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.linkerDebug.1170584915">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1442263665" 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="XDC_VERSION=3.32.2.25_core"/>
<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="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"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=rtscApplication:executable"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.831968044" 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.1267545934" 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.750370594" 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.2015951802" 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.1110843462" 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.818133919" 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.1512178724" 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.403801048" 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.1265261063" 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.2140366031" 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.2021662899" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1948686990" name="Compiler version" 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.436655999" 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.2122969898" keepEnvironmentInBuildfile="false" name="GNU Make" 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.1022199392" 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.945741939" name="Target processor version (--silicon_version, -mv)" 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.1772665994" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" 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.28185992" name="Application binary interface. [See 'General' page to edit] (--abi)" 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.1551593263" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" 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.528776966" name="Optimization level (--opt_level, -O)" 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.1185808991" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" 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.84242771" name="Add dir to #include search path (--include_path, -I)" 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="C:\ti\simplelink\ble_sdk_2_02_02_25\src\examples\simple_peripheral\cc26xx\app\headstage"/>
<listOptionValue builtIn="false" value="${SRC_EX}/examples/simple_peripheral/cc26xx/app"/>
@@ -70,10 +70,10 @@
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
</option>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.1320751896" 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.1333288757" 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.1518806086" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.142068852" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DEBUGGING_MODEL.619228148" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.C_DIALECT.1814512415" name="C Dialect" 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.GCC.1003845117" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.GCC" value="true" valueType="boolean"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DEFINE.1619548278" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_LCD"/>
<listOptionValue builtIn="false" value="BOARD_DISPLAY_EXCLUDE_UART"/>
<listOptionValue builtIn="false" value="CC2650_LAUNCHXL"/>
@@ -89,68 +89,64 @@
<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.918239795" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WARNING" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DIAG_WARNING.468139615" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" 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_18.1.compilerID.DIAG_SUPPRESS.999454079" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DISPLAY_ERROR_NUMBER.815341255" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" 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.1499939580" name="Suppress diagnostic &lt;id&gt; (--diag_suppress, -pds)" 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_18.1.compilerID.DIAG_WRAP.2100604413" 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.1575039329" 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.832421721" 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.636768539" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compilerID.DIAG_WRAP.1353908093" name="Wrap diagnostic messages (--diag_wrap)" 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.522002742" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" 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.1093592148" name="Read options from specified file (--cmd_file, -@)" 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_18.1.compiler.inputType__C_SRCS.227087947" 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.39034037" 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.866335595" 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.1329381206" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__C_SRCS.1484724680" 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.1857516437" 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.842046581" 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.880239501" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.compiler.inputType__ASM2_SRCS"/>
</tool>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1981462200" 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.57445792" 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.636200649" 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.552585024" 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.1019171703" 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.1966015673" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exe.linkerDebug.1170584915" 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.1798831431" name="Set C system stack size (--stack_size, -stack)" 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.1039761941" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" 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.80438512" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" 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.323523388" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.OUTPUT_FILE" useByScannerDiscovery="false" value="${ProjName}.out" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.LIBRARY.203910805" name="Include library file or command file as input (--library, -l)" 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_18.1.linkerID.SEARCH_PATH.1109423160" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.SEARCH_PATH" valueType="libPaths">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.SEARCH_PATH.2045110069" name="Add &lt;dir&gt; to library search path (--search_path, -i)" 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_18.1.linkerID.DIAG_WRAP.1289256461" 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.1055939214" 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.1474045154" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_SUPPRESS" valueType="stringList">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.DIAG_WRAP.1885279599" name="Wrap diagnostic messages (--diag_wrap)" 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.1195915855" name="Suppress diagnostic &lt;id&gt; (--diag_suppress)" 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_18.1.linkerID.XML_LINK_INFO.834418659" 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.1787080463" 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.1975085474" 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.1644580451" 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.872014788" 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.1023837449" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.DISPLAY_ERROR_NUMBER.812278410" name="Emit diagnostic identifier numbers (--display_error_number)" 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.655770989" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" 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.290129903" name="Eliminate sections not needed in the executable (--unused_section_elimination)" 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.820922589" name="Aggressively reduce size of the DWARF information (--compress_dwarf)" 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.1627390590" 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.314219026" 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.298789754" 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_18.1.hex.1158315651" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.485049417" 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.97427136" 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.614513055" 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.1429090237" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1017190303" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.645947981" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex"/>
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.1311186821" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.77089036" 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.1689982900" 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.1214214406" 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.402329212" 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.35098461" 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.2036910366" 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.53221425" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET.595027378" 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.942771587" 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.309371946" 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.567582658" 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.888142064" name="Compiler tools directory (-c)" 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.2133539592" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value="&quot;${COMPILER_FLAGS}&quot;" valueType="string"/>
</tool>
</toolChain>
</folderInfo>
@@ -296,8 +292,8 @@
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.exeLinker.inputType__GEN_CMDS.1583605295" 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.1106108574" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex">
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.ROMWIDTH.1273210432" name="Specify rom width (--romwidth, -romwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.ROMWIDTH" value="8" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.MEMWIDTH.1804106884" name="Specify memory width (--memwidth, -memwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.MEMWIDTH" value="8" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.ROMWIDTH.1273210432" name="Specify rom width (--romwidth, -romwidth)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.ROMWIDTH" value="8" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.MEMWIDTH.1804106884" name="Specify memory width (--memwidth, -memwidth)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.MEMWIDTH" value="8" valueType="string"/>
<option id="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.OUTPUT_FORMAT.1229261984" name="Output format" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.OUTPUT_FORMAT" value="com.ti.ccstudio.buildDefinitions.TMS470_5.2.hex.OUTPUT_FORMAT.INTEL" valueType="enumerated"/>
</tool>
<tool id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.802347647" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.ti.ccstudio.debug.launchType.device.debugging">
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\app\targetConfigs\CC2640F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot; ?&gt;&#10;&lt;PropertyValues&gt;&#10;&#10; &lt;property id=&quot;ConnectOnStartup&quot;&gt;&#10; &lt;curValue&gt;1&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10; &lt;property id=&quot;EnableInstalledBreakpoint&quot;&gt;&#10; &lt;curValue&gt;1&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10; &lt;property id=&quot;IgnoreSoftLaunchFailures&quot;&gt;&#10; &lt;curValue&gt;0&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10;&lt;/PropertyValues&gt;&#10;"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot; ?&gt;&#10;&lt;PropertyValues&gt;&#10;&#10; &lt;property id=&quot;ConnectOnStartup&quot;&gt;&#10; &lt;curValue&gt;1&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10; &lt;property id=&quot;EnableInstalledBreakpoint&quot;&gt;&#10; &lt;curValue&gt;1&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10; &lt;property id=&quot;IgnoreSoftLaunchFailures&quot;&gt;&#10; &lt;curValue&gt;0&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10;&lt;/PropertyValues&gt;&#10;"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\app\targetConfigs\CC2640F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="${build_artifact:simple_peripheral_cc2650lp_app}"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="${build_artifact:simple_peripheral_cc2650lp_app}"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\app\targetConfigs\CC2640F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="simple_peripheral_cc2650lp_app"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="simple_peripheral_cc2650lp_app"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:simple_peripheral_cc2650lp_app}"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\app\targetConfigs\CC2640F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\app\FlashROM\simple_peripheral_cc2650lp_app.out"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\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\cc2650lp\simple_peripheral\ccs\app\FlashROM\simple_peripheral_cc2650lp_app.out"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/simple_peripheral_cc2650lp_app"/>
@@ -1,10 +1,9 @@
/*
** Stack Frontier Generator 1.1.0 (2019-05-13 17:33:59.404000)
** Stack Frontier Generator 1.1.0 (2016-03-28 14:11:07.308000)
**
** WARNING - Auto-generated file. Modifications could be lost!
*/
--define=ICALL_STACK0_ADDR=0xf001
--define=ICALL_STACK0_START=0xf000
--define=ICALL_RAM0_START=0x20004320
--define=ICALL_STACK0_ADDR=0xe001
--define=ICALL_STACK0_START=0xe000
--define=ICALL_RAM0_START=0x20004368
@@ -1,10 +1,9 @@
/*
** Stack Frontier Generator 1.1.0 (2019-05-13 17:33:59.404000)
** Stack Frontier Generator 1.1.0 (2016-03-28 14:11:07.308000)
**
** WARNING - Auto-generated file. Modifications could be lost!
*/
--define=ICALL_RAM0_START=0x20004320
--define=ICALL_STACK0_START=0xf000
--define=ICALL_STACK0_ADDR=0xf001
--define=ICALL_RAM0_START=0x20004368
--define=ICALL_STACK0_START=0xe000
--define=ICALL_STACK0_ADDR=0xe001
@@ -4,5 +4,5 @@
*/
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\host\host_pxxx.a"
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\ctrl\cc2640\cc2640_ctrl_pxxx.a"
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\hci_tl\cc26xx\cc26xx_hci_tl_none.a"
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\ctrl\cc2640\cc2640_ctrl_pxxx_ext.a"
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\hci_tl\cc26xx\cc26xx_hci_tl_none_v41_v42.a"
@@ -16,7 +16,7 @@
# sources were generated) is:
# C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\config\src
#
GEN_SRC_DIR ?= ../../config/src
GEN_SRC_DIR ?= ../../../../../ti/simplelink/ble_sdk_2_02_02_25/examples/cc2650lp/simple_peripheral/ccs/config/src
ifeq (,$(wildcard $(GEN_SRC_DIR)))
$(error "ERROR: GEN_SRC_DIR must be set to the directory containing the generated sources")
@@ -1,12 +1,12 @@
XOPTS = -I"C:/ti/xdctools_3_32_02_25_core/packages/" -Dxdc_target_types__=C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=M3
XOPTS = -I"C:/ti/xdctools_3_32_00_06_core/packages/" -Dxdc_target_types__=C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/targets/arm/elf/std.h -Dxdc_target_name__=M3
vpath % C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/sysbios/
vpath %.c C:/ti/xdctools_3_32_02_25_core/packages/
vpath %.c C:/ti/xdctools_3_32_00_06_core/packages/
CCOPTS = --endian=little -mv7M3 --abi=eabi -q -ms --opt_for_speed=0 --program_level_compile -o3 -g --optimize_with_debug -Dti_sysbios_knl_Task_minimizeLatency__D=FALSE -Dti_sysbios_family_arm_cc26xx_Boot_driverlibVersion=2 -Dti_sysbios_knl_Clock_stopCheckNext__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_enableException__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_disablePriority__D=32U -Dti_sysbios_family_arm_m3_Hwi_numSparseInterrupts__D=0U
XDC_ROOT = C:/ti/xdctools_3_32_02_25_core/packages/
XDC_ROOT = C:/ti/xdctools_3_32_00_06_core/packages/
BIOS_ROOT = C:/ti/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/sysbios/
@@ -16,14 +16,14 @@ 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.3.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.3.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include
ASM = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.LTS/include
AR = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.3.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
DEL = C:/ti/xdctools_3_32_00_06_core/packages/../bin/rm -f
CP = C:/ti/xdctools_3_32_00_06_core/packages/../bin/cp -f
define RM
$(if $(wildcard $1),$(DEL) $1,:)
@@ -1,13 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.ti.ccstudio.debug.launchType.device.debugging">
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\stack\targetConfigs\CC2640F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot; ?&gt;&#10;&lt;PropertyValues&gt;&#10;&#10; &lt;property id=&quot;ConnectOnStartup&quot;&gt;&#10; &lt;curValue&gt;1&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10; &lt;property id=&quot;EnableInstalledBreakpoint&quot;&gt;&#10; &lt;curValue&gt;1&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10; &lt;property id=&quot;IgnoreSoftLaunchFailures&quot;&gt;&#10; &lt;curValue&gt;0&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10;&lt;/PropertyValues&gt;&#10;"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\stack\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot; ?&gt;&#10;&lt;PropertyValues&gt;&#10;&#10; &lt;property id=&quot;ConnectOnStartup&quot;&gt;&#10; &lt;curValue&gt;1&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10; &lt;property id=&quot;EnableInstalledBreakpoint&quot;&gt;&#10; &lt;curValue&gt;1&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10; &lt;property id=&quot;IgnoreSoftLaunchFailures&quot;&gt;&#10; &lt;curValue&gt;0&lt;/curValue&gt;&#10; &lt;/property&gt;&#10;&#10;&lt;/PropertyValues&gt;&#10;"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\stack\targetConfigs\CC2640F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="${build_artifact:simple_peripheral_cc2650lp_stack}"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\stack\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="${build_artifact:simple_peripheral_cc2650lp_stack}"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\stack\targetConfigs\CC2640F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="simple_peripheral_cc2650lp_stack"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_PROJECT.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\stack\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="simple_peripheral_cc2650lp_stack"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:simple_peripheral_cc2650lp_stack}"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\stack\targetConfigs\CC2640F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\simple_peripheral\ccs\stack\FlashROM\simple_peripheral_cc2650lp_stack.out"/>
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\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\cc2650lp\simple_peripheral\ccs\stack\FlashROM\simple_peripheral_cc2650lp_stack.out"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/simple_peripheral_cc2650lp_stack"/>
@@ -36,11 +36,10 @@
* CC2650 Booster Pack.
*/
/*
* ====================== Includes ============================================
*/
// clang-format off
#include <xdc/std.h>
#include <xdc/runtime/System.h>
@@ -57,7 +56,6 @@
#include <inc/hw_ints.h>
#include <driverlib/ioc.h>
#include <driverlib/udma.h>
// clang-format on
#include "Board.h"
@@ -67,7 +65,7 @@
* settings for this board.
* When a pin is allocated and then de-allocated, it will revert to the state
* configured in this table.
*/
*/
/* Place into subsections to allow the TI linker to remove items properly */
#if defined(__TI_COMPILER_VERSION__)
@@ -75,20 +73,20 @@
#pragma DATA_SECTION(PINCC26XX_hwAttrs, ".const:PINCC26XX_hwAttrs")
#endif
const PIN_Config BoardGpioInitTable[] = { //
Board_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
Board_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
Board_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN, /* UART RX */
Board_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* UART TX */
Board_SRDY | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* SRDY */
Board_MRDY | PIN_INPUT_EN | PIN_PULLDOWN, /* MRDY */
PIN_TERMINATE};
const PIN_Config BoardGpioInitTable[] = {
Board_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
Board_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
Board_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN, /* UART RX */
Board_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* UART TX */
Board_SRDY | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* SRDY */
Board_MRDY | PIN_INPUT_EN | PIN_PULLDOWN, /* MRDY */
PIN_TERMINATE
};
const PINCC26XX_HWAttrs PINCC26XX_hwAttrs = {
//
.intPriority = ~0,
.swiPriority = 0
//
};
/*============================================================================*/
@@ -99,14 +97,13 @@ const PINCC26XX_HWAttrs PINCC26XX_hwAttrs = {
#if defined(__TI_COMPILER_VERSION__)
#pragma DATA_SECTION(PowerCC26XX_config, ".const:PowerCC26XX_config")
#endif
const PowerCC26XX_Config PowerCC26XX_config = {
.policyInitFxn = NULL,
.policyFxn = &PowerCC26XX_standbyPolicy,
.calibrateFxn = &PowerCC26XX_calibrate,
.enablePolicy = TRUE,
.calibrateRCOSC_LF = TRUE,
.calibrateRCOSC_HF = TRUE,
.policyInitFxn = NULL,
.policyFxn = &PowerCC26XX_standbyPolicy,
.calibrateFxn = &PowerCC26XX_calibrate,
.enablePolicy = TRUE,
.calibrateRCOSC_LF = TRUE,
.calibrateRCOSC_HF = TRUE,
};
/*
* ============================= Power end ====================================
@@ -130,32 +127,28 @@ UARTCC26XX_Object uartCC26XXObjects[BOOSTXL_CC2650MA_UARTCOUNT];
/* UART hardware parameter structure, also used to assign UART pins */
const UARTCC26XX_HWAttrsV2 uartCC26XXHWAttrs[BOOSTXL_CC2650MA_UARTCOUNT] = {
//
{
.baseAddr = UART0_BASE,
.powerMngrId = PowerCC26XX_PERIPH_UART0,
.intNum = INT_UART0_COMB,
.intPriority = ~0,
.swiPriority = 0,
.txPin = Board_UART_TX,
.rxPin = Board_UART_RX,
.ctsPin = PIN_UNASSIGNED,
.rtsPin = PIN_UNASSIGNED
//
.baseAddr = UART0_BASE,
.powerMngrId = PowerCC26XX_PERIPH_UART0,
.intNum = INT_UART0_COMB,
.intPriority = ~0,
.swiPriority = 0,
.txPin = Board_UART_TX,
.rxPin = Board_UART_RX,
.ctsPin = PIN_UNASSIGNED,
.rtsPin = PIN_UNASSIGNED
}
//
};
/* UART configuration structure */
const UART_Config UART_config[] = { //
const UART_Config UART_config[] = {
{
//
.fxnTablePtr = &UARTCC26XX_fxnTable,
.object = &uartCC26XXObjects[0],
.hwAttrs = &uartCC26XXHWAttrs[0]
//
},
{NULL, NULL, NULL}};
{NULL, NULL, NULL}
};
/*
* ============================= UART end =====================================
*/
@@ -177,104 +170,26 @@ UDMACC26XX_Object udmaObjects[BOOSTXL_CC2650MA_UDMACOUNT];
/* UDMA configuration structure */
const UDMACC26XX_HWAttrs udmaHWAttrs[BOOSTXL_CC2650MA_UDMACOUNT] = {
//
{
//
.baseAddr = UDMA0_BASE,
.powerMngrId = PowerCC26XX_PERIPH_UDMA,
.intNum = INT_DMA_ERR,
.intPriority = ~0
//
}
//
};
/* UDMA configuration structure */
const UDMACC26XX_Config UDMACC26XX_config[] = { //
const UDMACC26XX_Config UDMACC26XX_config[] = {
{
//
.object = &udmaObjects[0],
.hwAttrs = &udmaHWAttrs[0]
//
.object = &udmaObjects[0],
.hwAttrs = &udmaHWAttrs[0]
},
{NULL, NULL}};
{NULL, NULL}
};
/*
* ============================= UDMA end =====================================
*/
/*
* ========================== SPI DMA begin ===================================
*/
/* Place into subsections to allow the TI linker to remove items properly */
#if defined(__TI_COMPILER_VERSION__)
#pragma DATA_SECTION(SPI_config, ".const:SPI_config")
#pragma DATA_SECTION(spiCC26XXDMAHWAttrs, ".const:spiCC26XXDMAHWAttrs")
#endif
/* Include drivers */
#include <ti/drivers/spi/SPICC26XXDMA.h>
/* SPI objects */
SPICC26XXDMA_Object spiCC26XXDMAObjects[BOOSTXL_CC2650MA_SPICOUNT];
/* SPI configuration structure, describing which pins are to be used */
const SPICC26XXDMA_HWAttrsV1 spiCC26XXDMAHWAttrs[BOOSTXL_CC2650MA_SPICOUNT] = {
//
{
//
.baseAddr = SSI0_BASE,
.intNum = INT_SSI0_COMB,
.intPriority = ~0,
.swiPriority = 0,
.powerMngrId = PowerCC26XX_PERIPH_SSI0,
.defaultTxBufValue = 0,
.rxChannelBitMask = 1 << UDMA_CHAN_SSI0_RX,
.txChannelBitMask = 1 << UDMA_CHAN_SSI0_TX,
.mosiPin = Board_SPI0_MOSI,
.misoPin = Board_SPI0_MISO,
.clkPin = Board_SPI0_CLK,
.csnPin = Board_SPI0_CS
//
},
#ifdef HEADSTAGE_MA_USE_SPI2
{
//
.baseAddr = SSI1_BASE,
.intNum = INT_SSI1_COMB,
.intPriority = ~0,
.swiPriority = 0,
.powerMngrId = PowerCC26XX_PERIPH_SSI1,
.defaultTxBufValue = 0,
.rxChannelBitMask = 1 << UDMA_CHAN_SSI1_RX,
.txChannelBitMask = 1 << UDMA_CHAN_SSI1_TX,
.mosiPin = Board_SPI1_MOSI,
.misoPin = Board_SPI1_MISO,
.clkPin = Board_SPI1_CLK,
.csnPin = Board_SPI1_CS //
},
#endif
};
/* SPI configuration structure */
const SPI_Config SPI_config[] = { //
{
//
.fxnTablePtr = &SPICC26XXDMA_fxnTable,
.object = &spiCC26XXDMAObjects[0],
.hwAttrs = &spiCC26XXDMAHWAttrs[0]
//
},
{
//
.fxnTablePtr = &SPICC26XXDMA_fxnTable,
.object = &spiCC26XXDMAObjects[1],
.hwAttrs = &spiCC26XXDMAHWAttrs[1]
//
},
{NULL, NULL, NULL}};
/*
* ========================== SPI DMA end =====================================
*/
/*
* ========================== Crypto begin ====================================
@@ -294,28 +209,28 @@ const SPI_Config SPI_config[] = { //
CryptoCC26XX_Object cryptoCC26XXObjects[BOOSTXL_CC2650MA_CRYPTOCOUNT];
/* Crypto configuration structure, describing which pins are to be used */
const CryptoCC26XX_HWAttrs cryptoCC26XXHWAttrs[BOOSTXL_CC2650MA_CRYPTOCOUNT] = {{
//
.baseAddr = CRYPTO_BASE,
.powerMngrId = PowerCC26XX_PERIPH_CRYPTO,
.intNum = INT_CRYPTO_RESULT_AVAIL_IRQ,
.intPriority = ~0,
//
}};
const CryptoCC26XX_HWAttrs cryptoCC26XXHWAttrs[BOOSTXL_CC2650MA_CRYPTOCOUNT] = {
{
.baseAddr = CRYPTO_BASE,
.powerMngrId = PowerCC26XX_PERIPH_CRYPTO,
.intNum = INT_CRYPTO_RESULT_AVAIL_IRQ,
.intPriority = ~0,
}
};
/* Crypto configuration structure */
const CryptoCC26XX_Config CryptoCC26XX_config[] = { //
const CryptoCC26XX_Config CryptoCC26XX_config[] = {
{
//
.object = &cryptoCC26XXObjects[0],
.hwAttrs = &cryptoCC26XXHWAttrs[0]
//
.object = &cryptoCC26XXObjects[0],
.hwAttrs = &cryptoCC26XXHWAttrs[0]
},
{NULL, NULL}};
{NULL, NULL}
};
/*
* ========================== Crypto end ======================================
*/
/*
* ========================= RF driver begin ==================================
*/
@@ -329,12 +244,10 @@ const CryptoCC26XX_Config CryptoCC26XX_config[] = { //
/* RF hwi and swi priority */
const RFCC26XX_HWAttrs RFCC26XX_hwAttrs = {
//
.hwiCpe0Priority = ~0,
.hwiHwPriority = ~0,
.swiCpe0Priority = 5,
.swiHwPriority = 5,
//
.swiCpe0Priority = 5,
.swiHwPriority = 5,
};
/*
@@ -357,21 +270,20 @@ const RFCC26XX_HWAttrs RFCC26XX_hwAttrs = {
TRNGCC26XX_Object trngCC26XXObjects[BOOSTXL_CC2650MA_TRNGCOUNT];
/* TRNG configuration structure, describing which pins are to be used */
const TRNGCC26XX_HWAttrs TRNGCC26XXHWAttrs[BOOSTXL_CC2650MA_TRNGCOUNT] = {{
//
.powerMngrId = PowerCC26XX_PERIPH_TRNG,
//
}};
const TRNGCC26XX_HWAttrs TRNGCC26XXHWAttrs[BOOSTXL_CC2650MA_TRNGCOUNT] = {
{
.powerMngrId = PowerCC26XX_PERIPH_TRNG,
}
};
/* TRNG configuration structure */
const TRNGCC26XX_Config TRNGCC26XX_config[] = { //
const TRNGCC26XX_Config TRNGCC26XX_config[] = {
{
//
.object = &trngCC26XXObjects[0],
.hwAttrs = &TRNGCC26XXHWAttrs[0]
//
.object = &trngCC26XXObjects[0],
.hwAttrs = &TRNGCC26XXHWAttrs[0]
},
{NULL, NULL}};
{NULL, NULL}
};
/*
* ========================= TRNG end ====================================
@@ -389,62 +301,14 @@ const TRNGCC26XX_Config TRNGCC26XX_config[] = { //
/* GPTimer hardware attributes, one per timer part (Timer 0A, 0B, 1A, 1B..) */
const GPTimerCC26XX_HWAttrs gptimerCC26xxHWAttrs[BOOSTXL_CC2650MA_GPTIMERPARTSCOUNT] = {
{
.baseAddr = GPT0_BASE,
.intNum = INT_GPT0A,
.intPriority = (~0),
.powerMngrId = PowerCC26XX_PERIPH_GPT0,
.pinMux = GPT_PIN_0A,
},
{
.baseAddr = GPT0_BASE,
.intNum = INT_GPT0B,
.intPriority = (~0),
.powerMngrId = PowerCC26XX_PERIPH_GPT0,
.pinMux = GPT_PIN_0B,
},
{
.baseAddr = GPT1_BASE,
.intNum = INT_GPT1A,
.intPriority = (~0),
.powerMngrId = PowerCC26XX_PERIPH_GPT1,
.pinMux = GPT_PIN_1A,
},
{
.baseAddr = GPT1_BASE,
.intNum = INT_GPT1B,
.intPriority = (~0),
.powerMngrId = PowerCC26XX_PERIPH_GPT1,
.pinMux = GPT_PIN_1B,
},
{
.baseAddr = GPT2_BASE,
.intNum = INT_GPT2A,
.intPriority = (~0),
.powerMngrId = PowerCC26XX_PERIPH_GPT2,
.pinMux = GPT_PIN_2A,
},
{
.baseAddr = GPT2_BASE,
.intNum = INT_GPT2B,
.intPriority = (~0),
.powerMngrId = PowerCC26XX_PERIPH_GPT2,
.pinMux = GPT_PIN_2B,
},
{
.baseAddr = GPT3_BASE,
.intNum = INT_GPT3A,
.intPriority = (~0),
.powerMngrId = PowerCC26XX_PERIPH_GPT3,
.pinMux = GPT_PIN_3A,
},
{
.baseAddr = GPT3_BASE,
.intNum = INT_GPT3B,
.intPriority = (~0),
.powerMngrId = PowerCC26XX_PERIPH_GPT3,
.pinMux = GPT_PIN_3B,
},
{ .baseAddr = GPT0_BASE, .intNum = INT_GPT0A, .intPriority = (~0), .powerMngrId = PowerCC26XX_PERIPH_GPT0, .pinMux = GPT_PIN_0A, },
{ .baseAddr = GPT0_BASE, .intNum = INT_GPT0B, .intPriority = (~0), .powerMngrId = PowerCC26XX_PERIPH_GPT0, .pinMux = GPT_PIN_0B, },
{ .baseAddr = GPT1_BASE, .intNum = INT_GPT1A, .intPriority = (~0), .powerMngrId = PowerCC26XX_PERIPH_GPT1, .pinMux = GPT_PIN_1A, },
{ .baseAddr = GPT1_BASE, .intNum = INT_GPT1B, .intPriority = (~0), .powerMngrId = PowerCC26XX_PERIPH_GPT1, .pinMux = GPT_PIN_1B, },
{ .baseAddr = GPT2_BASE, .intNum = INT_GPT2A, .intPriority = (~0), .powerMngrId = PowerCC26XX_PERIPH_GPT2, .pinMux = GPT_PIN_2A, },
{ .baseAddr = GPT2_BASE, .intNum = INT_GPT2B, .intPriority = (~0), .powerMngrId = PowerCC26XX_PERIPH_GPT2, .pinMux = GPT_PIN_2B, },
{ .baseAddr = GPT3_BASE, .intNum = INT_GPT3A, .intPriority = (~0), .powerMngrId = PowerCC26XX_PERIPH_GPT3, .pinMux = GPT_PIN_3A, },
{ .baseAddr = GPT3_BASE, .intNum = INT_GPT3B, .intPriority = (~0), .powerMngrId = PowerCC26XX_PERIPH_GPT3, .pinMux = GPT_PIN_3B, },
};
/* GPTimer objects, one per full-width timer (A+B) (Timer 0, Timer 1..) */
@@ -452,15 +316,14 @@ GPTimerCC26XX_Object gptimerCC26XXObjects[BOOSTXL_CC2650MA_GPTIMERCOUNT];
/* GPTimer configuration (used as GPTimer_Handle by driver and application) */
const GPTimerCC26XX_Config GPTimerCC26XX_config[BOOSTXL_CC2650MA_GPTIMERPARTSCOUNT] = {
//
{&gptimerCC26XXObjects[0], &gptimerCC26xxHWAttrs[0], GPT_A},
{&gptimerCC26XXObjects[0], &gptimerCC26xxHWAttrs[1], GPT_B},
{&gptimerCC26XXObjects[1], &gptimerCC26xxHWAttrs[2], GPT_A},
{&gptimerCC26XXObjects[1], &gptimerCC26xxHWAttrs[3], GPT_B},
{&gptimerCC26XXObjects[2], &gptimerCC26xxHWAttrs[4], GPT_A},
{&gptimerCC26XXObjects[2], &gptimerCC26xxHWAttrs[5], GPT_B},
{&gptimerCC26XXObjects[3], &gptimerCC26xxHWAttrs[6], GPT_A},
{&gptimerCC26XXObjects[3], &gptimerCC26xxHWAttrs[7], GPT_B},
{ &gptimerCC26XXObjects[0], &gptimerCC26xxHWAttrs[0], GPT_A },
{ &gptimerCC26XXObjects[0], &gptimerCC26xxHWAttrs[1], GPT_B },
{ &gptimerCC26XXObjects[1], &gptimerCC26xxHWAttrs[2], GPT_A },
{ &gptimerCC26XXObjects[1], &gptimerCC26xxHWAttrs[3], GPT_B },
{ &gptimerCC26XXObjects[2], &gptimerCC26xxHWAttrs[4], GPT_A },
{ &gptimerCC26XXObjects[2], &gptimerCC26xxHWAttrs[5], GPT_B },
{ &gptimerCC26XXObjects[3], &gptimerCC26xxHWAttrs[6], GPT_A },
{ &gptimerCC26XXObjects[3], &gptimerCC26xxHWAttrs[7], GPT_B },
};
/*
@@ -478,15 +341,14 @@ const GPTimerCC26XX_Config GPTimerCC26XX_config[BOOSTXL_CC2650MA_GPTIMERPARTSCOU
#endif
/* PWM configuration, one per PWM output. */
PWMTimerCC26XX_HwAttrs pwmtimerCC26xxHWAttrs[BOOSTXL_CC2650MA_PWMCOUNT] = {
//
{.pwmPin = Board_PWMPIN0, .gpTimerUnit = Board_GPTIMER0A},
{.pwmPin = Board_PWMPIN1, .gpTimerUnit = Board_GPTIMER0B},
{.pwmPin = Board_PWMPIN2, .gpTimerUnit = Board_GPTIMER1A},
{.pwmPin = Board_PWMPIN3, .gpTimerUnit = Board_GPTIMER1B},
{.pwmPin = Board_PWMPIN4, .gpTimerUnit = Board_GPTIMER2A},
{.pwmPin = Board_PWMPIN5, .gpTimerUnit = Board_GPTIMER2B},
{.pwmPin = Board_PWMPIN6, .gpTimerUnit = Board_GPTIMER3A},
{.pwmPin = Board_PWMPIN7, .gpTimerUnit = Board_GPTIMER3B},
{ .pwmPin = Board_PWMPIN0, .gpTimerUnit = Board_GPTIMER0A },
{ .pwmPin = Board_PWMPIN1, .gpTimerUnit = Board_GPTIMER0B },
{ .pwmPin = Board_PWMPIN2, .gpTimerUnit = Board_GPTIMER1A },
{ .pwmPin = Board_PWMPIN3, .gpTimerUnit = Board_GPTIMER1B },
{ .pwmPin = Board_PWMPIN4, .gpTimerUnit = Board_GPTIMER2A },
{ .pwmPin = Board_PWMPIN5, .gpTimerUnit = Board_GPTIMER2B },
{ .pwmPin = Board_PWMPIN6, .gpTimerUnit = Board_GPTIMER3A },
{ .pwmPin = Board_PWMPIN7, .gpTimerUnit = Board_GPTIMER3B },
};
/* PWM object, one per PWM output */
@@ -496,16 +358,17 @@ extern const PWM_FxnTable PWMTimerCC26XX_fxnTable;
/* PWM configuration (used as PWM_Handle by driver and application) */
const PWM_Config PWM_config[BOOSTXL_CC2650MA_PWMCOUNT + 1] = {
//
{&PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[0], &pwmtimerCC26xxHWAttrs[0]},
{&PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[1], &pwmtimerCC26xxHWAttrs[1]},
{&PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[2], &pwmtimerCC26xxHWAttrs[2]},
{&PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[3], &pwmtimerCC26xxHWAttrs[3]},
{&PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[4], &pwmtimerCC26xxHWAttrs[4]},
{&PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[5], &pwmtimerCC26xxHWAttrs[5]},
{&PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[6], &pwmtimerCC26xxHWAttrs[6]},
{&PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[7], &pwmtimerCC26xxHWAttrs[7]},
{NULL, NULL, NULL}};
{ &PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[0], &pwmtimerCC26xxHWAttrs[0] },
{ &PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[1], &pwmtimerCC26xxHWAttrs[1] },
{ &PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[2], &pwmtimerCC26xxHWAttrs[2] },
{ &PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[3], &pwmtimerCC26xxHWAttrs[3] },
{ &PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[4], &pwmtimerCC26xxHWAttrs[4] },
{ &PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[5], &pwmtimerCC26xxHWAttrs[5] },
{ &PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[6], &pwmtimerCC26xxHWAttrs[6] },
{ &PWMTimerCC26XX_fxnTable, &pwmtimerCC26xxObjects[7], &pwmtimerCC26xxHWAttrs[7] },
{ NULL, NULL, NULL }
};
/*
* ============================= PWM end ======================================
@@ -89,73 +89,71 @@ extern const PIN_Config BoardGpioInitTable[];
*/
/* Connector J1 */
#define Board_BP_Pin_J1_2 DIO7
#define Board_BP_Pin_J1_2 IOID_UNUSED
#define Board_BP_Pin_J1_3 DIO0
#define Board_BP_Pin_J1_4 DIO1
#define Board_BP_Pin_J1_5 DIO2
#define Board_BP_Pin_J1_6 DIO3
#define Board_BP_Pin_J1_7 DIO10
#define Board_BP_Pin_J1_7 DIO11 /* SCLK */
#define Board_BP_Pin_J1_8 DIO4
#define Board_BP_Pin_J1_9 DIO5
#define Board_BP_Pin_J1_10 DIO6
/* Connector J2 */
#define Board_BP_Pin_J2_19 DIO8
#define Board_BP_Pin_J2_18 DIO9
#define Board_BP_Pin_J2_17 IOID_UNUSED
#define Board_BP_Pin_J2_15 DIO11
#define Board_BP_Pin_J2_14 DIO12
#define Board_BP_Pin_J2_13 DIO13
#define Board_BP_Pin_J2_12 DIO14
#define Board_BP_Pin_J2_11 IOID_UNUSED
#define Board_BP_Pin_J2_19 IOID_UNUSED
#define Board_BP_Pin_J2_18 IOID_UNUSED
#define Board_BP_Pin_J2_17 IOID_UNUSED /* NC */
#define Board_BP_Pin_J2_15 DIO8 /* MOSI */
#define Board_BP_Pin_J2_14 DIO7 /* MISO */
#define Board_BP_Pin_J2_13 DIO9 /* DAC_CS */
#define Board_BP_Pin_J2_12 DIO12 /* ADC_CS */
#define Board_BP_Pin_J2_11 IOID_UNUSED /* NC */
/* Mapping of BoosterPack Connector Pins to BoosterPack Standard Functions (reflecting the BoosterPack Standard)
*/
/* Connector J1 and J2*/
#define Board_BP_AnalogIn_0 IOID_UNUSED
#define Board_BP_AnalogIn_1 IOID_UNUSED
#define Board_BP_SPI_CS_Wireless IOID_UNUSED
#define Board_BP_SPI_CS_Display IOID_UNUSED
#define Board_BP_SPI_CS_Other IOID_UNUSED
#define Board_BP_SPI_MISO DIO12
#define Board_BP_SPI_MOSI DIO11
#define Board_BP_SPI_CLK DIO10
#define Board_BP_I2C_SCL IOID_UNUSED
#define Board_BP_I2C_SDA IOID_UNUSED
#define Board_BP_UART_Rx DIO1
#define Board_BP_UART_Tx DIO0
#define Board_BP_GPIO_0 IOID_UNUSED
#define Board_BP_GPIO_1 IOID_UNUSED
#define Board_BP_GPIO_2 IOID_UNUSED
#define Board_BP_GPIO_3 IOID_UNUSED
#define Board_BP_PWM_0 IOID_UNUSED
/* Connector J1 */
#define Board_BP_AnalogIn_0 Board_BP_Pin_J1_2
#define Board_BP_UART_Rx Board_BP_Pin_J1_3 /* To MCU on LaunchPad */
#define Board_BP_UART_Tx Board_BP_Pin_J1_4 /* From MCU on LauchPad*/
#define Board_BP_GPIO_0 Board_BP_Pin_J1_5
#define Board_BP_AnalogIn_1 Board_BP_Pin_J1_6
#define Board_BP_SPI_CLK Board_BP_Pin_J1_7
#define Board_BP_GPIO_1 Board_BP_Pin_J1_8
#define Board_BP_I2C_SCL Board_BP_Pin_J1_9
#define Board_BP_I2C_SDA Board_BP_Pin_J1_10
/* Connector J2 */
#define Board_BP_PWM_0 Board_BP_Pin_J2_19
#define Board_BP_SPI_CS_Wireless PIN_UNASSIGNED
#define Board_BP_GPIO_3 Board_BP_Pin_J2_17
#define Board_BP_SPI_MOSI Board_BP_Pin_J2_15
#define Board_BP_SPI_MISO Board_BP_Pin_J2_14
#define Board_BP_SPI_CS_Display PIN_UNASSIGNED
#define Board_BP_SPI_CS_Other PIN_UNASSIGNED
#define Board_BP_GPIO_2 Board_BP_Pin_J2_11
/* Mapping of application specific functionality of the BoosterPack to BoosterPack Pins (application dependent)
*/
/* On-board LEDs */
#define Board_GLED PIN_UNASSIGNED /* Green LED */
#define Board_RLED PIN_UNASSIGNED /* Red LED */
#define Board_GLED DIO2 /* Green LED */
#define Board_RLED DIO4 /* Red LED */
/* UART Board */
#define Board_UART_TX Board_BP_UART_Rx /* RXD */
#define Board_UART_RX Board_BP_UART_Tx /* TXD */
/* SPI Board */
#define Board_SPI0_MISO Board_BP_SPI_MISO
#define Board_SPI0_MOSI Board_BP_SPI_MOSI
#define Board_SPI0_CLK Board_BP_SPI_CLK
#define Board_SPI0_CS Board_BP_SPI_CS_Wireless
#define Board_SPI1_MISO PIN_UNASSIGNED
#define Board_SPI1_MOSI PIN_UNASSIGNED
#define Board_SPI1_CLK PIN_UNASSIGNED
#define Board_SPI1_CS PIN_UNASSIGNED
//#define Board_SPI0_MISO PIN_UNASSIGNED
//#define Board_SPI0_MOSI PIN_UNASSIGNED
/* Power Management Board */
#define Board_SRDY PIN_UNASSIGNED
#define Board_MRDY PIN_UNASSIGNED
#define Board_SRDY Board_BP_Pin_J2_19
#define Board_MRDY Board_BP_Pin_J1_2
/* PWM outputs */
#define Board_PWMPIN0 PIN_UNASSIGNED
@@ -167,23 +165,16 @@ extern const PIN_Config BoardGpioInitTable[];
#define Board_PWMPIN6 PIN_UNASSIGNED
#define Board_PWMPIN7 PIN_UNASSIGNED
/** ============================================================================
* Instance identifiers
* ==========================================================================*/
/* Generic SPI instance identifiers */
#define Board_SPI0 BOOSTXL_CC2650MA_SPI0
#ifdef HEADSTAGE_MA_USE_SPI2
#define Board_SPI1 BOOSTXL_CC2650MA_SPI1
#endif
/* Generic UART instance identifiers */
#define Board_UART BOOSTXL_CC2650MA_UART0
/* Generic TRNG instance identiifer */
#define Board_TRNG BOOSTXL_CC2650MA_TRNG0
/* Generic GPTimer instance identifiers */
#define Board_GPTIMER0A BOOSTXL_CC2650MA_GPTIMER0A
#define Board_GPTIMER0B BOOSTXL_CC2650MA_GPTIMER0B
@@ -193,7 +184,6 @@ extern const PIN_Config BoardGpioInitTable[];
#define Board_GPTIMER2B BOOSTXL_CC2650MA_GPTIMER2B
#define Board_GPTIMER3A BOOSTXL_CC2650MA_GPTIMER3A
#define Board_GPTIMER3B BOOSTXL_CC2650MA_GPTIMER3B
/* Generic PWM instance identifiers */
#define Board_PWM0 BOOSTXL_CC2650MA_PWM0
#define Board_PWM1 BOOSTXL_CC2650MA_PWM1
@@ -219,19 +209,7 @@ typedef enum BOOSTXL_CC2650MA_CryptoName {
} BOOSTXL_CC2650MA_CryptoName;
/*!
* @def BOOSTXL_CC2650MA_SPIName
* @brief Enum of SPI names on the CC2650 Booster Pack
*/
typedef enum BOOSTXL_CC2650MA_SPIName {
BOOSTXL_CC2650MA_SPI0 = 0,
#ifdef HEADSTAGE_MA_USE_SPI2
BOOSTXL_CC2650MA_SPI1 ,
#endif
BOOSTXL_CC2650MA_SPICOUNT
} BOOSTXL_CC2650MA_SPIName;
/*!
* @def BOOSTXL_CC2650MA_TRNGName
@@ -309,29 +287,6 @@ typedef enum BOOSTXL_CC2650MA_PWM
BOOSTXL_CC2650MA_PWMCOUNT
} BOOSTXL_CC2650MA_PWM;
#ifdef HEADSTAGE_MA_USE_ADC
/*!
* @def BOOSTXL_CC2650MA_ADCName
* @brief Enum of ADCs
*/
typedef enum BOOSTXL_CC2650MA_ADCName {
BOOSTXL_CC2650MA_ADC0 = 0,
BOOSTXL_CC2650MA_ADC1,
BOOSTXL_CC2650MA_ADC2,
BOOSTXL_CC2650MA_ADC3,
BOOSTXL_CC2650MA_ADC4,
BOOSTXL_CC2650MA_ADC5,
BOOSTXL_CC2650MA_ADC6,
BOOSTXL_CC2650MA_ADC7,
BOOSTXL_CC2650MA_ADCDCOUPL,
BOOSTXL_CC2650MA_ADCVSS,
BOOSTXL_CC2650MA_ADCVDDS,
BOOSTXL_CC2650MA_ADCCOUNT
} BOOSTXL_CC2650MA_ADCName;
#endif
#ifdef __cplusplus
}
#endif
@@ -39,6 +39,7 @@ extern "C" {
#include <ti/drivers/Power.h>
//#include "BOOSTXL_CC2650MA.h"
#include "BOOSTXL_CC2650MA.h"
/* These #defines allow us to reuse TI-RTOS across other device families */
@@ -79,23 +79,22 @@ extern const PIN_Config BoardGpioInitTable[];
/* UART Board */
#define Board_UART_RX IOID_2 /* RXD */
#define Board_UART_TX IOID_3 /* TXD */
#define Board_UART_TX PIN_UNASSIGNED /* TXD */
#define Board_UART_CTS IOID_19 /* CTS */
#define Board_UART_RTS IOID_18 /* RTS */
/* SPI Board */
#define Board_SPI0_MISO IOID_9 /* RF1.20 */
#define Board_SPI0_MOSI IOID_8 /* RF1.18 */
#define Board_SPI0_CLK IOID_13 /* RF1.16 */
#define Board_SPI0_MISO IOID_0 /* RF1.20 */
#define Board_SPI0_MOSI IOID_1 /* RF1.18 */
#define Board_SPI0_CLK IOID_3 /* 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_MOSI IOID_8 /* LED_MOSI */
#define Board_SPI1_CLK IOID_9 /* LED_CLK */
#define Board_SPI1_CSN PIN_UNASSIGNED
/* I2C */
#define Board_I2C0_SCL0 IOID_4
#define Board_I2C0_SDA0 IOID_5
/* SPI */
#define Board_SPI_FLASH_CS IOID_20
@@ -103,8 +102,8 @@ extern const PIN_Config BoardGpioInitTable[];
#define Board_FLASH_CS_OFF 1
/* Booster pack generic */
#define Board_DIO0 IOID_0
#define Board_DIO1_RFSW IOID_1
#define Board_DIO0 PIN_UNASSIGNED
#define Board_DIO1_RFSW PIN_UNASSIGNED
#define Board_DIO12 IOID_12
#define Board_DIO15 IOID_15
#define Board_DIO16_TDO IOID_16
@@ -144,17 +143,13 @@ extern const PIN_Config BoardGpioInitTable[];
* ==========================================================================*/
/* Generic I2C instance identifiers */
#define Board_I2C CC2650_LAUNCHXL_I2C0
/* Generic SPI instance identifiers */
#define Board_SPI0 CC2650_LAUNCHXL_SPI0
#define Board_SPI1 CC2650_LAUNCHXL_SPI1
/* Generic UART instance identifiers */
#define Board_UART CC2650_LAUNCHXL_UART0
/* Generic Crypto instance identifiers */
#define Board_CRYPTO CC2650_LAUNCHXL_CRYPTO0
/* Generic GPTimer instance identifiers */
#define Board_GPTIMER0A CC2650_LAUNCHXL_GPTIMER0A
#define Board_GPTIMER0B CC2650_LAUNCHXL_GPTIMER0B
@@ -164,7 +159,6 @@ extern const PIN_Config BoardGpioInitTable[];
#define Board_GPTIMER2B CC2650_LAUNCHXL_GPTIMER2B
#define Board_GPTIMER3A CC2650_LAUNCHXL_GPTIMER3A
#define Board_GPTIMER3B CC2650_LAUNCHXL_GPTIMER3B
/* Generic PWM instance identifiers */
#define Board_PWM0 CC2650_LAUNCHXL_PWM0
#define Board_PWM1 CC2650_LAUNCHXL_PWM1
@@ -66,7 +66,7 @@ extern "C"
// ****************************************************************************
#if !defined(NPI_SPI_CONFIG)
#define NPI_SPI_CONFIG Board_SPI0
#define NPI_SPI_CONFIG Board_SPI1
#endif
#ifndef NPI_FLOW_CTRL
@@ -45,105 +45,87 @@
Release Date: 2018-04-02 18:03:35
*****************************************************************************/
/*================
==== include ====
===============*/
// clang-format off
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/hal/Hwi.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/sysbios/knl/Semaphore.h>
#include <ti/sysbios/knl/Queue.h>
#include <string.h>
#include "hal_types.h"
#include "hci_tl.h"
#include "hci_ext.h"
#include "gatt.h"
#include "hci.h"
#include "gapgattserver.h"
#include "gattservapp.h"
#include "gapbondmgr.h"
#define OSAL_SNV 0
#include "osal_snv.h"
#include "icall.h"
#include "icall_apimsg.h"
#include "util.h"
#include "inc/npi_ble.h"
#include "inc/npi_task.h"
#include <inc/hw_types.h>
#include "hal_defs.h"
#if defined ( USE_RCOSC )
#include "rcosc_calibration.h"
#endif // USE_RCOSC
#if defined ( GATT_TEST ) || defined ( GATT_QUAL )
#include "gatttest.h"
#if defined(GATT_TEST) || defined(GATT_QUAL)
#include "gatttest.h"
#endif
#include "host_test_app.h"
#include "master/cc2650_master.h"
//#define PERIODIC_USE_GPTIMER
// clang-format on
#include "cc2650/cc2650_util.h"
/*=================
==== constant ====
=================*/
//#include "cc2650/cc2650_slave.h"
// clang-format off
/*
* GAP GATT Attributes
*/
#define DEVICE_NAME "BioProController"
#include "cc2650/cc2650_master.h"
// LE Event Lengths
#define HCI_CMD_COMPLETE_EVENT_LEN 3
#define HCI_CMD_VS_COMPLETE_EVENT_LEN 2
#define HCI_CMD_STATUS_EVENT_LEN 4
#define HCI_PHY_UPDATE_COMPLETE_EVENT_LEN 6
#define HCI_CMD_COMPLETE_EVENT_LEN 3
#define HCI_CMD_VS_COMPLETE_EVENT_LEN 2
#define HCI_CMD_STATUS_EVENT_LEN 4
#define HCI_PHY_UPDATE_COMPLETE_EVENT_LEN 6
static void HTA_init(void);
static void HTA_main(UArg a0, UArg a1);
static void HTA_handle_gap_event(ICall_HciExtEvt *message);
static void HTA_handle_att_event(gattMsgEvent_t *message);
static void HTA_handle_ble_event(ICall_HciExtEvt *message);
static void send_command_complete_event(uint8 eventCode, uint16 opcode, uint8 numParam, uint8 *param);
static void send_command_status_event(uint8_t eventCode, uint16_t status, uint16_t opcode);
static void send_ble_complete_event(uint8 eventLen, uint8 *pEvent);
extern void AssertHandler(uint8 assertCause, uint8 assertSubCause);
// Task configuration
#define HTA_TASK_PRIORITY 1
#define HTA_TASK_STACK_SIZE 844
#define HTA_TASK_STACK_SIZE 512
Task_Struct hta_task;
Char hta_task_stack[HTA_TASK_STACK_SIZE];
// data length extension
#define APP_SUGGESTED_PDU_SIZE 251
#define APP_SUGGESTED_TX_TIME 2120
// clang-format on
// 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;
// Task configuration
Task_Struct htaTask;
Char htaTaskStack[HTA_TASK_STACK_SIZE];
/*=========================
==== function declare ====
========================*/
static void HostTestApp_init(void);
static void HostTestApp_taskFxn(UArg a0, UArg a1);
static void HostTestApp_processGapEvent(ICall_HciExtEvt *message);
static void HostTestApp_processAttEvent(gattMsgEvent_t *message);
static void HostTestApp_processBLEEvent(ICall_HciExtEvt *message);
static void sendCommandCompleteEvent(uint8 eventCode, uint16 opcode, uint8 numParam, uint8 *param);
static void sendCommandStatusEvent(uint8_t eventCode, uint16_t status, uint16_t opcode);
static void sendBLECompleteEvent(uint8 eventLen, uint8 *pEvent);
/**
/*
* @fn HostTestApp_createTask
*
* @brief Task creation function for the Host Test App.
@@ -153,19 +135,29 @@ static void sendBLECompleteEvent(uint8 eventLen, uint8 *pEvent);
* @return none
*/
void HostTestApp_createTask(void) {
Task_Params taskParams;
/* main task */
Task_Params task_main_parameter;
Task_Params_init(&task_main_parameter);
task_main_parameter.stack = hta_task_stack;
task_main_parameter.stackSize = HTA_TASK_STACK_SIZE;
task_main_parameter.priority = 1;
// Configure task
Task_Params_init(&taskParams);
taskParams.stack = htaTaskStack;
taskParams.stackSize = HTA_TASK_STACK_SIZE;
taskParams.priority = HTA_TASK_PRIORITY;
Task_construct(&htaTask, HostTestApp_taskFxn, &taskParams, NULL);
Task_construct(&hta_task, HTA_main, &task_main_parameter, NULL);
}
/**
* @fn HostTestApp_init
// 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
extern ICall_Semaphore semaphore;
extern uint16_t event_flags;
// Stack build revision
ICall_BuildRevision build_reversion;
/*
* @fn HTA_init
*
* @brief Called during initialization and contains application
* specific initialization (ie. hardware initialization/setup,
@@ -176,35 +168,30 @@ void HostTestApp_createTask(void) {
*
* @return none
*/
static void HostTestApp_init(void) {
static void HTA_init(void) {
// Register the current thread as an ICall dispatcher application
// so that the application can send and receive messages.
ICall_registerApp(&self, &semaphore);
// Set device's Sleep Clock Accuracy
// HCI_EXT_SetSCACmd(40);
#if defined(USE_RCOSC)
RCOSC_enableCalibration();
#endif // USE_RCOSC
// Initialize GATT Client
VOID GATT_InitClient();
// Register to receive incoming ATT Indications or Notifications of attribute values.
GATT_RegisterForInd(self);
// Register for GATT local events and ATT Responses pending for transmission.
GATT_RegisterForMsgs(self);
// Add our services to GATT Server
GGS_AddService(GATT_ALL_SERVICES);
GATTServApp_AddService(GATT_ALL_SERVICES);
// Register for unprocessed HCI/Host event messages
GAP_RegisterForMsgs(self);
GGS_SetParameter(GGS_DEVICE_NAME_ATT, strlen(DEVICE_NAME), (void *)DEVICE_NAME);
// extend PDU size
HCI_LE_WriteSuggestedDefaultDataLenCmd(APP_SUGGESTED_PDU_SIZE, APP_SUGGESTED_TX_TIME);
}
/**
* @fn HostTestApp_taskFxn
/*
* @fn HTA_main
*
* @brief Application task entry point for the Host Test App.
*
@@ -212,10 +199,11 @@ static void HostTestApp_init(void) {
*
* @return none
*/
static void HostTestApp_taskFxn(UArg a0, UArg a1) {
static void HTA_main(UArg a0, UArg a1) {
// Initialize application
HostTestApp_init();
master_init();
HTA_init();
HTA_util_init();
HTA_main_init();
// Application main loop
for (;;) {
@@ -231,125 +219,113 @@ static void HostTestApp_taskFxn(UArg a0, UArg a1) {
ICall_HciExtEvt * message = NULL;
if (ICall_fetchServiceMsg(&src, &dest, (void **)&message) == ICALL_ERRNO_SUCCESS) {
bool dealloc = true;
if ((src == ICALL_SERVICE_CLASS_BLE) && (dest == self)) {
// Process incoming messages
switch (message->hdr.event) {
case HCI_GAP_EVENT_EVENT:
HostTestApp_processGapEvent(message);
#ifdef CC2650_LAUNCHXL
PIN_setOutputValue(master_pins_handle, PIN_LED_RED, 1);
PIN_setOutputValue(master_pins_handle, PIN_LED_RED, 0);
#endif
break;
case HCI_GAP_EVENT_EVENT:
HTA_handle_gap_event(message);
break;
case GATT_MSG_EVENT:
HostTestApp_processAttEvent((gattMsgEvent_t *)message);
break;
case GATT_MSG_EVENT:
HTA_handle_att_event((gattMsgEvent_t *)message);
break;
default:
break;
case GAP_MSG_EVENT:
break;
}
}
if (message) {
if (dealloc && message) {
ICall_freeMsg(message);
}
}
}
if (EVENT_MASK > 0) {
master_event_handle();
if (event_flags > 0) {
HTA_event_call();
}
}
}
/**
* @fn HostTestApp_processGapEvent
/*
* @fn HTA_handle_gap_event
*
* @brief Process an incoming GAP Event.
*
* @param pMsg - message to process
* @param message - message to process
*
* @return none
*/
static void HostTestApp_processGapEvent(ICall_HciExtEvt *message) {
static void HTA_handle_gap_event(ICall_HciExtEvt *message) {
switch (message->hdr.status) {
case HCI_COMMAND_COMPLETE_EVENT_CODE: {
hciEvt_CmdComplete_t *pkt = (hciEvt_CmdComplete_t *)message;
case HCI_COMMAND_COMPLETE_EVENT_CODE: {
hciEvt_CmdComplete_t *pkt = (hciEvt_CmdComplete_t *)message;
if (lastAppOpcodeSent == pkt->cmdOpcode) {
// app processes this as it was embedded message to stack
if (lastAppOpcodeSent == pkt->cmdOpcode) {
// application processes this as it was embedded message to stack
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
} else {
osal_msg_hdr_t *msgHdr;
uint8 len;
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
} else {
osal_msg_hdr_t *msgHdr;
uint8 len;
msgHdr = (osal_msg_hdr_t *)message;
msgHdr--; // Backup to the message header
msgHdr = (osal_msg_hdr_t *)message;
msgHdr--; // Backup to the message header
len = (uint8)(msgHdr->len - sizeof(hciEvt_CmdComplete_t));
len = (uint8)(msgHdr->len - sizeof(hciEvt_CmdComplete_t));
sendCommandCompleteEvent(HCI_COMMAND_COMPLETE_EVENT_CODE, pkt->cmdOpcode, len, pkt->pReturnParam);
}
break;
send_command_complete_event(HCI_COMMAND_COMPLETE_EVENT_CODE, pkt->cmdOpcode, len, pkt->pReturnParam);
}
break;
}
case HCI_DISCONNECTION_COMPLETE_EVENT_CODE:
break;
case HCI_DISCONNECTION_COMPLETE_EVENT_CODE:
break;
case HCI_COMMAND_STATUS_EVENT_CODE: {
hciEvt_CommandStatus_t *pkt = (hciEvt_CommandStatus_t *)message;
case HCI_COMMAND_STATUS_EVENT_CODE: {
hciEvt_CommandStatus_t *pkt = (hciEvt_CommandStatus_t *)message;
if (lastAppOpcodeSent == pkt->cmdOpcode) {
// app processes this as it was embedded msg to stack
if (lastAppOpcodeSent == pkt->cmdOpcode) {
// app processes this as it was embedded msg to stack
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
} else if (pkt->cmdOpcode == HCI_LE_SET_PHY) {
sendCommandStatusEvent(HCI_COMMAND_STATUS_EVENT_CODE, pkt->cmdStatus, pkt->cmdOpcode);
}
break;
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
} else if (pkt->cmdOpcode == HCI_LE_SET_PHY) {
send_command_status_event(HCI_COMMAND_STATUS_EVENT_CODE, pkt->cmdStatus, pkt->cmdOpcode);
}
break;
}
case HCI_LE_EVENT_CODE:
HostTestApp_processBLEEvent(message);
break;
case HCI_LE_EVENT_CODE: {
HTA_handle_ble_event(message);
break;
}
case HCI_BLE_HARDWARE_ERROR_EVENT_CODE:
break;
case HCI_BLE_HARDWARE_ERROR_EVENT_CODE: {
AssertHandler(HAL_ASSERT_CAUSE_HARDWARE_ERROR, 0);
break;
}
case HCI_VE_EVENT_CODE: {
hciEvt_VSCmdComplete_t *pkt = (hciEvt_VSCmdComplete_t *)message;
case HCI_VE_EVENT_CODE: {
hciEvt_VSCmdComplete_t *pkt = (hciEvt_VSCmdComplete_t *)message;
if (lastAppOpcodeSent == pkt->cmdOpcode) {
// app processes this as it was embedded msg to stack
if (lastAppOpcodeSent == pkt->cmdOpcode) {
// app processes this as it was embedded msg to stack
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
} else {
sendCommandCompleteEvent(HCI_VE_EVENT_CODE, pkt->cmdOpcode, pkt->length, pkt->pEventParam);
}
break;
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
} else {
send_command_complete_event(HCI_VE_EVENT_CODE, pkt->cmdOpcode, pkt->length, pkt->pEventParam);
}
default:
break;
break;
}
}
}
/**
* @fn HostTestApp_processAttEvent
*
* @brief Process an incoming ATT Event.
* @param pMsg - message to process
*
* @return None.
*/
static void HostTestApp_processAttEvent(gattMsgEvent_t *message) {
static void HTA_handle_att_event(gattMsgEvent_t *message) {
uint8_t method = message->method;
if (message->hdr.status == blePending) {
@@ -359,64 +335,70 @@ static void HostTestApp_processAttEvent(gattMsgEvent_t *message) {
} else if ((method == ATT_WRITE_RSP) || (method == ATT_ERROR_RSP && message->msg.errorRsp.reqOpcode == ATT_WRITE_REQ)) {
// pass
} else if (method == ATT_HANDLE_VALUE_NOTI) {
#ifdef CC2650_LAUNCHXL
PIN_setOutputValue(master_pins_handle, PIN_LED_GRN, 1);
PIN_setOutputValue(master_pins_handle, PIN_LED_GRN, 0);
#endif
attHandleValueNoti_t *att_notify = (attHandleValueNoti_t *)(&message->msg);
master_handle_notify(att_notify->len, att_notify->pValue);
#ifdef HTA_PIN_RS
if (!PIN_getInputValue(HTA_PIN_RS)) {
#endif
attHandleValueNoti_t *att_notify = (attHandleValueNoti_t *)(&message->msg);
HTA_main_handle_notify(att_notify->len, att_notify->pValue);
#ifdef HTA_PIN_RS
}
#endif
}
// Free message. Needed only for ATT Protocol messages
GATT_bm_free(&message->msg, message->method);
}
/**
* @fn HostTestApp_processBLEEvent
/*
* @fn HTA_handle_ble_event
*
* @brief Process an incoming BLE Event.
* @param pMsg - message to process
* @param message - message to process
*
* @return None.
*/
static void HostTestApp_processBLEEvent(ICall_HciExtEvt *message) {
static void HTA_handle_ble_event(ICall_HciExtEvt *message) {
hciEvt_BLEPhyUpdateComplete_t *pEvt = (hciEvt_BLEPhyUpdateComplete_t *)message;
uint8 event[HCI_PHY_UPDATE_COMPLETE_EVENT_LEN];
uint8 eventLen = 0;
switch (pEvt->BLEEventCode) {
case HCI_BLE_PHY_UPDATE_COMPLETE_EVENT: {
event[0] = HCI_BLE_PHY_UPDATE_COMPLETE_EVENT; // event code
event[1] = pEvt->status; // status
event[2] = LO_UINT16(pEvt->connHandle); // connection handle (LSB)
event[3] = HI_UINT16(pEvt->connHandle); // connection handle (MSB)
event[4] = pEvt->txPhy; // TX PHY
event[5] = pEvt->rxPhy; // RX PHY
case HCI_BLE_PHY_UPDATE_COMPLETE_EVENT: {
event[0] = HCI_BLE_PHY_UPDATE_COMPLETE_EVENT; // event code
event[1] = pEvt->status; // status
event[2] = LO_UINT16(pEvt->connHandle); // connection handle (LSB)
event[3] = HI_UINT16(pEvt->connHandle); // connection handle (MSB)
event[4] = pEvt->txPhy; // TX PHY
event[5] = pEvt->rxPhy; // RX PHY
eventLen = HCI_PHY_UPDATE_COMPLETE_EVENT_LEN;
break;
}
eventLen = HCI_PHY_UPDATE_COMPLETE_EVENT_LEN;
break;
}
}
if (eventLen > 0) {
if (eventLen) {
// Send BLE Complete Event
sendBLECompleteEvent(eventLen, event);
send_ble_complete_event(eventLen, event);
}
}
/**
/*
* This generic function sends a Command Complete or a Vendor Specific Command
* Complete Event to the Host.
*
*/
static void sendCommandCompleteEvent(uint8_t eventCode, uint16_t opcode, uint8_t numParam, uint8_t *param) {
static void send_command_complete_event(uint8_t eventCode, uint16_t opcode, uint8_t numParam, uint8_t *param) {
npiPkt_t *msg;
uint8_t totalLength;
uint8_t txLen = 0; // Length to transmit
// The initial length will be:
// OSAL message header(4) - not part of packet sent to HCI Host!
// Minimum Event Data: Packet Type(1) + Event Code(1) + Length(1)
// Return Parameters (0..N)
uint8_t totalLength = sizeof(npiPkt_t) + HCI_EVENT_MIN_LENGTH + numParam;
totalLength = sizeof(npiPkt_t) + HCI_EVENT_MIN_LENGTH + numParam;
// adjust the size of the event packet based on event code
// Note: If not a vendor specific event, then the event includes:
@@ -426,130 +408,131 @@ static void sendCommandCompleteEvent(uint8_t eventCode, uint16_t opcode, uint8_t
totalLength += ((eventCode != HCI_VE_EVENT_CODE) ? HCI_CMD_COMPLETE_EVENT_LEN : HCI_CMD_VS_COMPLETE_EVENT_LEN);
// allocate memory for OSAL hdr + packet
npiPkt_t *message = (npiPkt_t *)ICall_allocMsg(totalLength);
msg = (npiPkt_t *)ICall_allocMsg(totalLength);
uint8_t txLen = 0; // Length to transmit
if (message) {
if (msg) {
// OSAL message event, status, and pointer to packet
message->hdr.event = HCI_EVENT_PACKET;
message->hdr.status = 0xFF;
message->pData = (uint8 *)(message + 1);
msg->hdr.event = HCI_EVENT_PACKET;
msg->hdr.status = 0xFF;
msg->pData = (uint8 *)(msg + 1);
// fill in Command Complete Event data
message->pData[0] = HCI_EVENT_PACKET;
message->pData[1] = eventCode;
msg->pData[0] = HCI_EVENT_PACKET;
msg->pData[1] = eventCode;
txLen += 2;
// check if this isn't a vendor specific event
if (eventCode != HCI_VE_EVENT_CODE) {
message->pData[2] = numParam + HCI_CMD_COMPLETE_EVENT_LEN;
message->pData[3] = 1; // hciCtrlCmdToken; // event parameter 1
message->pData[4] = LO_UINT16(opcode); // event parameter 2
message->pData[5] = HI_UINT16(opcode); // event parameter 2
msg->pData[2] = numParam + HCI_CMD_COMPLETE_EVENT_LEN;
msg->pData[3] = 1; // hciCtrlCmdToken; // event parameter 1
msg->pData[4] = LO_UINT16(opcode); // event parameter 2
msg->pData[5] = HI_UINT16(opcode); // event parameter 2
txLen += 4;
// remaining event parameters
(void)memcpy(&message->pData[6], param, numParam);
(void)memcpy(&msg->pData[6], param, numParam);
txLen += numParam;
} else {
// it is a vendor specific event
} else { // it is a vendor specific event
// less one byte as number of complete packets not used in vendor specific event
message->pData[2] = numParam + HCI_CMD_VS_COMPLETE_EVENT_LEN;
message->pData[3] = param[0]; // event parameter 0: event opcode LSB
message->pData[4] = param[1]; // event parameter 1: event opcode MSB
message->pData[5] = param[2]; // event parameter 2: status
message->pData[6] = LO_UINT16(opcode); // event parameter 3: command opcode LSB
message->pData[7] = HI_UINT16(opcode); // event parameter 3: command opcode MSB
msg->pData[2] = numParam + HCI_CMD_VS_COMPLETE_EVENT_LEN;
msg->pData[3] = param[0]; // event parameter 0: event opcode LSB
msg->pData[4] = param[1]; // event parameter 1: event opcode MSB
msg->pData[5] = param[2]; // event parameter 2: status
msg->pData[6] = LO_UINT16(opcode); // event parameter 3: command opcode LSB
msg->pData[7] = HI_UINT16(opcode); // event parameter 3: command opcode MSB
txLen += 6;
// remaining event parameters
// Note: The event opcode and status were already placed in the msg packet.
(void)memcpy(&message->pData[8], &param[3], numParam - HCI_EVENT_MIN_LENGTH);
(void)memcpy(&msg->pData[8], &param[3], numParam - HCI_EVENT_MIN_LENGTH);
txLen += (numParam - HCI_EVENT_MIN_LENGTH);
}
message->pktLen = txLen;
msg->pktLen = txLen;
NPITask_sendToHost((uint8_t *)message);
NPITask_sendToHost((uint8_t *)msg);
}
}
/**
/*
* This generic function sends a Command Complete or a Vendor Specific Command
* Complete Event to the Host.
*
*/
static void sendCommandStatusEvent(uint8_t eventCode, uint16_t status, uint16_t opcode) {
static void send_command_status_event(uint8_t eventCode, uint16_t status, uint16_t opcode) {
npiPkt_t *msg;
uint8_t totalLength;
// The initial length will be:
// OSAL message header(4) - not part of packet sent to HCI Host!
// Minimum Event Data: Packet Type(1) + Event Code(1) + Length(1)
// Command Status Event Data: Status (1) + Num HCI Cmd Pkt (1) + Cmd Opcode (2)
uint8_t totalLength = sizeof(npiPkt_t) + HCI_EVENT_MIN_LENGTH + HCI_CMD_STATUS_EVENT_LEN;
totalLength = sizeof(npiPkt_t) + HCI_EVENT_MIN_LENGTH + HCI_CMD_STATUS_EVENT_LEN;
// allocate memory for OSAL hdr + packet
npiPkt_t *message = (npiPkt_t *)ICall_allocMsg(totalLength);
if (message) {
msg = (npiPkt_t *)ICall_allocMsg(totalLength);
if (msg) {
// OSAL message event, status, and pointer to packet
message->hdr.event = HCI_EVENT_PACKET;
message->hdr.status = 0xFF;
msg->hdr.event = HCI_EVENT_PACKET;
msg->hdr.status = 0xFF;
// fill in length and data pointer
message->pktLen = HCI_EVENT_MIN_LENGTH + HCI_CMD_STATUS_EVENT_LEN;
message->pData = (uint8 *)(message + 1);
msg->pktLen = HCI_EVENT_MIN_LENGTH + HCI_CMD_STATUS_EVENT_LEN;
msg->pData = (uint8 *)(msg + 1);
// fill in Command Complete Event data
message->pData[0] = HCI_EVENT_PACKET;
message->pData[1] = eventCode;
message->pData[2] = HCI_CMD_STATUS_EVENT_LEN;
message->pData[3] = status;
message->pData[4] = 1; // number of HCI command packets
message->pData[5] = LO_UINT16(opcode); // opcode (LSB)
message->pData[6] = HI_UINT16(opcode); // opcode (MSB)
msg->pData[0] = HCI_EVENT_PACKET;
msg->pData[1] = eventCode;
msg->pData[2] = HCI_CMD_STATUS_EVENT_LEN;
msg->pData[3] = status;
msg->pData[4] = 1; // number of HCI command packets
msg->pData[5] = LO_UINT16(opcode); // opcode (LSB)
msg->pData[6] = HI_UINT16(opcode); // opcode (MSB)
NPITask_sendToHost((uint8_t *)message);
NPITask_sendToHost((uint8_t *)msg);
}
}
/**
* This is a generic function used to send BLE Complete Event to the
* Host processor.
*
/*
* This is a generic function used to send BLE Complete Event to the Host processor.
*/
static void sendBLECompleteEvent(uint8 eventLen, uint8 *pEvent) {
static void send_ble_complete_event(uint8 eventLen, uint8 *pEvent) {
npiPkt_t *msg;
uint8_t totalLength;
// The initial length will be:
// OSAL message header(4) - not part of packet sent to HCI Host!
// Minimum Event Data: Packet Type(1) + Event Code(1) + Length(1)
// Event Data: eventLen
uint8_t totalLength = sizeof(npiPkt_t) + HCI_EVENT_MIN_LENGTH + eventLen;
totalLength = sizeof(npiPkt_t) + HCI_EVENT_MIN_LENGTH + eventLen;
// allocate memory for OSAL hdr + packet
npiPkt_t *message = (npiPkt_t *)ICall_allocMsg(totalLength);
if (message) {
msg = (npiPkt_t *)ICall_allocMsg(totalLength);
if (msg) {
// OSAL message event, status, and pointer to packet
message->hdr.event = HCI_EVENT_PACKET;
message->hdr.status = 0xFF;
msg->hdr.event = HCI_EVENT_PACKET;
msg->hdr.status = 0xFF;
// fill in length and data pointer
message->pktLen = HCI_EVENT_MIN_LENGTH + eventLen;
message->pData = (uint8 *)(message + 1);
msg->pktLen = HCI_EVENT_MIN_LENGTH + eventLen;
msg->pData = (uint8 *)(msg + 1);
// fill in BLE Complete Event data
message->pData[0] = HCI_EVENT_PACKET;
message->pData[1] = HCI_LE_EVENT_CODE;
message->pData[2] = eventLen;
msg->pData[0] = HCI_EVENT_PACKET;
msg->pData[1] = HCI_LE_EVENT_CODE;
msg->pData[2] = eventLen;
// populate event data
if (eventLen > 0) {
memcpy(&message->pData[3], pEvent, eventLen);
memcpy(&msg->pData[3], pEvent, eventLen);
}
NPITask_sendToHost((uint8_t *)message);
NPITask_sendToHost((uint8_t *)msg);
}
}
@@ -0,0 +1,707 @@
/******************************************************************************
@file host_test_app_pm.c
@brief This file contains the HostTest sample application for use with the
CC2650 Bluetooth Low Energy Protocol Stack.
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/std.h>
#include <xdc/runtime/Error.h>
#include <xdc/runtime/System.h>
#include <ti/sysbios/BIOS.h>
#include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/hal/Hwi.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/sysbios/knl/Semaphore.h>
#include <ti/sysbios/knl/Queue.h>
#include <ti/drivers/UART.h> //For UART application
#include <icall.h>
#include <string.h>
#include "hal_types.h"
#include "hci_tl.h"
#include "gatt.h"
#include "hci.h"
#include "gapgattserver.h"
#include "gattservapp.h"
#include "gapbondmgr.h"
#include "osal_snv.h"
#include "icall_apimsg.h"
#include "util.h"
#include <ti/mw/display/Display.h>
#include "npi_pm.h"
#include <inc/hw_types.h>
#include "hal_defs.h"
#if defined ( GATT_TEST ) || defined ( GATT_QUAL )
#include "gatttest.h"
#endif
#include "host_test_app.h"
/*********************************************************************
* CONSTANTS
*/
// LE Event Lengths
#define HCI_CMD_COMPLETE_EVENT_LEN 3
#define HCI_CMD_VS_COMPLETE_EVENT_LEN 2
#define HCI_CMD_STATUS_EVENT_LEN 4
// Task configuration
#define HTA_TASK_PRIORITY 1
#define HTA_TASK_STACK_SIZE 644
// NPI Events
#define NPI_WRITECALLBACK_EVENT 0x0002
#define NPI_READ_EVENT 0x0004
#define NPI_MRDY_EVENT 0x0008
/*********************************************************************
* GLOBAL VARIABLES
*/
// Display Interface
Display_Handle dispHandle = NULL;
/*********************************************************************
* LOCAL VARIABLES
*/
// Entity ID globally used to check for source and/or destination of messages
static ICall_EntityID selfEntity;
// Semaphore globally used to post events to the application thread
static ICall_Semaphore sem;
// Queue object used for UART TX messages
static Queue_Struct uartTx;
static Queue_Handle uartTxQueue;
// Task configuration
Task_Struct htaTask;
Char htaTaskStack[HTA_TASK_STACK_SIZE];
#if !defined ( GATT_DB_OFF_CHIP )
static uint8 deviceName[GAP_DEVICE_NAME_LEN] = { 0 };
static uint16 appearance = 17;
#endif
// Pointer to last transmitted message
npiPkt_t *pMsgLastBuf = NULL;
// events for application
static uint16_t events = NPI_WRITECALLBACK_EVENT;
// Stack build revision
buildRevision_t buildRev;
/*********************************************************************
* LOCAL FUNCTIONS
*/
static void HostTestApp_init(void);
static void HostTestApp_taskFxn(UArg a0, UArg a1);
static void HostTestApp_processGapEvent(ICall_HciExtEvt *pMsg);
//RTOS queue functions
static void HostTestApp_sendMsg(npiPkt_t *pMsgBuf);
//UART callback
Void HostTestApp_writeCallBack(int size);
Void HostTestApp_readCallBack(int size);
static void sendCommandCompleteEvent(uint8 eventCode, uint16 opcode,
uint8 numParam, uint8 *param);
/*********************************************************************
* EXTERN FUNCTIONS
*/
extern void AssertHandler(uint8 assertCause, uint8 assertSubcause);
/*********************************************************************
* PUBLIC FUNCTIONS
*/
/*********************************************************************
* @fn HostTestApp_createTask
*
* @brief Task creation function for the Host Test App.
*
* @param none
*
* @return none
*/
void HostTestApp_createTask(void)
{
Task_Params taskParams;
// Configure task
Task_Params_init(&taskParams);
taskParams.stack = htaTaskStack;
taskParams.stackSize = HTA_TASK_STACK_SIZE;
taskParams.priority = HTA_TASK_PRIORITY;
Task_construct(&htaTask, HostTestApp_taskFxn, &taskParams, NULL);
}
/*********************************************************************
* @fn HostTestApp_init
*
* @brief Called during initialization and contains application
* specific initialization (ie. hardware initialization/setup,
* table initialization, power up notification, etc), and
* profile initialization/setup.
*
* @param none
*
* @return none
*/
static void HostTestApp_init(void)
{
// Register the current thread as an ICall dispatcher application
// so that the application can send and receive messages.
ICall_registerApp(&selfEntity, &sem);
// Set device's Sleep Clock Accuracy
//HCI_EXT_SetSCACmd(40);
// Create an RTOS queue for messages from stack to be sent to UART
uartTxQueue = Util_constructQueue(&uartTx);
dispHandle = Display_open(Display_Type_LCD, NULL);
// Register for unwanted HCI messages
GAP_RegisterForMsgs(selfEntity);
// Initialize GATT Client
VOID GATT_InitClient();
// Get build revision
VOID Util_buildRevision(&buildRev);
#if !defined ( GATT_DB_OFF_CHIP )
#if defined ( GATT_QUAL )
VOID GATTQual_AddService( GATT_ALL_SERVICES ); // Includes GAP and GATT Services
#else
// Add our services to GATT Server
VOID GGS_AddService( GATT_ALL_SERVICES );
VOID GATTServApp_AddService( GATT_ALL_SERVICES );
#if defined ( GATT_TEST )
VOID GATTTest_AddService( GATT_ALL_SERVICES );
#endif
#endif
// Set device name
if ((buildRev.hostInfo & CENTRAL_CFG) && (buildRev.hostInfo & PERIPHERAL_CFG))
{
memcpy(deviceName, "TI BLE All", 10);
}
else if (buildRev.hostInfo & CENTRAL_CFG)
{
memcpy(deviceName, "TI BLE Central", 14);
}
else if (buildRev.hostInfo & PERIPHERAL_CFG)
{
memcpy(deviceName, "TI BLE Peripheral", 17);
}
else
{
memcpy(deviceName, "TI BLE Unknown", 14);
}
VOID GGS_SetParameter(GGS_DEVICE_NAME_ATT, strlen((char *)deviceName), deviceName);
VOID GGS_SetParameter(GGS_APPEARANCE_ATT, sizeof(uint16), (void*)&appearance);
#endif // GATT_DB_OFF_CHIP
#ifdef TI_DRIVERS_UART_INCLUDED
//Initialize the NPI layer
NPI_InitInterface(UART_INTERFACE, &HostTestApp_writeCallBack,
&HostTestApp_readCallBack);
#elif TI_DRIVERS_SPI_DMA_INCLUDED
//Initialize the NPI layer
NPI_InitInterface(SPI_INTERFACE, &HostTestApp_writeCallBack,
&HostTestApp_readCallBack);
#endif
//Register application with NPI for stack messages to be sent to UART
NPI_RegisterTask(selfEntity);
Display_print0(dispHandle, 0, 0, "TI BLEv2.0");
Display_print0(dispHandle, 1, 0, "HostTestApp");
// Display Host build configuration
if ((buildRev.hostInfo & CENTRAL_CFG) && (buildRev.hostInfo & PERIPHERAL_CFG))
{
Display_print0(dispHandle, 2, 0, "All");
}
else if ((buildRev.hostInfo & CENTRAL_CFG) &&
(buildRev.hostInfo & BROADCASTER_CFG))
{
Display_print0(dispHandle, 2, 0, "Cent+Bcast");
}
else if ((buildRev.hostInfo & PERIPHERAL_CFG) &&
(buildRev.hostInfo & OBSERVER_CFG))
{
Display_print0(dispHandle, 2, 0, "Peri+Observ");
}
else if (buildRev.hostInfo & CENTRAL_CFG)
{
Display_print0(dispHandle, 2, 0, "Central");
}
else if (buildRev.hostInfo & PERIPHERAL_CFG)
{
Display_print0(dispHandle, 2, 0, "Peripheral");
}
else
{
Display_print1(dispHandle, 2, 0, "Unknown build cfg %d", buildRev.hostInfo);
}
}
/*********************************************************************
* @fn HostTestApp_taskFxn
*
* @brief Application task entry point for the Host Test App.
*
* @param none
*
* @return none
*/
static void HostTestApp_taskFxn(UArg a0, UArg a1)
{
// Initialize application
HostTestApp_init();
// Application main loop
for (;;)
{
// Waits for a signal to the semaphore associated with the calling thread.
// Note that the semaphore associated with a thread is signaled when a
// 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);
if (errno == ICALL_ERRNO_SUCCESS)
{
ICall_EntityID dest;
ICall_ServiceEnum src;
ICall_HciExtEvt *pMsg = NULL;
if (ICall_fetchServiceMsg(&src, &dest,
(void **)&pMsg) == ICALL_ERRNO_SUCCESS)
{
bool dealloc = true;
if ((src == ICALL_SERVICE_CLASS_BLE) && (dest == selfEntity))
{
// Process incoming messages
switch (pMsg->hdr.event)
{
case HCI_GAP_EVENT_EVENT:
HostTestApp_processGapEvent(pMsg);
break;
case HCI_ACL_DATA_PACKET:
case HCI_SCO_DATA_PACKET:
case HCI_EVENT_PACKET:
{
HostTestApp_sendMsg((npiPkt_t *)pMsg);
dealloc = false;
}
break;
default:
break;
}
}
if (dealloc == true)
{
ICall_freeMsg(pMsg);
}
}
}
if (events & NPI_READ_EVENT )
{
events &= ~NPI_READ_EVENT;
NPI_serialPacketParser(); //Call the parser..
}
if (events & NPI_MRDY_EVENT )
{
// This read is initiated to read again and again till you run out of
// bytes. This read was initiated in the callback but is actually done in
// this application thread
events &= ~NPI_MRDY_EVENT;
#ifdef POWER_SAVING
NPI_MrdyEvent();
#endif
}
// Check if write is complete and free the last written buffer
if(events & NPI_WRITECALLBACK_EVENT)
{
if (pMsgLastBuf)
{
ICall_freeMsg(pMsgLastBuf); //Free the NPI/OSAL buffer which was sent
pMsgLastBuf = NULL; //Need to have this to avoid memory leak
}
// If queue is not empty, we did add some frames to it
if (!Queue_empty(uartTxQueue))
{
pMsgLastBuf = (npiPkt_t *)Util_dequeueMsg(uartTxQueue);
if (pMsgLastBuf)
{
// send dequeued element to UART
events &= ~NPI_WRITECALLBACK_EVENT;
NPI_WriteTransport(pMsgLastBuf->pData, pMsgLastBuf->pktLen);
}
}
}
}
}
/*********************************************************************
* @fn HostTestApp_processGapEvent
*
* @brief Process an incoming GAP Event.
*
* @param pMsg - message to process
*
* @return none
*/
static void HostTestApp_processGapEvent(ICall_HciExtEvt *pMsg)
{
switch(pMsg->hdr.status)
{
case HCI_COMMAND_COMPLETE_EVENT_CODE:
{
hciEvt_CmdComplete_t *pkt = (hciEvt_CmdComplete_t *)pMsg;
if (lastAppOpcodeSent == pkt->cmdOpcode)
{
// app processes this as it was embedded msg to stack
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
}
else
{
osal_msg_hdr_t *msgHdr;
uint8 len;
msgHdr = (osal_msg_hdr_t *)pMsg;
msgHdr--; // Backup to the msg header
len = (uint8)(msgHdr->len - sizeof ( hciEvt_CmdComplete_t ));
sendCommandCompleteEvent(HCI_COMMAND_COMPLETE_EVENT_CODE,
pkt->cmdOpcode, len, pkt->pReturnParam);
}
}
break;
case HCI_DISCONNECTION_COMPLETE_EVENT_CODE:
break;
case HCI_COMMAND_STATUS_EVENT_CODE:
{
hciEvt_CommandStatus_t *pkt = (hciEvt_CommandStatus_t *)pMsg;
if (lastAppOpcodeSent == pkt->cmdOpcode)
{
// app processes this as it was embedded msg to stack
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
}
// else - drop it for now
}
break;
case HCI_BLE_HARDWARE_ERROR_EVENT_CODE:
{
AssertHandler(HAL_ASSERT_CAUSE_HARDWARE_ERROR,0);
}
break;
case HCI_LE_EVENT_CODE:
break;
case HCI_VE_EVENT_CODE:
{
hciEvt_VSCmdComplete_t *pkt = (hciEvt_VSCmdComplete_t *)pMsg;
if (lastAppOpcodeSent == pkt->cmdOpcode)
{
// app processes this as it was embedded msg to stack
// Reset last opcode sent
lastAppOpcodeSent = 0xFFFF;
}
else
{
sendCommandCompleteEvent(HCI_VE_EVENT_CODE, pkt->cmdOpcode,
pkt->length, pkt->pEventParam);
}
}
break;
default:
break;
}
}
/*********************************************************************
* @fn HostTestApp_writeCallBack
*
* @brief Callback for TX ISR
*
* @param none
*
* @return none
*/
Void HostTestApp_writeCallBack(int size)
{
events |= NPI_WRITECALLBACK_EVENT;
Semaphore_post(sem);
}
/*********************************************************************
* @fn HostTestApp_readCallBack
*
* @brief Callback for RX ISR
*
* @param none
*
* @return none
*/
Void HostTestApp_readCallBack(int size)
{
if ( size == 0xFF )
{
events |= NPI_MRDY_EVENT;
}
else
{
events |= NPI_READ_EVENT;
}
Semaphore_post(sem);
}
/*********************************************************************
* @fn HostTestApp_sendMsg
*
* @brief Sends packet to UART else queues it if not able to do so
*
* @param none
*
* @return none
*/
static void HostTestApp_sendMsg(npiPkt_t *pMsgBuf)
{
if ((events & NPI_WRITECALLBACK_EVENT) && (Queue_empty(uartTxQueue)))
{
events &= ~NPI_WRITECALLBACK_EVENT;
if (pMsgLastBuf)
{
ICall_freeMsg(pMsgLastBuf); //Free the NPI/OSAL buffer which was sent
pMsgLastBuf = NULL; //Need to have this to avoid memory leak
}
pMsgLastBuf = pMsgBuf;
NPI_WriteTransport(pMsgBuf->pData, pMsgBuf->pktLen);
return;
}
// Enqueue the message
Util_enqueueMsg(uartTxQueue, sem, (uint8*)pMsgBuf);
}
//*****************************************************************************
// the function prototypes
/*******************************************************************************
* This generic function sends a Command Complete or a Vendor Specific Command
* Complete Event to the Host.
*
*/
static void sendCommandCompleteEvent(uint8_t eventCode, uint16_t opcode,
uint8_t numParam, uint8_t *param)
{
npiPkt_t *msg;
uint8_t totalLength;
uint8_t txLen = 0; // Length to transmit
// The initial length will be:
// OSAL message header(4) - not part of packet sent to HCI Host!
// Minimum Event Data: Packet Type(1) + Event Code(1) + Length(1)
// Return Parameters (0..N)
totalLength = sizeof(npiPkt_t) + HCI_EVENT_MIN_LENGTH + numParam;
// adjust the size of the event packet based on event code
// Note: If not a vendor specific event, then the event includes:
// Command Complete Data: Number of HCI Commands Allowed(1) + Command Opcode(2)
// Note: If a vendor specific event, then the event includes:
// Vendor Specific Command Complete Data: Vendor Specific Event Opcode(2)
totalLength += ( (eventCode != HCI_VE_EVENT_CODE) ?
HCI_CMD_COMPLETE_EVENT_LEN :
HCI_CMD_VS_COMPLETE_EVENT_LEN );
// allocate memory for OSAL hdr + packet
msg = (npiPkt_t *)ICall_allocMsg(totalLength);
if (msg)
{
// OSAL message event, status, and pointer to packet
msg->hdr.event = HCI_EVENT_PACKET;
msg->hdr.status = 0xFF;
msg->pData = (uint8*)(msg+1);
// fill in Command Complete Event data
msg->pData[0] = HCI_EVENT_PACKET;
msg->pData[1] = eventCode;
txLen += 2;
// check if this isn't a vendor specific event
if ( eventCode != HCI_VE_EVENT_CODE )
{
msg->pData[2] = numParam + HCI_CMD_COMPLETE_EVENT_LEN;
msg->pData[3] = 1;// hciCtrlCmdToken; // event parameter 1
msg->pData[4] = LO_UINT16( opcode ); // event parameter 2
msg->pData[5] = HI_UINT16( opcode ); // event parameter 2
txLen += 4;
// remaining event parameters
(void)memcpy(&msg->pData[6], param, numParam);
txLen += numParam;
}
else // it is a vendor specific event
{
// less one byte as number of complete packets not used in vendor specific event
msg->pData[2] = numParam + HCI_CMD_VS_COMPLETE_EVENT_LEN;
msg->pData[3] = param[0]; // event parameter 0: event opcode LSB
msg->pData[4] = param[1]; // event parameter 1: event opcode MSB
msg->pData[5] = param[2]; // event parameter 2: status
msg->pData[6] = LO_UINT16( opcode ); // event parameter 3: command opcode LSB
msg->pData[7] = HI_UINT16( opcode ); // event parameter 3: command opcode MSB
txLen += 6;
// remaining event parameters
// Note: The event opcode and status were already placed in the msg packet.
(void)memcpy(&msg->pData[8], &param[3], numParam-HCI_EVENT_MIN_LENGTH);
txLen += (numParam-HCI_EVENT_MIN_LENGTH);
}
msg->pktLen = txLen;
HostTestApp_sendMsg((npiPkt_t *)msg);
}
}
/*******************************************************************************
* This generic function sends a Command Complete or a Vendor Specific Command
* Complete Event to the Host.
*
*/
void sendCommandStatusEvent(uint8_t eventCode, uint16_t status, uint16_t opcode)
{
npiPkt_t *msg;
uint8_t totalLength;
// The initial length will be:
// OSAL message header(4) - not part of packet sent to HCI Host!
// Minimum Event Data: Packet Type(1) + Event Code(1) + Length(1)
// Command Status Event Data: Status (1) + Num HCI Cmd Pkt (1) + Cmd Opcode (2)
totalLength = sizeof(npiPkt_t) +
HCI_EVENT_MIN_LENGTH +
HCI_CMD_STATUS_EVENT_LEN;
// allocate memory for OSAL hdr + packet
msg = (npiPkt_t *)ICall_allocMsg(totalLength);
if (msg)
{
// OSAL message event, status, and pointer to packet
msg->hdr.event = HCI_EVENT_PACKET;
msg->hdr.status = 0xFF;
// fill in length and data pointer
msg->pktLen = HCI_EVENT_MIN_LENGTH + HCI_CMD_STATUS_EVENT_LEN;
msg->pData = (uint8*)(msg+1);
// fill in Command Complete Event data
msg->pData[0] = HCI_EVENT_PACKET;
msg->pData[1] = eventCode;
msg->pData[2] = HCI_CMD_STATUS_EVENT_LEN;
msg->pData[3] = status;
msg->pData[4] = 1; // number of HCI command packets
msg->pData[5] = LO_UINT16(opcode); // opcode (LSB)
msg->pData[6] = HI_UINT16(opcode); // opcode (MSB)
HostTestApp_sendMsg((npiPkt_t *)msg);
}
}
/*********************************************************************
*********************************************************************/
@@ -44,26 +44,28 @@
Release Date: 2018-04-02 18:03:35
*****************************************************************************/
/*================
==== include ====
===============*/
// clang-format off
#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 "board.h"
#include "hal_assert.h"
#include "icall.h"
#include "inc/npi_task.h"
#include "host_test_app.h"
/* Header files required to enable instruction fetch cache */
#include <inc/hw_memmap.h>
#include <driverlib/vims.h>
// clang-format on
#include <inc/hw_memmap.h>
#ifndef USE_DEFAULT_USER_CFG
@@ -74,7 +76,10 @@ bleUserCfg_t user0Cfg = BLE_USER_CFG;
#endif // USE_DEFAULT_USER_CFG
/**
extern void AssertHandler(uint8 assertCause, uint8 assertSubcause);
/*
* @fn Main
*
* @brief Application Main
@@ -90,6 +95,10 @@ bleUserCfg_t user0Cfg = BLE_USER_CFG;
* @return None.
*/
int main() {
/* Register Application callback to trap asserts raised in the Stack */
RegisterAssertCback(AssertHandler);
PIN_init(BoardGpioInitTable);
// Enable iCache prefetching
@@ -115,3 +124,79 @@ int main() {
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) {}
/*
* @fn exceptionHandler
*
* @brief Generic spinlock to trap RTOS raised errors.
*
* input parameters
*
* @param None.
*
* output parameters
*
* @param None.
*
* @return None.
*/
void exceptionHandler(void) {
for (;;);
}
/*
* @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 (;;);
}
@@ -1,194 +0,0 @@
#ifndef CC2650_MASTER_H
#define CC2650_MASTER_H
/*================
==== include ====
================*/
#include <ti/sysbios/knl/Semaphore.h>
#include "master_mem.h"
#include "master_pin.h"
#include "master_spi.h"
/*======================
==== event control ====
=====================*/
uint16_t EVENT_MASK = 0;
extern ICall_Semaphore semaphore;
#define EVT_PIN_RESET 0x0010
#define EVT_PIN_REQST 0x0020
/**
* test event [flag] has been enabled.
*/
#define flag_mask(flag) ((EVENT_MASK & (flag)) != 0)
/**
* enable event [flag].
*/
#define flag_enable(flag) \
do { \
uint8 __key = Hwi_disable(); \
EVENT_MASK |= (uint16_t)(flag); \
Hwi_restore(__key); \
} while (0)
/**
* disable event [flag].
*/
#define flag_disable(flag) \
do { \
uint8 __key = Hwi_disable(); \
EVENT_MASK &= ~((uint16_t)(flag)); \
Hwi_restore(__key); \
} while (0)
/**
* fire a event with [flag].
*/
#define flag_notify(flag) \
do { \
uint8 __key = Hwi_disable(); \
EVENT_MASK |= (uint16_t)(flag); \
Hwi_restore(__key); \
Semaphore_post(semaphore); \
} while (0)
/*======================
==== utility macro ====
=====================*/
#define unsafe_memcpy(p, src, len) \
do { \
memcpy(p, src, len); \
p += len; \
} while (0)
/*=========================
==== function declare ====
========================*/
static void master_init();
static void master_event_handle();
static void master_handle_notify(uint16 length, uint8 *value);
static void master_switch_memory();
/*========================
==== notify variable ====
=======================*/
#define MEM_META_LENGTH 4
static uint8 mem_sel = 0;
static uint16_t not_counter = 0; // writing counter, increase when notify
static uint16_t not_offset = 0; // writing pointer, current not writing index
/*===========================
==== function implement ====
==========================*/
#define master_reset() \
do { \
not_counter = 0; \
not_offset = MEM_META_LENGTH; \
mem_sel = 0; \
master_mem_select(mem_sel); \
} while (0)
static void master_init() {
master_pin_open();
master_spi_open();
master_mem_init();
master_reset();
}
static void master_event_handle() {
if (flag_mask(EVT_PIN_RESET)) {
flag_disable(EVT_PIN_RESET);
master_reset();
} else if (flag_mask(EVT_PIN_REQST)) {
flag_disable(EVT_PIN_REQST);
master_switch_memory();
}
}
static void master_pin_callback(PIN_Handle handle, PIN_Id pin) {
switch (pin) {
case PIN_MEM_RST:
// memory reset
flag_notify(EVT_PIN_RESET);
break;
case PIN_MEM_REQ:
// memory switch request
flag_notify(EVT_PIN_REQST);
break;
}
}
static void master_handle_notify(uint16 length, uint8 *value) {
if (master_pi3_resetting() || flag_mask(EVT_PIN_RESET)) {
// ignore all incoming notify;
flag_disable(EVT_PIN_RESET);
master_reset();
return;
}
uint8_t counter = not_counter++;
// localize current buffer
uint8_t *p = master_mem_buffer;
// update offset
uint32_t cnt_offset = not_offset;
not_offset = cnt_offset + 3 + length;
*p++ = MEM_INS_WRITE; // instruction
*p++ = (uint8_t)((cnt_offset >> 8) & 0xFF); // address
*p++ = (uint8_t)(cnt_offset & 0xFF); // address
*p++ = 0xFF; // data header
*p++ = counter; // data counter
*p++ = length; // data content length
unsafe_memcpy(p, value, length); // data content
master_mem_submit(p - master_mem_buffer);
if (master_pi3_not_busy() && ((not_offset >= MEM_SWITCH_THRESHOLD) || flag_mask(EVT_PIN_REQST))) {
flag_disable(EVT_PIN_REQST);
master_switch_memory();
}
// #ifdef CC2650_LAUNCHXL
// master_pin_output(PIN_LED_GRN, not_counter & 0x10);
// #endif
}
static void master_switch_memory() {
uint16_t cnt_offset = not_offset;
not_offset = MEM_META_LENGTH;
// localize current buffer
uint8_t *p = master_mem_buffer;
*p++ = MEM_INS_WRITE; // instruction
*p++ = 0; // address
*p++ = 0; // address
*p++ = (uint8_t)((cnt_offset >> 8) & 0xFF); // data: notify data length
*p++ = (uint8_t)(cnt_offset & 0xFF); // data: notify data length
*p++ = 0;
*p++ = 0;
master_mem_submit(p - master_mem_buffer);
// switch memory
mem_sel++;
master_mem_select(mem_sel & 0x01);
// #ifdef CC2650_LAUNCHXL
// master_pin_output(PIN_LED_RED, mem_sel & 0x10);
// #endif
}
#endif // CC2650_MASTER_H
@@ -1,26 +0,0 @@
#ifndef MASTER_PIN_LP_H
#define MASTER_PIN_LP_H
#ifndef CC2650_LAUNCHXL
#error "CC2650_LAUNCHXL not defined"
#endif
#define PIN_LED_RED IOID_6
#define PIN_LED_GRN IOID_7
#define PIN_MEM_RST IOID_10
#define PIN_MEM_BZY IOID_11
#define PIN_MEM_REQ IOID_12
#define PIN_MEM_SEL IOID_15
#define PIN_SPI_CS IOID_14
#define PIN_SPI_CK Board_SPI0_CLK
#define PIN_SPI_DI Board_SPI0_MISO
#define PIN_SPI_DO Board_SPI0_MOSI
#define PIN_DEBUG_1 IOID_4
#define PIN_DEBUG_2 IOID_5
#define PIN_DEBUG_3 IOID_21
#define PIN_DEBUG_4 IOID_22
#endif MASTER_PIN_LP_H
@@ -1,26 +0,0 @@
#ifndef MASTER_PIN_MA_H
#define MASTER_PIN_MA_H
#ifndef BOOSTXL_CC2650MA
#error "BOOSTXL_CC2650MA not defined"
#endif
#define PIN_LED_RED IOID_UNUSED
#define PIN_LED_GRN IOID_UNUSED
#define PIN_MEM_RST DIO4
#define PIN_MEM_SEL DIO8
#define PIN_MEM_BZY DIO13
#define PIN_MEM_REQ DIO14
#define PIN_SPI_CS DIO9
#define PIN_SPI_CK DIO10
#define PIN_SPI_DO DIO11
#define PIN_SPI_DI DIO12
#define PIN_DEBUG_1 IOID_UNUSED
#define PIN_DEBUG_2 IOID_UNUSED
#define PIN_DEBUG_3 IOID_UNUSED
#define PIN_DEBUG_4 IOID_UNUSED
#endif MASTER_PIN_MA_H
@@ -1,33 +0,0 @@
#ifndef MASTER_MEM_H
#define MASTER_MEM_H
#include "master_pin.h"
#include "master_spi.h"
// clang-format off
#define MEM_BUFFER_SIZE SPI_TX_BUFFER_SIZE
#define MEM_SWITCH_THRESHOLD 0x0800
#define MSM_REG_WRITE 0x01
#define MEM_INS_WRITE 0x02
#define MEM_INS_READ 0x03
#define MEM_REG_READ 0x05
// clang-format on
#define master_mem_buffer master_tx_buffer
#define master_mem_select(value) master_pin_output(PIN_MEM_SEL, (value) ? 1 : 0)
#define master_mem_submit(len) master_spi_transaction(len)
#define master_mem_init() \
do { \
master_mem_buffer[0] = MSM_REG_WRITE; \
master_mem_buffer[1] = 0b01000011; \
master_mem_select(1); \
master_mem_submit(2); \
master_mem_select(0); \
master_mem_submit(2); \
} while (0)
#endif // MASTER_MEM_H
@@ -1,66 +0,0 @@
#ifndef MASTER_PIN_H
#define MASTER_PIN_H
#include <Board.h>
#include <ti/drivers/PIN.h>
#if defined(CC2650_LAUNCHXL)
#include "lp/master_pin.h"
#elif defined(BOOSTXL_CC2650MA)
#include "ma/master_pin.h"
#endif
static PIN_State master_pins_state;
static PIN_Handle master_pins_handle;
static PIN_Config master_pin_config_table[] = { //
// memory select
PIN_MEM_SEL | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,
// master side is reading buffer.
PIN_MEM_BZY | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,
// master side request to switch buffer
PIN_MEM_REQ | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,
// memory reset reset
PIN_MEM_RST | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS,
// spi chip select, deprecate native CS pin
PIN_SPI_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,
// debug pin
PIN_DEBUG_1 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,
PIN_DEBUG_2 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,
PIN_DEBUG_3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,
PIN_DEBUG_4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL,
// LED
PIN_LED_RED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
PIN_LED_GRN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
//
PIN_TERMINATE};
static void master_pin_callback(PIN_Handle handle, PIN_Id pin);
#define master_pin_open() \
do { \
master_pins_handle = PIN_open(&master_pins_state, master_pin_config_table); \
PIN_registerIntCb(master_pins_handle, master_pin_callback); \
PIN_setInterrupt(master_pins_handle, PIN_MEM_RST | PIN_IRQ_NEGEDGE); \
PIN_setInterrupt(master_pins_handle, PIN_MEM_REQ | PIN_IRQ_NEGEDGE); \
} while (0)
#define master_pin_add(configuration) PIN_add(master_pins_handle, configuration)
#define master_pin_remove(pin) PIN_remove(master_pins_handle, pin)
#define master_pin_close() PIN_close(master_pins_handle)
#define master_pin_output(pin, value) PIN_setOutputValue(master_pins_handle, PIN_ID(pin), (value))
#define master_pin_input(pin) PIN_getInputValue(PIN_ID(pin))
#define master_pi3_resetting() !master_pin_input(PIN_MEM_RST)
#define master_pi3_not_busy() master_pin_input(PIN_MEM_BZY)
#endif MASTER_PIN_H
@@ -1,43 +0,0 @@
#ifndef MASTER_SPI_H
#define MASTER_SPI_H
// clang-format off
#include <ti/drivers/SPI.h>
#include <ti/drivers/dma/UDMACC26XX.h>
#include <ti/drivers/spi/SPICC26XXDMA.h>
// clang-format on
#include "master_pin.h"
#define SPI_TX_BUFFER_SIZE 250
static uint8_t master_tx_buffer[SPI_TX_BUFFER_SIZE] = {0};
static SPI_Handle master_spi_handle;
static SPI_Transaction master_spi_transaction;
#define master_spi_open() \
do { \
SPI_init(); \
SPI_Params spi_parameter; \
SPI_Params_init(&spi_parameter); \
spi_parameter.transferMode = SPI_MODE_BLOCKING; \
spi_parameter.mode = SPI_MASTER; \
spi_parameter.bitRate = 12000000; \
spi_parameter.transferTimeout = 1000; \
spi_parameter.dataSize = 8; \
spi_parameter.frameFormat = SPI_POL0_PHA0; \
master_spi_handle = SPI_open(Board_SPI0, &spi_parameter); \
} while (0)
#define master_spi_transaction(len) \
do { \
master_spi_transaction.txBuf = master_tx_buffer; \
master_spi_transaction.rxBuf = NULL; \
master_spi_transaction.count = (len); \
master_pin_output(PIN_SPI_CS, 0); \
SPI_transfer(master_spi_handle, &master_spi_transaction); \
master_pin_output(PIN_SPI_CS, 1); \
} while (0)
#endif // MASTER_SPI_H
@@ -0,0 +1,179 @@
{
"name": "Elite-ZM",
"version": "1.2.30",
"match_rule": {
"local_name_pattern": "Elite-ZM.+",
"major_product_number": 0,
"minor_product_number": 2,
"major_version_number": 1,
"minor_version_number": 2
},
"constant": {
"ADC_CHANNEL_NUMBER": [
12,
13,
14,
15
],
"VOLT_MAX": 4095
},
"parameters": {
"CHANNEL": {
"description": "record channels",
"record_meta": true,
"domain": "property",
"value": [
0,
1,
2
]
},
"SAMPLE_RATE": {
"description": "data sampling rate",
"record_meta": true,
"domain": "constant",
"value": 1
},
"AMP_GAIN": {
"description": "amp gain",
"record_meta": true,
"domain": "constant",
"value": 1
},
"MODE": {
"description": "working mode",
"value": [
"I-V Curve",
"Cyclic Voltammetry",
"Function Generator",
"Z-T Curve",
"V-T Curve",
"I-T Curve",
"ADC test"
]
},
"VOLT_ORIGIN": {
"description": "Origin Voltage of Scan",
"domain": [
"VOLT_MAX"
]
},
"VOLT_FINAL": {
"description": "The last Voltage of Scan",
"domain": [
"VOLT_MAX"
],
"value": "1365 * VALUE"
},
"VOLT_STEP": {
"description": "Voltage Step",
"domain": [
5
]
},
"STEP_TIME": {
"description": "How much time between two step",
"domain": [
4
]
},
"DAC_VOLT": {
"description": "DAC output Voltage",
"domain": [
"VOLT_MAX"
]
},
"ADC_CHANNEL": {
"description": "read ADC data",
"value": [
"ANA0",
"ANA1",
"ANA2",
"ANA3"
]
}
},
"instruction": {
"start": [
{
"expression": "MODE",
"when": {
"0": "curve_iv",
"1": "curve_cv",
"2": "func_gen",
"6": "adc_test"
}
}
],
"data_format": [
"_data_format('TDC4VAF2')"
],
"curve_iv": [
"data_format",
"_notify(True)",
"curve_iv0",
"_sync(True)",
"VIS_STI"
],
"curve_iv0": {
"type": "RIS",
"parameter": {
"va": "(VOLT_ORIGIN + 1) * 0x0010",
"vb": "(VOLT_FINAL + 1) * 0x0010",
"dv": "VOLT_STEP * 0x40",
"dt": "STEP_TIME * 0x12"
},
"data": [
"1X10;2B>va;2B>vb;B>dv;B>dt"
]
},
"curve_cv": [
"data_format",
"_notify(True)",
"curve_cv0",
"_sync(True)",
"VIS_STI"
],
"curve_cv0": {
"type": "RIS",
"parameter": {
"va": "(VOLT_ORIGIN + 1) * 0x0010",
"vb": "(VOLT_FINAL + 1) * 0x0010",
"dv": "VOLT_STEP * 0x40",
"dt": "STEP_TIME * 0x12"
},
"data": [
"1X20;2B>va;2B>vb;B>dv;B>dt"
]
},
"func_gen": [
"data_format",
"func_gen0",
"VIS_STI"
],
"func_gen0": {
"type": "RIS",
"parameter": {
"v": "(DAC_VOLT + 1) * 0x0010"
},
"data": [
"X30;X30;2B>v"
]
},
"adc_test": [
"data_format",
"_notify(True)",
"adc_test0",
"_sync(True)",
"VIS_STI"
],
"adc_test0": {
"type": "RIS",
"data": [
"X90;B>ADC_CHANNEL"
]
}
}
}
@@ -0,0 +1,240 @@
#ifndef EliteADC
#define EliteADC
#include "Elite_PIN.h"
#include "EliteSPI.h"
#include "EliteNotify.h"
// Elite ADC macro
// ADC command, Elite will use these cmd to control ADC
#define CMD_CURRENT_MEASURE 0xC5
#define CMD_VOLT_MEASURE 0xD5
#define CMD_DAC_MEASURE 0xE5
#define CMD_BATTERY_MEASURE 0xF5
// controller command, these are command from control box
#define ADC_CH_CURRENT 0x00
#define ADC_CH_VOLT 0x01
#define ADC_CH_DAC 0x02
#define ADC_CH_BAT 0x03
static void ADC_write(uint8_t ADCin) {
/*
* This function can only define [15]~[8] through ADCin
* [7]~[0] should always be 0b11101011
*
* [15] : SS, 0 = no effect, 1 = start work, default 0b0
* [14]~[12] : MUX[2:0], default 0b000
* [11]~[9] : PGA[2:0], default 0b010 = FSR is ±2.048
* [8] : mode, 0 = continuous, 1 = one shot, default 0b1 (Power-down and single-shot mode )
*
* [7]~[5] : data rate, default 0b100 = 128 SPS
* [4] : Temperature? default 0b0 = ADC mode
* [3] : Pullup enable, default 0b1 = Pullup resistor enabled
* [2]~[1] : NOP, default 0b01
* [0] : reserved, default 0b1
*
*/
// spi_ADC_txbuf[0] = 0b00000101;
for(int i=0 ; i<SPI_ADC_SIZE ; i++){
spi_ADC_txbuf[i] = 0;
spi_ADC_rxbuf[i] = 0;
}
spi_ADC_txbuf[0] = ADCin;
spi_ADC_txbuf[1] = 0b11101011;
ADC_SPI(2, spi_ADC_txbuf, spi_ADC_rxbuf);
}
static void ADC_read(uint8_t *ADCdata){
for(int i=0 ; i<SPI_ADC_SIZE ; i++){
spi_ADC_txbuf[i] = 0;
spi_ADC_rxbuf[i] = 0;
}
ADC_SPI(SPI_ADC_SIZE, spi_ADC_txbuf, ADCdata);
}
static void ADCGainControl(uint8_t ADCLevel){
if(ADCLevel == 0){
// ADC gain level = 0, using 200K resister
PIN_setOutputValue(pin_handle, Turnon10K, 0);
PIN_setOutputValue(pin_handle, Turnon200R, 0);
}
else if(ADCLevel == 1){
// ADC gain level = 1, using 10K resister
PIN_setOutputValue(pin_handle, Turnon10K, 1);
PIN_setOutputValue(pin_handle, Turnon200R, 0);
}
else if(ADCLevel == 2){
// ADC gain level = 2, using 200R resister
PIN_setOutputValue(pin_handle, Turnon10K, 0);
PIN_setOutputValue(pin_handle, Turnon200R, 1);
}
else if(ADCLevel == 3){
// ADC gain level = 0, auto gain (using 200R resister)
PIN_setOutputValue(pin_handle, Turnon10K, 0);
PIN_setOutputValue(pin_handle, Turnon200R, 1);
}
else{
// default using 200R resister
PIN_setOutputValue(pin_handle, Turnon10K, 0);
PIN_setOutputValue(pin_handle, Turnon200R, 1);
}
}
static void ADCChannelSelect(uint8_t ADCChannel){
// set ADC parameter
// 0xC1~F1 = reading AIN0~AIN3. Using FSR+-6V, resolution = 187.5uV
// 0xC5~F5 = reading AIN0~AIN3. Using FSR+-2V, resolution = 62.5 uV
switch(ADCChannel){
// AINp is AIN0; AINn is GND
// measure AIN0, which is a current measure
case ADC_CH_CURRENT :{
ADC_write(CMD_CURRENT_MEASURE);
break;
}
// AINp is AIN1; AINn is GND
// AIN1, which is a volt measure
case ADC_CH_VOLT :{
ADC_write(CMD_VOLT_MEASURE);
break;
}
// AINp is AIN2; AINn is GND
// AIN2, measure DAC voltage (Note that this is NOT DAC real output value!!)
case ADC_CH_DAC :{
ADC_write(CMD_DAC_MEASURE);
break;
}
// measure battery volt
case ADC_CH_BAT :{
ADC_write(CMD_BATTERY_MEASURE);
break;
}
default :{
break;
}
}
}
static void ReadVolt(uint8_t *buf){
// Read data twice since the first data we get is previous data
ADCChannelSelect(ADC_CH_VOLT);
CPUdelay(10);
ADC_read(buf);
ADCChannelSelect(ADC_CH_VOLT);
CPUdelay(10);
ADC_read(buf);
}
static void ReadVoutVolt(uint8_t *buf){
// Read data twice since the first data we get is previous data
ADCChannelSelect(ADC_CH_DAC);
CPUdelay(10);
ADC_read(buf);
ADCChannelSelect(ADC_CH_DAC);
CPUdelay(10);
ADC_read(buf);
}
static void ReadCurrent(uint8_t *buf){
// Read data twice since the first data we get is previous data
ADCGainControl(INSTRUCTION.ADCGainLevel);
ADCChannelSelect(ADC_CH_CURRENT);
CPUdelay(10);
ADC_read(buf);
ADCChannelSelect(ADC_CH_CURRENT);
CPUdelay(10);
ADC_read(buf);
}
// theoretical boundary <20, 10~500, >100 (uA)
#define GAIN_SMALL_BOUNDARY 40000 // 40 uA = 40,000,000 pA
#define GAIN_MID_BOUNDARY1 20000 // 20 uA = 20,000,000 pA
#define GAIN_MID_BOUNDARY2 400000 // 400 uA = 400,000,000 pA
#define GAIN_LARGE_BOUNDARY 200000 // 200 uA = 200,000 nA
//#define GAIN_SMALL_BOUNDARY 8000 // 8 uA = 8,000,000 pA
//#define GAIN_MID_BOUNDARY1 3000 // 3 uA = 3,000,000 pA
//#define GAIN_MID_BOUNDARY2 90000 // 90 uA = 90,000,000 pA
//#define GAIN_LARGE_BOUNDARY 70000 // 70 uA = 70,000 nA
static int32_t AutoGainReadCurrent(uint8_t *buf){
int32_t Real_Current = 0;
if(INSTRUCTION.ADCGainLevel == GAIN_AUTO){
INSTRUCTION.ADCGainLevel = GAIN_200R;
}
if(INSTRUCTION.ADCGainLevel == GAIN_200R){
ReadCurrent(spi_ADC_rxbuf);
Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
// switch to mid range current
if(Real_Current < GAIN_LARGE_BOUNDARY && Real_Current > -1*GAIN_LARGE_BOUNDARY){
INSTRUCTION.ADCGainLevel = GAIN_10K;
ReadCurrent(spi_ADC_rxbuf);
Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
// LED_color(DARKLED, 0x00, 0xFF, 0x00);
// // switch to small range current
// if (Real_Current < GAIN_MID_BOUNDARY1 && Real_Current > -1*GAIN_MID_BOUNDARY1){
// INSTRUCTION.ADCGainLevel = GAIN_200K;
// ReadCurrent(spi_ADC_rxbuf);
// Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
// LED_color(DARKLED, 0xFF, 0x00, 0x00);
// }
}
}
else if(INSTRUCTION.ADCGainLevel == GAIN_10K){
ReadCurrent(spi_ADC_rxbuf);
Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
// switch to large range current
if(Real_Current > GAIN_MID_BOUNDARY2 || Real_Current < -1*GAIN_MID_BOUNDARY2){
INSTRUCTION.ADCGainLevel = GAIN_200R;
ReadCurrent(spi_ADC_rxbuf);
Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
// switch to small range current
else if (Real_Current < GAIN_MID_BOUNDARY1 && Real_Current > -1*GAIN_MID_BOUNDARY1){
INSTRUCTION.ADCGainLevel = GAIN_200K;
ReadCurrent(spi_ADC_rxbuf);
Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
}
else if(INSTRUCTION.ADCGainLevel == GAIN_200K){
ReadCurrent(spi_ADC_rxbuf);
Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
// switch to mid range current
if(Real_Current > GAIN_SMALL_BOUNDARY || Real_Current < -1*GAIN_SMALL_BOUNDARY){
INSTRUCTION.ADCGainLevel = GAIN_10K;
ReadCurrent(spi_ADC_rxbuf);
Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
// switch to large range current
// if(Real_Current > GAIN_MID_BOUNDARY2 || Real_Current < -1*GAIN_MID_BOUNDARY2){
// INSTRUCTION.ADCGainLevel = GAIN_200R;
// ReadCurrent(spi_ADC_rxbuf);
// Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
// }
}
}
return Real_Current;
}
#endif
@@ -0,0 +1,32 @@
#ifndef ELITECCC
#define ELITECCC
#include "EliteCCMode.h"
// XXX : should we reset DAC output after STOP?
static void CCModeReverseCurrent(CCCMode *CCC){
if(CCC->StandBy){
if(CT.StandByCounter == CCC->StandByTime){
CCC->StandBy = false;
CT.StandByCounter = 0;
}
else{
CT.StandByCounter ++;
}
}
else{
// reverse charge/discharge
if(CCC->BatteryV == CCC->VMax){
CCC->StandBy = true;
CCC->value = CCC->DischargeCurrent;
}
else if(CCC->BatteryV == CCC->VMin){
CCC->StandBy = true;
CCC->value = CCC->ChargeCurrent;
}
}
}
#endif
@@ -0,0 +1,132 @@
#ifndef ELITECCMODE
#define ELITECCMODE
static void CCModeDACControl(CCMode *CC, int32_t IUC_Measure_Difference);
static int32_t CCModeReadCurrent(CCMode *CC){
static uint8_t VoltCurrentSwitch = 0;
CCModeDACEnable = 1; // This flag will control DAC working
// decode ADC value and put it into notify buffer
// Use 5-th measure value as real-measure value
// because some value in the begin are garbage
if(VoltCurrentSwitch < 5){
ReadCurrent(spi_ADC_rxbuf);
VoltCurrentSwitch ++;
}
else if(VoltCurrentSwitch == 5){
// read current
if(INSTRUCTION.AutoGainEnable){
CC->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
else{
ReadCurrent(spi_ADC_rxbuf);
CC->_MeasureData = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
VoltCurrentSwitch ++;
}
else if(VoltCurrentSwitch <10){
// read volt
ReadVolt(spi_ADC_rxbuf);
VoltCurrentSwitch++;
}
else if(VoltCurrentSwitch == 10){
/** read battery voltage **/
ReadVolt(spi_ADC_rxbuf);
CC->BatteryV = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_VOLT, spi_ADC_rxbuf);
// if Iin have a offset if current !=0
CC->BatteryV = CC->BatteryV - (CC->value - CC_ZERO_POINT)*10/1e5; // I_set * 10R = V_Iin2GND (mA * ohm)
VoltCurrentSwitch++;
// NotifyReady = true;
}
else{
VoltCurrentSwitch = 0;
}
NotifyVolt[0] = (uint8_t) (CC->BatteryV >> 24);
NotifyVolt[1] = (uint8_t) ((CC->BatteryV & 0x00FF0000) >> 16);
NotifyVolt[2] = (uint8_t) ((CC->BatteryV & 0x0000FF00) >> 8);
NotifyVolt[3] = (uint8_t) (CC->BatteryV & 0x000000FF);
return CC->_MeasureData;
}
static int32_t CCModeVoltOut(CCMode *CC){
int32_t IUCCurrent = 0;
if(!CCModeDACEnable){
// DAC should not work now
return 0;
}
IUCCurrent = CC->_Transform2RealnA( (struct CCModePara *) CC);
CCModeDACControl(CC, IUCCurrent - CC->_MeasureData);
CCModeDACEnable = 0;
return CC->_MeasureData;
}
static void CCModeDACControl(CCMode *CC, int32_t IUC_Measure_Difference){
int32_t step;
if(IUC_Measure_Difference < 300 && IUC_Measure_Difference > -300){
step = 0;
}
else if( CC->Charge && CC->BatteryV >= ( (int32_t) (CC->VMax - DAC_ZERO)/5 ) ){
CC->value = 0;
step = (IUC_Measure_Difference > 0) ? 1:-1;
}
else if( (!CC->Charge) && CC->BatteryV <= ( (int32_t) (CC->VMin - DAC_ZERO)/5 ) ){
// Ignore VMin condition
if(CC->Done < 25000){
CC->Done ++;
step = (IUC_Measure_Difference > 0) ? 2:-2;
}
// after ignore few second, active VMin condition
else{
CC->value = 0;
step = (IUC_Measure_Difference > 0) ? 1:-1;
}
}
else{
step = (IUC_Measure_Difference > 0) ? 1:-1;
}
// over/under flow
if( (INSTRUCTION.VoltConstant + step) > MAX_DAC_UC || (INSTRUCTION.VoltConstant + step) < MIN_DAC_UC ){
if(step > 0){
INSTRUCTION.VoltConstant = (INSTRUCTION.VoltConstant + MAX_DAC_UC)/2;
}
else{
INSTRUCTION.VoltConstant = (INSTRUCTION.VoltConstant + MIN_DAC_UC)/2;
}
}
else{
INSTRUCTION.VoltConstant = INSTRUCTION.VoltConstant + step;
}
DAC_outputV(Usercode_Correction_to_DAC(INSTRUCTION.VoltConstant));
// step = CC->Done;
// NotifyImpedance[0] = (uint8_t) (step >> 24);
// NotifyImpedance[1] = (uint8_t) ((step & 0x00FF0000) >> 16);
// NotifyImpedance[2] = (uint8_t) ((step & 0x0000FF00) >> 8);
// NotifyImpedance[3] = (uint8_t) (step & 0x000000FF);
}
/* Transform setting CC into IUC
*
* User code in CC mode : 0 ~ 3000000
* Real current value : -15.00000 ~ 15.00000 mA
* => user code = 1500000 mapping to 0.00000 mA
*/
static void CCCurrent2IUC(CCMode *CC){
int32_t CurrentValue = 0;
CC->value = INSTRUCTION.ConstantCurrent;
CurrentValue = CC->value - CC_ZERO_POINT;
}
#endif
@@ -0,0 +1,423 @@
#ifndef ELITECV
#define ELITECV
static uint16_t SWVCurve(WorkMode *WorkModeData) {
static uint8_t counter;
static uint16_t outputV;
static uint16_t Volt;
static bool direction_up;
// reset origin volt at the begin
if (DACReset) {
Volt = INSTRUCTION.VoltOrigin;
outputV = INSTRUCTION.VoltOrigin;
if (INSTRUCTION.VoltOrigin < INSTRUCTION.VoltFinal)
direction_up = true;
else
direction_up = false;
counter = 1;
DACReset = false;
}
if (counter == 2 * PulseWidth)
counter = 1;
else
counter++;
// output a certain volt
outputV = Volt;
DAC_outputV(outputV);
// VoltValue = (ramp1*16 + ramp0/16) * 3.05;
// check if we reach the final volt
if ((outputV >= INSTRUCTION.VoltFinal && direction_up) || (outputV <= INSTRUCTION.VoltFinal && !direction_up)) {
PeriodicEvent = false;
DACReset = true;
}
// prepare the next output volt
if (direction_up) {
if (counter == PulseWidth)
Volt = Volt + Amplitude;
else if (counter == 2 * PulseWidth)
Volt = Volt - (Amplitude - INSTRUCTION.Step);
else
Volt = Volt;
} else {
if (counter == PulseWidth)
Volt = Volt - Amplitude;
else if (counter == 2 * PulseWidth)
Volt = Volt + (Amplitude - INSTRUCTION.Step);
else
Volt = Volt;
}
return outputV;
}
static uint16_t DPVCurve(WorkMode *WorkModeData) {
static uint8_t counter;
static uint16_t Volt1;
static uint16_t Volt2;
static uint16_t outputV;
static bool direction_up;
// reset origin volt at the begin
if (DACReset) {
if (INSTRUCTION.VoltOrigin < INSTRUCTION.VoltFinal)
direction_up = true;
else
direction_up = false;
Volt1 = INSTRUCTION.VoltOrigin;
if (direction_up)
Volt2 = INSTRUCTION.VoltOrigin + Amplitude;
else
Volt2 = INSTRUCTION.VoltOrigin - Amplitude;
counter = 1;
DACReset = false;
}
if (counter == PulsePeriod)
counter = 1;
else
counter++;
// output a certain volt
if (counter <= (PulsePeriod - PulseWidth)) {
outputV = Volt1;
DAC_outputV(Volt1);
} else {
outputV = Volt2;
DAC_outputV(Volt2);
}
// VoltValue = (ramp1*16 + ramp0/16) * 3.05;
// check if we reach the final volt
if (((outputV >= INSTRUCTION.VoltFinal) && direction_up) || ((outputV <= INSTRUCTION.VoltFinal) && !direction_up)) {
PeriodicEvent = false;
DACReset = true;
}
// check overflow/underflow and prepare for next output
if (direction_up) {
if (Volt1 + INSTRUCTION.Step < Volt1)
Volt1 = 0xffff;
else
Volt1 = Volt1 + INSTRUCTION.Step;
if (Volt2 + INSTRUCTION.Step < Volt2)
Volt2 = 0xffff;
else
Volt2 = Volt2 + INSTRUCTION.Step;
} else {
if (Volt1 - INSTRUCTION.Step > Volt1)
Volt1 = 0x0000;
else
Volt1 = Volt1 - INSTRUCTION.Step;
if (Volt2 - INSTRUCTION.Step > Volt2)
Volt2 = 0x0000;
else
Volt2 = Volt2 - INSTRUCTION.Step;
}
if (counter + 1 <= (PulsePeriod - PulseWidth)) {
return Volt1;
} else {
return Volt2;
}
}
static uint16_t CVCurve(CVMode *CV) {
static uint16_t DACOutCode;
static bool direction_up; // direction_up = true, if Vfinal > Vorigin
static bool current_direction_up; // current_direction_up = true, Vstep => positive. vice versa
// reset origin volt at the begin
if (DACReset) {
DACUserCode = CV->_VOrigin;
if (CV->_VStop > CV->_VOrigin) {
direction_up = true;
current_direction_up = true;
} else {
direction_up = false;
current_direction_up = false;
}
DACOutCode = Usercode_Correction_to_DAC(DACUserCode);
DAC_outputV(DACOutCode); // output VOLT_ORIGIN
DACReset = false;
return DACOutCode;
}
if (CT.StepTimeCounter == CV->_StepTime) {
// Decide next direction
if (CV->_VoVi_Switch == 0x00){ //user see Vout
if (direction_up) {
if (DACUserCode >= CV->_VStop) {
current_direction_up = false; // problem occurs when origin == 0000 final == ffff!!!!!!
} else if (DACUserCode <= CV->_VOrigin) {
current_direction_up = true;
if (CV->_CycleNumber == 0) {
PeriodicEvent = false; // periodic event end
DACReset = true;
}
CV->_CycleNumber--;
}
} else {
if (DACUserCode <= CV->_VStop) {
current_direction_up = true; // problem occurs when origin == 0000 final == ffff!!!!!!
} else if (DACUserCode >= CV->_VOrigin) {
current_direction_up = false;
if (CV->_CycleNumber == 0) {
PeriodicEvent = false; // periodic event end
DACReset = true;
}
CV->_CycleNumber--;
}
}
}
else if (CV->_VoVi_Switch == 0x01){ //user see Vin
if (direction_up) {
if (CV->MeasureVolt >= ((int32_t)(CV->_VStop) - DAC_ZERO)/5) {
current_direction_up = false; // problem occurs when origin == 0000 final == ffff!!!!!!
} else if (CV->MeasureVolt <= ((int32_t)(CV->_VOrigin) - DAC_ZERO)/5) {
current_direction_up = true;
if (CV->_CycleNumber == 0) {
PeriodicEvent = false; // periodic event end
DACReset = true;
}
CV->_CycleNumber--;
}
} else {
if (CV->MeasureVolt <= ((int32_t)(CV->_VStop) - DAC_ZERO)/5) {
current_direction_up = true; // problem occurs when origin == 0000 final == ffff!!!!!!
} else if (CV->MeasureVolt >= ((int32_t)(CV->_VOrigin) - DAC_ZERO)/5){
current_direction_up = false;
if (CV->_CycleNumber == 0) {
PeriodicEvent = false; // periodic event end
DACReset = true;
}
CV->_CycleNumber--;
}
}
}
// if (current_direction_up == true){
// LED_color(DARKLED, 255, 0, 0);
// }
// else if (current_direction_up == false){
// LED_color(DARKLED, 255, 0, 255);
// }
// Next output voltage
if (CV->_VoVi_Switch == 0x00){
if (direction_up) {
if (current_direction_up) {
// DACUserCode overflow ?
if (DACUserCode + CV->_Step < DACUserCode) {
DACUserCode = CV->_VStop;
}
// reach Vfinal ?
else if (DACUserCode + CV->_Step > CV->_VStop) {
DACUserCode =CV->_VStop;
}
else {
DACUserCode = DACUserCode + CV->_Step;
}
}
else {
// DACUserCode underflow ?
if (DACUserCode - CV->_Step > DACUserCode) {
DACUserCode = CV->_VOrigin;
}
// reach Vorigin ?
else if (DACUserCode - CV->_Step < CV->_VOrigin) {
DACUserCode = CV->_VOrigin;
}
else {
DACUserCode = DACUserCode - CV->_Step;
}
}
}
else {
if (current_direction_up) {
if (DACUserCode + CV->_Step < DACUserCode) {
DACUserCode = CV->_VOrigin;
}
else if (DACUserCode + CV->_Step > CV->_VOrigin) {
DACUserCode = CV->_VOrigin;
}
else {
DACUserCode = DACUserCode + CV->_Step;
}
}
else {
if (DACUserCode - CV->_Step > DACUserCode) {
DACUserCode = CV->_VStop ;
}
else if (DACUserCode - CV->_Step < CV->_VStop) {
DACUserCode = CV->_VStop;
}
else {
DACUserCode = DACUserCode - CV->_Step;
}
}
}
}
else if (CV->_VoVi_Switch == 0x01){
if (direction_up) {
if (current_direction_up) {
// DACUserCode overflow ?
if (DACUserCode + CV->_Step < DACUserCode) {
DACUserCode = CV->_VStop;
}
// reach Vfinal ?
else if (CV->MeasureVolt + ((int32_t)(CV->_Step) - DAC_ZERO)/5 > ((int32_t)(CV->_VStop) - DAC_ZERO)/5) {
DACUserCode =CV->_VStop;
}
else {
DACUserCode = DACUserCode + CV->_Step;
}
}
else {
// DACUserCode underflow ?
if (DACUserCode - CV->_Step > DACUserCode) {
DACUserCode = CV->_VOrigin;
}
// reach Vorigin ?
else if (CV->MeasureVolt - ((int32_t)(CV->_Step) - DAC_ZERO)/5 < ((int32_t)(CV->_VOrigin) - DAC_ZERO)/5) {
DACUserCode = CV->_VOrigin;
}
else {
DACUserCode = DACUserCode - CV->_Step;
}
}
}
else {
if (current_direction_up) {
if (DACUserCode + CV->_Step < DACUserCode) {
DACUserCode = CV->_VOrigin;
}
else if (CV->MeasureVolt + ((int32_t)(CV->_Step) - DAC_ZERO)/5 > ((int32_t)(CV->_VOrigin) - DAC_ZERO)/5) {
DACUserCode = CV->_VOrigin;
}
else {
DACUserCode = DACUserCode + CV->_Step;
}
}
else {
if (DACUserCode - CV->_Step > DACUserCode) {
DACUserCode = CV->_VStop ;
}
else if (CV->MeasureVolt - ((int32_t)(CV->_Step) - DAC_ZERO)/5 < ((int32_t)(CV->_VStop) - DAC_ZERO)/5) {
DACUserCode = CV->_VStop;
}
else {
DACUserCode = DACUserCode - CV->_Step;
}
}
}
}
DACOutCode = Usercode_Correction_to_DAC(DACUserCode);
DAC_outputV(DACOutCode);
}
return DACOutCode;
}
static void CV_Plot(CVMode *CV){
static uint8_t PreviousGain = GAIN_200R;
static uint8_t VoltCurrentSwitch = 0;
uint16_t ADC_measure = 0;
if(VoltCurrentSwitch < 5){
ReadCurrent(spi_ADC_rxbuf);
VoltCurrentSwitch ++;
}
else if(VoltCurrentSwitch == 5){
// read current
if(INSTRUCTION.AutoGainEnable){
CV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
if(PreviousGain != INSTRUCTION.ADCGainLevel){
PreviousGain = INSTRUCTION.ADCGainLevel;
CV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
CV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
if(PreviousGain != INSTRUCTION.ADCGainLevel){
PreviousGain = INSTRUCTION.ADCGainLevel;
CV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
CV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
}
else{
ReadCurrent(spi_ADC_rxbuf);
CV->_MeasureData = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
VoltCurrentSwitch ++;
}
// else if(VoltCurrentSwitch < 9){
// // read volt
// ReadVolt(spi_ADC_rxbuf);
// VoltCurrentSwitch++;
// }
// else if(VoltCurrentSwitch == 9){
// /** read battery voltage **/
// ReadVolt(spi_ADC_rxbuf);
// ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
// //CV->MeasureVolt = 20000;
// CV->MeasureVolt = DecodeADCVolt(ADC_measure);
// VoltCurrentSwitch++;
// }
else if(VoltCurrentSwitch < 9){
if(CV->_VoVi_Switch == 0x01){
// read volt
ReadVolt(spi_ADC_rxbuf);
}else if(CV->_VoVi_Switch == 0x00){
// read vout volt
ReadVoutVolt(spi_ADC_rxbuf);
}
VoltCurrentSwitch++;
}
else if(VoltCurrentSwitch == 9){
if(CV->_VoVi_Switch == 0x01){
/** read battery voltage **/
ReadVolt(spi_ADC_rxbuf);
ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
//CV->MeasureVolt = 20000;
CV->MeasureVolt = DecodeADCVolt(ADC_measure);
}else if(CV->_VoVi_Switch == 0x00){
/** read vout voltage **/
ReadVoutVolt(spi_ADC_rxbuf);
ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
CV->MeasureVolt = DecodeADCVoutVolt(ADC_measure);
}
VoltCurrentSwitch++;
}
else{
VoltCurrentSwitch = 0;
}
NotifyCurrent[0] = (uint8_t) (CV->_MeasureData >> 24);
NotifyCurrent[1] = (uint8_t) ((CV->_MeasureData & 0x00FF0000) >> 16);
NotifyCurrent[2] = (uint8_t) ((CV->_MeasureData & 0x0000FF00) >> 8);
NotifyCurrent[3] = (uint8_t) (CV->_MeasureData & 0x000000FF);
if ((CV->_VoVi_Switch == 0x01) || (CV->_VoVi_Switch == 0x00)){ //user see Vin || user see Vout
NotifyVolt[0] = (uint8_t) (CV->MeasureVolt >> 24);
NotifyVolt[1] = (uint8_t) ((CV->MeasureVolt & 0x00FF0000) >> 16);
NotifyVolt[2] = (uint8_t) ((CV->MeasureVolt & 0x0000FF00) >> 8);
NotifyVolt[3] = (uint8_t) (CV->MeasureVolt & 0x000000FF);
}
}
#endif
@@ -0,0 +1,65 @@
#ifndef EliteDAC
#define EliteDAC
static bool DACReset;
//#ifdef ELITE_VERSION_1_3
//#define DACOUT 0x30
//
//static void DAC_outputV(uint16_t voltLV) {
// // C = command, X = don't care, D = data
// // CCCC XXXX = command
// // DDDD DDDD = v1
// // DDDD XXXX = v2
//
// uint8_t v1, v2 = 0;
// v1 = (uint8_t) (voltLV >> 4) & 0xFF;
// v2 = (uint8_t) ((voltLV & 0x000F) << 4) & 0xF0;
//
// spi_DACtxbuf[0] = command;
// spi_DACtxbuf[1] = v1;
// spi_DACtxbuf[2] = v2;
// for (int i = 3; i < SPI_DAC_SIZE; i++) {
// spi_DACtxbuf[i] = 0;
// }
//
// DAC_SPI(SPI_DAC_SIZE, spi_DACtxbuf, spi_rxbuf);
//}
//#endif
#ifdef ELITE_VERSION_1_4
#define DACCLS 0x02
#define DACOUT 0x31
static uint16_t DAC_outputV(uint16_t voltLV) {
// C = command, X = don't care, D = data
// CCCC CCCC = command
// DDDD DDDD = v1
// DDDD DDDD = v2
// command
// 0x02 = clear
// 0x31 = output voltage
uint8_t v1, v2 = 0;
v1 = (uint8_t) ((voltLV & 0xFF00) >> 8);
v2 = (uint8_t) (voltLV & 0x00FF);
spi_DACtxbuf[0] = DACOUT;
spi_DACtxbuf[1] = v1;
spi_DACtxbuf[2] = v2;
DAC_SPI(SPI_DAC_SIZE, spi_DACtxbuf, spi_rxbuf);
return voltLV;
}
#endif
static int32_t User2Real(uint16_t UserCode){
/* transfer usercode to real voltage value (mV) */
return (int32_t) ((UserCode - 25000)*2)/10;
}
#endif
@@ -0,0 +1,22 @@
#ifndef ELITE_FLAG_CT_INIT
#define ELITE_FLAG_CT_INIT
static void InitCT(){
CT.SampleRate_counter = 1;
CT.StepTimeCounter = 1;
CT.NotifyCounter = 1;
CT.StandByCounter = 0;
}
static void InitFlag(){
PeriodicEvent = false; // is there an PeriodicEvent?
InitPeriodicEvent = true; // need to create a WorkModeData?
DACReset = true;
CCModeDACEnable = 0; // to make sure DAC work after ADC
Free_Work_Mode = true; // Free(WorkModeData)
// NotifyReady = false;
// DiscardIVFirstData = 0;
}
#endif
@@ -0,0 +1,38 @@
/* Copyright (c) 2019. BioPro. Scientific.
*/
#ifndef HEADSTAGE_GPTIMER_H
#define HEADSTAGE_GPTIMER_H
#include <Board.h>
#include <ti/drivers/timer/GPTimerCC26XX.h>
#include <ti/sysbios/BIOS.h>
#include <xdc/runtime/Types.h>
#define EVT_PERIODIC_GPTIMER EVT_PERIODIC_0
static GPTimerCC26XX_Handle gptimer_handle;
static void elite_gptimer_callback(GPTimerCC26XX_Handle handle, GPTimerCC26XX_IntMask interruptMask);
#define elite_gptimer_start() GPTimerCC26XX_start(gptimer_handle)
#define elite_gptimer_stop() GPTimerCC26XX_stop(gptimer_handle)
#define elite_gptimer_close() GPTimerCC26XX_close(gptimer_handle)
#define CLOCK_FREQ 4000 // clock freq = 0.1 ms
#define elite_gptimer_open() \
do { \
GPTimerCC26XX_Params params; \
GPTimerCC26XX_Params_init(&params); \
params.width = GPT_CONFIG_16BIT; \
params.mode = GPT_MODE_PERIODIC_DOWN; \
params.debugStallMode = GPTimerCC26XX_DEBUG_STALL_OFF; \
gptimer_handle = GPTimerCC26XX_open(Board_GPTIMER0A, &params); \
Types_FreqHz freq; \
BIOS_getCpuFreq(&freq); \
GPTimerCC26XX_Value loadVal = freq.lo / 1000 - 1; /*47999*/ \
GPTimerCC26XX_setLoadValue(gptimer_handle, loadVal); \
GPTimerCC26XX_setLoadValue(gptimer_handle, CLOCK_FREQ); /* 0.1 ms*/ \
GPTimerCC26XX_registerInterrupt(gptimer_handle, elite_gptimer_callback, GPT_INT_TIMEOUT); \
} while (0)
#endif // HEADSTAGE_GPTIMER_H
@@ -0,0 +1,95 @@
#ifndef ELITE_I2C
#define ELITE_I2C
/*
* Read I2C example in
* http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/2_14_02_22/
* exports/tirtos_full_2_14_02_22/docs/doxygen/html/_i2_c_c_c26_x_x_8h.html
*
*/
#include <ti/drivers/I2C.h>
#include <ti/drivers/Power.h>
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
// I2C
static I2C_Handle I2Chandle;
static I2C_Params I2Cparams;
static I2C_Transaction i2cTrans;
#define I2CBufSize 4
static uint8_t I2CtxBuf[I2CBufSize]; // Transmit buffer
static uint8_t I2CrxBuf[I2CBufSize]; // Receive buffer
bool transferDone = false;
static void I2CCallbackFunction(I2C_Handle handle, I2C_Transaction *msg, bool transfer) {
if(transfer){
transferDone = true;
}
}
static void I2Cinit(){
I2C_init();
// Configure I2C parameters.
I2C_Params_init(&I2Cparams);
I2Cparams.transferMode = I2C_MODE_CALLBACK;
I2Cparams.transferCallbackFxn = I2CCallbackFunction;
I2Cparams.bitRate = I2C_100kHz;
// Initialize master I2C transaction structure
i2cTrans.writeCount = I2CBufSize;
i2cTrans.writeBuf = I2CtxBuf;
i2cTrans.readCount = I2CBufSize;
i2cTrans.readBuf = I2CrxBuf;
i2cTrans.slaveAddress = 0xA0;
for(int i=0 ; i<10 ; i++){
I2CtxBuf[i] = 0;
I2CrxBuf[i] = 0;
}
// Open I2C
I2Chandle = I2C_open(Board_I2C, &I2Cparams);
}
#define WriteMem 0b10100001
#define ReadMem 0b10100000
static void I2CWrite(uint8_t addr, uint8_t data){
for(int i=0 ; i<I2CBufSize ; i++){
I2CtxBuf[i] = 0;
I2CrxBuf[i] = 0;
}
I2CtxBuf[0] = WriteMem;
I2CtxBuf[1] = addr;
I2CtxBuf[2] = data;
// I2Chandle = I2C_open(Board_I2C, &I2Cparams);
I2C_transfer(I2Chandle, &i2cTrans);
// I2C_close(I2Chandle);
}
static void I2CRead(uint8_t addr){
for(int i=0 ; i<I2CBufSize ; i++){
I2CtxBuf[i] = 0;
I2CrxBuf[i] = 0;
}
I2CtxBuf[0] = ReadMem;
I2CtxBuf[1] = addr;
// I2Chandle = I2C_open(Board_I2C, &I2Cparams);
I2C_transfer(I2Chandle, &i2cTrans);
// I2C_close(I2Chandle);
}
#endif // ELITE_I2C
@@ -0,0 +1,84 @@
#ifndef ELITEIT
#define ELITEIT
#define absolute(a) ((a<0)? -a:a)
//static int32_t IT_Plot() {
// // read ADC current
// int32_t Real_Current = 0;
// ADCGainControl(INSTRUCTION.ADCGainLevel);
// ADCChannelSelect(ADC_CH_CURRENT);
// CPUdelay(10);
// ADC_read(spi_ADC_rxbuf);
//
// // check if ADC over/under flow
// // let the output saturate if over/under flow
//// ADC_overflow(INSTRUCTION.ADCGainLevel, spi_ADC_rxbuf);
//
// // decode ADC value and put it into notify buffer
// Real_Current = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
//
// return Real_Current;
//}
static int32_t IT_Plot(WorkMode *WorkModeData) {
switch (INSTRUCTION.eliteFxn) {
case IV_CURVE:{
#define CURRENT_MODE WorkModeData->IV
break;
}
case CV_CURVE:{
#define CURRENT_MODE WorkModeData->CV
break;
}
case IT_CURVE:{
#define CURRENT_MODE WorkModeData->IT
break;
}
default: {
#define CURRENT_MODE WorkModeData->IT
break;
}
}
// read ADC current
int32_t RealCurrent = 0, RealVolt = 0;
static uint8_t PreviousGain = GAIN_200R;
if(INSTRUCTION.AutoGainEnable){
RealCurrent = AutoGainReadCurrent(spi_ADC_rxbuf);
if(PreviousGain != INSTRUCTION.ADCGainLevel){
PreviousGain = INSTRUCTION.ADCGainLevel;
CURRENT_MODE->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
CURRENT_MODE->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
if(PreviousGain != INSTRUCTION.ADCGainLevel){
PreviousGain = INSTRUCTION.ADCGainLevel;
CURRENT_MODE->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
CURRENT_MODE->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
}
else{
ReadCurrent(spi_ADC_rxbuf);
RealCurrent = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
CURRENT_MODE->_MeasureData = RealCurrent;
// if(INSTRUCTION.eliteFxn == IV_CURVE){
// // RealVo = Vo - RealCurrent * 100R
// RealVolt = (INSTRUCTION.VoltConstant - DAC_ZERO)/5 - 200*(RealCurrent/1e6);
//
// NotifyVolt[0] = (uint8_t) (RealVolt >> 24);
// NotifyVolt[1] = (uint8_t) ((RealVolt & 0x00FF0000) >> 16);
// NotifyVolt[2] = (uint8_t) ((RealVolt & 0x0000FF00) >> 8);
// NotifyVolt[3] = (uint8_t) (RealVolt & 0x000000FF);
// }
return RealCurrent;
}
#endif
@@ -0,0 +1,208 @@
#ifndef ELITEIV
#define ELITEIV
static uint16_t VoltScan(WorkMode *WorkModeData) {
uint16_t Voltage;
if (INSTRUCTION.VoltOrigin == INSTRUCTION.VoltFinal) {
Voltage = Usercode_Correction_to_DAC(INSTRUCTION.VoltOrigin);
DAC_outputV(Voltage);
PeriodicEvent = false;
return Voltage;
} else if (INSTRUCTION.eliteFxn == SQUARE_WAVE_VOLTAMMETRY) {
Voltage = SWVCurve(WorkModeData);
} else if (INSTRUCTION.eliteFxn == DIFFERENTIAL_PULSE_VOLTAMMETRY) {
Voltage = DPVCurve(WorkModeData);
} else if (INSTRUCTION.eliteFxn == CV_CURVE) {
Voltage = CVCurve(WorkModeData->CV);
} else if (INSTRUCTION.eliteFxn == SQUARE_CURR) {
Voltage = SCCurve(WorkModeData->SC);
}
// IV plot mode
else {
Voltage = OneWayVoltScan(WorkModeData->IV);
}
return Voltage;
}
static uint16_t OneWayVoltScan(IVMode *IV) {
uint16_t DACOutCode;
// reset origin volt at the begin
if (DACReset) {
// DACUserCode = IV->GetVOrigin((struct VoltOutPara *) IV);
INSTRUCTION.VoltConstant = IV->_VOrigin;
DACOutCode = Usercode_Correction_to_DAC(INSTRUCTION.VoltConstant);
DACReset = false;
// output VOLT_ORIGIN
DAC_outputV(DACOutCode);
return DACOutCode;
}
if (CT.StepTimeCounter == IV->_StepTime){
if (IV->_VOrigin < IV->_VStop) {
// output the next output volt
INSTRUCTION.VoltConstant = INSTRUCTION.VoltConstant + IV->_Step;
// Only used in two-wire IV
// if(INSTRUCTION.VosltConstant > IV->_VStop){
// INSTRUCTION.VoltConstant = IV->_VStop;
// }
DACOutCode = Usercode_Correction_to_DAC(INSTRUCTION.VoltConstant);
DAC_outputV(DACOutCode);
// end IV task if we reach INSTRUCTION.VoltFinal
// if (INSTRUCTION.VoltConstant >= IV->_VStop) {
// PeriodicEvent = false;
// DACReset = true;
// }
} else {
INSTRUCTION.VoltConstant = INSTRUCTION.VoltConstant - IV->_Step;
// check if DACUserCode underflow
if(INSTRUCTION.VoltConstant >= 60000){
INSTRUCTION.VoltConstant = IV->_VStop;
}
// output the next output volt
DACOutCode = Usercode_Correction_to_DAC(INSTRUCTION.VoltConstant);
DAC_outputV(DACOutCode);
// end IV task if we reach INSTRUCTION.VoltFinal
// if (INSTRUCTION.VoltConstant <= IV->_VStop){
// PeriodicEvent = false;
// DACReset = true;
//// reset();
// }
}
if (IV->_VoVi_Switch == 0x00){ //user see Vout
if (IV->_VOrigin < IV->_VStop) {
if(INSTRUCTION.VoltConstant >= IV->_VStop){
PeriodicEvent = false;
DACReset = true;
}
}
else{
if(INSTRUCTION.VoltConstant <= IV->_VStop){
PeriodicEvent = false;
DACReset = true;
}
}
}
int32_t RealV;
RealV = DAC_to_realV(DACOutCode);
NotifyVolt[0] = (uint8_t)((RealV & 0xFF000000) >> 24);
NotifyVolt[1] = (uint8_t)((RealV & 0x00FF0000) >> 16);
NotifyVolt[2] = (uint8_t)((RealV & 0x0000FF00) >> 8);
NotifyVolt[3] = (uint8_t)(RealV & 0x000000FF);
}
return DACOutCode;
}
static void IV_Plot(IVMode *IV) {
static uint8_t VoltCurrentSwitch = 0;
static uint8_t PreviousGain = GAIN_200R;
uint16_t ADC_measure = 0;
if(VoltCurrentSwitch < 5){
ReadCurrent(spi_ADC_rxbuf);
VoltCurrentSwitch ++;
}
else if(VoltCurrentSwitch == 5){
// read current
if(INSTRUCTION.AutoGainEnable){
IV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
if(PreviousGain != INSTRUCTION.ADCGainLevel){
PreviousGain = INSTRUCTION.ADCGainLevel;
IV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
IV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
if(PreviousGain != INSTRUCTION.ADCGainLevel){
PreviousGain = INSTRUCTION.ADCGainLevel;
IV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
IV->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
}
else{
ReadCurrent(spi_ADC_rxbuf);
IV->_MeasureData = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
VoltCurrentSwitch ++;
}
// else if(VoltCurrentSwitch < 9){
// // read volt
// ReadVolt(spi_ADC_rxbuf);
// VoltCurrentSwitch++;
// }
// else if(VoltCurrentSwitch == 9){
// /** read battery voltage **/
// ReadVolt(spi_ADC_rxbuf);
// ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
// IV->MeasureVolt = DecodeADCVolt(ADC_measure);
// VoltCurrentSwitch++;
// }
else if(VoltCurrentSwitch < 9){
if(IV->_VoVi_Switch == 0x01){
// read volt
ReadVolt(spi_ADC_rxbuf);
}else if(IV->_VoVi_Switch == 0x00){
// read vout volt
ReadVoutVolt(spi_ADC_rxbuf);
}
VoltCurrentSwitch++;
}
else if(VoltCurrentSwitch == 9){
if(IV->_VoVi_Switch == 0x01){
/** read battery voltage **/
ReadVolt(spi_ADC_rxbuf);
ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
IV->MeasureVolt = DecodeADCVolt(ADC_measure);
}else if(IV->_VoVi_Switch == 0x00){
/** read vout voltage **/
ReadVoutVolt(spi_ADC_rxbuf);
ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
IV->MeasureVolt = DecodeADCVoutVolt(ADC_measure);
}
VoltCurrentSwitch++;
}
else{
VoltCurrentSwitch = 0;
}
NotifyCurrent[0] = (uint8_t) (IV->_MeasureData >> 24);
NotifyCurrent[1] = (uint8_t) ((IV->_MeasureData & 0x00FF0000) >> 16);
NotifyCurrent[2] = (uint8_t) ((IV->_MeasureData & 0x0000FF00) >> 8);
NotifyCurrent[3] = (uint8_t) (IV->_MeasureData & 0x000000FF);
if((IV->_VoVi_Switch == 0x01) || (IV->_VoVi_Switch == 0x00)){ //user see Vin || user see Vout
NotifyVolt[0] = (uint8_t) (IV->MeasureVolt >> 24);
NotifyVolt[1] = (uint8_t) ((IV->MeasureVolt & 0x00FF0000) >> 16);
NotifyVolt[2] = (uint8_t) ((IV->MeasureVolt & 0x0000FF00) >> 8);
NotifyVolt[3] = (uint8_t) (IV->MeasureVolt & 0x000000FF);
if (IV->_VOrigin < IV->_VStop) {
if(IV->MeasureVolt >= ((int32_t) (IV->_VStop) - DAC_ZERO)/5){
PeriodicEvent = false;
DACReset = true;
}
}
else{
if(IV->MeasureVolt <= ((int32_t) (IV->_VStop) - DAC_ZERO)/5){
PeriodicEvent = false;
DACReset = true;
}
}
}
}
#endif
@@ -0,0 +1,144 @@
#ifndef ELITEINSTRUCTION
#define ELITEINSTRUCTION
/** ADC gain level **/
#define GAIN_200K 0x00 // largest gain
#define GAIN_10K 0x01
#define GAIN_200R 0x02 // the least gain
#define GAIN_AUTO 0x03
/** Resister meter **/
#define RESISTER_METER_SMALL 0x00
#define RESISTER_METER_MIDDLE1 0x01
#define RESISTER_METER_MIDDLE2 0x02
#define RESISTER_METER_LARGE 0x03
/** CC mode parameter **/
// CurrentLV
#define CURRENT_LV_NA 0x00
#define CURRENT_LV_UA 0x01
#define CURRENT_LV_MA 0x02
/* DAC reset parameter */
#define DAC_ZERO 25000
#define DAC_ONEV 30000
#define DAC_POS_MAX 0x0000
#define DAC_NEG_MAX 0xFFFF
// Step time macro
#define STEPTIME_HALF_SEC 5000
#define STEPTIME_ONE_SEC 10000
#define STEPTIME_TWO_SEC 20000
/*==============================
==== headstage instruction ====
=============================*/
struct HEADSTAGE_INSTRUCTION {
/** chip ID */
uint8_t chip_id;
/** Sample rate **/
// SampleRate = SampleRateTable[SampleRateIndex]
uint8_t SampleRateIndex;
uint32_t SampleRate;
/** DAC parameter **/
// volt san parameter
uint16_t VoltOrigin;
uint16_t VoltFinal;
uint16_t Step;
uint16_t StepTime;
// constant volt
// which is used in CC mode as VMax and VMin
uint16_t VoltConstant;
/** ADC parameter **/
uint8_t ADCGainLevel;
uint8_t AutoGainEnable;
/** Notify parameter **/
uint16_t NotifyRate;
/** Constant Current Parameter **/
// Charge is a bool; true => current > 0, vice versa
uint8_t Charge;
int32_t ConstantCurrent;
uint16_t VoltLimit;
/** Resister Measure **/
uint8_t ResisterMeter;
// elite function
uint8_t eliteFxn;
uint8_t CycleNumber;
uint8_t VoVi_Switch;
// Square current curve
uint16_t Pulse_Period;
uint16_t Pulse_Length;
} INSTRUCTION = {0};
/*********************************************************************
* @fn InitEliteInstruction
*
* @brief Init all INSTRUCTION variable.
*
* @param None.
*
* @return None.
*/
static void InitEliteInstruction(){
INSTRUCTION.chip_id = 0;
INSTRUCTION.SampleRateIndex = 1;
INSTRUCTION.SampleRate = 100;
INSTRUCTION.VoltOrigin = DAC_ZERO;
INSTRUCTION.VoltFinal = DAC_ZERO;
INSTRUCTION.Step = 0x0005; // 0x0005 = 1mV
INSTRUCTION.StepTime = STEPTIME_ONE_SEC; // about 0.5 sec
INSTRUCTION.VoltConstant = DAC_ZERO; // is about 0V
INSTRUCTION.ADCGainLevel = GAIN_AUTO;
INSTRUCTION.AutoGainEnable = 1;
INSTRUCTION.NotifyRate = STEPTIME_ONE_SEC/10;
INSTRUCTION.ResisterMeter = RESISTER_METER_LARGE;
INSTRUCTION.Charge = 1;
INSTRUCTION.ConstantCurrent = 0x00000000;
INSTRUCTION.VoltLimit = 0x0000;
INSTRUCTION.eliteFxn = 0; // default is a null event
INSTRUCTION.CycleNumber = 0;
INSTRUCTION.VoVi_Switch = 0x01; //VoVi_Switch == 0 => user see Vo / VoVi_Switch == 1 => user see Vi
}
/*********************************************************************
* @fn GetInstructionParameter
*
* @brief Get Constant Current mode parameter.
*
* @param ins - instruction including current value and unit
*
* @return None.
*/
static void GetInstructionParameter(uint8 *ins){
// CurrentLV=0 => unit is nA
// CurrentLV=1 => unit is uA
// CurrentLV=2 => unit is mA
// INSTRUCTION.CurrentLV = (*ins);
// ConstantCurrentRange=0 => current value is 0~499
// ConstantCurrentRange=1 => current value is 500~999
// INSTRUCTION.ConstantCurrentRange = (*ins) & 0x0F;
// ConstantCurrent divide ConstantCurrentRange into 50000 count (thus each count is 0.01)
// e.g. 485.7 uA can be represent by
// CurrentLV = 1 (unit is uA)
// ConstantCurrentRange = 0 (current range is 0~499)
// ConstantCurrent = 48570
INSTRUCTION.ConstantCurrent = (uint32_t) (*(ins+1))<<24 | (uint32_t) (*(ins+2))<<16 | (uint32_t) (*(ins+3))<<8 | (uint32_t) (*(ins+4));
}
#endif
@@ -0,0 +1,70 @@
#ifndef ELITEKEYDETECT
#define ELITEKEYDETECT
#define CLOCK_ONE_SECOND 10000
static bool TurnOnElite(uint8_t key) {
static uint16_t TurnOnCounter = 0;
if (key == 0) {
// press 1 sec, power on LED
if (TurnOnCounter >= CLOCK_ONE_SECOND) {
PIN_setOutputValue(pin_handle, enable_5v, 1); // enable 5V
TurnOn10V();
LEDPowerON();
return true;
} else {
TurnOnCounter++;
return false;
}
} else {
TurnOnCounter = 0;
PIN_setOutputValue(pin_handle, enable_5v, 0); // enable 5V
return false;
}
}
static void EliteKeyPress(uint8_t key) {
static uint16_t ShutDownCounter = 0;
static uint8_t OriginEliteFxn = 0;
if (key == 0) {
// key = 0 if press
// press key => bight LED
if (ShutDownCounter == CLOCK_ONE_SECOND) {
KeyWorkModeLED();
}
// press 3~4 sec, shutdown 2650
else if (ShutDownCounter > (CLOCK_ONE_SECOND*3) ) {
LED_color(DARKLED, 0xFF, 0xFF, 0x00);
PIN_setOutputValue(pin_handle, enable_5v, 0); // disable 5V
}
ShutDownCounter ++;
} else {
if (OriginEliteFxn == INSTRUCTION.eliteFxn) { // old function == currunt instruction
if (ShutDownCounter != 0) {
// dark LED
WorkModeLED();
ShutDownCounter = 0;
}
} else { // old function != currunt instruction
OriginEliteFxn = INSTRUCTION.eliteFxn;
if (ShutDownCounter != 0) {
ShutDownCounter = 0;
}
// dark mode LED
WorkModeLED();
}
}
}
static void TurnOn10V() {
If10Von = true;
PIN_setOutputValue(pin_handle, enable_10v, 1);
CPUdelay(8000);
}
#endif
@@ -0,0 +1,138 @@
#ifndef ELITELED
#define ELITELED
#define DARKLED 0xE1
#define LIGHTLED 0xE8
static void LED_color(uint8_t bright, uint8_t red, uint8_t green, uint8_t blue);
#define LEDPowerON() LED_color(DARKLED, 0x00, 0xFA, 0x00)
#define WORKLED() LED_color(0xE2, 0x00, 0x40, 0x40)
#define KEYLED() LED_color(LIGHTLED, 0xF0, 0xA0, 0x00)
static void LED_color(uint8_t bright, uint8_t red, uint8_t green, uint8_t blue) {
spi_LEDtxbuf[0] = 0x0000;
spi_LEDtxbuf[1] = 0x0000;
for (int i = 2; i < SPI_LED_SIZE - 2; i += 2) {
spi_LEDtxbuf[i] = 0xE000 | ((uint16_t)bright << 8) | blue;
spi_LEDtxbuf[i + 1] = ((uint16_t)green << 8) | red;
}
spi_LEDtxbuf[SPI_LED_SIZE - 2] = 0xffff;
spi_LEDtxbuf[SPI_LED_SIZE - 1] = 0xffff;
LED_SPI(SPI_LED_SIZE, spi_LEDtxbuf, spi_LEDrxbuf);
}
static void WorkModeLED() {
switch (INSTRUCTION.eliteFxn) {
case IV_CURVE: {
WORKLED();
break;
}
case CV_CURVE: {
WORKLED();
break;
}
case DIFFERENTIAL_PULSE_VOLTAMMETRY: {
WORKLED();
break;
}
case SQUARE_WAVE_VOLTAMMETRY: {
WORKLED();
break;
}
case VOLT_OUTPUT: {
WORKLED();
break;
}
case ZT_CURVE: {
WORKLED();
break;
}
case VT_CURVE: {
WORKLED();
break;
}
case IT_CURVE: {
WORKLED();
break;
}
case CONSTANT_CURRENT:{
WORKLED();
break;
}
case VIS_RST: {
LEDPowerON();
break;
}
case ADC_TEST: {
WORKLED();
break;
}
case READ_VOUT_VALUE: {
WORKLED();
break;
}
default: {
LEDPowerON();
break;
}
}
}
static void KeyWorkModeLED() {
KEYLED();
/*
switch(INSTRUCTION.eliteFxn){
case IV_CURVE:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case CV_CURVE:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case DIFFERENTIAL_PULSE_VOLTAMMETRY:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case SQUARE_WAVE_VOLTAMMETRY:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case VOLT_OUTPUT:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case ZT_CURVE:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case VT_CURVE:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case IT_CURVE:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case VIS_RST:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
case ADC_TEST:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
default:{
LED_color(LIGHTLED, 0xF0, 0xF0, 0x00);
break;
}
}
*/
}
#endif
@@ -0,0 +1,135 @@
#ifndef ELITENOTIFY
#define ELITENOTIFY
#include "headstage.h"
/**
* notify data buffer.
* the length equals to the characteristic 4 which value is 20 bytes.
*
*/
#define NOT_BUF_OFFSET_INIT 8
/**
* the index where to start insert data into buffer.
* start from 6.
*/
static size_t not_buf_offset = NOT_BUF_OFFSET_INIT;
static uint32_t not_time_stamp;
static uint8_t NotifyCurrent[4] = {0};
static uint8_t NotifyVolt[4] = {0};
static uint8_t NotifyImpedance[4] = {0};
/**
* counter of notify send.
*/
static uint32_t notify_counter = 0;
// ****************** New Notify Format ******************************** //
/*
* Notify format
*
*
| | 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 |
| current |
| voltage or impedance |
| mode & gain |
| time stamp |
| cycle number |
mode & gain
this byte include Elite working mode and ADC gain level
we use "(mode & 0xF0) | (gain & 0x0F)" to encode these two information
cycle number
for cyclic voltammetry use, we save it as channel number.
0xFF
* header = device ID
* I = current (0.001nA), V = voltage (mV),
* Z = impedance (k ohm), T = time (ms)
*
*
*/
// ********* End New Format Notify ***************************************** //
/*
* Notify format
*
*
| | 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 |
| current |
| voltage |
| impedance |
| time stamp |
| cycle number |
cycle number
for cyclic voltammetry use, we save it as channel number.
0xFF
* header = device ID
* I = current (0.001nA), V = voltage (mV),
* Z = impedance (k ohm), T = time (ms)
*
*
*/
static void SendNotify() {
not_buf[0] = INSTRUCTION.chip_id;
for (int i = 0; i < 4; i++) {
not_buf[i + 1] = NotifyCurrent[i];
not_buf[i + 5] = NotifyVolt[i];
not_buf[i + 9] = NotifyImpedance[i];
}
// 1 Timestamp = 32 usec; 31 Timestamp ~= 1 msec
not_time_stamp = (Timestamp_get32()) / 31; // msec
not_buf[13] = not_time_stamp & 0xff;
not_buf[14] = (not_time_stamp >> 8) & 0xff;
not_buf[15] = (not_time_stamp >> 16) & 0xff;
not_buf[16] = (not_time_stamp >> 24) & 0xff;
// cyclic voltametry cycle number
not_buf[17] = INSTRUCTION.CycleNumber;
SimpleProfile_SetParameter(BLE_DAT_BUFF_CHAR, BLE_DAT_BUFF_SIZE, not_buf);
}
static void FlushNotify(){
not_buf[0] = INSTRUCTION.chip_id;
for (int i = 0; i < 4; i++) {
not_buf[i + 1] = 0;
not_buf[i + 5] = 0;
not_buf[i + 9] = 0;
}
// 1 Timestamp = 32 usec; 31 Timestamp ~= 1 msec
not_time_stamp = 0; // msec
not_buf[13] = not_time_stamp & 0xff;
not_buf[14] = (not_time_stamp >> 8) & 0xff;
not_buf[15] = (not_time_stamp >> 16) & 0xff;
not_buf[16] = (not_time_stamp >> 24) & 0xff;
// cyclic voltametry cycle number
not_buf[17] = 0x00;
SimpleProfile_SetParameter(BLE_DAT_BUFF_CHAR, BLE_DAT_BUFF_SIZE, not_buf);
}
#endif
@@ -0,0 +1,22 @@
#ifndef ELITERVout
#define ELITERVout
static void RVout_Plot(RVoutMode *RVout) {
// ADC gain is don't care when measuring voltage
INSTRUCTION.ADCGainLevel = GAIN_200R;
ADCGainControl(INSTRUCTION.ADCGainLevel);
// read ADC VoutVolt
ReadVoutVolt(spi_ADC_rxbuf);
// decode ADC value and put it into notify buffer
RVout->_MeasureData = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_DAC, spi_ADC_rxbuf);
NotifyVolt[0] = (uint8_t) (RVout->_MeasureData >> 24);
NotifyVolt[1] = (uint8_t) ((RVout->_MeasureData & 0x00FF0000) >> 16);
NotifyVolt[2] = (uint8_t) ((RVout->_MeasureData & 0x0000FF00) >> 8);
NotifyVolt[3] = (uint8_t) (RVout->_MeasureData & 0x000000FF);
}
#endif
@@ -0,0 +1,123 @@
#ifndef ELITERESET
#define ELITERESET
static void reset() {
InitFlag();
InitCT();
// IV/CV mode reset
DiscardIVFirstData = 0;
avg_number = 0;
ADCRealCurrent_long = 0;
ADCGainControl(INSTRUCTION.ADCGainLevel);
DAC_outputV(Usercode_Correction_to_DAC(INSTRUCTION.VoltConstant));
if (INSTRUCTION.eliteFxn == CONSTANT_CURRENT){
INSTRUCTION.eliteFxn = 0;
}
LEDPowerON();
for (int i = 0; i < BLE_INS_BUFF_SIZE; i++) {
ins_buf[i] = 0;
}
for (int i = 0; i < SPI_LED_SIZE; i++) {
spi_LEDtxbuf[i] = 0;
spi_LEDrxbuf[i] = 0;
}
for (int i = 0; i < SPI_DAC_SIZE; i++) {
spi_DACtxbuf[i] = 0;
spi_rxbuf[i] = 0;
}
for (int i = 0; i < SPI_ADC_SIZE; i++) {
spi_ADC_txbuf[i] = 0;
spi_ADC_rxbuf[i] = 0;
}
for (int i = 0; i < BLE_DAT_BUFF_SIZE; i++) {
not_buf[i] = 0;
}
PIN_setOutputValue(pin_handle, ADC_CS, 1); // ADC_CS HIGH
PIN_setOutputValue(pin_handle, DAC_CS, 1); // DAC_CS HIGH
CPUdelay(1600);
}
static void Eliteinterrupt() {
InitFlag();
InitCT();
// IV/CV mode reset
DiscardIVFirstData = 0;
avg_number = 0;
ADCRealCurrent_long = 0;
ADCGainControl(GAIN_AUTO);
DAC_outputV(Usercode_Correction_to_DAC(INSTRUCTION.VoltConstant));
LEDPowerON();
for (int i = 0; i < BLE_INS_BUFF_SIZE; i++) {
ins_buf[i] = 0;
}
for (int i = 0; i < SPI_LED_SIZE; i++) {
spi_LEDtxbuf[i] = 0;
spi_LEDrxbuf[i] = 0;
}
for (int i = 0; i < SPI_DAC_SIZE; i++) {
spi_DACtxbuf[i] = 0;
spi_rxbuf[i] = 0;
}
for (int i = 0; i < SPI_ADC_SIZE; i++) {
spi_ADC_txbuf[i] = 0;
spi_ADC_rxbuf[i] = 0;
}
for (int i = 0; i < BLE_DAT_BUFF_SIZE; i++) {
not_buf[i] = 0;
}
PIN_setOutputValue(pin_handle, ADC_CS, 1); // ADC_CS HIGH
PIN_setOutputValue(pin_handle, DAC_CS, 1); // DAC_CS HIGH
CPUdelay(8000);
}
static void CleanBuffer() {
InitFlag();
InitEliteInstruction();
InitCT();
DiscardIVFirstData = 0;
avg_number = 0;
ADCRealCurrent_long = 0;
for (int i = 0; i < SPI_LED_SIZE; i++) {
spi_LEDtxbuf[i] = 0;
spi_LEDrxbuf[i] = 0;
}
for (int i = 0; i < SPI_DAC_SIZE; i++) {
spi_DACtxbuf[i] = 0;
spi_rxbuf[i] = 0;
}
for (int i = 0; i < SPI_ADC_SIZE; i++) {
spi_ADC_txbuf[i] = 0;
spi_ADC_rxbuf[i] = 0;
}
for (int i = 0; i < BLE_DAT_BUFF_SIZE; i++) {
not_buf[i] = 0;
}
PIN_setOutputValue(pin_handle, ADC_CS, 1); // ADC_CS HIGH
PIN_setOutputValue(pin_handle, DAC_CS, 1); // DAC_CS HIGH
CPUdelay(8000);
}
#endif
@@ -0,0 +1,167 @@
#ifndef ELITESC
#define ELITESC
static uint16_t SCCurve(SCMode *SC) {
static uint16_t DACOutCode;
static bool direction_up; // direction_up = true, if Vfinal > Vorigin
static bool current_direction_up; // current_direction_up = true, Vstep => positive. vice versa
// reset origin volt at the begin
if (DACReset) {
DACUserCode = SC->_VOrigin;
DACOutCode = Usercode_Correction_to_DAC(DACUserCode);
DAC_outputV(DACOutCode); // output VOLT_ORIGIN
DACReset = false;
return DACOutCode;
}
if (CT.StepTimeCounter == SC->_StepTime) {
// if (CT.PulseLength_counter < SC->_pulsePeriod) {
// if (SC->_MeasureData < (1e8 - SC->_Step)){ // SC->_MeasureData == 1e8 => 0.1mA
// SC->_VStop += SC->_Step;
// }
// else if (SC->_MeasureData > (1e8 + SC->_Step)){
// SC->_VStop -= SC->_Step;
// }
//
// DACUserCode = SC->_VStop;
// }
// else if (CT.PulseLength_counter < SC->_pulseLength) {
// if (SC->_MeasureData < (0 - SC->_Step)){ // SC->_MeasureData == 0 => 0mA
// SC->_VOrigin += SC->_Step;
// }
// else if (SC->_MeasureData > (0 + SC->_Step)){
// SC->_VOrigin -= SC->_Step;
// }
//
// DACUserCode = SC->_VOrigin;
// }
//
//
// SC->_CycleNumber--;
// if (SC->_CycleNumber == 0){
// PeriodicEvent = false; // periodic event end
// DACReset = true;
// }
if (CT.PulseLength_counter < SC->_pulsePeriod) {
//if (SC->_MeasureData > 1e10){
//LED_color(DARKLED, 255, 0, 0); // red when _MeasureData is larger than 10mA
//}
DACUserCode = SC->_VOrigin;
}
else if (CT.PulseLength_counter < SC->_pulseLength) {
//if (SC->_MeasureData > 1e10){
//LED_color(DARKLED, 0, 0, 255); // blue when _MeasureData is larger than 10mA
//}
DACUserCode = SC->_VStop;
}
if (CT.PulseLength_counter == 1 ) SC->_CycleNumber--;
if (SC->_CycleNumber == 0){
PeriodicEvent = false; // periodic event end
DACReset = true;
}
DACOutCode = Usercode_Correction_to_DAC(DACUserCode);
DAC_outputV(DACOutCode);
}
return DACOutCode;
}
static void SC_Plot(SCMode *SC){
static uint8_t PreviousGain = GAIN_200R;
static uint8_t VoltCurrentSwitch = 0;
uint16_t ADC_measure = 0;
if(VoltCurrentSwitch < 5){
ReadCurrent(spi_ADC_rxbuf);
VoltCurrentSwitch ++;
}
else if(VoltCurrentSwitch == 5){
// read current
if(INSTRUCTION.AutoGainEnable){
SC->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
if(PreviousGain != INSTRUCTION.ADCGainLevel){
PreviousGain = INSTRUCTION.ADCGainLevel;
SC->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
SC->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
if(PreviousGain != INSTRUCTION.ADCGainLevel){
PreviousGain = INSTRUCTION.ADCGainLevel;
SC->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
SC->_MeasureData = AutoGainReadCurrent(spi_ADC_rxbuf);
}
}
else{
ReadCurrent(spi_ADC_rxbuf);
SC->_MeasureData = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
VoltCurrentSwitch ++;
}
// else if(VoltCurrentSwitch < 9){
// // read volt
// ReadVolt(spi_ADC_rxbuf);
// VoltCurrentSwitch++;
// }
// else if(VoltCurrentSwitch == 9){
// /** read battery voltage **/
// ReadVolt(spi_ADC_rxbuf);
// ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
// //SC->MeasureVolt = 20000;
// SC->MeasureVolt = DecodeADSColt(ADC_measure);
// VoltCurrentSwitch++;
// }
else if(VoltCurrentSwitch < 9){
if(SC->_VoVi_Switch == 0x01){
// read volt
ReadVolt(spi_ADC_rxbuf);
}else if(SC->_VoVi_Switch == 0x00){
// read vout volt
ReadVoutVolt(spi_ADC_rxbuf);
}
VoltCurrentSwitch++;
}
else if(VoltCurrentSwitch == 9){
if(SC->_VoVi_Switch == 0x01){
/** read battery voltage **/
ReadVolt(spi_ADC_rxbuf);
ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
//SC->MeasureVolt = 20000;
SC->MeasureVolt = DecodeADCVolt(ADC_measure);
}else if(SC->_VoVi_Switch == 0x00){
/** read vout voltage **/
ReadVoutVolt(spi_ADC_rxbuf);
ADC_measure = (uint16_t) (spi_ADC_rxbuf[0] << 8) | (uint16_t) (spi_ADC_rxbuf[1]);
SC->MeasureVolt = DecodeADCVoutVolt(ADC_measure);
}
VoltCurrentSwitch++;
}
else{
VoltCurrentSwitch = 0;
}
NotifyCurrent[0] = (uint8_t) (SC->_MeasureData >> 24);
NotifyCurrent[1] = (uint8_t) ((SC->_MeasureData & 0x00FF0000) >> 16);
NotifyCurrent[2] = (uint8_t) ((SC->_MeasureData & 0x0000FF00) >> 8);
NotifyCurrent[3] = (uint8_t) (SC->_MeasureData & 0x000000FF);
if ((SC->_VoVi_Switch == 0x01) || (SC->_VoVi_Switch == 0x00)){ //user see Vin || user see Vout
NotifyVolt[0] = (uint8_t) (SC->MeasureVolt >> 24);
NotifyVolt[1] = (uint8_t) ((SC->MeasureVolt & 0x00FF0000) >> 16);
NotifyVolt[2] = (uint8_t) ((SC->MeasureVolt & 0x0000FF00) >> 8);
NotifyVolt[3] = (uint8_t) (SC->MeasureVolt & 0x000000FF);
}
}
#endif
@@ -0,0 +1,88 @@
#ifndef ELITE_SPI
#define ELITE_SPI
/*
* Read SPI example in
* http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/tirtos/2_14_02_22/
* exports/tirtos_full_2_14_02_22/docs/doxygen/html/_s_p_i_c_c26_x_x_d_m_a_8h.html
*/
#include <Board.h>
#include <ti/drivers/SPI.h>
#include <ti/drivers/dma/UDMACC26XX.h>
#include <ti/drivers/spi/SPICC26XXDMA.h>
#include "Elite_PIN.h"
/* application use SPI parameters and buffers */
#define SPI_LED_SIZE 28
#define SPI_DAC_SIZE 3
#define SPI_ADC_SIZE 4
static uint16_t spi_LEDtxbuf[SPI_LED_SIZE] = {0};
static uint16_t spi_LEDrxbuf[SPI_LED_SIZE] = {0};
static uint8_t spi_DACtxbuf[SPI_DAC_SIZE] = {0};
static uint8_t spi_rxbuf[SPI_DAC_SIZE] = {0};
static uint8_t spi_ADC_txbuf[SPI_ADC_SIZE] = {0};
static uint8_t spi_ADC_rxbuf[SPI_ADC_SIZE] = {0};
/* system use SPI parameters */
static SPI_Handle spiHandle0 = NULL; // SPI0 = LED
static SPI_Handle spiHandle1 = NULL; // SPI1 = ADC +DAC
static SPI_Params spiParams0;
static SPI_Params spiParams1;
static SPI_Transaction LED_transaction;
static SPI_Transaction ADC_DAC_transaction;
static void Elite_SPI_init(){
SPI_init();
SPI_Params_init(&spiParams0);
spiParams0.bitRate = 2000; // 12k
spiParams0.mode = SPI_MASTER;
spiParams0.dataSize = 16;
spiParams0.frameFormat = SPI_POL0_PHA1;
spiHandle0 = SPI_open(Board_SPI0, &spiParams0); // LED SPI
SPI_Params_init(&spiParams1);
spiParams1.bitRate = 1000000; // 1M
spiParams1.mode = SPI_MASTER;
spiParams1.dataSize = 8;
spiParams1.frameFormat = SPI_POL0_PHA1;
spiHandle1 = SPI_open(Board_SPI1, &spiParams1); // ADC DAC SPI
}
static void LED_SPI(uint8_t length, uint16_t *spi_txbuf, uint16_t *spi_rxbuf) {
LED_transaction.count = length;
LED_transaction.txBuf = spi_txbuf;
LED_transaction.rxBuf = spi_rxbuf;
SPI_transfer(spiHandle0, &LED_transaction);
}
static void ADC_SPI(uint8_t length, uint8_t *spi_txbuf, uint8_t *spi_rxbuf) {
ADC_DAC_transaction.count = length;
ADC_DAC_transaction.txBuf = spi_txbuf;
ADC_DAC_transaction.rxBuf = spi_rxbuf;
PIN_setOutputValue(pin_handle, DAC_CS, 1); // DAC_CS HIGH
PIN_setOutputValue(pin_handle, ADC_CS, 0); // ADC_CS LOW
SPI_transfer(spiHandle1, &ADC_DAC_transaction);
PIN_setOutputValue(pin_handle, ADC_CS, 1); // ADC_CS HIGH
}
static void DAC_SPI(uint8_t length, uint8_t *spi_txbuf, uint8_t *spi_rxbuf) {
ADC_DAC_transaction.count = length;
ADC_DAC_transaction.txBuf = spi_txbuf;
ADC_DAC_transaction.rxBuf = spi_rxbuf;
PIN_setOutputValue(pin_handle, ADC_CS, 1); // ADC_CS HIGH
PIN_setOutputValue(pin_handle, DAC_CS, 0); // DAC_CS LOW
SPI_transfer(spiHandle1, &ADC_DAC_transaction);
PIN_setOutputValue(pin_handle, DAC_CS, 1); // DAC_CS HIGH
}
#endif // ELITE_SPI
@@ -0,0 +1,22 @@
#ifndef ELITEVT
#define ELITEVT
static void VT_Plot(VTMode *VT) {
// ADC gain is don't care when measuring voltage
INSTRUCTION.ADCGainLevel = GAIN_200R;
ADCGainControl(INSTRUCTION.ADCGainLevel);
// read ADC volt
ReadVolt(spi_ADC_rxbuf);
// decode ADC value and put it into notify buffer
VT->_MeasureData = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_VOLT, spi_ADC_rxbuf);
NotifyVolt[0] = (uint8_t) (VT->_MeasureData >> 24);
NotifyVolt[1] = (uint8_t) ((VT->_MeasureData & 0x00FF0000) >> 16);
NotifyVolt[2] = (uint8_t) ((VT->_MeasureData & 0x0000FF00) >> 8);
NotifyVolt[3] = (uint8_t) (VT->_MeasureData & 0x000000FF);
}
#endif
@@ -0,0 +1,721 @@
/**
*
* struct WorkMode{
* // Measure Only
* ITMode;
* VTMode;
*
* // Measure + VoltOut
* RTMode;
* IVMode;
* CVMode;
*
* // Volt out only
* VOutMode
* }
*
* -------------------------------
* // Measure Only
* struct ITMode{
* MeasureData
* SetMeasureData()
* GetMeasureData()
* }
*
* -------------------------------
* // VoltOut parameter
* stuct VOutMode{
* Vout_UC
* VoltOrigin
* Vstop;
* Step;
* StepTime;
* CycleNumber;
* }
*
*/
#ifndef ELITE_WORK_DATA
#define ELITE_WORK_DATA
#include "EliteInstruction.h"
#define IV_CURVE 0b11110001
#define CV_CURVE 0b00100000
#define VOLT_OUTPUT 0b00110000
#define ZT_CURVE 0b01000000
#define VT_CURVE 0b01010000
#define IT_CURVE 0b01100000
#define SET_SAMPLE_RATE 0b01110000
#define SET_ADC_GAIN 0b10000000
#define DIFFERENTIAL_PULSE_VOLTAMMETRY 0b10100000
#define SQUARE_WAVE_VOLTAMMETRY 0b10110000
#define POTENTIAL_STATE 0b11000000
#define CONSTANT_CURRENT 0b11010000
#define READ_VOUT_VALUE 0b11100000
#define SQUARE_CURR 0b00010000
static bool Free_Work_Mode = false;
typedef void (*InitWorkData) ();
/***** Template of Measure and VoltOut parameter *****/
#define MEASURE \
int32_t _MeasureData; \
uint16_t _VoVi_Switch
// void (*SetMeasureData) (struct Measure *, int32_t); \
// int32_t (*GetMeasureData) (struct Measure *)
/* VoltOut is an UserCode */
/* VOrigin, VStop, Step are all UserCode */
#define VOUT_PARA \
uint16_t _VoltOut; \
uint16_t _VOrigin; \
uint16_t _VStop; \
uint16_t _Step; \
uint16_t _StepTime; \
uint16_t _CycleNumber
// void (*SetVoltOut) (struct VoltOutPara *, uint16_t); \
// uint16_t (*GetVoltOut) (struct VoltOutPara *); \
// void (*SetVOrigin) (struct VoltOutPara *, uint16_t); \
// uint16_t (*GetVOrigin) (struct VoltOutPara *); \
// void (*SetVStop) (struct VoltOutPara *, uint16_t); \
// uint16_t (*GetVStop) (struct VoltOutPara *); \
// void (*SetStep) (struct VoltOutPara *, uint16_t); \
// uint16_t (*GetStep) (struct VoltOutPara *); \
// void (*SetStepTime) (struct VoltOutPara *, uint16_t); \
// uint16_t (*GetStepTime) (struct VoltOutPara *); \
// void (*SetCycleNumber) (struct VoltOutPara *, uint16_t); \
// uint16_t (*GetCycleNumber) (struct VoltOutPara *)
/* CC Mode parameter
* @ Measure : measure current value (nA)
* @ Charge : Charge or Discharge
* @ BatteryV : Vin measure battery voltage (mV)
* @ value : constant current setting.
* Current value divide current level into 3,000,001 pieces
* 1,500,000 is zero point; 3,000,000 is 15mA
* Current = (value - 1,500,000)/100,000 mA
* @ Done : Done = false => Ignore Vmin condition;
* Done will be true, if BatteryV <= Vmin last for about 12sec in discharge mode
* @ VMax : voltage upper bound in charge mode
* CC->value will set to zero if BatteryV >= VMax in charge mode
* @ VMin : voltage lower bound in charge mode
* CC->value will set to zero if BatteryV <=> VMin in charge mode
* Note that VMax and VMin are always larger or equal to zero
* @_Transform2RealnA : transform a current user code (IUC) to real current in nA
*/
#define CC_PARA \
MEASURE; \
uint8_t Charge; \
int32_t BatteryV; \
int32_t value; \
uint16_t Done; \
uint16_t VMax; \
uint16_t VMin; \
int32_t (*_Transform2RealnA)(struct CCModePara *)
#define LIMIT \
uint32_t _LimitValue; \
void (*SetLimitValue) (struct Limit *, uint32_t); \
uint32_t (*GetLimitValue) (struct Limit*)
struct Measure{
MEASURE;
};
struct VoltOutPara{
VOUT_PARA;
};
struct Limit{
LIMIT;
};
struct CCModePara{
CC_PARA;
};
/***** End of Measure and VoltOut parameter *****/
/***** Measure Only Mode *****/
//void _SetMeasureData(struct Measure *self, int32_t Data){
// self->_MeasureData = Data;
//}
//
//int32_t _GetMeasureData(struct Measure *self){
// return self->_MeasureData;
//}
/**** Limit Mode ****/
//LimitValue
void _SetLimitValue(struct Limit *self, uint32_t LimitValue){
self->_LimitValue = LimitValue;
}
uint32_t _GetLimitValue(struct Limit *self){
return self->_LimitValue;
}
/* IT Mode Data */
typedef struct _ITMode{
MEASURE;
LIMIT;
}ITMode;
ITMode * InitITMode(){
ITMode *ret = malloc(sizeof(ITMode));
ret->_MeasureData = 0;
// ret->SetMeasureData = &_SetMeasureData;
// ret->GetMeasureData = &_GetMeasureData;
ret->_LimitValue = 0;
ret->SetLimitValue = &_SetLimitValue;
ret->GetLimitValue = &_GetLimitValue;
return ret;
}
/* End of IT Mode Data */
/* VT Mode Data */
typedef struct _VTMode{
MEASURE;
}VTMode;
VTMode * InitVTMode(){
VTMode *ret = malloc(sizeof(VTMode));
ret->_MeasureData = 0;
// ret->SetMeasureData = &_SetMeasureData;
// ret->GetMeasureData = &_GetMeasureData;
return ret;
}
/* End of VT Mode Data */
/* ReadVOut Mode Data */
typedef struct _RVoutMode{
MEASURE;
}RVoutMode;
RVoutMode * InitTVMode(){
RVoutMode *ret = malloc(sizeof(RVoutMode));
ret->_MeasureData = 0;
// ret->SetMeasureData = &_SetMeasureData;
// ret->GetMeasureData = &_GetMeasureData;
return ret;
}
/* End of ReadVOut Mode Data */
/***** End of Measure Only Mode *****/
/**** VoltOut Only Mode ****/
//// VoltOut
//void _SetVoltOut(struct VoltOutPara *self, uint16_t VoltOut){
// self->_VoltOut = VoltOut;
//}
//uint16_t _GetVoltOut(struct VoltOutPara *self){
// return self->_VoltOut;
//}
//
//// VOrigin
//void _SetVOrigin(struct VoltOutPara *self, uint16_t VOrigin){
// self->_VOrigin = VOrigin;
//}
//uint16_t _GetVOrigin(struct VoltOutPara *self){
// return self->_VOrigin;
//}
//
//// VStop
//void _SetVStop(struct VoltOutPara *self, uint16_t VStop){
// self->_VStop = VStop;
//}
//uint16_t _GetVStop(struct VoltOutPara *self){
// return self->_VStop;
//}
//
//// Step
//void _SetStep(struct VoltOutPara *self, uint16_t Step){
// self->_Step = Step;
//}
//uint16_t _GetStep(struct VoltOutPara *self){
// return self->_Step;
//}
//
//// StepTime
//void _SetStepTime(struct VoltOutPara *self, uint16_t StepTime){
// self->_StepTime = StepTime;
//}
//uint16_t _GetStepTime(struct VoltOutPara *self){
// return self->_StepTime;
//}
//
//// CycleNumber
//void _SetCycleNumber(struct VoltOutPara *self, uint16_t CycleNumber){
// self->_CycleNumber = CycleNumber;
//}
//uint16_t _GetCycleNumber(struct VoltOutPara *self){
// return self->_CycleNumber;
//}
/* VoltOut Mode Data */
typedef struct _VoltOutMode{
VOUT_PARA;
}VoltOutMode;
VoltOutMode *InitVoltOutMode(){
VoltOutMode *ret = malloc(sizeof(VoltOutMode));
ret->_VoltOut = INSTRUCTION.VoltConstant; // 25000 is DAC_ZERO
ret->_VOrigin = DAC_ZERO;
ret->_VStop = DAC_ZERO;
ret->_Step = 0;
ret->_StepTime = 10000; // STEPTIME_ONE_SEC
ret->_CycleNumber = 1;
// ret->SetVoltOut = &_SetVoltOut;
// ret->GetVoltOut = &_GetVoltOut;
// ret->SetVOrigin = &_SetVOrigin;
// ret->GetVOrigin = &_GetVOrigin;
// ret->SetVStop = &_SetVStop;
// ret->GetVStop = &_GetVStop;
// ret->SetStep = &_SetStep;
// ret->GetStep = &_GetStep;
// ret->SetStepTime = &_SetStepTime;
// ret->GetStepTime = &_GetStepTime;
// ret->SetCycleNumber = &_SetCycleNumber;
// ret->GetCycleNumber = &_GetCycleNumber;
return ret;
}
/* End of VoltOut Mode Data */
/**** End of VoltOut Only Mode ****/
/**** Measure + VoltOut Mode ****/
/* IV Mode Data */
typedef struct _IVMode{
MEASURE;
int32_t MeasureVolt;
VOUT_PARA;
LIMIT;
}IVMode;
IVMode *InitIVMode(){
IVMode *ret = malloc(sizeof(IVMode));
ret->_MeasureData = 0;
ret->MeasureVolt = (INSTRUCTION.VoltOrigin - DAC_ZERO)/5;
ret->_VoVi_Switch = INSTRUCTION.VoVi_Switch;
ret->_VoltOut = DAC_ZERO;
ret->_VOrigin = INSTRUCTION.VoltOrigin;
ret->_VStop = INSTRUCTION.VoltFinal;
ret->_Step = INSTRUCTION.Step;
ret->_StepTime = INSTRUCTION.StepTime;
ret->_CycleNumber = 1;
// ret->SetVoltOut = &_SetVoltOut;
// ret->GetVoltOut = &_GetVoltOut;
// ret->SetVOrigin = &_SetVOrigin;
// ret->GetVOrigin = &_GetVOrigin;
// ret->SetVStop = &_SetVStop;
// ret->GetVStop = &_GetVStop;
// ret->SetStep = &_SetStep;
// ret->GetStep = &_GetStep;
// ret->SetStepTime = &_SetStepTime;
// ret->GetStepTime = &_GetStepTime;
// ret->SetCycleNumber = &_SetCycleNumber;
// ret->GetCycleNumber = &_GetCycleNumber;
ret->_LimitValue = 1e5;
ret->SetLimitValue = &_SetLimitValue;
ret->GetLimitValue = &_GetLimitValue;
return ret;
}
/* End of IV Mode Data */
/* RT Mode Data */
typedef struct _RTMode{
MEASURE;
VOUT_PARA;
}RTMode;
RTMode * InitRTMode(){
RTMode *ret = malloc(sizeof(RTMode));
ret->_MeasureData = 0;
// ret->SetMeasureData = &_SetMeasureData;
// ret->GetMeasureData = &_GetMeasureData;
ret->_VoltOut = DAC_ZERO; // 25000 is DAC_ZERO
ret->_VOrigin = DAC_ZERO;
ret->_VStop = DAC_ZERO;
ret->_Step = 0;
ret->_StepTime = 10000; // STEPTIME_ONE_SEC
ret->_CycleNumber = 1;
// ret->SetVoltOut = &_SetVoltOut;
// ret->GetVoltOut = &_GetVoltOut;
// ret->SetVOrigin = &_SetVOrigin;
// ret->GetVOrigin = &_GetVOrigin;
// ret->SetVStop = &_SetVStop;
// ret->GetVStop = &_GetVStop;
// ret->SetStep = &_SetStep;
// ret->GetStep = &_GetStep;
// ret->SetStepTime = &_SetStepTime;
// ret->GetStepTime = &_GetStepTime;
// ret->SetCycleNumber = &_SetCycleNumber;
// ret->GetCycleNumber = &_GetCycleNumber;
return ret;
}
/* End of RT Mode Data */
/* CV Mode*/
typedef struct _CVMode{
MEASURE;
int32_t MeasureVolt;
VOUT_PARA;
}CVMode;
CVMode * InitCVMode(){
CVMode *ret = malloc(sizeof(CVMode));
ret->_MeasureData = (INSTRUCTION.VoltOrigin- DAC_ZERO)/5;
// ret->SetMeasureData = &_SetMeasureData;
// ret->GetMeasureData = &_GetMeasureData;
ret->MeasureVolt = 20000;
ret->_VoltOut = DAC_ZERO; // 25000 is DAC_ZERO
ret->_VOrigin = INSTRUCTION.VoltOrigin;
ret->_VStop = INSTRUCTION.VoltFinal;
ret->_Step = INSTRUCTION.Step;
ret->_StepTime = INSTRUCTION.StepTime; // STEPTIME_ONE_SEC
ret->_CycleNumber = INSTRUCTION.CycleNumber;
ret->_VoVi_Switch = INSTRUCTION.VoVi_Switch;
// ret->SetVoltOut = &_SetVoltOut;
// ret->GetVoltOut = &_GetVoltOut;
// ret->SetVOrigin = &_SetVOrigin;
// ret->GetVOrigin = &_GetVOrigin;
// ret->SetVStop = &_SetVStop;
// ret->GetVStop = &_GetVStop;
// ret->SetStep = &_SetStep;
// ret->GetStep = &_GetStep;
// ret->SetStepTime = &_SetStepTime;
// ret->GetStepTime = &_GetStepTime;
// ret->SetCycleNumber = &_SetCycleNumber;
// ret->GetCycleNumber = &_GetCycleNumber;
return ret;
}
/*End of CV Mode*/
/* SC Mode Data */ // SC mode => Square Current Mode
typedef struct _SCMode{
MEASURE;
int32_t MeasureVolt;
VOUT_PARA;
LIMIT;
uint16_t _pulseLength;
uint16_t _pulsePeriod;
}SCMode;
SCMode *InitSCMode(){
SCMode *ret = malloc(sizeof(SCMode));
ret->_MeasureData = 0;
ret->MeasureVolt = (INSTRUCTION.VoltOrigin - DAC_ZERO)/5;
// ret->_VoltOut = DAC_ZERO;
// ret->_VOrigin = DAC_ZERO;
// ret->_VStop = DAC_ONEV;;
// ret->_Step = 500; // approximately 10mV
// ret->_CycleNumber = 10;
// // ret->_StepTime = INSTRUCTION.StepTime;
// // ret->_pulseLength = INSTRUCTION.Pulse_Length; // this is pulse length, should be STEPTIME_ONE_SEC/10 or STEPTIME_ONE_SEC
// // ret->_pulsePeriod = INSTRUCTION.Pulse_Period; // this is pulse period, should be STEPTIME_ONE_SEC/100 or STEPTIME_ONE_SEC/10
//
// ret->_pulseLength = STEPTIME_ONE_SEC / 10; // this is pulse length, should be STEPTIME_ONE_SEC/10 or STEPTIME_ONE_SEC
// ret->_pulsePeriod = STEPTIME_ONE_SEC / 100; // this is pulse period, should be STEPTIME_ONE_SEC/100 or STEPTIME_ONE_SEC/10
// ret->_StepTime = STEPTIME_ONE_SEC / 1000;
//
ret->_VOrigin = INSTRUCTION.VoltOrigin;
ret->_VStop = INSTRUCTION.VoltFinal;;
ret->_Step = INSTRUCTION.Step; // approximately 10mV
ret->_CycleNumber = 100;
ret->_StepTime = INSTRUCTION.StepTime;
ret->_pulsePeriod = INSTRUCTION.Pulse_Period; // this is pulse period, should be STEPTIME_ONE_SEC/100 or STEPTIME_ONE_SEC/10
ret->_pulseLength = INSTRUCTION.Pulse_Length; // this is pulse length, should be STEPTIME_ONE_SEC/10 or STEPTIME_ONE_SEC
// ret->SetVoltOut = &_SetVoltOut;
// ret->GetVoltOut = &_GetVoltOut;
// ret->SetVOrigin = &_SetVOrigin;
// ret->GetVOrigin = &_GetVOrigin;
// ret->SetVStop = &_SetVStop;
// ret->GetVStop = &_GetVStop;
// ret->SetStep = &_SetStep;
// ret->GetStep = &_GetStep;
// ret->SetStepTime = &_SetStepTime;
// ret->GetStepTime = &_GetStepTime;
// ret->SetCycleNumber = &_SetCycleNumber;
// ret->GetCycleNumber = &_GetCycleNumber;
ret->_LimitValue = 1e5;
ret->SetLimitValue = &_SetLimitValue;
ret->GetLimitValue = &_GetLimitValue;
return ret;
}
/* End of SC Mode Data */
/* Const Current Mode */
#define CC_ZERO_POINT 0
#define MAX_DAC_UC 50000
#define MIN_DAC_UC 0
/*********************************************************************
* @struct Constant Current Code
*
* @brief A struct to handle CC mode command
*/
typedef struct _CCMode{
CC_PARA;
}CCMode;
/*********************************************************************
* @fn Transform2RealnA
*
* @brief transform an IUC into real current value in nA.
*
* @param self, which is an IUC
*
* @return an int32_t current value in nA
*/
int32_t _Transform2RealnA(struct CCModePara *self){
int32_t IUCReal;
// self->value : 0 ~ 1500000 (which is 0 ~ 1500000 (10nA) )
if(self->Charge){
IUCReal = (self->value - CC_ZERO_POINT) * 10;
}
else{
IUCReal = -1 * (self->value - CC_ZERO_POINT) * 10;
}
return IUCReal;
}
CCMode * InitCCMode(){
CCMode *ret = malloc(sizeof(CCMode));
ret->_MeasureData = 0;
ret->Charge = INSTRUCTION.Charge;
ret->BatteryV = 0;
ret->Done = 0;
ret->value = INSTRUCTION.ConstantCurrent;
ret->VMax = INSTRUCTION.VoltLimit + DAC_ZERO;
ret->VMin = INSTRUCTION.VoltLimit + DAC_ZERO;
ret->_Transform2RealnA = &_Transform2RealnA;
return ret;
}
/*End of Const Current Mode Mode*/
/* Cycle CC Mode */
typedef struct _CCCMode{
CC_PARA;
/* Vmax and Vmin */
// Vmax protect battery charge
// Vmin protect battery discharge, uint = mV
/* Charge/Discharge Current */
int32_t ChargeCurrent;
int32_t DischargeCurrent;
uint8_t CycleNumber;
bool StandBy;
uint32_t StandByTime;
}CCCMode;
CCCMode * InitCCCMode(){
CCCMode *ret = malloc(sizeof(CCCMode));
ret->_MeasureData = 0;
ret->Charge = 1;
ret->BatteryV = 0;
ret->value = CC_ZERO_POINT;
ret->VMax = MAX_DAC_UC; // max DAC UserCode
ret->VMin = MIN_DAC_UC; // min DAC UserCode
ret->ChargeCurrent = 0;
ret->DischargeCurrent = 0;
ret->CycleNumber = 0;
ret->StandBy = false;
ret->StandByTime = 0;
ret->_Transform2RealnA = &_Transform2RealnA;
return ret;
}
/* End of Cycle CC Mode */
/** Potential State Mode **/
typedef struct _PS{
// measure
MEASURE; // circuit current
int32_t ReferenceVolt;
int32_t _MeasureVolt;
VOUT_PARA;
}PSMode;
PSMode *InitPSMode(){
PSMode *ret = malloc(sizeof(PSMode));
ret->_MeasureData = 0;
// ret->SetMeasureData = &_SetMeasureData;
// ret->GetMeasureData = &_GetMeasureData;
ret->ReferenceVolt = 0;
ret->_MeasureVolt = INSTRUCTION.VoltOrigin;
ret->_VoltOut = DAC_ZERO; // 25000 is DAC_ZERO
ret->_VOrigin = INSTRUCTION.VoltOrigin;
ret->_VStop = INSTRUCTION.VoltFinal;
ret->_Step = INSTRUCTION.Step;
ret->_StepTime = INSTRUCTION.StepTime; // STEPTIME_ONE_SEC
ret->_CycleNumber = INSTRUCTION.CycleNumber;
return ret;
}
/** End of Potential State Mode **/
typedef union _WorkMode{
// Measure only
ITMode *IT;
VTMode *VT;
// Output Only
VoltOutMode *VO;
// Measure + Output
IVMode *IV;
CVMode *CV;
RTMode *RT;
CCMode *CC;
SCMode *SC;
// CCCMode *CCC;
PSMode *PS;
RVoutMode *RVout;
}WorkMode;
WorkMode *CreateWorkMode(){
WorkMode *ret = malloc(sizeof(WorkMode));
return ret;
}
void InitWorkMode(WorkMode *WM){
switch(INSTRUCTION.eliteFxn){
case IV_CURVE:
WM->IV = InitIVMode();
break;
case CV_CURVE:
WM->CV = InitCVMode();
break;
case VOLT_OUTPUT:
WM->VO = InitVoltOutMode();
break;
case ZT_CURVE:
WM->RT = InitRTMode();
break;
case VT_CURVE:
WM->VT = InitVTMode();
break;
case IT_CURVE:
WM->IT = InitITMode();
break;
case CONSTANT_CURRENT:
WM->CC = InitCCMode();
break;
// case CYCLE_CONSTANT_CURRENT:
// WM->CCC = InitCCCMode();
// break;
case READ_VOUT_VALUE:
WM->RVout = InitTVMode();
break;
case SQUARE_CURR:
WM->SC = InitSCMode();
break;
default:
WM->VT = InitVTMode();
break;
}
}
void FreeWorkMode(WorkMode *WM){
switch(INSTRUCTION.eliteFxn){
case IV_CURVE:
if(WM->IV != NULL){
free(WM->IV);
WM->IV = NULL;
}
break;
case CV_CURVE:
if(WM->CV != NULL){
free(WM->CV);
WM->CV = NULL;
}
break;
case VOLT_OUTPUT:
if(WM->VO != NULL){
free(WM->VO);
WM->VO = NULL;
}
break;
case ZT_CURVE:
if(WM->RT != NULL){
free(WM->RT);
WM->RT = NULL;
}
break;
case VT_CURVE:
if(WM->VT != NULL){
free(WM->VT);
WM->VT = NULL;
}
break;
case IT_CURVE:
if(WM->IT != NULL){
free(WM->IT);
WM->IT = NULL;
}
break;
case CONSTANT_CURRENT:
if(WM->CC != NULL){
free(WM->CC);
WM->CC = NULL;
}
break;
case READ_VOUT_VALUE:
if(WM->RVout != NULL){
free(WM->RVout);
WM->RVout = NULL;
}
break;
case SQUARE_CURR:
if(WM->SC != NULL){
free(WM->SC);
WM->SC = NULL;
}
break;
// case CYCLE_CONSTANT_CURRENT:
// if(WM->CCC != NULL){
// free(WM->CCC);
// WM->CCC = NULL;
// }
// break;
default:
if(WM->IV != NULL){
free(WM->IV);
WM->IV = NULL;
}
break;
}
// free(WM);
}
#endif
@@ -0,0 +1,109 @@
#ifndef ELITEZT
#define ELITEZT
static void ZT_notify(int32_t impedance);
// output a certain voltage e.g. 2v
// and measure the input voltage
// => calculate the resister
// change the output voltage step
// => get a R-T curve (with resolution = 1 sample/volt step )
static void ZT_Plot(RTMode *RT) {
// int32_t Real_Resister = 0;
// static uint16_t CurrentMeasure=0, VoltMeasure=0;
// uint8_t SPICurrent[SPI_ADC_SIZE]={0}, SPIVolt[SPI_ADC_SIZE]={0};
// static uint8_t VoltCurrentSwitch = 0;
int32_t volt_32 = 0;
int32_t current_32 = 0;
int32_t resister_32 = 0;
if(INSTRUCTION.AutoGainEnable){
current_32 = AutoGainReadCurrent(spi_ADC_rxbuf);
}
else{
ReadCurrent(spi_ADC_rxbuf);
current_32 = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
volt_32 = User2Real(INSTRUCTION.VoltConstant)*1e4;
// ReadVolt(SPIVolt);
// VoltMeasure = (uint16_t) (SPIVolt[0] << 8) | (uint16_t) (SPIVolt[1]);
// volt_32 = DecodeADCVolt(VoltMeasure)*1e4;
resister_32 = volt_32 / current_32;
volt_32 = volt_32 / 1e4;
NotifyVolt[0] = (uint8_t) (volt_32 >> 24);
NotifyVolt[1] = (uint8_t) ((volt_32 & 0x00FF0000) >> 16);
NotifyVolt[2] = (uint8_t) ((volt_32 & 0x0000FF00) >> 8);
NotifyVolt[3] = (uint8_t) (volt_32 & 0x000000FF);
NotifyCurrent[0] = (uint8_t) (current_32 >> 24);
NotifyCurrent[1] = (uint8_t) ((current_32 & 0x00FF0000) >> 16);
NotifyCurrent[2] = (uint8_t) ((current_32 & 0x0000FF00) >> 8);
NotifyCurrent[3] = (uint8_t) (current_32 & 0x000000FF);
NotifyImpedance[0] = (uint8_t) (resister_32 >> 24);
NotifyImpedance[1] = (uint8_t) ((resister_32 & 0x00FF0000) >> 16);
NotifyImpedance[2] = (uint8_t) ((resister_32 & 0x0000FF00) >> 8);
NotifyImpedance[3] = (uint8_t) (resister_32 & 0x000000FF);
// set ADC GAIN
// if(INSTRUCTION.ResisterMeter == RESISTER_METER_LARGE){
// INSTRUCTION.ADCGainLevel = GAIN_200R;
// }
// else if(INSTRUCTION.ResisterMeter == RESISTER_METER_MIDDLE2){
// INSTRUCTION.ADCGainLevel = GAIN_200R;
// }
// else if(INSTRUCTION.ResisterMeter == RESISTER_METER_MIDDLE1){
// INSTRUCTION.ADCGainLevel = GAIN_10K;
// }
// else{
// INSTRUCTION.ADCGainLevel = GAIN_200K;
// }
// ADCGainControl(INSTRUCTION.ADCGainLevel);
// Use 9-th measure value as real-measure value
// because some value in the begin are garbage
// if(VoltCurrentSwitch < 9){
// ADCChannelSelect(ADC_CH_CURRENT);
// CPUdelay(10);
// ADC_read(SPICurrent);
// VoltCurrentSwitch ++;
// }
// else if(VoltCurrentSwitch == 9){
// // read current
// ADCChannelSelect(ADC_CH_CURRENT);
// CPUdelay(10);
// ADC_read(SPICurrent);
// CurrentMeasure = (uint16_t) (SPICurrent[0] << 8) | (uint16_t) (SPICurrent[1]);
// VoltCurrentSwitch ++;
// }
// else if(VoltCurrentSwitch <18){
// // read volt
// ADCChannelSelect(ADC_CH_VOLT);
// CPUdelay(10);
// ADC_read(SPIVolt);
// VoltCurrentSwitch++;
// }
// else if(VoltCurrentSwitch == 18){
// // read volt
// ADCChannelSelect(ADC_CH_VOLT);
// CPUdelay(10);
// ADC_read(SPIVolt);
// VoltMeasure = (uint16_t) (SPIVolt[0] << 8) | (uint16_t) (SPIVolt[1]);
// VoltCurrentSwitch++;
// }
// else{
// VoltCurrentSwitch = 0;
// }
// decode ADC value and put it into notify buffer
// DecodeResister(INSTRUCTION.ADCGainLevel, CurrentMeasure, VoltMeasure);
// Real_Resister = DecodeADCValue(INSTRUCTION.ADCGainLevel, ADC_CH_CURRENT, spi_ADC_rxbuf);
}
#endif
@@ -0,0 +1,190 @@
#ifndef Elite_PIN
#define Elite_PIN
#include <ti/drivers/pin/PINCC26XX.h>
#include <Board.h>
#include <ti/drivers/PIN.h>
/* SPI Board */
#define Board_SPI0_MISO PIN_UNASSIGNED
#define Board_SPI0_MOSI IOID_1
#define Board_SPI0_CLK IOID_0
#define Board_SPI0_CS PIN_UNASSIGNED
#define Board_SPI1_MISO IOID_3
#define Board_SPI1_MOSI IOID_2
#define Board_SPI1_CLK IOID_4
#define Board_SPI1_CS PIN_UNASSIGNED
#define ADC_CS IOID_8
#define DAC_CS IOID_9
#define Turnon200R IOID_5
#define Turnon10K IOID_6
/* I2C */
#ifdef ELITE_VERSION_1_4
#define Board_I2C0_SCL0 IOID_7
#define Board_I2C0_SDA0 IOID_1
#endif
#define shutdown_6994 IOID_10
#define switch_on IOID_11
#define enable_10v IOID_12
#define enable_5v IOID_13
PIN_Handle pin_handle;
static PIN_State ZM_rst;
const PIN_Config BLE_IO[] = {
//
ADC_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, // ADC_CS
DAC_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, // DAC_CS
enable_10v | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, // 10V_enable
enable_5v | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, // 5V_enable
shutdown_6994 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, // turn off power
Turnon200R | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
Turnon10K | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
switch_on | PIN_INPUT_EN | PIN_PULLDOWN,
PIN_TERMINATE
};
/*!
* @def BOOSTXL_CC2650MA_SPIName
* @brief Enum of SPI names on the CC2650 Booster Pack
*/
typedef enum BOOSTXL_CC2650MA_SPIName {
BOOSTXL_CC2650MA_SPI0 = 0,
BOOSTXL_CC2650MA_SPI1 = 1,
BOOSTXL_CC2650MA_SPICOUNT
} BOOSTXL_CC2650MA_SPIName;
/*
* ========================== SPI DMA begin ===================================
*/
/* Place into subsections to allow the TI linker to remove items properly */
#if defined(__TI_COMPILER_VERSION__)
#pragma DATA_SECTION(SPI_config, ".const:SPI_config")
#pragma DATA_SECTION(spiCC26XXDMAHWAttrs, ".const:spiCC26XXDMAHWAttrs")
#endif
/* Include drivers */
#include <ti/drivers/spi/SPICC26XXDMA.h>
/* SPI objects */
SPICC26XXDMA_Object spiCC26XXDMAObjects[BOOSTXL_CC2650MA_SPICOUNT];
/* SPI configuration structure, describing which pins are to be used */
const SPICC26XXDMA_HWAttrsV1 spiCC26XXDMAHWAttrs[BOOSTXL_CC2650MA_SPICOUNT] = {
{
.baseAddr = SSI0_BASE,
.intNum = INT_SSI0_COMB,
.intPriority = ~0,
.swiPriority = 0,
.powerMngrId = PowerCC26XX_PERIPH_SSI0,
.defaultTxBufValue = 0,
.rxChannelBitMask = 1<<UDMA_CHAN_SSI0_RX,
.txChannelBitMask = 1<<UDMA_CHAN_SSI0_TX,
.mosiPin = Board_SPI0_MOSI,
.misoPin = Board_SPI0_MISO,
.clkPin = Board_SPI0_CLK,
.csnPin = Board_SPI0_CS
},
{
.baseAddr = SSI1_BASE,
.intNum = INT_SSI1_COMB,
.intPriority = ~0,
.swiPriority = 0,
.powerMngrId = PowerCC26XX_PERIPH_SSI1,
.defaultTxBufValue = 0,
.rxChannelBitMask = 1<<UDMA_CHAN_SSI1_RX,
.txChannelBitMask = 1<<UDMA_CHAN_SSI1_TX,
.mosiPin = Board_SPI1_MOSI,
.misoPin = Board_SPI1_MISO,
.clkPin = Board_SPI1_CLK,
.csnPin = Board_SPI1_CS
},
};
/* SPI configuration structure */
const SPI_Config SPI_config[] = {
{
.fxnTablePtr = &SPICC26XXDMA_fxnTable,
.object = &spiCC26XXDMAObjects[0],
.hwAttrs = &spiCC26XXDMAHWAttrs[0]
},
{
.fxnTablePtr = &SPICC26XXDMA_fxnTable,
.object = &spiCC26XXDMAObjects[1],
.hwAttrs = &spiCC26XXDMAHWAttrs[1]
},
{NULL, NULL, NULL}
};
/*
* ========================== SPI DMA end =====================================
*/
/*
* ============================= I2C Begin=====================================
*/
#ifdef ELITE_VERSION_1_4
/* Generic I2C instance identifiers */
#define Board_I2C CC2650_MA_I2C0
/*!
* @def CC2650_LAUNCHXL_I2CName
* @brief Enum of I2C names on the CC2650 dev board
*/
typedef enum CC2650_MA_I2CName {
CC2650_MA_I2C0 = 0,
CC2650_MA_I2CCOUNT
} CC2650_MA_I2CName;
/* Place into subsections to allow the TI linker to remove items properly */
#if defined(__TI_COMPILER_VERSION__)
#pragma DATA_SECTION(I2C_config, ".const:I2C_config")
#pragma DATA_SECTION(i2cCC26xxHWAttrs, ".const:i2cCC26xxHWAttrs")
#endif
/* Include drivers */
#include <ti/drivers/i2c/I2CCC26XX.h>
/* I2C objects */
I2CCC26XX_Object i2cCC26xxObjects[CC2650_MA_I2CCOUNT];
/* I2C configuration structure, describing which pins are to be used */
const I2CCC26XX_HWAttrsV1 i2cCC26xxHWAttrs[CC2650_MA_I2CCOUNT] = {
{
.baseAddr = I2C0_BASE,
.powerMngrId = PowerCC26XX_PERIPH_I2C0,
.intNum = INT_I2C_IRQ,
.intPriority = ~0,
.swiPriority = 0,
.sdaPin = Board_I2C0_SDA0,
.sclPin = Board_I2C0_SCL0,
}
};
/* I2C configuration structure */
const I2C_Config I2C_config[] = {
{
.fxnTablePtr = &I2CCC26XX_fxnTable,
.object = &i2cCC26xxObjects[0],
.hwAttrs = &i2cCC26xxHWAttrs[0]
},
{NULL, NULL, NULL}
};
/*
* ========================== I2C end =========================================
*/
#endif
#endif
@@ -1,17 +0,0 @@
/* Copyright (c) 2019. BioPro. Scientific.
*/
#ifndef HEADSTAGE_ARM_H
#define HEADSTAGE_ARM_H
static void headstage_arm_append_ramp_data(uint8_t *buff) {
static uint16_t headstage_ramp_data_counter = 0;
uint16_t v = headstage_ramp_data_counter++;
buff[0] = 0xB0 | (0x0F & (uint8_t)(v >> 6));
buff[1] = (uint8_t)(v << 2);
}
#endif // HEADSTAGE_ARM_H

Some files were not shown because too many files have changed in this diff Show More