Compare commits
1251 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a64d596e7f | |||
| e98f387c82 | |||
| c9bbc1aab1 | |||
| 9e4bb038e8 | |||
| ce5c87fcf7 | |||
| 78d788cab2 | |||
| 02185083f5 | |||
| aeca114c5f | |||
| 7b4f2b5828 | |||
| 7b075f40a3 | |||
| 6c68c67f0e | |||
| fd9f0ef321 | |||
| cb44628316 | |||
| 63fd8cf1df | |||
| cc39131466 | |||
| e71e064846 | |||
| 1356a8c8af | |||
| d9b6340f23 | |||
| 2709baf8e8 | |||
| 046fae3617 | |||
| 688868fb48 | |||
| 5967b6ebc6 | |||
| d9e9a2102e | |||
| 065517a7cc | |||
| 0691725819 | |||
| 5954a965dc | |||
| 788aca30ef | |||
| bda30b15b5 | |||
| 32523d6f88 | |||
| 300707871e | |||
| b21bdf57be | |||
| 3067a5eafe | |||
| ec4e48725c | |||
| 8322623699 | |||
| c588d4d377 | |||
| 9e23b67e03 | |||
| 0d4f77d25a | |||
| 0a16b06c78 | |||
| c6b6ff420d | |||
| 221c301739 | |||
| 5355e584a3 | |||
| 9fa2c0eb1a | |||
| 03a1e5a633 | |||
| 968150e9b7 | |||
| ef7484569d | |||
| 9cc483da5a | |||
| eb9609da00 | |||
| ea5c79cd77 | |||
| 4d4a0f5ce3 | |||
| cbeef5d00b | |||
| 433e9d27ec | |||
| 1e039a988a | |||
| 393051bfec | |||
| d0b51aef7a | |||
| c5e6739632 | |||
| b91fdc6d3f | |||
| d62b879a17 | |||
| 31306ee2a9 | |||
| 0346e37e50 | |||
| f004c60964 | |||
| 61c7827d93 | |||
| 4fcb7594d7 | |||
| 4d71181d78 | |||
| ed5e6d82fb | |||
| efc23e1393 | |||
| d8ce4418ae | |||
| fc5cebe638 | |||
| fb7811559b | |||
| a2e7049aa6 | |||
| f9e6fa7ad0 | |||
| e89dbd2f5c | |||
| 0b59913870 | |||
| d2e11c947a | |||
| 8c6968ec05 | |||
| b864235e5c | |||
| bd15523916 | |||
| 2f61a9ce99 | |||
| ed2edccbc1 | |||
| 59dc27dfda | |||
| 1f1b20f92f | |||
| 9a511e0fc1 | |||
| dff4082ea9 | |||
| a4e62ac39e | |||
| e119cfceb8 | |||
| 308d1c6ef3 | |||
| 89cd606529 | |||
| 0ed0c08878 | |||
| f1a3c290e9 | |||
| 47af16a2e2 | |||
| 3f885decac | |||
| fb58112ba7 | |||
| 9928f5281f | |||
| cf2944f651 | |||
| 5cfdec63e2 | |||
| 5defc984c2 | |||
| a0f7eff938 | |||
| 31a2dd0891 | |||
| 67b9a5be85 | |||
| 837bd99e86 | |||
| 507386a231 | |||
| 11b155070d | |||
| 91a9a315e4 | |||
| 85e2f6cf9d | |||
| f3301069ef | |||
| 7c1f558687 | |||
| 448a81bdf7 | |||
| 2712a2fa73 | |||
| 8151053d08 | |||
| 5e8f0af363 | |||
| 006d1c26b3 | |||
| 46f080e642 | |||
| 6088b102f8 | |||
| 7a59623930 | |||
| 4789a32fd4 | |||
| 4b6bea5f41 | |||
| da2b97dcf1 | |||
| 6aee724a7c | |||
| f1765d957c | |||
| 19e760f9cc | |||
| 04c7e8d640 | |||
| 813ef50bf5 | |||
| 8bc43f1bb0 | |||
| 50acc23eb1 | |||
| a26bad68a6 | |||
| f5796e8ac5 | |||
| c862e6790f | |||
| fb43ec6ac3 | |||
| e1aa33e6cb | |||
| fb3060a220 | |||
| be40ac25dc | |||
| 5a29b161ac | |||
| caee6602a8 | |||
| 12c4908881 | |||
| cb0b0fafd0 | |||
| 633b3424e1 | |||
| c75a147392 | |||
| 1e71de284c | |||
| 3bfadb0ea5 | |||
| a22a1aa656 | |||
| ac8f1af1cc | |||
| 42b5edd2bf | |||
| cafa70e740 | |||
| 7ecc6063ac | |||
| 1c5e586bd9 | |||
| 9861067a17 | |||
| 295abacf7c | |||
| 6b5dfcc12a | |||
| 8aab5b5aab | |||
| 776e40b639 | |||
| a97909625d | |||
| 259170af20 | |||
| b929433eef | |||
| b166235c21 | |||
| 37ad0160d0 | |||
| d40891396d | |||
| 4f31028d1a | |||
| 8727b7d2eb | |||
| 39e012de64 | |||
| 48e566dea4 | |||
| 3f617786ef | |||
| 080ca80f2b | |||
| 4875bb271a | |||
| b0ac5bb6e6 | |||
| 8b6a402d47 | |||
| aefb2cffbb | |||
| 6934d858fe | |||
| bc28dedc64 | |||
| 92b81cb47f | |||
| e9b5414ab0 | |||
| d3f6a6521a | |||
| 13efb6c32a | |||
| 18e4cac845 | |||
| f6a474e537 | |||
| 311bbdd809 | |||
| e47cf7c3db | |||
| b27718a30f | |||
| be79bec5e0 | |||
| a551eb1143 | |||
| ddc51481b8 | |||
| d8a567c607 | |||
| 776d8074b1 | |||
| e0f937be45 | |||
| 2d7bbb74aa | |||
| 03367a76cf | |||
| 8fffec3116 | |||
| d7210e3b5a | |||
| 82834f30b0 | |||
| 50fbaa5bc7 | |||
| 696f6447dc | |||
| 60734c69b4 | |||
| ddf22de09b | |||
| e169ed1d44 | |||
| 55759938da | |||
| 45de2e6825 | |||
| 4c0e7e2149 | |||
| b63989ca78 | |||
| c2df81dd3b | |||
| 7d6a0ce845 | |||
| 2c9105eb0a | |||
| 0d705b7d28 | |||
| 266e597e19 | |||
| 92d49c1f93 | |||
| c40adb3b64 | |||
| 44e5f54c50 | |||
| c642325859 | |||
| c3adc55aec | |||
| 8700625d69 | |||
| bc4dcfbe7d | |||
| 43170a4282 | |||
| 3652e19a3d | |||
| 36e6a47472 | |||
| c71c55ecf1 | |||
| 57a5b2b4f5 | |||
| 0da311941b | |||
| 7965a4cc1d | |||
| 551f9de36b | |||
| fa8f0202e9 | |||
| ee35c54dec | |||
| 031b98a6d5 | |||
| 82ab990f0b | |||
| 38774d9201 | |||
| 6845963c8b | |||
| 4e4ce66318 | |||
| 6fe44a536f | |||
| 07272963bf | |||
| 80dbc64452 | |||
| 3a8c5d843a | |||
| bf4baa8200 | |||
| bf2b1b9d3e | |||
| 03391b4fb3 | |||
| 9040e85dbb | |||
| 85021a88b0 | |||
| a5df1c227e | |||
| 8213d9fb19 | |||
| 14c424571a | |||
| 8a94a57843 | |||
| a58f787253 | |||
| 6c839b22d9 | |||
| c086de7cf4 | |||
| 3c5f4d9bb4 | |||
| f3037c7959 | |||
| 5a519d5fb5 | |||
| a16543ee57 | |||
| 9d281ce999 | |||
| d97b3ad6b0 | |||
| cad1763981 | |||
| 092c02940d | |||
| 0a19abd0e8 | |||
| 284cfe6d05 | |||
| 3298b6226b | |||
| dfcaf2d908 | |||
| d517318a67 | |||
| d0aa520329 | |||
| 9a875b8459 | |||
| 73ac2f5c90 | |||
| efcb1132de | |||
| 7492ed161d | |||
| ae7ec2e5ce | |||
| 63fde4bdbc | |||
| 32ccb8838f | |||
| 5b6fd53830 | |||
| 86eef98b13 | |||
| 3fdbfcf39f | |||
| 847ea9f3c0 | |||
| 25bd5b5ebe | |||
| 335fe6a9a4 | |||
| 6a0480613c | |||
| 300fb9a44c | |||
| 4fac2aa380 | |||
| d2ab4c1fe8 | |||
| 6048e10ab7 | |||
| 6bd94e3f73 | |||
| fc302d4c75 | |||
| 26a35a1446 | |||
| 8f2eda7281 | |||
| e26a97a32f | |||
| 5bdb0b04da | |||
| 8f8407601e | |||
| 4c6dbcf98d | |||
| 20ccd5de56 | |||
| 3c3ad8ccc7 | |||
| 1030d6625b | |||
| 326f3eb6b6 | |||
| 9dd7228eb5 | |||
| 59ac6b9909 | |||
| e24ce8e5d5 | |||
| 8720300bfc | |||
| 23fc75a236 | |||
| 80c25267cb | |||
| 81d1aff615 | |||
| 3221fe6492 | |||
| 4ca7d5b681 | |||
| 49677aa5b1 | |||
| bbfef99a65 | |||
| 05f11fd147 | |||
| f0aedf786d | |||
| a12146a479 | |||
| 410bef2e23 | |||
| 17c6a506cb | |||
| 0b9c945aee | |||
| 53ef219d6e | |||
| a14b2480db | |||
| 89368d5352 | |||
| f7903a0a31 | |||
| 56f42d21c5 | |||
| 52a8baad08 | |||
| 7acdbf6e78 | |||
| 393394be6f | |||
| b7f305e378 | |||
| cad8a78164 | |||
| 0c4ebcac79 | |||
| e700657d5d | |||
| ea9fb92d53 | |||
| ba215c7ca9 | |||
| 564dc6e266 | |||
| 86a2e54694 | |||
| 358950bec0 | |||
| de2cb269b7 | |||
| 151e829973 | |||
| 19121b55a7 | |||
| 31f03582a3 | |||
| 0859f6da6d | |||
| 120b7086e5 | |||
| d393872d8c | |||
| 3ab9afdcd3 | |||
| 8812b4c103 | |||
| 4cccced7ac | |||
| 7b3d342be6 | |||
| 97409c88c3 | |||
| 1d675d9d78 | |||
| 1774a255d8 | |||
| 1863016b63 | |||
| 1e89a540a1 | |||
| 5daa67e054 | |||
| 05ce7f7f44 | |||
| 9391c700a1 | |||
| 16c4ecf9f2 | |||
| 7280f76fae | |||
| 3a5d40a5d9 | |||
| 40dd596fef | |||
| 56b240b101 | |||
| bf36103499 | |||
| 477144dc24 | |||
| 0aa45cfedc | |||
| 4691345831 | |||
| 8445f8c263 | |||
| 7176f91a3f | |||
| e37065ce91 | |||
| 2537b76256 | |||
| 59e275c997 | |||
| bfe61896e8 | |||
| 0ad8b13db2 | |||
| 3c8abc04a8 | |||
| a48cf75c90 | |||
| 4f7017d5b2 | |||
| 79f0d57161 | |||
| d76e8e6f3f | |||
| b6147c1fe5 | |||
| 4bbd92127a | |||
| 337c2aef8d | |||
| e943d22a5f | |||
| bceb8b9134 | |||
| 14adc8a768 | |||
| 7c44ad2272 | |||
| c8272dd455 | |||
| cb2aa2126b | |||
| f74a412611 | |||
| f0b92f8578 | |||
| e7cae7dc21 | |||
| 1c41bd7a45 | |||
| a671a4916d | |||
| 15ea1488c9 | |||
| f92dd743ef | |||
| eddbe3980a | |||
| b27df1489b | |||
| dc3f2ee046 | |||
| ba7f03daeb | |||
| 079500faff | |||
| ce0defe5e9 | |||
| 7b1bcd5147 | |||
| 787eb5dce1 | |||
| 9d73fab37e | |||
| 6a833aabee | |||
| e40d0896b8 | |||
| c265eb0118 | |||
| cead3b0b5c | |||
| 238c09befd | |||
| de1867d523 | |||
| 906e02e265 | |||
| 307308825e | |||
| aaf166d187 | |||
| 38ff1f8c2b | |||
| 82f58b3255 | |||
| 31d22f02e1 | |||
| ff1f517af5 | |||
| fb340fbec6 | |||
| e208bfd4d9 | |||
| b9f4967a23 | |||
| 539a388ec4 | |||
| f770ba8783 | |||
| 6d2ef3e106 | |||
| e483c58f10 | |||
| b07c10bb53 | |||
| bb10a463dc | |||
| 93e0db98fc | |||
| 51fc4553a3 | |||
| 5184fe76e7 | |||
| ee264a6f18 | |||
| d290201085 | |||
| 5ab5bdc301 | |||
| de995e2cec | |||
| 81fb68264c | |||
| b05a245cf4 | |||
| f3376a2ab3 | |||
| 48faeeaf1d | |||
| 5560899c94 | |||
| 85e7b34da1 | |||
| 013a2b9ede | |||
| e984572847 | |||
| 591c01bb98 | |||
| 7b053c506e | |||
| e8fcdc18da | |||
| b65ff2383a | |||
| b69e9017bf | |||
| 09a40e1912 | |||
| 6fa630e6e4 | |||
| 95d3c0bbc4 | |||
| 9bf2ab20a8 | |||
| 15a10b2405 | |||
| a4093cdc70 | |||
| 8713d743e1 | |||
| 4d3129782e | |||
| 53ed3f7d6c | |||
| 91d68e665b | |||
| 0bc606c3a8 | |||
| d19b709324 | |||
| 74742ca45b | |||
| 2678b0c02f | |||
| 5576c071c5 | |||
| 27c51a6c54 | |||
| 98c4a62130 | |||
| 7bf8620baf | |||
| 1f742b24df | |||
| 3ac1d77651 | |||
| ae74c4e5cd | |||
| 434be00a44 | |||
| 0b365f098d | |||
| 54e1aab5fc | |||
| 76c8b49553 | |||
| 085d51adcf | |||
| 0b75801ed6 | |||
| eb712ed4bb | |||
| c6f6f4c8f7 | |||
| ab8c29021d | |||
| 62961eeaa4 | |||
| b32c3048d7 | |||
| bc18b12227 | |||
| 28734c52a4 | |||
| cd38d00496 | |||
| e613ae4542 | |||
| 4439a83382 | |||
| 64ef6657be | |||
| 35760ace39 | |||
| 72e6e9acae | |||
| eecc7236ad | |||
| bdb280c029 | |||
| 77b1259bf3 | |||
| 6b9ffacb89 | |||
| 523a98cf8a | |||
| 98db6a0390 | |||
| 164d5209eb | |||
| 4b8a1960dd | |||
| 2e25a129d6 | |||
| 3fc2ccbc6a | |||
| 78853da803 | |||
| 4668654d3c | |||
| 55503b209b | |||
| 0fdd8bf693 | |||
| a6459e4302 | |||
| b256a61876 | |||
| a59c70f75b | |||
| 59f608a4d0 | |||
| 70543a2bd5 | |||
| 7743b6ef62 | |||
| a7f3120fb9 | |||
| 16525b0d19 | |||
| c96b9db716 | |||
| a8bdface95 | |||
| ea8bf21ffd | |||
| 24efe9d896 | |||
| 3ae0520f39 | |||
| 035ca66237 | |||
| 66fd1a5f2f | |||
| ba4a082834 | |||
| ac7b4e8ac3 | |||
| 7e79b2e12c | |||
| 0da686a78b | |||
| 474e3cb8d9 | |||
| e649bd9a25 | |||
| 1f5bf25d16 | |||
| 14cc86bce1 | |||
| 5f636db5ed | |||
| 72c84deb85 | |||
| a0cc1cf228 | |||
| 41b35655a6 | |||
| 68169aed0d | |||
| 645b971b6b | |||
| f669739b4e | |||
| 9f5912c649 | |||
| 8dac9ea12c | |||
| 9f2e6547d2 | |||
| 164be3061d | |||
| f4acbf75d8 | |||
| a3f710f398 | |||
| fdd9ee173c | |||
| 5c581869da | |||
| f1bb7e6217 | |||
| bc553c66af | |||
| 2bb80a06ed | |||
| d44dd996a7 | |||
| 36de918cfc | |||
| 4b45002129 | |||
| 2d23da34c2 | |||
| ff58ec8a1e | |||
| 6ae419b537 | |||
| 96350c19c2 | |||
| ab52989e0e | |||
| 035f01fb0a | |||
| e235fd3adf | |||
| 272d0e423d | |||
| e227b395f9 | |||
| 91d8d1a4d0 | |||
| c5543e777a | |||
| ddfcd11fb4 | |||
| 03ef7ef734 | |||
| 4d84788f51 | |||
| 6d48245d82 | |||
| a2070d1073 | |||
| 40bb5b8e0a | |||
| ac3bee4609 | |||
| 4166c2721c | |||
| 8455fe9422 | |||
| ed3a24a9c9 | |||
| d93464e970 | |||
| 0909855fbb | |||
| dc32d4fb13 | |||
| 36e0be6f9b | |||
| ea5355f413 | |||
| 27960395de | |||
| cdbcb85640 | |||
| db2d8e4217 | |||
| 1b9aedf7a0 | |||
| 1cba7efeeb | |||
| ec7e721fcc | |||
| dcfb390243 | |||
| 2cd7161694 | |||
| a84ec8c438 | |||
| 33805dd480 | |||
| a033919d47 | |||
| 72674329bc | |||
| 6d690d80da | |||
| e607ae50e1 | |||
| 750c13ee00 | |||
| b66a5c1cc5 | |||
| 732ef11d7f | |||
| 1187ead2cf | |||
| c6ddc19fdc | |||
| e864d8fc10 | |||
| 3a0d730c11 | |||
| 773b9f5e48 | |||
| 3218b3a531 | |||
| 658ed58412 | |||
| 9d288dee41 | |||
| e975789be4 | |||
| bf2ef89a7f | |||
| f81aa9a47b | |||
| 2a82ac65e2 | |||
| 6a506898a8 | |||
| 8606e0ca9d | |||
| 5951d1c9e2 | |||
| e741d1b252 | |||
| f85d687a77 | |||
| 142b006c63 | |||
| 5e59e60b4e | |||
| f678680f1d | |||
| 0de37ed924 | |||
| 5f2b3c55bb | |||
| 4a37fa8668 | |||
| f7f5e550c9 | |||
| 24db728a6c | |||
| 1f2ddc7829 | |||
| 77d22be8fa | |||
| 691bd9a10f | |||
| f5165cc78b | |||
| 6cb687d8b6 | |||
| 80dd042021 | |||
| 3b43cd1e74 | |||
| 289b0ad94c | |||
| e1469d96d8 | |||
| 93f106dc30 | |||
| 73913197df | |||
| 4ec017a68f | |||
| 284891f73a | |||
| 5a1b69d29b | |||
| 0699a7edf7 | |||
| 14c21694ec | |||
| 5f95225d00 | |||
| c1b25aa3ef | |||
| 237f6a820c | |||
| 7ba3aa560b | |||
| 405b599562 | |||
| 1dae858671 | |||
| aee139e154 | |||
| b80f977e16 | |||
| e6e8b255ba | |||
| 0aca212f53 | |||
| 7f64e9b9c7 | |||
| 8953c51f9a | |||
| 72d97ad288 | |||
| 43cb1a278b | |||
| ccc1becc87 | |||
| 8b55122225 | |||
| 776fe53178 | |||
| 003b115067 | |||
| bcf682e116 | |||
| ad4fab1aa6 | |||
| 80d89e7b87 | |||
| 46bbbc8ac7 | |||
| cd43385573 | |||
| 63b4c19d67 | |||
| 837055cc29 | |||
| 053718f7f2 | |||
| 9d18f7c67f | |||
| f32ac10e94 | |||
| aaa3f62f62 | |||
| c68f34a48a | |||
| c39075eff8 | |||
| 53c28fed5d | |||
| 112e177928 | |||
| 449201e3ea | |||
| c7c9e75c17 | |||
| 2bdbe91c7e | |||
| 58c3f8fd22 | |||
| ad7063eea2 | |||
| 34b3524533 | |||
| f63d991df4 | |||
| 10a640bac6 | |||
| e4bd49e6ae | |||
| c14d4a9f6b | |||
| 596897ccd7 | |||
| b304f03a7a | |||
| 2c9f467939 | |||
| 31f6c9d43c | |||
| 91e5f2f43f | |||
| f4f5c18a95 | |||
| 08b1bd4ce6 | |||
| 61934cee51 | |||
| ae560e8923 | |||
| d0f1cb5db0 | |||
| 18b1279fe6 | |||
| dd541ef1d0 | |||
| d3c3135775 | |||
| 317305dbcd | |||
| d889aee9df | |||
| 0d2ef231d7 | |||
| 52036a6c4b | |||
| fc44b2be44 | |||
| 48fcbe8de8 | |||
| 8a2bb2a8a4 | |||
| 37480a0c6e | |||
| 332b49de31 | |||
| 3fa9abecd9 | |||
| 25c964ee37 | |||
| 5b471539e9 | |||
| 1739a4ebd2 | |||
| dfde53e893 | |||
| a9066d91fc | |||
| e3aff9e394 | |||
| 68ea183e52 | |||
| 78bafd54f3 | |||
| 429ccd3254 | |||
| 4d181df5b8 | |||
| e8d8b7730e | |||
| 04e649ce0b | |||
| b54d1c3b2b | |||
| ec58058e00 | |||
| a8bc5a22d5 | |||
| ddf5a59ee9 | |||
| 19ed1b1444 | |||
| 0c08992214 | |||
| c48f570877 | |||
| 95dc465f45 | |||
| 65b49cdd11 | |||
| a18cabfa33 | |||
| 9d86f9f1f9 | |||
| adca6987b4 | |||
| cf5d09d0d1 | |||
| b4075c14fd | |||
| 06717ad552 | |||
| e4b4b3e0e5 | |||
| e51a0adf12 | |||
| 3bdba2ad71 | |||
| 89e7935cd6 | |||
| 935e3fea4d | |||
| e1f4c20fd7 | |||
| 226c822fcf | |||
| 7905d25c2f | |||
| 941d508859 | |||
| 2230a78ad1 | |||
| 95ec664c9c | |||
| ef894ae441 | |||
| f887abbf66 | |||
| d51b9839c2 | |||
| fb08b5638d | |||
| c09ec1b3e1 | |||
| b77104baa8 | |||
| 60beceb0a4 | |||
| 36810bbf53 | |||
| 5f62559811 | |||
| bb521437db | |||
| c31bbef8f5 | |||
| ca5203848d | |||
| b6f8ddd041 | |||
| 1e834cfb45 | |||
| e93ac78ccd | |||
| 8a375019f1 | |||
| 3cda19e2d2 | |||
| 95169d0885 | |||
| 96c3b0725b | |||
| b29eef912d | |||
| 7790621b3c | |||
| adf96c3055 | |||
| a99ced845c | |||
| be6681a0fd | |||
| fbcb1f8ddd | |||
| 61cb5a9eed | |||
| 64d32a6386 | |||
| 50e47e75a1 | |||
| 21b7e081e7 | |||
| e53403d11b | |||
| 6ef19dfbdc | |||
| 1c601e57a4 | |||
| 346ff4db00 | |||
| 6900a6f3be | |||
| 08c3c19219 | |||
| 828d5301e7 | |||
| 4ffbcba8cf | |||
| 0290a178ee | |||
| 4723ec9d5b | |||
| 4b908677a9 | |||
| 24b7699520 | |||
| 6a2bba3119 | |||
| 4a2af94b31 | |||
| 77719e3713 | |||
| 94776b0171 | |||
| 5c4c08fc97 | |||
| 1d58fe359b | |||
| a50849882e | |||
| 89a474f509 | |||
| 4cc1d01c6a | |||
| 703d6bcb69 | |||
| a0cf6389aa | |||
| 7cf77afab3 | |||
| ec36764750 | |||
| e1186901e9 | |||
| 82d1b90542 | |||
| 1c2b3ac07c | |||
| 5d545d6acf | |||
| abacf8b977 | |||
| e7fb10be20 | |||
| 9eac85a5d3 | |||
| c2a4d4ddac | |||
| c64b19bbb4 | |||
| f8569c15bc | |||
| 1b0d50eeaf | |||
| e681c0a2b0 | |||
| 6dcb7173d5 | |||
| ee8165d4b9 | |||
| 0539ffbd23 | |||
| 4bc2364e07 | |||
| fbff4b2985 | |||
| 6031a35461 | |||
| b55b521d06 | |||
| 8303c80326 | |||
| 1a196b20da | |||
| aa2e813fb1 | |||
| 92ef9e44d6 | |||
| d840e63ac1 | |||
| 345bbf7f21 | |||
| e728e0b520 | |||
| be70e455d7 | |||
| 7a92fe8f86 | |||
| bbcda86272 | |||
| 148b3a4bd3 | |||
| dc0267427f | |||
| fa71a8535d | |||
| 15d7e94082 | |||
| d571d1ea98 | |||
| ca2cef61a4 | |||
| 5957b60680 | |||
| 37e9931c5a | |||
| 837e9f4029 | |||
| 020746027d | |||
| f170f9ab0d | |||
| 44bab26192 | |||
| 042b15f787 | |||
| 4d95438e20 | |||
| 94fd12b436 | |||
| d9d12321b7 | |||
| 73ab6505ca | |||
| 7f1cd7437c | |||
| 0e40bc0deb | |||
| 51a46e0f4d | |||
| 9ffe4e2965 | |||
| d4551a83e6 | |||
| fbd4699246 | |||
| bfc8242ee6 | |||
| 68598cc9d0 | |||
| c87ff74add | |||
| fcb9ca34a1 | |||
| 43e19870b2 | |||
| 365b272e91 | |||
| 56ad82e481 | |||
| 110940e898 | |||
| f58557d785 | |||
| 5a0d3e5026 | |||
| 357e30d8af | |||
| c3b633a207 | |||
| daef46eecc | |||
| 140add3754 | |||
| 540a6a3d2a | |||
| a7e337cf96 | |||
| a6cf807b08 | |||
| b87b5c4f2f | |||
| cb1497d434 | |||
| 01d104c81c | |||
| d716f396b4 | |||
| c683e0261c | |||
| 4d1ed89e40 | |||
| 7769de7174 | |||
| 99a2fb27df | |||
| 45f96605d9 | |||
| fb7b75b02d | |||
| 101c03b19e | |||
| 17fa54c979 | |||
| 35f610001f | |||
| 1f57e7d2de | |||
| 3fad139bc5 | |||
| ba3888f523 | |||
| 9751ef2529 | |||
| b69b46a78c | |||
| 88979fe511 | |||
| 7d2fc57b77 | |||
| 71c30babea | |||
| c4996a3e2d | |||
| 7a71bbb995 | |||
| 45b00acc8b | |||
| 0728f77d31 | |||
| 3c2bec7d02 | |||
| bf1669c0f0 | |||
| b1e17a1115 | |||
| 3814e51585 | |||
| f7f5c3abc6 | |||
| 9cac8694c0 | |||
| e63af33723 | |||
| fcbda78a46 | |||
| e7cdc676cf | |||
| c2bd1e9780 | |||
| 2fab159ba8 | |||
| 1e41629f49 | |||
| 18c32c7e64 | |||
| e8aac9bd81 | |||
| 263ba0581b | |||
| db943ee144 | |||
| afb3da7942 | |||
| 34fe7564ba | |||
| eef87b3881 | |||
| d606b2c7e9 | |||
| 495aa8bbc5 | |||
| f12185f853 | |||
| a2d3ac3138 | |||
| e4d34f886a | |||
| ca946c1cd1 | |||
| 26737e0a11 | |||
| fc86bc9dd3 | |||
| c115de0bf0 | |||
| da9e8493b7 | |||
| 02a94ff271 | |||
| 7a06c05343 | |||
| 16eafe918a | |||
| 397cc1c50c | |||
| d8ac537fba | |||
| dbe5257f3a | |||
| 7437c17f84 | |||
| 520e710aae | |||
| 49888e73bb | |||
| 78db3a0122 | |||
| cad6f00f2d | |||
| 0139bfa17d | |||
| fa87ba98c5 | |||
| f296b7a2c4 | |||
| c41e366758 | |||
| c241a1ea16 | |||
| 0bc9f8f4e3 | |||
| 55a35e662c | |||
| d386613e55 | |||
| e8b365c966 | |||
| e8a6546e54 | |||
| 10bf24e490 | |||
| ad4d0fcf0a | |||
| f4a339d55e | |||
| 74c0d60b2f | |||
| 5e56c37511 | |||
| 5a5d934a46 | |||
| ddc606a9bd | |||
| 70ee55c5a0 | |||
| 8179ce47d1 | |||
| a6e240cd52 | |||
| dc87af411a | |||
| c1363da184 | |||
| 58970cb3c3 | |||
| fc83f4f227 | |||
| f16bbccd69 | |||
| b0430fc05e | |||
| 754d07a06c | |||
| 05fa80faa2 | |||
| 3fa823b193 | |||
| 3b661d6dc2 | |||
| 9c7b9e44a1 | |||
| b30c3108b7 | |||
| 1bc1a4e982 | |||
| d36f5c3b38 | |||
| 8427271eb0 | |||
| 01a2c6e8cd | |||
| 409ca3dd06 | |||
| 80f3b65c83 | |||
| f6269fd244 | |||
| 9f02fee658 | |||
| 92a76e834f | |||
| 28b8b8ce9d | |||
| b0ef493774 | |||
| 01c11fabec | |||
| 6a57a8b107 | |||
| 64c24bf496 | |||
| ceab949ff1 | |||
| 7be310f4e7 | |||
| d64dff8e04 | |||
| ec55140718 | |||
| 69b32f6a1c | |||
| 38cd245907 | |||
| c1ced5f9ff | |||
| cc437b89e9 | |||
| 794c74c629 | |||
| 83db25142d | |||
| c4484d3cc1 | |||
| f9a5d8b093 | |||
| 5b3c3f40e6 | |||
| 8f2e2d5465 | |||
| 8e182ceb29 | |||
| fc10503cdd | |||
| a2296d1822 | |||
| 66b57372cb | |||
| 1e5299034f | |||
| 82afe90a60 | |||
| a0ca72082e | |||
| 22e52e46ff | |||
| 20820648ad | |||
| f41790fff2 | |||
| fe4977c08d | |||
| e12dd54f2a | |||
| 7d4de8c0bc | |||
| 2bd5a3849f | |||
| 0e7b9462c1 | |||
| b14d4da555 | |||
| b61647e504 | |||
| 728ce5b19d | |||
| d11b9cdbe2 | |||
| 149e092181 | |||
| f5de72ad41 | |||
| 6fa2d4310b | |||
| eb76f57688 | |||
| 096bb72eb1 | |||
| 10407d1529 | |||
| ae67ac3355 | |||
| 5eba8169c6 | |||
| e299a6e01d | |||
| 3ea4c0a147 | |||
| 8b1cee29b1 | |||
| c8cac98df6 | |||
| e0f811c706 | |||
| 7254bd8c07 | |||
| c8b527c99a | |||
| 629088602a | |||
| bdc1e1bf9e | |||
| e88368e4f5 | |||
| df40ab38bc | |||
| a115eb69d0 | |||
| 57f84f4ebd | |||
| 2cf42f3f66 | |||
| 6d585f6a74 | |||
| 7525795ac8 | |||
| ba66c00010 | |||
| 7a9f66a1ae | |||
| 488d955fcd | |||
| 4064fc3396 | |||
| b731bd2faf | |||
| 1d5e6feafe | |||
| 12e00174d2 | |||
| a381517458 | |||
| 54611577ba | |||
| 450572ad8f | |||
| 877adc39df | |||
| 9feb2ea1e6 | |||
| afc7ae2cb5 | |||
| 4d7ce9fba4 | |||
| 6254b23b3a | |||
| 9ac6c643b3 | |||
| e7d7e6993d | |||
| b2393e88fa | |||
| 57738442d7 | |||
| 2126e2ffa6 | |||
| 0ed4a20505 | |||
| a3c00d0a6e | |||
| 1f00996142 | |||
| 56093efb5a | |||
| e0c7786752 | |||
| 8ba667bbb8 | |||
| 7661d230f1 | |||
| 577eaaef56 | |||
| b64719acea | |||
| 7e6050e721 | |||
| ca3c31d7f5 | |||
| c89e493e67 | |||
| a856cdc7d2 | |||
| 76cdf969a5 | |||
| 48c85a4389 | |||
| 992bc26ff1 | |||
| b5aa10a8b5 | |||
| b5eec41f36 | |||
| 2fb8faefbd | |||
| bcd144d265 | |||
| be1e961c2e | |||
| 6832bdfff6 | |||
| 98aeea5f76 | |||
| 85ff9dc965 | |||
| c650618e48 | |||
| 882d87e522 | |||
| 80a7847e67 | |||
| 86f2a3b7f1 | |||
| a735a613d6 | |||
| 666725a5f0 | |||
| 89fb479591 | |||
| 5c7dc68e12 | |||
| 8a5afab22f | |||
| 589357b800 | |||
| 3ea2f423cc | |||
| 150187c1f5 | |||
| ac1f2524f4 | |||
| 72a000f0ff | |||
| 89b8f3fbdf | |||
| 2518fac529 | |||
| 447913d970 | |||
| a3c65a76a1 | |||
| 3e3ed17693 | |||
| 60a79e4d63 | |||
| bf99c38328 | |||
| 5a336e92de | |||
| f495369097 | |||
| 8bd9149406 | |||
| c143fca1dd | |||
| 4be39160cb | |||
| 2d32cdca79 | |||
| fe23291b22 | |||
| f9640eca33 | |||
| a1b77848ef | |||
| 5f45be8ae6 | |||
| 4007c2f55d | |||
| afe3d87d80 | |||
| d59346a05e | |||
| 627ba46781 | |||
| 6586df1ccf | |||
| de4f3a6d93 | |||
| e7512a6896 | |||
| 030eb4234b | |||
| 8b551f91a4 | |||
| f5f8673d93 | |||
| 4344429fbf | |||
| f5aa6f44c1 | |||
| eb61856009 | |||
| 3282e85635 | |||
| fc50f62678 | |||
| 8c0d3f6873 | |||
| b1028cb2da | |||
| 3074e7e3be | |||
| 0416b66ace | |||
| 03ccd3de8a | |||
| 6a048e4caf | |||
| 0eb27aebc8 | |||
| acc2ca6f41 | |||
| bf03fcce62 | |||
| aca289cb6c | |||
| ca2296fd1b | |||
| f5e43575e0 | |||
| 666da6629e | |||
| 63b21353d5 | |||
| 70818392bc | |||
| 4620798382 | |||
| 809ba648ff | |||
| 0901616b39 | |||
| 5c07352e4c | |||
| 7f3e15cb46 | |||
| 64926f8aa9 | |||
| fcf3e4bc17 | |||
| 00809b9022 | |||
| 0192c63ad3 | |||
| 60db87b8ec | |||
| 9b7571ddbf | |||
| 8861b0480e | |||
| d54827dfdd | |||
| 0999a45f5e | |||
| 887b046409 | |||
| 4337d81951 | |||
| 7fdb0f6e5f | |||
| 263053a500 | |||
| a8360e94a2 | |||
| 5f01c568fd | |||
| 6214b33965 | |||
| 2bf1f9dc62 | |||
| fc26383fa1 | |||
| a3e1d5f983 | |||
| d69ea4978a | |||
| fca331fefa | |||
| 5b43b36596 | |||
| 2e9d534ffe | |||
| 0eb128ff48 | |||
| aae2fb0591 | |||
| b63c01f25b | |||
| d82bfa77ff | |||
| 33ca96b15a | |||
| 1c2659c0fc | |||
| 3d43bbf501 | |||
| 42bef16cbe | |||
| 1a172d5bde | |||
| caea8ceb06 | |||
| ff4a3fdb5e | |||
| e9d27886ed | |||
| 759f7dbc72 | |||
| 646abd4d4a | |||
| 2a0fade480 | |||
| 23e85a173d | |||
| d6cc1124c8 | |||
| c4c303a948 | |||
| cd06b0fc5e | |||
| d7344acdac | |||
| 418b89848e | |||
| 0641b6c79c | |||
| ff5cb3ddc7 | |||
| 305de3891d | |||
| 37ebae07c0 | |||
| 10ba95e53c | |||
| 7cf0c3070e | |||
| 3d1089bdaf | |||
| d6582b9da8 | |||
| b6aaad5ffd | |||
| 950f411b7f | |||
| 7f4eafc61f | |||
| 82540de425 | |||
| 3ce500735a | |||
| 2b0ebbd911 | |||
| 4461df12fb | |||
| 8171d940a8 | |||
| 667ef30a86 | |||
| 40e621ca26 | |||
| 5227af8c97 | |||
| 3ce57243aa | |||
| 21c0bb59c3 | |||
| 457030989a | |||
| f8653b3749 | |||
| 33b2aaf46e | |||
| 7af2a69e8f | |||
| f3195f2111 | |||
| 568d2f7938 | |||
| a1cc97df35 | |||
| b47c43466b | |||
| 48e92df901 | |||
| f581156c9a | |||
| d1ced61993 | |||
| a055479140 | |||
| a2c48bd8dc | |||
| 6d274cddee | |||
| 6c640de827 | |||
| caaf15a835 | |||
| 5fa4f3564f | |||
| e3dc39f1aa | |||
| c12bf4dccd | |||
| 040e7fc0d1 | |||
| 54e97545dc | |||
| 68ff23df61 | |||
| 2fd95dac35 | |||
| ea23cf7f6e | |||
| 0ff285882e | |||
| dfc135392f | |||
| b1ddee7c0b | |||
| e68552b740 | |||
| 812e35c6c1 | |||
| 2d4cf408f9 | |||
| 750d4ad449 | |||
| 34b0b6af46 | |||
| f55d1d161d | |||
| 2d8a5bd4fb | |||
| 1152ea3960 | |||
| 1fae6abb15 | |||
| bb643cc79f | |||
| cad336db0e | |||
| 1d15c7d7cd | |||
| fb3f2860ea | |||
| 6568045f46 | |||
| 6892bcf21e | |||
| 47aa461598 | |||
| f25fb340a9 | |||
| 7a37647d72 | |||
| b2509ac5d9 | |||
| 6e351e9dce | |||
| ad1e401476 | |||
| a3894ca51d | |||
| 81127d81fe | |||
| 277bd7dcfb | |||
| 321bc497aa | |||
| 88abb662d1 | |||
| 6fa0a142fe | |||
| b192fbb0e1 | |||
| 6438180082 | |||
| 3ae7000718 | |||
| 178c982acb | |||
| 3507b6d1d0 | |||
| 5045681045 | |||
| b4dd7f0f30 | |||
| 272a66ee0c | |||
| 4c61710ae7 | |||
| c9872a6ce9 | |||
| db9d36046a | |||
| f3dc2d9923 | |||
| 5e58a2ba02 | |||
| c8c6c82c0b | |||
| a31c33540e | |||
| 45dc14e181 | |||
| b086410846 | |||
| 67e280004b | |||
| 3b5c24311d | |||
| b75d54ce46 | |||
| 0a90afecdb |
+1
-1
@@ -8,6 +8,6 @@ AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
IndentCaseLabels: true
|
||||
IndentCaseLabels: false
|
||||
SortIncludes: true
|
||||
TabWidth: 4
|
||||
|
||||
Generated
-7
@@ -1,7 +0,0 @@
|
||||
<component name="CopyrightManager">
|
||||
<copyright>
|
||||
<option name="keyword" value="Copyright .*" />
|
||||
<option name="notice" value="Copyright (c) &#36;today.year. BioPro. Scientific." />
|
||||
<option name="myName" value="BioProSci" />
|
||||
</copyright>
|
||||
</component>
|
||||
Generated
-7
@@ -1,7 +0,0 @@
|
||||
<component name="CopyrightManager">
|
||||
<settings default="BioProSci">
|
||||
<module2copyright>
|
||||
<element module="SimplePeripheral" copyright="BioProSci" />
|
||||
</module2copyright>
|
||||
</settings>
|
||||
</component>
|
||||
Generated
-3
@@ -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>
|
||||
Generated
-3
@@ -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>
|
||||
@@ -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.
|
||||
@@ -1,50 +0,0 @@
|
||||
from devlib.util import print_instruction
|
||||
|
||||
STI_INSTRUCTION = {
|
||||
'GLOBAL': '3b001#header#;1b0;12bCURRENT',
|
||||
'LOCAL': '3b010#header;1b0;4b>CHANNEL;3b>STI_MODE;1b>PRECISION;12b>STI_FREQ;10b>STI_PW;10b>STI_PW_IPI;10b>STI_NUM'
|
||||
}
|
||||
|
||||
STI_PARAMETER = {
|
||||
'CURRENT': 10,
|
||||
'CHANNEL': 0,
|
||||
'STI_MODE': 3,
|
||||
'PRECISION': 0,
|
||||
'STI_FREQ': 10,
|
||||
'STI_PW': 10,
|
||||
'STI_PW_IPI': 10,
|
||||
'STI_NUM': 10,
|
||||
}
|
||||
|
||||
NEULIVE_INSTRUCTION = {
|
||||
'RIS': '3b101#header#;2b0;3b>LB;2b0;1bCH;1bFS;3b>WF;5b>TV;4b>PM;4b>NM;4b>SR',
|
||||
'UMC': '3b001#umc_parameter;3b>AG;4b>PW;6b>TT;2b>SB;6b>TF;1bCA;1bCB;1bCC;1bCD;4b>CHA;4b>CHB;4b>CHC;4b>CHD'
|
||||
}
|
||||
|
||||
NEULIVE_PARAMETER = {
|
||||
'LB': 0, # LOW BAND FREQEUNCY
|
||||
'CH': 0, # CHOPPER
|
||||
'FS': 0, # FAST SETTLE
|
||||
'WF': 3, # WAVEFORM : POS, NEG, P2N...etc.
|
||||
'TV': 10, # STIMULATION VOLTAGE
|
||||
'PM': 0, # P CHANNEL SELECT
|
||||
'NM': 1, # N CHANNEL SELECT
|
||||
'SR': 0, # ADC SAMPLING RATE
|
||||
'AG': 5, # AMP GAIN
|
||||
'PW': 9, # PULSE WIDTH
|
||||
'TT': 9, # STIMULATION TIMES
|
||||
'SB': 1, # STIMULATION BEHAVIOR
|
||||
'TF': 0, # STIMULATION FREQUENCY
|
||||
'CA': 1, # AMP CHANNEL A ENABLE
|
||||
'CB': 0, # AMP CHANNEL B ENABLE
|
||||
'CC': 0, # AMP CHANNEL C ENABLE
|
||||
'CD': 0, # AMP CHANNEL D ENABLE
|
||||
'CHA': 0, # AMP CHANNEL A
|
||||
'CHB': 1, # AMP CHANNEL B
|
||||
'CHC': 2, # AMP CHANNEL C
|
||||
'CHD': 3, # AMP CHANNEL D
|
||||
}
|
||||
|
||||
|
||||
print_instruction(NEULIVE_INSTRUCTION['RIS'],NEULIVE_PARAMETER)
|
||||
print_instruction(NEULIVE_INSTRUCTION['UMC'],NEULIVE_PARAMETER)
|
||||
@@ -1,582 +0,0 @@
|
||||
import re
|
||||
from typing import *
|
||||
|
||||
T = TypeVar('T')
|
||||
|
||||
|
||||
@overload
|
||||
def part_prefix(line: str, char: str, from_right=False) -> Tuple[Optional[str], str]:
|
||||
pass
|
||||
|
||||
|
||||
@overload
|
||||
def part_prefix(line: str, char: str, missing: T, from_right=False) -> Tuple[Union[str, T], str]:
|
||||
pass
|
||||
|
||||
|
||||
def part_prefix(line: str, char: str, missing: Optional[T] = None, from_right=False) -> Tuple[Union[None, str, T], str]:
|
||||
try:
|
||||
if from_right:
|
||||
i = line.rindex(char)
|
||||
else:
|
||||
i = line.index(char)
|
||||
return line[:i], line[i + len(char):]
|
||||
except ValueError:
|
||||
return missing, line
|
||||
|
||||
|
||||
@overload
|
||||
def part_suffix(line: str, char: str, from_right=False) -> Tuple[str, Optional[str]]:
|
||||
pass
|
||||
|
||||
|
||||
@overload
|
||||
def part_suffix(line: str, char: str, missing: T, from_right=False) -> Tuple[str, Union[str, T]]:
|
||||
pass
|
||||
|
||||
|
||||
def part_suffix(line: str, char: str, missing: Optional[T] = None, from_right=False) -> Tuple[str, Union[None, str, T]]:
|
||||
try:
|
||||
if from_right:
|
||||
i = line.rindex(char)
|
||||
else:
|
||||
i = line.index(char)
|
||||
return line[:i], line[i + len(char):]
|
||||
except ValueError:
|
||||
return line, missing
|
||||
|
||||
|
||||
def hex_line(data: Union[bytes, Sequence[int]], split=' ', truncate=False) -> str:
|
||||
""" bytes value to str
|
||||
|
||||
return example ::
|
||||
|
||||
# input
|
||||
b'\x00ABC\x00'
|
||||
|
||||
# output
|
||||
0x00 0x65 0x66 0x67 0x00
|
||||
|
||||
# output truncate version
|
||||
0x00 0x65 (skip 0x02) 0x00
|
||||
|
||||
:param data: bytes value
|
||||
:param split: char join between byte value
|
||||
:param truncate: truncate output if too long
|
||||
:return: byte value
|
||||
"""
|
||||
if truncate and len(data) > 16:
|
||||
line = list(map(lambda v: '%02X' % v, data[0:8]))
|
||||
line.append('(skip 0x%02X)' % (len(data) - 12))
|
||||
line.extend(map(lambda v: '%02X' % v, data[-4:]))
|
||||
return split.join(line)
|
||||
else:
|
||||
return split.join(map(lambda v: '%02X' % v, data))
|
||||
|
||||
|
||||
def endian_switch(value: int, bit: int) -> int:
|
||||
ret = 0
|
||||
|
||||
for _ in range(bit):
|
||||
ret = (ret << 1) | (value & 1)
|
||||
|
||||
value >>= 1
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
def append_buffer(buffer: List[int], shift: int, width: int, value: int, little_endian=False) -> int:
|
||||
if width == 0:
|
||||
return shift % 8
|
||||
|
||||
if len(buffer) == 0:
|
||||
buffer.append(0)
|
||||
|
||||
if little_endian:
|
||||
value = endian_switch(value, width)
|
||||
|
||||
while shift >= 8:
|
||||
buffer.append(0)
|
||||
shift -= 8
|
||||
|
||||
while shift + width >= 8:
|
||||
# high
|
||||
offset = 8 - shift
|
||||
mask = (1 << offset) - 1
|
||||
buffer[-1] |= (value >> (width - offset)) & mask
|
||||
|
||||
if shift + width == 8:
|
||||
return 8
|
||||
|
||||
# low
|
||||
buffer.append(0)
|
||||
shift = 0
|
||||
width -= offset
|
||||
value &= (1 << width) - 1
|
||||
|
||||
offset = 8 - (shift + width)
|
||||
mask = (1 << width) - 1
|
||||
buffer[-1] |= (value & mask) << offset
|
||||
|
||||
return (shift + width) % 8
|
||||
|
||||
|
||||
class InstructionContentWidth:
|
||||
"""instruction width.
|
||||
|
||||
**format**
|
||||
|
||||
::
|
||||
|
||||
InstructionContentWidth :str
|
||||
= SIZE TYPE? ENDIAN? SIGN?
|
||||
|
||||
base = BASE ")"
|
||||
|
||||
SIGN = "+"
|
||||
|
||||
**SIZE**
|
||||
|
||||
bit width or byte length, default 1
|
||||
'*' for array
|
||||
|
||||
**TYPE**
|
||||
|
||||
==== ==================================
|
||||
TYPE description
|
||||
==== ==================================
|
||||
b bits
|
||||
B bytes 2-base value
|
||||
o, O bytes 8-base value
|
||||
d, D bytes 10-base value
|
||||
x, X bytes 16-base value
|
||||
==== ==================================
|
||||
|
||||
**ENDIAN**
|
||||
|
||||
====== ==================================
|
||||
ENDIAN description
|
||||
====== ==================================
|
||||
> big endian (default)
|
||||
< little endian
|
||||
====== ==================================
|
||||
|
||||
**BASE**
|
||||
|
||||
value base, 2 for bit default, 16 for byte default.
|
||||
|
||||
"""
|
||||
|
||||
__slots__ = ('_size', '_bytes_type', '_signed', '_little_endian')
|
||||
|
||||
BASE = {
|
||||
'b': 2,
|
||||
'B': 2,
|
||||
'o': 8,
|
||||
'O': 8,
|
||||
'd': 10,
|
||||
'D': 10,
|
||||
'x': 16,
|
||||
'X': 16,
|
||||
}
|
||||
|
||||
def __init__(self,
|
||||
size: Optional[int],
|
||||
bytes_type: str,
|
||||
signed_value=False,
|
||||
little_endian=False):
|
||||
self._size = size
|
||||
self._bytes_type = bytes_type
|
||||
self._signed = signed_value
|
||||
self._little_endian = little_endian
|
||||
|
||||
@property
|
||||
def size(self) -> Optional[int]:
|
||||
return self._size
|
||||
|
||||
@property
|
||||
def little_endian(self) -> bool:
|
||||
return self._little_endian
|
||||
|
||||
@property
|
||||
def signed(self) -> bool:
|
||||
# XXX InstructionContentWidth.signed not used
|
||||
return self._signed
|
||||
|
||||
@property
|
||||
def bytes_unit(self) -> bool:
|
||||
return self._bytes_type in 'BODX'
|
||||
|
||||
@property
|
||||
def is_array(self) -> bool:
|
||||
# XXX InstructionContentWidth.is_array not used
|
||||
return self._size is None
|
||||
|
||||
@property
|
||||
def width(self) -> int:
|
||||
if self._bytes_type in 'bB':
|
||||
return self._size
|
||||
else:
|
||||
return self._size * 8
|
||||
|
||||
@property
|
||||
def value_base(self) -> int:
|
||||
return self.BASE[self._bytes_type]
|
||||
|
||||
def __str__(self):
|
||||
return '%s%s%s%s' % (str(self._size) if self._size is not None else '*',
|
||||
self._bytes_type,
|
||||
'<' if self._little_endian else '>',
|
||||
'+' if self._signed else '')
|
||||
|
||||
PATTERN = re.compile(
|
||||
r'(?P<SIZE>(\*|\d+))?(?P<TYPE>[XxDdOoBb])(?P<ENDIAN>[<>])?(?P<SIGN>\+)?(?P<EXPR>.+)')
|
||||
|
||||
@classmethod
|
||||
def parse(cls, expr: str) -> Tuple['InstructionContentWidth', str]:
|
||||
m = cls.PATTERN.match(expr)
|
||||
|
||||
if m is None:
|
||||
raise RuntimeError('illegal instruction content width : ' + expr)
|
||||
|
||||
z = m.group('SIZE')
|
||||
t = m.group('TYPE')
|
||||
e = m.group('ENDIAN')
|
||||
s = m.group('SIGN')
|
||||
x = m.group('EXPR')
|
||||
|
||||
if z is None:
|
||||
z = 1
|
||||
elif z == '*':
|
||||
z = None
|
||||
else:
|
||||
z = int(z)
|
||||
|
||||
return InstructionContentWidth(z, t, signed_value=s is not None, little_endian=e == '<'), x
|
||||
|
||||
|
||||
class InstructionContent:
|
||||
"""
|
||||
**format**
|
||||
|
||||
::
|
||||
|
||||
InstructionContent
|
||||
= "#" ... # comment
|
||||
| InstructionContent "#" ... # instruction with comment
|
||||
| InstructionDataContent
|
||||
| InstructionConditionContent
|
||||
| CompactInstructionContent
|
||||
"""
|
||||
|
||||
__slots__ = ('_comment',)
|
||||
|
||||
def __init__(self, comment: Optional[str] = None):
|
||||
self._comment: Optional[str] = comment
|
||||
|
||||
@property
|
||||
def width(self) -> int:
|
||||
return 0
|
||||
|
||||
def build_instruction(self, context: Dict[str, Any], buffer: List[int], shift: int) -> int:
|
||||
"""
|
||||
|
||||
:param context: general case root
|
||||
:param buffer: instruction buffer
|
||||
:param shift: data offset
|
||||
:return: next data offset
|
||||
"""
|
||||
|
||||
return shift
|
||||
|
||||
def __str__(self):
|
||||
if self._comment is None:
|
||||
return '#'
|
||||
else:
|
||||
return '#' + self._comment
|
||||
|
||||
|
||||
class InstructionDataContent(InstructionContent):
|
||||
"""
|
||||
**format**
|
||||
|
||||
::
|
||||
|
||||
InstructionDataContent
|
||||
= InstructionContentWidth instruction_content
|
||||
|
||||
instruction_content
|
||||
= int # binary number
|
||||
| parameter_name :str
|
||||
| parameter_name[index:int] # array parameter access
|
||||
|
||||
|
||||
|
||||
|
||||
"""
|
||||
|
||||
__slots__ = ('_width', '_value', '_index')
|
||||
|
||||
def __init__(self,
|
||||
width: InstructionContentWidth,
|
||||
value: Union[int, str],
|
||||
comment: Optional[str] = None):
|
||||
super().__init__(comment)
|
||||
self._width: InstructionContentWidth = width
|
||||
|
||||
if isinstance(value, str) and '[' in value and value.endswith(']'):
|
||||
value, index = part_suffix(value[:-1], '[')
|
||||
|
||||
self._value: Union[int, str] = value
|
||||
self._index: str = index
|
||||
else:
|
||||
|
||||
self._value: Union[int, str] = value
|
||||
self._index: str = None
|
||||
|
||||
@property
|
||||
def width(self) -> int:
|
||||
return self._width.width
|
||||
|
||||
def value(self, context: Dict[str, Any]) -> Union[int, List[int]]:
|
||||
value = self._value
|
||||
|
||||
if isinstance(value, int):
|
||||
return value
|
||||
|
||||
try:
|
||||
return int(value, self._width.value_base)
|
||||
|
||||
except ValueError:
|
||||
ret = context[value]
|
||||
|
||||
index = self._index
|
||||
if index is None:
|
||||
return ret
|
||||
|
||||
else:
|
||||
try:
|
||||
index = int(index)
|
||||
except ValueError:
|
||||
index = int(context[index])
|
||||
|
||||
return ret[index]
|
||||
|
||||
def build_instruction(self, context: Dict[str, Any], buffer: List[int], shift: int) -> int:
|
||||
if self._width.is_array:
|
||||
raise NotImplemented()
|
||||
|
||||
else:
|
||||
value = int(self.value(context))
|
||||
|
||||
if self._width.bytes_unit:
|
||||
if self._width.size == 1:
|
||||
buffer.append(value)
|
||||
|
||||
else:
|
||||
tmp = []
|
||||
for _ in range(self._width.size):
|
||||
tmp.append(value & 0xFF)
|
||||
value >>= 8
|
||||
|
||||
if self._width.little_endian:
|
||||
buffer.extend(tmp)
|
||||
else:
|
||||
buffer.extend(tmp[::-1])
|
||||
|
||||
return 8
|
||||
|
||||
else:
|
||||
width = self._width.width
|
||||
return append_buffer(buffer, shift, width, value,
|
||||
little_endian=self._width.little_endian)
|
||||
|
||||
def __str__(self):
|
||||
if isinstance(self._value, int):
|
||||
value = bin(self._value)[2:]
|
||||
else:
|
||||
if self._index is not None:
|
||||
value = '%s[%s]' % (self._value, str(self._index))
|
||||
else:
|
||||
value = self._value
|
||||
|
||||
if self._comment is None:
|
||||
return '%s%s' % (self._width, value)
|
||||
else:
|
||||
return '%s%s#%s' % (self._width, value, self._comment)
|
||||
|
||||
|
||||
class InstructionConditionContent(InstructionDataContent):
|
||||
"""
|
||||
**json format**
|
||||
|
||||
::
|
||||
|
||||
InstructionConditionContent
|
||||
= InstructionContentWidth parameter_name "?"
|
||||
| InstructionContentWidth parameter_name "?:" if_false
|
||||
| InstructionContentWidth parameter_name "?" if_true ":" if_false
|
||||
|
||||
if_true, if_false
|
||||
= int
|
||||
| parameter_name :str
|
||||
"""
|
||||
|
||||
__slots__ = ('_true', '_false')
|
||||
|
||||
def __init__(self,
|
||||
width: InstructionContentWidth,
|
||||
value: str,
|
||||
if_true: Union[None, int, str] = None,
|
||||
if_false: Union[None, int, str] = None,
|
||||
comment: Optional[str] = None):
|
||||
|
||||
if if_true is not None and if_false is None:
|
||||
raise RuntimeError('lost if_true')
|
||||
|
||||
super().__init__(width, value, comment)
|
||||
|
||||
self._true = if_true
|
||||
self._false = if_false
|
||||
|
||||
def value(self, context: Dict[str, Any]) -> Union[int, List[int]]:
|
||||
value = context[self._value]
|
||||
test = value is not None
|
||||
|
||||
if self._true is None and self._false is None:
|
||||
return 1 if test else 0
|
||||
|
||||
elif self._true is None:
|
||||
assert self._false is not None
|
||||
|
||||
if test:
|
||||
return value
|
||||
else:
|
||||
branch = self._false
|
||||
|
||||
else:
|
||||
assert self._true is not None
|
||||
assert self._false is not None
|
||||
|
||||
branch = self._true if test else self._false
|
||||
|
||||
if isinstance(branch, int):
|
||||
return branch
|
||||
|
||||
try:
|
||||
return int(branch, self._width.value_base)
|
||||
|
||||
except ValueError:
|
||||
return context[branch]
|
||||
|
||||
def __str__(self):
|
||||
if self._comment is None:
|
||||
c = ''
|
||||
else:
|
||||
c = '#' + self._comment
|
||||
|
||||
if self._true is None and self._false is None:
|
||||
return "%s%s?%s" % (self._width, self._value, c)
|
||||
elif self._true is None:
|
||||
return "%s%s?:%s%s" % (self._width, self._value, self._false, c)
|
||||
else:
|
||||
return "%s%s?%s:%s%s" % (self._width, self._value, self._true, self._false, c)
|
||||
|
||||
|
||||
class CompactInstructionContent(InstructionContent):
|
||||
"""
|
||||
**json format**
|
||||
|
||||
::
|
||||
|
||||
CompactInstructionContent
|
||||
= InstructionContent ";" InstructionContent ...
|
||||
|
||||
"""
|
||||
|
||||
__slots__ = ('_instruction',)
|
||||
|
||||
def __init__(self, instruction: List[InstructionContent]):
|
||||
super().__init__()
|
||||
self._instruction = instruction
|
||||
|
||||
@property
|
||||
def width(self) -> int:
|
||||
return sum(map(lambda i: i.width, self._instruction))
|
||||
|
||||
def build_instruction(self, context: Dict[str, Any], buffer: List[int], shift: int) -> int:
|
||||
for instruction in self._instruction:
|
||||
shift = instruction.build_instruction(context, buffer, shift)
|
||||
|
||||
return shift
|
||||
|
||||
def __str__(self) -> str:
|
||||
return ';'.join(map(str, self._instruction))
|
||||
|
||||
|
||||
def parse_instruction(expr: str) -> InstructionContent:
|
||||
origin_expr = expr
|
||||
|
||||
if expr == '#':
|
||||
return InstructionContent()
|
||||
|
||||
elif expr.startswith('#'):
|
||||
return InstructionContent(comment=expr[1:])
|
||||
|
||||
elif ';' in expr:
|
||||
return CompactInstructionContent([parse_instruction(v) for v in expr.split(';')])
|
||||
|
||||
else:
|
||||
ins_argv = {}
|
||||
expr, comment = part_suffix(expr, '#')
|
||||
expr, condition = part_suffix(expr, '?')
|
||||
|
||||
if condition is not None:
|
||||
ins_type = InstructionConditionContent
|
||||
|
||||
if len(condition) == 0:
|
||||
ins_argv['if_true'] = None
|
||||
ins_argv['if_false'] = None
|
||||
|
||||
else:
|
||||
t, f = part_prefix(condition, ':')
|
||||
|
||||
if t is None:
|
||||
raise RuntimeError('illegal condition instruction : ' + origin_expr)
|
||||
|
||||
elif len(t) == 0:
|
||||
t = None
|
||||
|
||||
ins_argv['if_true'] = t
|
||||
ins_argv['if_false'] = f
|
||||
|
||||
else:
|
||||
ins_type = InstructionDataContent
|
||||
|
||||
width, expr = InstructionContentWidth.parse(expr)
|
||||
|
||||
return ins_type(width, expr, **ins_argv, comment=comment)
|
||||
|
||||
|
||||
def eval_instruction(expr: str, context: Dict[str, Any], buffer: Optional[List[int]] = None) -> List[int]:
|
||||
ins = parse_instruction(expr)
|
||||
|
||||
if buffer is None:
|
||||
buffer = []
|
||||
|
||||
ins.build_instruction(context, buffer, 0)
|
||||
|
||||
return buffer
|
||||
|
||||
|
||||
def print_instruction(expr: str, context: Dict[str, Any], append_ris_type: bool = True):
|
||||
buffer = []
|
||||
|
||||
eval_instruction(expr, context, buffer)
|
||||
|
||||
if append_ris_type:
|
||||
length = len(buffer)
|
||||
buffer.insert(0, 0x30)
|
||||
buffer.insert(1, length)
|
||||
|
||||
print(hex_line(buffer))
|
||||
Binary file not shown.
@@ -1,7 +0,0 @@
|
||||
def main():
|
||||
file = open('C:/ti/python_test_code/uni/att_notify.psd', 'r')
|
||||
print(file.read())
|
||||
file.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,72 +0,0 @@
|
||||
import unittest
|
||||
from random import randint
|
||||
|
||||
|
||||
def pop_count(value: int) -> int:
|
||||
value -= ((value >> 1) & 0x55555555)
|
||||
value = (((value >> 2) & 0x33333333) + (value & 0x33333333))
|
||||
value = (((value >> 4) + value) & 0x0f0f0f0f)
|
||||
value += (value >> 8)
|
||||
value += (value >> 16)
|
||||
return value & 0x0000003f
|
||||
|
||||
|
||||
def bit_reverse(value: int) -> int:
|
||||
value = (((value & 0xaaaaaaaa) >> 1) | ((value & 0x55555555) << 1))
|
||||
value = (((value & 0xcccccccc) >> 2) | ((value & 0x33333333) << 2))
|
||||
value = (((value & 0xf0f0f0f0) >> 4) | ((value & 0x0f0f0f0f) << 4))
|
||||
value = (((value & 0xff00ff00) >> 8) | ((value & 0x00ff00ff) << 8))
|
||||
return (value >> 16) | (value << 16)
|
||||
|
||||
|
||||
def umc_pass_check(v1: int, v2: int) -> bool:
|
||||
return pop_count(v1) + pop_count(v2) == 4
|
||||
|
||||
|
||||
class PopCountTest(unittest.TestCase):
|
||||
def test_zero(self):
|
||||
self.assertEqual(0, pop_count(0))
|
||||
|
||||
def test_one(self):
|
||||
self.assertEqual(1, pop_count(1))
|
||||
|
||||
def test_two(self):
|
||||
for _ in range(4):
|
||||
a = randint(0, 8)
|
||||
b = randint(0, 8)
|
||||
|
||||
while a == b:
|
||||
b = randint(0, 8)
|
||||
|
||||
a = 1 << a
|
||||
b = 1 << b
|
||||
v = a | b
|
||||
self.assertEqual(2, pop_count(v))
|
||||
|
||||
|
||||
class BitReverseTest(unittest.TestCase):
|
||||
def test_zero(self):
|
||||
self.assertEqual(0, bit_reverse(0))
|
||||
|
||||
def test_one(self):
|
||||
self.assertEqual(0x8000_0000, bit_reverse(1))
|
||||
|
||||
def test_random_one(self):
|
||||
for _ in range(4):
|
||||
a = randint(0, 15)
|
||||
b = 31 - a
|
||||
|
||||
va = 1 << a
|
||||
vb = 1 << b
|
||||
|
||||
self.assertEqual(vb, bit_reverse(va), f"a = {a}, b = {b}")
|
||||
|
||||
|
||||
class UmcPassCheckTest(unittest.TestCase):
|
||||
def test_validate(self):
|
||||
self.assertFalse(umc_pass_check(0b0101_0001_0100_0000_0000_0000_0000_0000,
|
||||
0b0101_0000_0000_1100_0000_0000_0000_0000))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
@@ -1,189 +0,0 @@
|
||||
import unittest
|
||||
import random
|
||||
from random import randint
|
||||
from typing import List, Optional
|
||||
|
||||
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
|
||||
|
||||
|
||||
def channel_used_count(channel_mux: List[int]):
|
||||
|
||||
channel_uc = [0] * 16
|
||||
channel_sel = [0] * 16
|
||||
for i in range(15):
|
||||
for j in range(16):
|
||||
if channel_mux[i] == j:
|
||||
if channel_mux[i] != channel_mux[i+1]:
|
||||
channel_uc[j] += 1
|
||||
channel_sel[j] = j
|
||||
|
||||
return channel_uc, channel_sel
|
||||
|
||||
|
||||
def channel_table_transfer(channel_mux: List[bool]) -> Optional[List[bool]]:
|
||||
channel_look_up_table = [1, 2, 3, 4, 9, 8, 7, 6, 5, 10, 0, 11]
|
||||
true_channel = [False] * 16
|
||||
for i in range(16):
|
||||
if channel_mux[i]:
|
||||
true_channel[channel_look_up_table[i]] = True
|
||||
|
||||
return true_channel
|
||||
|
||||
|
||||
def channel_table_tran(channel_mux: List[bool]):
|
||||
channel_look_up_table = [2, 3, 4, 5, 10, 9, 8, 7, 6, 11, 1, 12]
|
||||
channel_sel = [0] * 16
|
||||
channel_index = 0
|
||||
for i in range(16):
|
||||
if channel_mux[i]:
|
||||
channel_sel[channel_index] = channel_look_up_table[i]
|
||||
channel_index += 1
|
||||
channel_sel.sort(reverse=True)
|
||||
return channel_sel, channel_index
|
||||
|
||||
|
||||
def channel_use_count(channel_sel: List[int], channel_index: int) -> Optional[List[int]]:
|
||||
repeat_times = int(channel_sel[0] / channel_index)
|
||||
remain_value = int(channel_sel[0] % channel_index)
|
||||
ch_use_cnt = [0] * 16
|
||||
for i in range(channel_index):
|
||||
if i < remain_value:
|
||||
ch_use_cnt[i] = remain_value + repeat_times
|
||||
else:
|
||||
ch_use_cnt[i] = repeat_times
|
||||
return ch_use_cnt
|
||||
|
||||
|
||||
def count_channel_without_re(channel_mux: List[bool]) -> Optional[List[int]]:
|
||||
channel_sel, channel_index = channel_table_tran(channel_mux)
|
||||
ch_use_cnt = channel_use_count(channel_sel, channel_index)
|
||||
for i in range(channel_index):
|
||||
channel_sel[i] -= 1
|
||||
print(channel_sel)
|
||||
print(ch_use_cnt)
|
||||
return ch_use_cnt
|
||||
|
||||
|
||||
def reverse_channel_table(original_ch: List[int]) -> Optional[List[int]]:
|
||||
reverse_look_up_table = [10, 0, 1, 2, 3, 8, 7, 6, 5, 4, 9, 8]
|
||||
reverse_ch = [0] * 16
|
||||
for i in range(16):
|
||||
if original_ch[i] != 0:
|
||||
reverse_ch[reverse_look_up_table[i]] = original_ch[i]
|
||||
return reverse_ch
|
||||
|
||||
|
||||
def count_channel(channel_mux: List[bool]) -> Optional[List[int]]:
|
||||
real_ch = channel_table_transfer(channel_mux)
|
||||
ch_mux = rearrange_channel_mux_table(real_ch)
|
||||
ch_count, ch_sel = channel_used_count(ch_mux)
|
||||
reverse_ch = reverse_channel_table(ch_count)
|
||||
reverse_ch.sort(reverse=True)
|
||||
ch_sel.sort(reverse=True)
|
||||
print(ch_sel)
|
||||
print(reverse_ch)
|
||||
return reverse_ch
|
||||
|
||||
|
||||
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([1, 7, 1, 7, 1, 7, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
rearrange_channel_mux_table(to_channel_table(7, 1)))
|
||||
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)))
|
||||
self.assertEqual([3, 7, 2, 3, 7, 2, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0],
|
||||
rearrange_channel_mux_table(to_channel_table(7, 3, 2)))
|
||||
|
||||
def test_many_channel(self):
|
||||
self.assertEqual([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
|
||||
rearrange_channel_mux_table(to_channel_table(1, 0)))
|
||||
|
||||
self.assertEqual([2, 5, 2, 5, 2, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
|
||||
rearrange_channel_mux_table(to_channel_table(2, 5)))
|
||||
|
||||
self.assertEqual([1, 3, 5, 1, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
|
||||
rearrange_channel_mux_table(to_channel_table(1, 3, 5)))
|
||||
|
||||
self.assertEqual([4, 5, 1, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
|
||||
rearrange_channel_mux_table(to_channel_table(4, 1, 3, 5)))
|
||||
|
||||
self.assertEqual([5, 1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ],
|
||||
rearrange_channel_mux_table(to_channel_table(4, 1, 2, 3, 5)))
|
||||
|
||||
self.assertEqual([6, 7, 8, 3, 4, 5, 6, 7, 8, 0, 0, 0, 0, 0, 0, 0, ],
|
||||
rearrange_channel_mux_table(to_channel_table(3, 4, 5, 6, 7, 8)))
|
||||
|
||||
|
||||
def test_count_channel(self):
|
||||
self.assertEqual(count_channel(to_channel_table(7, 3, 2)), count_channel_without_re(to_channel_table(7, 3, 2)))
|
||||
self.assertEqual(count_channel(to_channel_table(0, 10, 2)), count_channel_without_re(to_channel_table(0, 10, 2)))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
/*
|
||||
** Stack Frontier Generator 1.1.0 (2019-06-17 18:27:00.233000)
|
||||
** Stack Frontier Generator 1.1.0 (2019-04-28 18:23:23.057000)
|
||||
**
|
||||
** WARNING - Auto-generated file. Modifications could be lost!
|
||||
*/
|
||||
|
||||
--define=ICALL_STACK0_ADDR=0x8001
|
||||
--define=ICALL_STACK0_START=0x8000
|
||||
--define=ICALL_RAM0_START=0x20004310
|
||||
--define=ICALL_RAM0_START=0x20004340
|
||||
|
||||
|
||||
+2
-2
@@ -1,10 +1,10 @@
|
||||
/*
|
||||
** Stack Frontier Generator 1.1.0 (2019-06-17 18:27:00.233000)
|
||||
** Stack Frontier Generator 1.1.0 (2019-04-28 18:23:23.057000)
|
||||
**
|
||||
** WARNING - Auto-generated file. Modifications could be lost!
|
||||
*/
|
||||
|
||||
--define=ICALL_RAM0_START=0x20004310
|
||||
--define=ICALL_RAM0_START=0x20004340
|
||||
--define=ICALL_STACK0_START=0x8000
|
||||
--define=ICALL_STACK0_ADDR=0x8001
|
||||
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
*/
|
||||
|
||||
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\host\host_pcxx.a"
|
||||
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\ctrl\cc2640\cc2640_ctrl_pcxx_41c_ext.a"
|
||||
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\hci_tl\cc26xx\cc26xx_hci_tl_full_v41_v42.a"
|
||||
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\ctrl\cc2640\cc2640_ctrl_pcxx_41c.a"
|
||||
"C:\ti\simplelink\ble_sdk_2_02_02_25\blelib\hci_tl\cc26xx\cc26xx_hci_tl_full_v41.a"
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+4
-4
@@ -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.5.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_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/
|
||||
|
||||
CC = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/include
|
||||
ASM = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/bin/armcl -c $(CCOPTS) -I C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/include
|
||||
AR = C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.5.LTS/bin/armar rq
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -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,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.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=""${TOOLS_BLE}/lib_search/lib_search.exe" ${ORG_PROJ_DIR}/build_config.opt "${TOOLS_BLE}/lib_search/params_split_cc2640.xml" ${SRC_BLE_CORE}/../blelib "${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd"">
|
||||
<folderInfo id="com.ti.ccstudio.buildDefinitions.TMS470.Default.893345658." name="/" resourcePath="">
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.662064348" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1240982460">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2060206926" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<toolChain id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain.862906140" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1373763881">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.749555863" 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.174730814" 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.112402563" 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.226107095" 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.1308855802" 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.1162032918" 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.327276671" 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.538784571" 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.1838411336" 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.1508380156" 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.1819166130" 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.1213955566" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1226924946" 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.666439040" 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.1487778905" 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.352371900" 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.1312023808" 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.342082829" 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.348530318" 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.1738096723" 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.1803929349" 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.327756378" 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.84498721" 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"/>
|
||||
@@ -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.181394656" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.449036407" 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="/>
|
||||
@@ -78,60 +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.1587878318" 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.436507674" 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.242123959" 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.601259316" 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.1596660667" 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.911375671" 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.1544258811" 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.669232242" 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.1890382832" 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.897642261" 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.916023731" 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.1852873766" 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.201033562" 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.1401380308" 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.57022734" 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.886514967" 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.977794136" 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.980317392" 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.1333878599" 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.289210215" 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.1240982460" 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.763630639" 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.786301819" 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.579888348" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.596794278" 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.61098608" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.1373763881" 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.1720562086" 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.1630117678" 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.1302394488" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.1128043424" 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.137622820" 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.1071463698" 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.790272373" 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.1861978448" 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.1324992868" 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.1661331023" 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.109768763" 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.1945184042" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT.1718643446" 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.676678693" 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.1014139784" 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.289607365" 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.1770270937" 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.1886191839" 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.216507169" 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.1382163767" 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.1890909858" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT.830512447" 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.1081803857" 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.249638271" 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.407917293" 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.2031489241" 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.1616606673" 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.1275037570" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.606988871" 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.2061369399" 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.460353249" 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.1647667237" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1600156533" 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.360730399" 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.1462981440" 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>
|
||||
@@ -157,5 +157,4 @@
|
||||
<content-type-mapping configuration="" content-type="org.eclipse.cdt.core.cxxSource" language="com.ti.ccstudio.core.TIGPPLanguage"/>
|
||||
</project-mappings>
|
||||
</storageModule>
|
||||
<storageModule moduleId="org.eclipse.cdt.make.core.buildtargets"/>
|
||||
</cproject>
|
||||
|
||||
+1
-4
File diff suppressed because one or more lines are too long
+14
-15
@@ -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
-1
@@ -132,7 +132,7 @@
|
||||
/* -DBLE_V42_FEATURES=SECURE_CONNS_CFG+EXT_DATA_LEN_CFG */
|
||||
/* -DBLE_V42_FEATURES=SECURE_CONNS_CFG */
|
||||
/* -DBLE_V42_FEATURES=PRIVACY_1_2_CFG */
|
||||
-DBLE_V42_FEATURES=EXT_DATA_LEN_CFG
|
||||
/* -DBLE_V42_FEATURES=EXT_DATA_LEN_CFG */
|
||||
|
||||
/* Include Transport Layer (Full or PTM) */
|
||||
/* -DHCI_TL_NONE */
|
||||
|
||||
+1
-1
@@ -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>
|
||||
|
||||
+55
-55
@@ -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.630386091" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug.79296890">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.548534114" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
|
||||
<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.47584557" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="18.1.4.LTS" valueType="string"/>
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.1062983983" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug"/>
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.1700118337" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.2136445879" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.1442029135" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.7M3" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.1227543067" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.983343098" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN.915765448" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.2028717074" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.4" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.1765791493" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.0" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.355253920" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<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,7 +70,7 @@
|
||||
<listOptionValue builtIn="false" value="${SRC_BLE_CORE}/rom"/>
|
||||
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.45713043" 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="POWER_SAVING"/>
|
||||
<listOptionValue builtIn="false" value="BOOSTXL_CC2650MA"/>
|
||||
@@ -86,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.188887433" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.709859007" name="C Dialect" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.C99" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC.1303283836" name="Enable support for GCC extensions (DEPRECATED) (--gcc)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GCC" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.880614544" name="Suppress diagnostic <id> (--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.787930495" name="Treat diagnostic <id> 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.2110497797" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.1508735855" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS.1406670754" name="Place each function in a separate subsection (--gen_func_subsections, -ms)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.GEN_FUNC_SUBSECTIONS.on" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.1230809079" name="Read options from specified file (--cmd_file, -@)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
|
||||
<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.497243650" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__C_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS.1364217553" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__CPP_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS.39449259" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS.1178170160" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compiler.inputType__ASM2_SRCS"/>
|
||||
<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.79296890" name="ARM Linker" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.linkerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE.891763345" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE" value="256" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE.314304138" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE" value="0" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.338495855" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.1060277100" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.875035059" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
|
||||
<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=""${ProjName}.map"" 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.1276978340" name="Add <dir> 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.336823753" name="Suppress diagnostic <id> (--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.1219370365" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.703721803" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.1258348097" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.1063255995" name="Aggressively reduce size of the DWARF information (--compress_dwarf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.on" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.1912195294" name="Eliminate sections not needed in the executable (--unused_section_elimination)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.on" valueType="enumerated"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.464172264" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS.1422737841" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS.194007756" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
|
||||
<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=""${ProjName}_linkInfo.xml"" 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.148133664" name="ARM Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH.1747210980" name="Specify rom width (--romwidth, -romwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH" value="8" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH.2120609162" name="Specify memory width (--memwidth, -memwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH" value="8" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.147492991" name="Output format" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.INTEL" valueType="enumerated"/>
|
||||
<tool 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.2115491595" name="XDCtools" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool">
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH.1165924088" name="Package repositories (--xdcpath)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.XDC_PATH" valueType="stringList">
|
||||
<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.231881756" name="Target (-t)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.TARGET" value="ti.targets.arm.elf.M3" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM.819491801" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM" value="ti.platforms.simplelink:CC2640F128" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW.2074274477" name="Platform (-p)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.PLATFORM_RAW" value="ti.platforms.simplelink:CC2640F128" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE.235985274" name="Build-profile (-r)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.BUILD_PROFILE" value="release" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR.173132565" name="Compiler tools directory (-c)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.CODEGEN_TOOL_DIR" value="${CG_TOOL_ROOT}" valueType="string"/>
|
||||
<option id="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS.582390411" name="Additional compiler options (--compileOptions)" superClass="com.ti.rtsc.buildDefinitions.XDC_3.16.tool.COMPILE_OPTIONS" value=""${COMPILER_FLAGS}"" 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=""${COMPILER_FLAGS}"" valueType="string"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:simple_peripheral_cc2650em_app}"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS100v3 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\FlashROM\simple_peripheral_cc2650em_app.out"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\FlashROM\simple_peripheral_cc2650em_app.out"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\ccsv8\ccs_base\emulation\gel\images\cc26xx\cc26x0_rtos_rom_syms.out"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650em\simple_peripheral\ccs\app\FlashROM\simple_peripheral_cc2650em_app.out"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/simple_peripheral_cc2650em_app"/>
|
||||
</listAttribute>
|
||||
|
||||
+531
-531
File diff suppressed because it is too large
Load Diff
+15
-14
@@ -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">
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
** Stack Frontier Generator 1.1.0 (2019-06-18 12:42:35.415000)
|
||||
** Stack Frontier Generator 1.1.0 (2019-03-07 15:50:46.148000)
|
||||
**
|
||||
** WARNING - Auto-generated file. Modifications could be lost!
|
||||
*/
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
** Stack Frontier Generator 1.1.0 (2019-06-18 12:42:35.415000)
|
||||
** Stack Frontier Generator 1.1.0 (2019-03-07 15:50:46.148000)
|
||||
**
|
||||
** WARNING - Auto-generated file. Modifications could be lost!
|
||||
*/
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+4
-4
@@ -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
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+1
-1
@@ -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>
|
||||
|
||||
+46
-47
@@ -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=""${TOOLS_BLE}/lib_search/lib_search.exe" ${ORG_PROJ_DIR}/build_config.opt "${TOOLS_BLE}/lib_search/params_split_cc2640.xml" ${SRC_BLE_CORE}/../blelib "${ORG_PROJ_DIR}/../../ccs/config/lib_linker.cmd"">
|
||||
<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" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="18.1.4.LTS" valueType="string"/>
|
||||
<targetPlatform id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug.1951196199" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.targetPlatformDebug"/>
|
||||
<builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug.20903631" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.builderDebug"/>
|
||||
<tool id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug.1176131016" name="ARM Compiler" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exe.compilerDebug">
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.647279085" name="Target processor version (--silicon_version, -mv)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.SILICON_VERSION.7M3" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.1443871767" name="Designate code state, 16-bit (thumb) or 32-bit (--code_state)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CODE_STATE.16" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.227818129" name="Application binary interface. (--abi)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.ABI.eabi" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN.784155377" name="Little endian code [See 'General' page to edit] (--little_endian, -me)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.LITTLE_ENDIAN" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.494285153" name="Optimization level (--opt_level, -O)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_LEVEL.4" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.581550859" name="Speed vs. size trade-offs (--opt_for_speed, -mf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.OPT_FOR_SPEED.0" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH.1288777730" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.INCLUDE_PATH" valueType="includePath">
|
||||
<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,15 +60,14 @@
|
||||
<listOptionValue builtIn="false" value="${SRC_EX}/profiles/roles"/>
|
||||
<listOptionValue builtIn="false" value="${CC26XXWARE}"/>
|
||||
</option>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE.986125825" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DEFINE" valueType="definedSymbols">
|
||||
<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="GATT_NO_CLIENT"/>
|
||||
<listOptionValue builtIn="false" value="HEADSTAGE_NOTIFY_USE_ATT"/>
|
||||
<listOptionValue builtIn="false" value="POWER_SAVING"/>
|
||||
<listOptionValue builtIn="false" value="CC26XXWARE"/>
|
||||
<listOptionValue builtIn="false" value="DATA="/>
|
||||
<listOptionValue builtIn="false" value="EXT_HAL_ASSERT"/>
|
||||
<listOptionValue builtIn="false" value="FLASH_ROM_BUILD"/>
|
||||
<listOptionValue builtIn="false" value="GATT_NO_CLIENT"/>
|
||||
<listOptionValue builtIn="false" value="INCLUDE_AES_DECRYPT"/>
|
||||
<listOptionValue builtIn="false" value="NEAR_FUNC="/>
|
||||
<listOptionValue builtIn="false" value="OSAL_CBTIMER_NUM_TASKS=1"/>
|
||||
@@ -82,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" name="C Dialect" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.C_DIALECT.C99" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_SUPPRESS.201347726" name="Suppress diagnostic <id> (--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.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" name="Treat diagnostic <id> 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.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" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER.1492280006" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE.538453952" name="Read options from specified file (--cmd_file, -@)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.compilerID.CMD_FILE" valueType="stringList">
|
||||
<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" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.STACK_SIZE" value="256" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE.1359172875" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.HEAP_SIZE" value="0" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE.1355177509" name="Link information (map) listed into <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.MAP_FILE" value=""${ProjName}.map"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE.829303802" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY.1078356909" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.LIBRARY" valueType="libs">
|
||||
<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=""${ProjName}.map"" 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" name="Add <dir> 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.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" name="Suppress diagnostic <id> (--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.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" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER.1727810233" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO.1385277262" name="Detailed link information data-base into <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT.1153340314" name="Specify program entry point for the output module (--entry_point, -e)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.ENTRY_POINT" value="startup_entry" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.450995330" name="Aggressively reduce size of the DWARF information (--compress_dwarf)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.COMPRESS_DWARF.on" valueType="enumerated"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.1827942626" name="Eliminate sections not needed in the executable (--unused_section_elimination)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.linkerID.UNUSED_SECTION_ELIMINATION.on" valueType="enumerated"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS.1279238428" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS.526125450" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__CMD2_SRCS"/>
|
||||
<inputType id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS.581803256" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.exeLinker.inputType__GEN_CMDS"/>
|
||||
<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=""${ProjName}_linkInfo.xml"" 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" name="Specify rom width (--romwidth, -romwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.ROMWIDTH" value="8" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH.110293046" name="Specify memory width (--memwidth, -memwidth=width)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.MEMWIDTH" value="8" valueType="string"/>
|
||||
<option id="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.1122561921" name="Output format" superClass="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT" value="com.ti.ccstudio.buildDefinitions.TMS470_18.1.hex.OUTPUT_FORMAT.INTEL" valueType="enumerated"/>
|
||||
<tool 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>
|
||||
|
||||
+1
@@ -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>
|
||||
|
||||
+15
-14
@@ -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">
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.ATTR_TARGET_CONFIG" value="${target_config_active_default:host_test_cc2650lp_app}"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\host_test\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\host_test\ccs\app\FlashROM\host_test_cc2650lp_app.out"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\host_test\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS100v3 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\host_test\ccs\app\FlashROM\host_test_cc2650lp_app.out"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\host_test\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\ccsv8\ccs_base\emulation\gel\images\cc26xx\cc26x0_rtos_rom_syms.out"/>
|
||||
<stringAttribute key="com.ti.ccstudio.debug.debugModel.MRU_PROGRAM.C:\ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\host_test\ccs\app\targetConfigs\CC2650F128.ccxml.Texas Instruments XDS110 USB Debug Probe_0/Cortex_M3_0" value="C:/ti\simplelink\ble_sdk_2_02_02_25\examples\cc2650lp\host_test\ccs\app\FlashROM\host_test_cc2650lp_app.out"/>
|
||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
||||
<listEntry value="/host_test_cc2650lp_app"/>
|
||||
</listAttribute>
|
||||
|
||||
+1
-1
@@ -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")
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+9
-9
@@ -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/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_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,:)
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+62
-209
@@ -16,75 +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="libc.a""/>
|
||||
<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"/>
|
||||
@@ -110,20 +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"/>
|
||||
@@ -139,155 +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 <id> 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 <id> (--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=""${ProjName}.map"" 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 <file> (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.MAP_FILE" value=""${ProjName}.map"" 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=""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.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 <dir> 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 <id> (--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=""${ProjName}_linkInfo.xml"" 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 <file> (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.TMS470_5.2.linkerID.XML_LINK_INFO" value=""${ProjName}_linkInfo.xml"" 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=""${COMPILER_FLAGS}"" 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=""${CG_TOOL_ROOT}"" 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=""${COMPILER_FLAGS}"" valueType="string"/>
|
||||
</tool>
|
||||
</toolChain>
|
||||
</folderInfo>
|
||||
@@ -433,14 +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">
|
||||
|
||||
-4
@@ -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="<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <PropertyValues> <property id="ConnectOnStartup"> <curValue>1</curValue> </property> <property id="EnableInstalledBreakpoint"> <curValue>1</curValue> </property> <property id="IgnoreSoftLaunchFailures"> <curValue>0</curValue> </property> </PropertyValues> "/>
|
||||
<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="<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <PropertyValues> <property id="ConnectOnStartup"> <curValue>1</curValue> </property> <property id="EnableInstalledBreakpoint"> <curValue>1</curValue> </property> <property id="IgnoreSoftLaunchFailures"> <curValue>0</curValue> </property> </PropertyValues> "/>
|
||||
<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"/>
|
||||
|
||||
+4
-5
@@ -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
|
||||
|
||||
+4
-5
@@ -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
|
||||
|
||||
+2
-2
@@ -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"
|
||||
|
||||
+1
-1
@@ -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")
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+9
-9
@@ -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,:)
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
-4
@@ -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="<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <PropertyValues> <property id="ConnectOnStartup"> <curValue>1</curValue> </property> <property id="EnableInstalledBreakpoint"> <curValue>1</curValue> </property> <property id="IgnoreSoftLaunchFailures"> <curValue>0</curValue> </property> </PropertyValues> "/>
|
||||
<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="<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <PropertyValues> <property id="ConnectOnStartup"> <curValue>1</curValue> </property> <property id="EnableInstalledBreakpoint"> <curValue>1</curValue> </property> <property id="IgnoreSoftLaunchFailures"> <curValue>0</curValue> </property> </PropertyValues> "/>
|
||||
<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,106 +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]
|
||||
//
|
||||
},
|
||||
#ifdef HEADSTAGE_MA_USE_SPI2
|
||||
{
|
||||
//
|
||||
.fxnTablePtr = &SPICC26XXDMA_fxnTable,
|
||||
.object = &spiCC26XXDMAObjects[1],
|
||||
.hwAttrs = &spiCC26XXDMAHWAttrs[1]
|
||||
//
|
||||
},
|
||||
#endif
|
||||
{NULL, NULL, NULL}};
|
||||
/*
|
||||
* ========================== SPI DMA end =====================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* ========================== Crypto begin ====================================
|
||||
@@ -296,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 ==================================
|
||||
*/
|
||||
@@ -331,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,
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -359,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 ====================================
|
||||
@@ -391,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..) */
|
||||
@@ -454,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 },
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -480,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 */
|
||||
@@ -498,99 +358,18 @@ 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 ======================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* ============================= I2C Begin=====================================
|
||||
*/
|
||||
|
||||
#ifdef HEADSTAGE_LED_USE_I2C
|
||||
|
||||
#define Board_I2C0_SCL0 IOID_10
|
||||
#define Board_I2C0_SDA0 IOID_11
|
||||
|
||||
/* 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[BOOSTXL_CC2650MA_I2CCOUNT];
|
||||
|
||||
/* I2C configuration structure, describing which pins are to be used */
|
||||
const I2CCC26XX_HWAttrsV1 i2cCC26xxHWAttrs[BOOSTXL_CC2650MA_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}
|
||||
};
|
||||
#endif
|
||||
/*
|
||||
* ========================== I2C end =========================================
|
||||
*/
|
||||
|
||||
/*
|
||||
* ============================= Watchdog begin =====================================
|
||||
*/
|
||||
|
||||
/* Place into subsections to allow the TI linker to remove items properly */
|
||||
#if defined(__TI_COMPILER_VERSION__)
|
||||
#pragma DATA_SECTION(Watchdog_config, ".const:Watchdog_config")
|
||||
#pragma DATA_SECTION(wdCC26XXHWAttrs, ".const:wdCC26XXHWAttrs")
|
||||
#endif
|
||||
|
||||
#include <ti/drivers/watchdog/WatchdogCC26XX.h>
|
||||
WatchdogCC26XX_Object wdCC26XXObject[BOOSTXL_CC2650MA_WATCHDOGCOUNT];
|
||||
|
||||
const WatchdogCC26XX_HWAttrs wdCC26XXHWAttrs[] = {
|
||||
{
|
||||
.baseAddr = WDT_BASE,
|
||||
.intNum = INT_WDT_IRQ,
|
||||
.reloadValue = 100
|
||||
}
|
||||
};
|
||||
|
||||
/* I2S configuration structure */
|
||||
const Watchdog_Config Watchdog_config[] = {
|
||||
{
|
||||
.fxnTablePtr = &WatchdogCC26XX_fxnTable,
|
||||
.object = &wdCC26XXObject[0],
|
||||
.hwAttrs = &wdCC26XXHWAttrs[0]
|
||||
},
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
/*
|
||||
* ============================= Watchdog end =====================================
|
||||
*/
|
||||
|
||||
@@ -90,24 +90,24 @@ extern const PIN_Config BoardGpioInitTable[];
|
||||
|
||||
/* Connector J1 */
|
||||
#define Board_BP_Pin_J1_2 IOID_UNUSED
|
||||
#define Board_BP_Pin_J1_3 IOID_UNUSED
|
||||
#define Board_BP_Pin_J1_4 IOID_UNUSED
|
||||
#define Board_BP_Pin_J1_5 IOID_UNUSED
|
||||
#define Board_BP_Pin_J1_6 IOID_UNUSED
|
||||
#define Board_BP_Pin_J1_7 IOID_UNUSED
|
||||
#define Board_BP_Pin_J1_8 IOID_UNUSED
|
||||
#define Board_BP_Pin_J1_9 IOID_UNUSED
|
||||
#define Board_BP_Pin_J1_10 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 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 IOID_UNUSED
|
||||
#define Board_BP_Pin_J2_18 IOID_UNUSED /* CS */
|
||||
#define Board_BP_Pin_J2_17 IOID_UNUSED /* NC */
|
||||
#define Board_BP_Pin_J2_15 IOID_UNUSED /* MOSI */
|
||||
#define Board_BP_Pin_J2_14 IOID_UNUSED /* MISO */
|
||||
#define Board_BP_Pin_J2_13 IOID_UNUSED
|
||||
#define Board_BP_Pin_J2_12 IOID_UNUSED
|
||||
#define Board_BP_Pin_J2_11 IOID_UNUSED /* NC */
|
||||
#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)
|
||||
*/
|
||||
@@ -125,74 +125,56 @@ extern const PIN_Config BoardGpioInitTable[];
|
||||
|
||||
/* Connector J2 */
|
||||
#define Board_BP_PWM_0 Board_BP_Pin_J2_19
|
||||
#define Board_BP_SPI_CS_Wireless Board_BP_Pin_J2_18
|
||||
#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 Board_BP_Pin_J2_13
|
||||
#define Board_BP_SPI_CS_Other Board_BP_Pin_J2_12
|
||||
#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 */
|
||||
|
||||
/*
|
||||
* SPI0 is LSK interface
|
||||
*/
|
||||
#define Board_SPI0_MISO PIN_UNASSIGNED
|
||||
#define Board_SPI0_MOSI IOID_0
|
||||
#define Board_SPI0_CLK IOID_1
|
||||
#define Board_SPI0_CS IOID_3
|
||||
|
||||
/*
|
||||
* SPI1 is ASK interface
|
||||
*/
|
||||
|
||||
#define Board_SPI1_MISO PIN_UNASSIGNED
|
||||
#define Board_SPI1_MOSI IOID_13
|
||||
#define Board_SPI1_CLK PIN_UNASSIGNED
|
||||
#define Board_SPI1_CS IOID_4
|
||||
//#define Board_SPI0_MISO PIN_UNASSIGNED
|
||||
//#define Board_SPI0_MOSI PIN_UNASSIGNED
|
||||
|
||||
|
||||
/* Power Management Board */
|
||||
#define Board_SRDY Board_BP_Pin_J2_19
|
||||
#define Board_MRDY Board_BP_Pin_J1_2
|
||||
|
||||
/* PWM outputs */
|
||||
#define Board_PWMPIN0 IOID_6
|
||||
#define Board_PWMPIN0 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN1 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN2 IOID_8
|
||||
#define Board_PWMPIN2 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN3 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN4 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN5 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN6 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN7 PIN_UNASSIGNED
|
||||
|
||||
|
||||
/** ============================================================================
|
||||
* Instance identifiers
|
||||
* ==========================================================================*/
|
||||
|
||||
/* 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
|
||||
@@ -202,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
|
||||
@@ -217,16 +198,6 @@ extern const PIN_Config BoardGpioInitTable[];
|
||||
* Number of peripherals and their names
|
||||
* ==========================================================================*/
|
||||
|
||||
/*
|
||||
* @def BOOSTXL_CC2650MA_I2C
|
||||
* @brief Enum of I2C names on the cc2650 dev board
|
||||
*/
|
||||
typedef enum BOOSTXL_CC2650MA_I2CName{
|
||||
BOOSTXL_CC2650MA_I2C0 = 0,
|
||||
|
||||
BOOSTXL_CC2650MA_I2CCOUNT
|
||||
} BOOSTXL_CC2650MA_I2CName;
|
||||
|
||||
/*!
|
||||
* @def BOOSTXL_CC2650MA_CryptoName
|
||||
* @brief Enum of Crypto names on the CC2650 Booster Pack
|
||||
@@ -238,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
|
||||
@@ -328,35 +287,6 @@ typedef enum BOOSTXL_CC2650MA_PWM
|
||||
BOOSTXL_CC2650MA_PWMCOUNT
|
||||
} BOOSTXL_CC2650MA_PWM;
|
||||
|
||||
typedef enum BOOSTXL_CC2650MA_WATCHDOG
|
||||
{
|
||||
BOOSTXL_CC2650MA_WATCHDOG0 = 0,
|
||||
BOOSTXL_CC2650MA_WATCHDOGCOUNT
|
||||
} BOOSTXL_CC2650MA_WATCHDOG;
|
||||
|
||||
#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 */
|
||||
|
||||
@@ -73,18 +73,17 @@
|
||||
#endif
|
||||
|
||||
const PIN_Config BoardGpioInitTable[] = {
|
||||
S2P_RST | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
P2S_RST | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
SPI_MOSI | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
SPI_MISO | PIN_INPUT_EN | PIN_PULLDOWN,
|
||||
SPI_CLK | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
Board_3V3_EN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
Board_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
Board_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,
|
||||
Board_DK_LED3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
Board_DK_LED4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
PIN_TERMINATE
|
||||
/* Terminate list */
|
||||
|
||||
Board_DK_LED3 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
|
||||
Board_DK_LED4 | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */
|
||||
Board_KEY_SELECT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
|
||||
Board_KEY_UP | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
|
||||
Board_KEY_DOWN | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
|
||||
Board_KEY_LEFT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
|
||||
Board_KEY_RIGHT | PIN_INPUT_EN | PIN_PULLUP | PIN_HYSTERESIS, /* Button is active low */
|
||||
Board_3V3_EN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL, /* 3V3 domain off initially */
|
||||
Board_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL, /* UART TX pin at inactive level */
|
||||
PIN_TERMINATE /* Terminate list */
|
||||
};
|
||||
|
||||
const PINCC26XX_HWAttrs PINCC26XX_hwAttrs = {
|
||||
@@ -234,7 +233,7 @@ const SPI_Config SPI_config[] = {
|
||||
.object = &spiCC26XXDMAObjects[0],
|
||||
.hwAttrs = &spiCC26XXDMAHWAttrs[0]
|
||||
},
|
||||
{ NULL, NULL, NULL}
|
||||
{NULL, NULL, NULL}
|
||||
};
|
||||
/*
|
||||
* ========================== SPI DMA end =====================================
|
||||
|
||||
@@ -103,8 +103,8 @@ extern const PIN_Config BoardGpioInitTable[];
|
||||
/* Power Board */
|
||||
#define Board_3V3_EN IOID_14 /* P1.15 */
|
||||
/* PWM outputs */
|
||||
#define Board_PWMPIN0 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN1 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN0 Board_DK_LED3
|
||||
#define Board_PWMPIN1 Board_DK_LED4
|
||||
#define Board_PWMPIN2 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN3 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN4 PIN_UNASSIGNED
|
||||
@@ -112,12 +112,6 @@ extern const PIN_Config BoardGpioInitTable[];
|
||||
#define Board_PWMPIN6 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN7 PIN_UNASSIGNED
|
||||
|
||||
#define S2P_RST IOID_9
|
||||
#define P2S_RST IOID_13
|
||||
#define SPI_MOSI Board_SPI0_MOSI
|
||||
#define SPI_MISO Board_SPI0_MISO
|
||||
#define SPI_CLK Board_SPI0_CLK
|
||||
|
||||
/** ============================================================================
|
||||
* Instance identifiers
|
||||
* ==========================================================================*/
|
||||
|
||||
@@ -84,9 +84,6 @@ const PIN_Config BoardGpioInitTable[] = {
|
||||
Board_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI master out - slave in */
|
||||
Board_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI master in - slave out */
|
||||
Board_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI clock */
|
||||
Board_SPI1_MOSI | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI master out - slave in */
|
||||
Board_SPI1_MISO | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI master in - slave out */
|
||||
Board_SPI1_CLK | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI clock */
|
||||
|
||||
PIN_TERMINATE
|
||||
};
|
||||
|
||||
@@ -78,24 +78,23 @@ extern const PIN_Config BoardGpioInitTable[];
|
||||
#define Board_BTN2 IOID_14
|
||||
|
||||
/* UART Board */
|
||||
#define Board_UART_RX IOID_1 /* RXD */
|
||||
#define Board_UART_TX IOID_2 /* TXD */
|
||||
#define Board_UART_CTS PIN_UNASSIGNED /* CTS */
|
||||
#define Board_UART_RTS PIN_UNASSIGNED /* RTS */
|
||||
#define Board_UART_RX IOID_2 /* RXD */
|
||||
#define Board_UART_TX PIN_UNASSIGNED /* TXD */
|
||||
#define Board_UART_CTS IOID_19 /* CTS */
|
||||
#define Board_UART_RTS IOID_18 /* RTS */
|
||||
|
||||
/* SPI Board */
|
||||
#define Board_SPI0_MISO PIN_UNASSIGNED /* RF1.20 */
|
||||
#define Board_SPI0_MOSI IOID_12 /* RF1.18 */
|
||||
#define Board_SPI0_CLK PIN_UNASSIGNED /* RF1.16 */
|
||||
#define Board_SPI0_CSN IOID_4
|
||||
#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 IOID_10
|
||||
#define Board_SPI1_CLK IOID_9
|
||||
#define Board_SPI1_CSN IOID_3
|
||||
#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
|
||||
@@ -130,31 +129,27 @@ extern const PIN_Config BoardGpioInitTable[];
|
||||
#define Board_LCD_CS_OFF 0
|
||||
|
||||
/* PWM outputs */
|
||||
#define Board_PWMPIN0 Board_RLED
|
||||
#define Board_PWMPIN1 Board_GLED
|
||||
#define Board_PWMPIN2 IOID_5
|
||||
#define Board_PWMPIN3 IOID_11
|
||||
#define Board_PWMPIN4 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN5 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN6 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN7 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN0 Board_RLED
|
||||
#define Board_PWMPIN1 Board_GLED
|
||||
#define Board_PWMPIN2 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN3 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN4 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN5 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN6 PIN_UNASSIGNED
|
||||
#define Board_PWMPIN7 PIN_UNASSIGNED
|
||||
|
||||
/** ============================================================================
|
||||
* Instance identifiers
|
||||
* ==========================================================================*/
|
||||
/* 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
|
||||
|
||||
@@ -1,157 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file cc26xx_app.cmd
|
||||
|
||||
@brief CC2650F128 linker configuration file for TI-RTOS with Code Composer
|
||||
Studio.
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
Copyright (c) 2013-2016, 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_01_18
|
||||
Release Date: 2016-10-26 15:20:04
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
/* Retain interrupt vector table variable */
|
||||
--retain=g_pfnVectors
|
||||
/* Override default entry point. */
|
||||
--entry_point ResetISR
|
||||
/* 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. Flash is 128KB, with */
|
||||
/* sector length of 4KB */
|
||||
#define FLASH_APP_BASE 0x00000000
|
||||
#define FLASH_LEN 0x20000
|
||||
#define FLASH_PAGE_LEN 0x1000
|
||||
|
||||
/* Last page of Flash is allocated to App: 0x1F000 - 0x1FFFF */
|
||||
#define FLASH_LAST_PAGE_START FLASH_LEN - FLASH_PAGE_LEN
|
||||
|
||||
/* RAM starts at 0x20000000 and is 20KB */
|
||||
#define RAM_APP_BASE 0x20000000
|
||||
#define RAM_LEN 0x5000
|
||||
/* RAM reserved by ROM code starts. */
|
||||
#define RAM_RESERVED_OFFSET 0x4F00
|
||||
|
||||
/* RAM starts at 0x20000000 and is 2KB */
|
||||
#define AUX_RAM_BASE 0x400E0000
|
||||
#define AUX_RAM_LEN 0x800
|
||||
|
||||
/* System memory map */
|
||||
|
||||
MEMORY
|
||||
{
|
||||
/* EDITOR'S NOTE:
|
||||
* the FLASH and SRAM lengths can be changed by defining
|
||||
* ICALL_STACK0_START or ICALL_RAM0_START in
|
||||
* Properties->ARM Linker->Advanced Options->Command File Preprocessing.
|
||||
*/
|
||||
|
||||
/* Application stored in and executes from internal flash */
|
||||
/* Flash Size 128 KB */
|
||||
#ifdef ICALL_STACK0_START
|
||||
FLASH (RX) : origin = FLASH_APP_BASE, length = ICALL_STACK0_START - FLASH_APP_BASE
|
||||
#else // default
|
||||
FLASH (RX) : origin = FLASH_APP_BASE, length = FLASH_LEN - FLASH_PAGE_LEN
|
||||
#endif
|
||||
|
||||
// CCFG Page, contains .ccfg code section and some application code.
|
||||
FLASH_LAST_PAGE (RX) : origin = FLASH_LAST_PAGE_START, length = FLASH_PAGE_LEN
|
||||
|
||||
/* Application uses internal RAM for data */
|
||||
/* RAM Size 16 KB */
|
||||
#ifdef ICALL_RAM0_START
|
||||
SRAM (RWX) : origin = RAM_APP_BASE, length = ICALL_RAM0_START - RAM_APP_BASE
|
||||
#else //default
|
||||
SRAM (RWX) : origin = RAM_APP_BASE, length = RAM_RESERVED_OFFSET
|
||||
#endif
|
||||
|
||||
AUXRAM (RWX) : origin = AUX_RAM_BASE, length = AUX_RAM_LEN
|
||||
}
|
||||
|
||||
/* Section allocation in memory */
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.intvecs : > FLASH_APP_BASE
|
||||
.text : >> FLASH | FLASH_LAST_PAGE
|
||||
.const : >> FLASH | FLASH_LAST_PAGE
|
||||
.constdata : >> FLASH | FLASH_LAST_PAGE
|
||||
.rodata : >> FLASH | FLASH_LAST_PAGE
|
||||
.cinit : > FLASH | FLASH_LAST_PAGE
|
||||
.pinit : >> FLASH | FLASH_LAST_PAGE
|
||||
.init_array : >> FLASH | FLASH_LAST_PAGE
|
||||
.emb_text : >> FLASH | FLASH_LAST_PAGE
|
||||
.ccfg : > FLASH_LAST_PAGE (HIGH)
|
||||
|
||||
GROUP > SRAM
|
||||
{
|
||||
.data
|
||||
.bss
|
||||
.vtable
|
||||
.vtable_ram
|
||||
vtable_ram
|
||||
.sysmem
|
||||
.nonretenvar
|
||||
} LOAD_END(heapStart)
|
||||
|
||||
.stack : > SRAM (HIGH) LOAD_START(heapEnd)
|
||||
|
||||
.aux_ram : > AUXRAM
|
||||
}
|
||||
|
||||
/* Create global constant that points to top of stack */
|
||||
/* CCS: Change stack size under Project Properties */
|
||||
__STACK_TOP = __stack + __STACK_SIZE;
|
||||
|
||||
/* Allow main() to take args */
|
||||
--args 0x8
|
||||
@@ -1,148 +0,0 @@
|
||||
|
||||
/*
|
||||
* Filename: cc26xx_app_gpram.cmd
|
||||
*
|
||||
* Description: CCS linker file to define GPRAM region
|
||||
*
|
||||
*
|
||||
* Copyright (C) 2016 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
|
||||
/* 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. Flash is 128KB, with */
|
||||
/* sector length of 4KB */
|
||||
#define FLASH_APP_BASE 0x00000000
|
||||
#define FLASH_LEN 0x20000
|
||||
#define FLASH_PAGE_LEN 0x1000
|
||||
|
||||
/* Last page of Flash is allocated to App: 0x1F000 - 0x1FFFF */
|
||||
#define FLASH_LAST_PAGE_START FLASH_LEN - FLASH_PAGE_LEN
|
||||
|
||||
/* RAM starts at 0x20000000 and is 20KB */
|
||||
#define RAM_APP_BASE 0x20000000
|
||||
#define RAM_LEN 0x5000
|
||||
/* RAM reserved by ROM code starts. */
|
||||
#define RAM_RESERVED_OFFSET 0x4F00
|
||||
|
||||
/* GPRAM starts at 0x11000000 and is 8KB */
|
||||
#define GPRAM_BASE 0x11000000
|
||||
#define GPRAM_SIZE 0x2000
|
||||
|
||||
/* System memory map */
|
||||
|
||||
MEMORY
|
||||
{
|
||||
/* EDITOR'S NOTE:
|
||||
* the FLASH and SRAM lengths can be changed by defining
|
||||
* ICALL_STACK0_START or ICALL_RAM0_START in
|
||||
* Properties->ARM Linker->Advanced Options->Command File Preprocessing.
|
||||
*/
|
||||
|
||||
/* Application stored in and executes from internal flash */
|
||||
/* Flash Size 128 KB */
|
||||
#ifdef ICALL_STACK0_START
|
||||
FLASH (RX) : origin = FLASH_APP_BASE, length = ICALL_STACK0_START - FLASH_APP_BASE
|
||||
#else // default
|
||||
FLASH (RX) : origin = FLASH_APP_BASE, length = FLASH_LEN - FLASH_PAGE_LEN
|
||||
#endif
|
||||
|
||||
// CCFG Page, contains .ccfg code section and some application code.
|
||||
FLASH_LAST_PAGE (RX) : origin = FLASH_LAST_PAGE_START, length = FLASH_PAGE_LEN
|
||||
|
||||
/* Application uses internal RAM for data */
|
||||
/* RAM Size 16 KB */
|
||||
#ifdef ICALL_RAM0_START
|
||||
SRAM (RWX) : origin = RAM_APP_BASE, length = ICALL_RAM0_START - RAM_APP_BASE
|
||||
#else //default
|
||||
SRAM (RWX) : origin = RAM_APP_BASE, length = RAM_RESERVED_OFFSET
|
||||
#endif
|
||||
|
||||
GPRAM (RWX) : origin = GPRAM_BASE, length = GPRAM_SIZE
|
||||
}
|
||||
|
||||
/* Section allocation in memory */
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.intvecs : > FLASH_APP_BASE
|
||||
.text : >> FLASH | FLASH_LAST_PAGE
|
||||
.const : >> FLASH | FLASH_LAST_PAGE
|
||||
.constdata : >> FLASH | FLASH_LAST_PAGE
|
||||
.rodata : >> FLASH | FLASH_LAST_PAGE
|
||||
.cinit : > FLASH | FLASH_LAST_PAGE
|
||||
.pinit : >> FLASH | FLASH_LAST_PAGE
|
||||
.init_array : >> FLASH | FLASH_LAST_PAGE
|
||||
.emb_text : >> FLASH | FLASH_LAST_PAGE
|
||||
.ccfg : > FLASH_LAST_PAGE (HIGH)
|
||||
.bss : > GPRAM
|
||||
|
||||
|
||||
GROUP > SRAM
|
||||
{
|
||||
.data
|
||||
.vtable
|
||||
.vtable_ram
|
||||
vtable_ram
|
||||
.sysmem
|
||||
.nonretenvar
|
||||
} LOAD_END(heapStart)
|
||||
|
||||
.stack : > SRAM (HIGH) LOAD_START(heapEnd)
|
||||
}
|
||||
|
||||
/* Create global constant that points to top of stack */
|
||||
/* CCS: Change stack size under Project Properties */
|
||||
__STACK_TOP = __stack + __STACK_SIZE;
|
||||
|
||||
/* Allow main() to take args */
|
||||
--args 0x8
|
||||
@@ -1,170 +0,0 @@
|
||||
|
||||
/*
|
||||
* Filename: cc26xx_app_gpram.icf
|
||||
*
|
||||
* Description: IAR linker file to define GPRAM region
|
||||
*
|
||||
*
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Memory Sizes
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
define symbol RAM_SIZE = 0x00005000; // 20K
|
||||
define symbol FLASH_SIZE = 0x00020000; // 128K
|
||||
define symbol ROM_SIZE = 0x0001C000; // 115K
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Memory Definitions
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// RAM
|
||||
//
|
||||
define symbol RAM_START = 0x20000000;
|
||||
define symbol RAM_RESERVED_START = 0x20004F00;
|
||||
|
||||
if ( isdefinedsymbol(ICALL_RAM0_START) )
|
||||
{
|
||||
define symbol RAM_END = (ICALL_RAM0_START-1);
|
||||
}
|
||||
else // default
|
||||
{
|
||||
define symbol RAM_END = RAM_RESERVED_START - 1;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Flash
|
||||
//
|
||||
define symbol FLASH_START = 0x00000000;
|
||||
|
||||
if ( isdefinedsymbol(ICALL_STACK0_START) )
|
||||
{
|
||||
define symbol FLASH_END = (ICALL_STACK0_START-1);
|
||||
}
|
||||
else // default
|
||||
{
|
||||
// Default includes all but last page, which is defined later.
|
||||
define symbol FLASH_END = FLASH_START + FLASH_SIZE - 0x1001;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Stack
|
||||
//
|
||||
|
||||
define symbol STACK_SIZE = 0x400;
|
||||
define symbol STACK_START = RAM_END + 1;
|
||||
define symbol STACK_END = STACK_START - STACK_SIZE;
|
||||
//
|
||||
define symbol STACK_TOP = RAM_END + 1;
|
||||
export symbol STACK_TOP;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// RAM
|
||||
//
|
||||
|
||||
define symbol GPRAM_START = 0x11000000;
|
||||
define symbol GPRAM_SIZE = 8096;
|
||||
define symbol GPRAM_END = GPRAM_START + GPRAM_SIZE;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Flash Interrupt Vector Table
|
||||
//
|
||||
|
||||
define symbol INTVEC_NUM_ENTRIES = 50 + 1; // first entry is stack location
|
||||
define symbol INTVEC_SIZE = INTVEC_NUM_ENTRIES + 4;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Memory Regions
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
define memory mem with size = 4G;
|
||||
|
||||
define region RAM = mem:[from RAM_START to RAM_END];
|
||||
define region FLASH_LAST_PAGE = mem:[from(FLASH_SIZE) - 0x1000 to FLASH_SIZE-1];
|
||||
define region FLASH = mem:[from FLASH_START to FLASH_END] |
|
||||
FLASH_LAST_PAGE;
|
||||
define region GPRAM = mem:[from GPRAM_START to GPRAM_END];
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Memory Placement
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Code and RO Data
|
||||
place in FLASH { readonly };
|
||||
|
||||
// CCFG
|
||||
place at end of FLASH_LAST_PAGE { readonly section .ccfg };
|
||||
keep { section .ccfg };
|
||||
|
||||
// Interrupt Vector Table
|
||||
place at address mem:FLASH_START { readonly section .intvec };
|
||||
keep { readonly section .intvec };
|
||||
|
||||
// RAM Vector Table
|
||||
place at start of RAM { section .vtable_ram };
|
||||
|
||||
// Runtime Stack
|
||||
define block CSTACK with alignment = 8, size = STACK_SIZE { section .stack };
|
||||
place at end of RAM { block CSTACK };
|
||||
|
||||
// RW Data
|
||||
define block RWDATA { rw };
|
||||
place in RAM { block RWDATA };
|
||||
|
||||
// GPRAM
|
||||
define block GPDATA { section .bss };
|
||||
place in GPRAM { block GPDATA };
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// Initialization
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
initialize by copy { readwrite };
|
||||
|
||||
do not initialize
|
||||
{
|
||||
section .noinit,
|
||||
section .stack,
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// The USE_TIRTOS_ROM symbol is defined internally in the build flow (using
|
||||
// --config_def USE_TIRTOS_ROM=1) for TI-RTOS applications whose appBLE.cfg file
|
||||
// specifies to use the ROM.
|
||||
//
|
||||
if (isdefinedsymbol(USE_TIRTOS_ROM)) {
|
||||
include "TIRTOS_ROM.icf";
|
||||
}
|
||||
@@ -100,7 +100,6 @@ if (typeof NO_ROM == 'undefined' || (typeof NO_ROM != 'undefined' && NO_ROM == 0
|
||||
|
||||
/* ================ Clock configuration ================ */
|
||||
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
|
||||
var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
|
||||
/*
|
||||
* When using Power and calibrateRCOSC is set to true, this should be set to 10.
|
||||
* The timer used by the Clock module supports TickMode_DYNAMIC. This enables us
|
||||
@@ -113,7 +112,6 @@ var Timestamp = xdc.useModule('xdc.runtime.Timestamp');
|
||||
Clock.tickPeriod = 10;
|
||||
Clock.swiPriority = 5;
|
||||
|
||||
Timestamp.SupportProxy = xdc.useModule('ti.sysbios.family.arm.cc26xx.TimestampProvider');
|
||||
|
||||
/* ================ Types configuration ================ */
|
||||
var Types = xdc.useModule('xdc.runtime.Types');
|
||||
|
||||
-480
@@ -1,480 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 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.
|
||||
*/
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Includes
|
||||
* ------------------------------------------------------------------------------
|
||||
*/
|
||||
// TI RTOS drivers
|
||||
#include <ti/sysbios/BIOS.h>
|
||||
#include <ti/sysbios/knl/Task.h>
|
||||
#include <ti/sysbios/knl/Semaphore.h>
|
||||
#include <ti/drivers/PIN.h>
|
||||
#include <ti/drivers/SPI.h>
|
||||
|
||||
#include <xdc/runtime/Log.h>
|
||||
#include <xdc/runtime/System.h>
|
||||
|
||||
#include <ti/mw/grlib/grlib.h>
|
||||
#include <ti/mw/display/Display.h>
|
||||
#include <ti/mw/display/DisplaySharp.h>
|
||||
#include <ti/mw/lcd/SharpGrLib.h>
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Constants and macros
|
||||
* ------------------------------------------------------------------------------
|
||||
*/
|
||||
// Timeout of semaphore that controls exclusive to the LCD (infinite)
|
||||
#define ACCESS_TIMEOUT BIOS_WAIT_FOREVER
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Type definitions
|
||||
* ------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Local variables
|
||||
* ------------------------------------------------------------------------------
|
||||
*/
|
||||
/* Display function table for sharp implementation */
|
||||
const Display_FxnTable DisplaySharp_fxnTable = {
|
||||
DisplaySharp_open,
|
||||
DisplaySharp_clear,
|
||||
DisplaySharp_clearLines,
|
||||
DisplaySharp_put5,
|
||||
DisplaySharp_close,
|
||||
DisplaySharp_control,
|
||||
DisplaySharp_getType,
|
||||
};
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Functions
|
||||
* ------------------------------------------------------------------------------
|
||||
*/
|
||||
/*!
|
||||
* @fn DisplaySharp_open
|
||||
*
|
||||
* @brief Initialize the LCD
|
||||
*
|
||||
* @descr Initializes the pins used by the LCD, creates resource access
|
||||
* protection semaphore, turns on the LCD device, initializes the
|
||||
* frame buffer, initializes to white background/dark foreground,
|
||||
* and finally clears the object->displayColor.
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
* @param params - display parameters
|
||||
*
|
||||
* @return Pointer to Display_Config struct
|
||||
*/
|
||||
Display_Handle DisplaySharp_open(Display_Handle hDisplay,
|
||||
Display_Params *params)
|
||||
{
|
||||
DisplaySharp_HWAttrs *hwAttrs = (DisplaySharp_HWAttrs *)hDisplay->hwAttrs;
|
||||
DisplaySharp_Object *object = (DisplaySharp_Object *)hDisplay->object;
|
||||
|
||||
PIN_Config pinTable[4 + 1];
|
||||
|
||||
object->lineClearMode = params->lineClearMode;
|
||||
|
||||
uint32_t i = 0;
|
||||
if (hwAttrs->csPin != PIN_TERMINATE)
|
||||
{
|
||||
pinTable[i++] = hwAttrs->csPin | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX;
|
||||
}
|
||||
if (hwAttrs->extcominPin != PIN_TERMINATE)
|
||||
{
|
||||
pinTable[i++] = hwAttrs->extcominPin | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX;
|
||||
}
|
||||
if (hwAttrs->powerPin != PIN_TERMINATE)
|
||||
{
|
||||
pinTable[i++] = hwAttrs->powerPin | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MAX;
|
||||
}
|
||||
if (hwAttrs->enablePin != PIN_TERMINATE)
|
||||
{
|
||||
pinTable[i++] = hwAttrs->enablePin | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MAX;
|
||||
}
|
||||
pinTable[i++] = PIN_TERMINATE;
|
||||
|
||||
object->hPins = PIN_open(&object->pinState, pinTable);
|
||||
if (object->hPins == NULL)
|
||||
{
|
||||
Log_error0("Couldn't open pins for Sharp96x96");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
SPI_Params spiParams;
|
||||
SPI_Params_init(&spiParams);
|
||||
spiParams.bitRate = 4000000;
|
||||
|
||||
object->hSpi = SPI_open(hwAttrs->spiIndex, &spiParams);
|
||||
|
||||
if (object->hSpi == NULL)
|
||||
{
|
||||
Log_error0("Couldn't open SPI driver for Sharp96x96");
|
||||
PIN_close(object->hPins);
|
||||
object->hPins = NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Init colors
|
||||
object->displayColor.bg = ClrBlack;
|
||||
object->displayColor.fg = ClrWhite;
|
||||
|
||||
// Exclusive access
|
||||
Semaphore_Params semParams;
|
||||
|
||||
Semaphore_Params_init(&semParams);
|
||||
semParams.mode = Semaphore_Mode_BINARY;
|
||||
Semaphore_construct(&object->semLCD, 1, &semParams);
|
||||
|
||||
// Grab LCD
|
||||
Semaphore_pend((Semaphore_Handle) & object->semLCD, ACCESS_TIMEOUT);
|
||||
|
||||
// Initialize the GrLib back-end transport
|
||||
SharpGrLib_init(object->hSpi, object->hPins, hwAttrs->csPin);
|
||||
|
||||
object->g_sDisplay.lSize = sizeof(tDisplay);
|
||||
object->g_sDisplay.pFxns = &g_sharpFxns;
|
||||
object->g_sDisplay.pvDisplayData = object->displayBuffer;
|
||||
object->g_sDisplay.usHeight = hwAttrs->pixelHeight;
|
||||
object->g_sDisplay.usWidth = hwAttrs->pixelWidth;
|
||||
object->g_sDisplay.pvDisplayData = hwAttrs->displayBuf;
|
||||
|
||||
// Graphics library init
|
||||
GrContextInit(&object->g_sContext, &object->g_sDisplay, &g_sharpFxns);
|
||||
|
||||
// Graphics properties
|
||||
GrContextForegroundSet(&object->g_sContext, object->displayColor.fg);
|
||||
GrContextBackgroundSet(&object->g_sContext, object->displayColor.bg);
|
||||
GrContextFontSet(&object->g_sContext, &g_sFontFixed6x8);
|
||||
|
||||
// Clear display
|
||||
GrClearDisplay(&object->g_sContext);
|
||||
GrFlush(&object->g_sContext);
|
||||
|
||||
// Release LCD
|
||||
Semaphore_post((Semaphore_Handle) & object->semLCD);
|
||||
|
||||
return hDisplay;
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* @fn DisplaySharp_clear
|
||||
*
|
||||
* @brief Clears the display
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
void DisplaySharp_clear(Display_Handle hDisplay)
|
||||
{
|
||||
DisplaySharp_Object *object = (DisplaySharp_Object *)hDisplay->object;
|
||||
|
||||
if (object->hPins == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Grab LCD
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->semLCD, ACCESS_TIMEOUT))
|
||||
{
|
||||
GrClearDisplay(&object->g_sContext);
|
||||
GrFlush(&object->g_sContext);
|
||||
|
||||
// Release LCD
|
||||
Semaphore_post((Semaphore_Handle) & object->semLCD);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* @fn DisplaySharp_clearLines
|
||||
*
|
||||
* @brief Clears lines lineFrom-lineTo of the display, inclusive
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
* @param lineFrom - line index (0 .. )
|
||||
* @param lineTo - line index (0 .. )
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
void DisplaySharp_clearLines(Display_Handle hDisplay,
|
||||
uint8_t lineFrom, uint8_t lineTo)
|
||||
{
|
||||
DisplaySharp_Object *object = (DisplaySharp_Object *)hDisplay->object;
|
||||
|
||||
if (lineTo <= lineFrom)
|
||||
{
|
||||
lineTo = lineFrom;
|
||||
}
|
||||
|
||||
tRectangle rect = {
|
||||
.sXMin = 0,
|
||||
.sXMax = object->g_sContext.sClipRegion.sXMax,
|
||||
.sYMin = lineFrom * object->g_sContext.pFont->ucHeight,
|
||||
.sYMax = (lineTo + 1) * object->g_sContext.pFont->ucHeight - 1,
|
||||
};
|
||||
|
||||
GrContextForegroundSet(&object->g_sContext, object->displayColor.bg);
|
||||
GrRectFill(&object->g_sContext, &rect);
|
||||
GrContextForegroundSet(&object->g_sContext, object->displayColor.fg);
|
||||
GrFlush(&object->g_sContext);
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* @fn DisplaySharp_put5
|
||||
*
|
||||
* @brief Write a text string to a specific line/column of the display
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
* @param line - line index (0..)
|
||||
* @param column - column index (0..)
|
||||
* @param fmt - format string
|
||||
* @param aN - optional format arguments
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
void DisplaySharp_put5(Display_Handle hDisplay, uint8_t line,
|
||||
uint8_t column, uintptr_t fmt, uintptr_t a0,
|
||||
uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4)
|
||||
{
|
||||
DisplaySharp_Object *object = (DisplaySharp_Object *)hDisplay->object;
|
||||
|
||||
uint8_t xp, yp, clearStartX, clearEndX;
|
||||
|
||||
char dispStr[23];
|
||||
|
||||
if (object->hPins == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Grab LCD
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->semLCD, ACCESS_TIMEOUT))
|
||||
{
|
||||
xp = column * object->g_sContext.pFont->ucMaxWidth + 1;
|
||||
yp = line * object->g_sContext.pFont->ucHeight + 0;
|
||||
clearStartX = clearEndX = xp;
|
||||
|
||||
switch (object->lineClearMode)
|
||||
{
|
||||
case DISPLAY_CLEAR_LEFT:
|
||||
clearStartX = 0;
|
||||
break;
|
||||
case DISPLAY_CLEAR_RIGHT:
|
||||
clearEndX = object->g_sContext.sClipRegion.sXMax;
|
||||
break;
|
||||
case DISPLAY_CLEAR_BOTH:
|
||||
clearStartX = 0;
|
||||
clearEndX = object->g_sContext.sClipRegion.sXMax;
|
||||
break;
|
||||
case DISPLAY_CLEAR_NONE:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (clearStartX != clearEndX)
|
||||
{
|
||||
tRectangle rect = {
|
||||
.sXMin = clearStartX,
|
||||
.sXMax = clearEndX,
|
||||
.sYMin = yp,
|
||||
.sYMax = yp + object->g_sContext.pFont->ucHeight - 1,
|
||||
};
|
||||
|
||||
GrContextForegroundSet(&object->g_sContext, object->displayColor.bg);
|
||||
GrRectFill(&object->g_sContext, &rect);
|
||||
GrContextForegroundSet(&object->g_sContext, object->displayColor.fg);
|
||||
}
|
||||
|
||||
System_snprintf(dispStr, sizeof(dispStr), (xdc_CString)fmt, a0, a1, a2, a3, a4);
|
||||
|
||||
// Draw a text on the display
|
||||
GrStringDraw(&object->g_sContext,
|
||||
dispStr,
|
||||
AUTO_STRING_LENGTH,
|
||||
xp,
|
||||
yp,
|
||||
OPAQUE_TEXT);
|
||||
|
||||
GrFlush(&object->g_sContext);
|
||||
|
||||
// Release LCD
|
||||
Semaphore_post((Semaphore_Handle) & object->semLCD);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* @fn DisplaySharp_close
|
||||
*
|
||||
* @brief Turns of the display and releases the LCD control pins
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
void DisplaySharp_close(Display_Handle hDisplay)
|
||||
{
|
||||
DisplaySharp_HWAttrs *hwAttrs = (DisplaySharp_HWAttrs *)hDisplay->hwAttrs;
|
||||
DisplaySharp_Object *object = (DisplaySharp_Object *)hDisplay->object;
|
||||
|
||||
if (object->hPins == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Grab LCD
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->semLCD, ACCESS_TIMEOUT))
|
||||
{
|
||||
// Turn off the display
|
||||
PIN_setOutputValue(object->hPins, hwAttrs->enablePin, 0);
|
||||
|
||||
// Release resources
|
||||
PIN_close(object->hPins);
|
||||
object->hPins = NULL;
|
||||
|
||||
SPI_close(object->hSpi);
|
||||
object->hSpi = NULL;
|
||||
|
||||
// Deconfigure GrLib back-end
|
||||
SharpGrLib_init(NULL, NULL, PIN_UNASSIGNED);
|
||||
|
||||
// Release LCD
|
||||
Semaphore_post((Semaphore_Handle) & object->semLCD);
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
* @fn DisplaySharp_control
|
||||
*
|
||||
* @brief Function for setting control parameters of the Display driver
|
||||
* after it has been opened.
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
* @param cmd - command to execute, supported commands are:
|
||||
* | Command | Description |
|
||||
* |------------------------------- |-------------------------|
|
||||
* | ::DISPLAY_CMD_TRANSPORT_CLOSE | Close SPI but leave control pins |
|
||||
* | ::DISPLAY_CMD_TRANSPORT_OPEN | Re-open SPI driver |
|
||||
* @param arg - argument to the command
|
||||
*
|
||||
* @return ::DISPLAY_STATUS_SUCCESS if success, or error code if error.
|
||||
*/
|
||||
int DisplaySharp_control(Display_Handle hDisplay, unsigned int cmd, void *arg)
|
||||
{
|
||||
DisplaySharp_HWAttrs *hwAttrs = (DisplaySharp_HWAttrs *)hDisplay->hwAttrs;
|
||||
DisplaySharp_Object *object = (DisplaySharp_Object *)hDisplay->object;
|
||||
|
||||
/* Initialize return value */
|
||||
int ret = DISPLAY_STATUS_ERROR;
|
||||
|
||||
/* Perform command */
|
||||
switch(cmd)
|
||||
{
|
||||
case DISPLAY_CMD_TRANSPORT_CLOSE:
|
||||
// Grab LCD
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->semLCD, ACCESS_TIMEOUT))
|
||||
{
|
||||
if (object->hSpi)
|
||||
{
|
||||
// Close SPI and tell back-end there is no SPI
|
||||
SPI_close(object->hSpi);
|
||||
SharpGrLib_init(NULL, object->hPins, hwAttrs->csPin);
|
||||
object->hSpi = NULL;
|
||||
ret = DISPLAY_STATUS_SUCCESS;
|
||||
}
|
||||
// Release LCD
|
||||
Semaphore_post((Semaphore_Handle) & object->semLCD);
|
||||
}
|
||||
break;
|
||||
|
||||
case DISPLAY_CMD_TRANSPORT_OPEN:
|
||||
// Grab LCD
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->semLCD, ACCESS_TIMEOUT))
|
||||
{
|
||||
if (NULL == object->hSpi)
|
||||
{
|
||||
// Re-open SPI and re-init back-end
|
||||
SPI_Params spiParams;
|
||||
SPI_Params_init(&spiParams);
|
||||
spiParams.bitRate = 4000000;
|
||||
object->hSpi = SPI_open(hwAttrs->spiIndex, &spiParams);
|
||||
SharpGrLib_init(object->hSpi, object->hPins, hwAttrs->csPin);
|
||||
ret = DISPLAY_STATUS_SUCCESS;
|
||||
}
|
||||
// Release LCD
|
||||
Semaphore_post((Semaphore_Handle) & object->semLCD);
|
||||
}
|
||||
break;
|
||||
|
||||
case DISPLAYSHARP_CMD_SET_COLORS:
|
||||
// Grab LCD
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->semLCD, ACCESS_TIMEOUT))
|
||||
{
|
||||
object->displayColor = *(DisplaySharpColor_t *)arg;
|
||||
|
||||
GrContextForegroundSet(&object->g_sContext, object->displayColor.fg);
|
||||
GrContextBackgroundSet(&object->g_sContext, object->displayColor.bg);
|
||||
|
||||
// Release LCD
|
||||
Semaphore_post((Semaphore_Handle) & object->semLCD);
|
||||
|
||||
// Return success
|
||||
ret = DISPLAY_STATUS_SUCCESS;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
/* The command is not defined */
|
||||
ret = SPI_STATUS_UNDEFINEDCMD;
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*!
|
||||
* @fn DisplaySharp_getType
|
||||
*
|
||||
* @brief Returns type of transport
|
||||
*
|
||||
* @return Display type define LCD
|
||||
*/
|
||||
unsigned int DisplaySharp_getType(void)
|
||||
{
|
||||
return Display_Type_LCD | Display_Type_GRLIB;
|
||||
}
|
||||
@@ -1,331 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 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.
|
||||
*/
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Includes
|
||||
* -----------------------------------------------------------------------------
|
||||
*/
|
||||
#include <ti/sysbios/BIOS.h>
|
||||
#include <ti/sysbios/knl/Task.h>
|
||||
#include <ti/sysbios/knl/Semaphore.h>
|
||||
#include <ti/drivers/UART.h>
|
||||
|
||||
#include <xdc/runtime/Log.h>
|
||||
#include <xdc/runtime/Diags.h>
|
||||
#include <xdc/runtime/System.h>
|
||||
|
||||
#include <ti/mw/display/Display.h>
|
||||
#include <ti/mw/display/DisplayUart.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Constants and macros
|
||||
* -----------------------------------------------------------------------------
|
||||
*/
|
||||
#ifndef MIN
|
||||
# define MIN(n, m) (((n) > (m)) ? (m) : (n))
|
||||
#endif
|
||||
|
||||
#define DISPLAY_UART_ESC_INITIAL "\x1b\x63" /* Reset terminal */ \
|
||||
"\x1b[2J" /* Clear screen */ \
|
||||
"\x1b[10r" /* Scrolling region from line 10 */ \
|
||||
"\x1b[11;1H" /* Set initial cursor to line 11 */
|
||||
|
||||
#define DISPLAY_UART_ESC_MOVEPOS_FMT "\x1b\x37" /* Save cursor position */ \
|
||||
"\x1b[10r" /* Retransmit scroll */ \
|
||||
"\x1b[%d;%dH" /* Move cursor fmt str */
|
||||
|
||||
#define DISPLAY_UART_ESC_RESTOREPOS "\x1b\x38" /* Restore saved cursor pos */
|
||||
|
||||
#define DISPLAY_UART_ESC_CLEAR_SCREEN "\x1b[2J" /* Clear screen */
|
||||
#define DISPLAY_UART_ESC_CLEAR_CUR_LEFT "\x1b[1K" /* Clear cursor left */
|
||||
#define DISPLAY_UART_ESC_CLEAR_CUR_RIGHT "\x1b[0K" /* Clear cursor right */
|
||||
#define DISPLAY_UART_ESC_CLEAR_BOTH "\x1b[2K" /* Clear line */
|
||||
#define DISPLAY_UART_ESC_CLEARSEQ_LEN 4
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Type definitions
|
||||
* -----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Local variables
|
||||
* -----------------------------------------------------------------------------
|
||||
*/
|
||||
/* Display function table for UART implementation */
|
||||
const Display_FxnTable DisplayUart_fxnTable = {
|
||||
DisplayUart_open,
|
||||
DisplayUart_clear,
|
||||
DisplayUart_clearLines,
|
||||
DisplayUart_put5,
|
||||
DisplayUart_close,
|
||||
DisplayUart_control,
|
||||
DisplayUart_getType,
|
||||
};
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
* Functions
|
||||
* -----------------------------------------------------------------------------
|
||||
*/
|
||||
/*!
|
||||
* @fn DisplayUart_open
|
||||
*
|
||||
* @brief Initialize the UART transport
|
||||
*
|
||||
* @descr Opens the UART index specified in the HWAttrs, and creates a
|
||||
* mutex semaphore
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
* @param params - display parameters
|
||||
*
|
||||
* @return Pointer to Display_Config struct
|
||||
*/
|
||||
Display_Handle DisplayUart_open(Display_Handle hDisplay,
|
||||
Display_Params *params)
|
||||
{
|
||||
DisplayUart_HWAttrs *hwAttrs = (DisplayUart_HWAttrs *)hDisplay->hwAttrs;
|
||||
DisplayUart_Object *object = (DisplayUart_Object *)hDisplay->object;
|
||||
|
||||
UART_Params uartParams;
|
||||
UART_Params_init(&uartParams);
|
||||
uartParams.baudRate = hwAttrs->baudRate;
|
||||
uartParams.writeMode = UART_MODE_BLOCKING;
|
||||
|
||||
Semaphore_Params semParams;
|
||||
Semaphore_Params_init(&semParams);
|
||||
semParams.mode = Semaphore_Mode_BINARY;
|
||||
Semaphore_construct(&object->mutex, 1, &semParams);
|
||||
|
||||
switch (params->lineClearMode)
|
||||
{
|
||||
case DISPLAY_CLEAR_BOTH: object->lineClearSeq = DISPLAY_UART_ESC_CLEAR_BOTH; break;
|
||||
case DISPLAY_CLEAR_LEFT: object->lineClearSeq = DISPLAY_UART_ESC_CLEAR_CUR_LEFT; break;
|
||||
case DISPLAY_CLEAR_RIGHT: object->lineClearSeq = DISPLAY_UART_ESC_CLEAR_CUR_RIGHT; break;
|
||||
default: /* fall-through */
|
||||
case DISPLAY_CLEAR_NONE: object->lineClearSeq = NULL; break;
|
||||
}
|
||||
|
||||
object->hUart = UART_open(hwAttrs->uartIdx, &uartParams);
|
||||
if (NULL == object->hUart)
|
||||
{
|
||||
Log_print0(Diags_USER1, "DisplayUart.c: Couldn't open UART");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Send VT100 initial config to terminal */
|
||||
UART_write(object->hUart, DISPLAY_UART_ESC_INITIAL, sizeof DISPLAY_UART_ESC_INITIAL - 1);
|
||||
|
||||
return hDisplay;
|
||||
}
|
||||
|
||||
/*!
|
||||
* @fn DisplayUart_clear
|
||||
*
|
||||
* @brief Does nothing, as output is stateless.
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
void DisplayUart_clear(Display_Handle hDisplay)
|
||||
{
|
||||
DisplayUart_Object *object = (DisplayUart_Object *)hDisplay->object;
|
||||
DisplayUart_HWAttrs *hwAttrs = (DisplayUart_HWAttrs *)hDisplay->hwAttrs;
|
||||
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->mutex, hwAttrs->mutexTimeout))
|
||||
{
|
||||
UART_write(object->hUart, DISPLAY_UART_ESC_CLEAR_SCREEN, 4);
|
||||
Semaphore_post((Semaphore_Handle) & object->mutex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* @fn DisplayUart_clearLines
|
||||
*
|
||||
* @brief Does nothing, as output is stateless.
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
* @param lineFrom - line index (0 .. )
|
||||
* @param lineTo - line index (0 .. )
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
void DisplayUart_clearLines(Display_Handle hDisplay,
|
||||
uint8_t lineFrom, uint8_t lineTo)
|
||||
{
|
||||
DisplayUart_Object *object = (DisplayUart_Object *)hDisplay->object;
|
||||
DisplayUart_HWAttrs *hwAttrs = (DisplayUart_HWAttrs *)hDisplay->hwAttrs;
|
||||
|
||||
uint32_t strSize = 0;
|
||||
uint32_t curLine = 0;
|
||||
const uint8_t uartClearLineMoveDown[] = "\x1b[2K\x1b\x45";
|
||||
|
||||
if (lineTo <= lineFrom)
|
||||
{
|
||||
lineTo = lineFrom;
|
||||
}
|
||||
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->mutex, hwAttrs->mutexTimeout))
|
||||
{
|
||||
strSize += System_snprintf(hwAttrs->strBuf, hwAttrs->strBufLen,
|
||||
DISPLAY_UART_ESC_MOVEPOS_FMT, lineFrom + 1, 0);
|
||||
|
||||
for (curLine = lineFrom + 1;
|
||||
curLine < lineTo + 2 &&
|
||||
hwAttrs->strBufLen - strSize > sizeof DISPLAY_UART_ESC_RESTOREPOS - 1;
|
||||
curLine++)
|
||||
{
|
||||
memcpy(hwAttrs->strBuf + strSize, uartClearLineMoveDown, sizeof uartClearLineMoveDown - 1);
|
||||
strSize += sizeof uartClearLineMoveDown - 1;
|
||||
}
|
||||
|
||||
memcpy(hwAttrs->strBuf + strSize, DISPLAY_UART_ESC_RESTOREPOS, sizeof DISPLAY_UART_ESC_RESTOREPOS - 1);
|
||||
strSize += sizeof DISPLAY_UART_ESC_RESTOREPOS - 1;
|
||||
|
||||
UART_write(object->hUart, hwAttrs->strBuf, strSize);
|
||||
Semaphore_post((Semaphore_Handle) & object->mutex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* @fn DisplayUart_put5
|
||||
*
|
||||
* @brief Write a text string to UART with return and newline.
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
* @param line - line index (0..)
|
||||
* @param column - column index (0..)
|
||||
* @param fmt - format string
|
||||
* @param aN - optional format arguments
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
void DisplayUart_put5(Display_Handle hDisplay, uint8_t line,
|
||||
uint8_t column, uintptr_t fmt, uintptr_t a0,
|
||||
uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4)
|
||||
{
|
||||
DisplayUart_Object *object = (DisplayUart_Object *)hDisplay->object;
|
||||
DisplayUart_HWAttrs *hwAttrs = (DisplayUart_HWAttrs *)hDisplay->hwAttrs;
|
||||
|
||||
uint32_t strSize = 0;
|
||||
|
||||
char *strBuf = hwAttrs->strBuf;
|
||||
const uint16_t bufLen = hwAttrs->strBufLen;
|
||||
|
||||
if (Semaphore_pend((Semaphore_Handle) & object->mutex, hwAttrs->mutexTimeout))
|
||||
{
|
||||
if (line != DisplayUart_SCROLLING)
|
||||
{
|
||||
/* Add cursor movement escape sequence */
|
||||
strSize += System_snprintf(strBuf + strSize, bufLen - strSize - 2,
|
||||
DISPLAY_UART_ESC_MOVEPOS_FMT, line + 1, column + 1);
|
||||
|
||||
/* Add line clearing escape sequence */
|
||||
if (object->lineClearSeq)
|
||||
{
|
||||
memcpy(strBuf + strSize, object->lineClearSeq, DISPLAY_UART_ESC_CLEARSEQ_LEN);
|
||||
strSize += DISPLAY_UART_ESC_CLEARSEQ_LEN;
|
||||
}
|
||||
}
|
||||
|
||||
strSize += System_snprintf(strBuf + strSize, bufLen - strSize - 2, (xdc_CString)fmt, a0, a1, a2, a3, a4);
|
||||
|
||||
if (line != DisplayUart_SCROLLING)
|
||||
{
|
||||
memcpy(strBuf + strSize, DISPLAY_UART_ESC_RESTOREPOS, sizeof DISPLAY_UART_ESC_RESTOREPOS - 1);
|
||||
strSize += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
strBuf[strSize++] = '\r';
|
||||
strBuf[strSize++] = '\n';
|
||||
}
|
||||
|
||||
UART_write(object->hUart, strBuf, strSize);
|
||||
Semaphore_post((Semaphore_Handle) & object->mutex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* @fn DisplayUart_close
|
||||
*
|
||||
* @brief Closes the UART handle
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
void DisplayUart_close(Display_Handle hDisplay)
|
||||
{
|
||||
DisplayUart_Object *object = (DisplayUart_Object *)hDisplay->object;
|
||||
|
||||
// Not sure what happens if someone is writing
|
||||
UART_close(object->hUart);
|
||||
object->hUart = NULL;
|
||||
|
||||
// Not sure what happens if someone is pending
|
||||
Semaphore_destruct(&object->mutex);
|
||||
}
|
||||
|
||||
/*!
|
||||
* @fn DisplayUart_control
|
||||
*
|
||||
* @brief Function for setting control parameters of the Display driver
|
||||
* after it has been opened.
|
||||
*
|
||||
* @param hDisplay - pointer to Display_Config struct
|
||||
* @param cmd - command to execute
|
||||
* @param arg - argument to the command
|
||||
*
|
||||
* @return ::DISPLAY_STATUS_UNDEFINEDCMD because no commands are supported
|
||||
*/
|
||||
int DisplayUart_control(Display_Handle hDisplay, unsigned int cmd, void *arg)
|
||||
{
|
||||
return DISPLAY_STATUS_UNDEFINEDCMD;
|
||||
}
|
||||
|
||||
/*!
|
||||
* @fn DisplayUart_getType
|
||||
*
|
||||
* @brief Returns type of transport
|
||||
*
|
||||
* @return Display type UART
|
||||
*/
|
||||
unsigned int DisplayUart_getType(void)
|
||||
{
|
||||
return Display_Type_UART;
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2016, 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.
|
||||
*/
|
||||
|
||||
#ifndef _DISPLAY_UART_H_
|
||||
#define _DISPLAY_UART_H_
|
||||
|
||||
#include <ti/sysbios/knl/Semaphore.h>
|
||||
#include <ti/drivers/UART.h>
|
||||
#include <ti/mw/display/Display.h>
|
||||
#include <stdint.h>
|
||||
|
||||
extern const Display_FxnTable DisplayUart_fxnTable;
|
||||
|
||||
/*
|
||||
* @brief Line number for text to appear in scrolling region
|
||||
*/
|
||||
#define DisplayUart_SCROLLING 0xFF
|
||||
|
||||
|
||||
typedef struct DisplayUart_HWAttrs
|
||||
{
|
||||
unsigned int uartIdx;
|
||||
unsigned int baudRate;
|
||||
unsigned int mutexTimeout;
|
||||
char *strBuf;
|
||||
uint16_t strBufLen;
|
||||
} DisplayUart_HWAttrs;
|
||||
|
||||
|
||||
typedef struct DisplayUart_Object
|
||||
{
|
||||
UART_Handle hUart;
|
||||
Semaphore_Struct mutex;
|
||||
uint8_t *lineClearSeq;
|
||||
} DisplayUart_Object, *DisplayUart_Handle;
|
||||
|
||||
|
||||
Display_Handle DisplayUart_open(Display_Handle,
|
||||
Display_Params * params);
|
||||
void DisplayUart_clear(Display_Handle handle);
|
||||
void DisplayUart_clearLines(Display_Handle handle,
|
||||
uint8_t fromLine,
|
||||
uint8_t toLine);
|
||||
void DisplayUart_put5(Display_Handle handle, uint8_t line,
|
||||
uint8_t column, uintptr_t fmt, uintptr_t a0,
|
||||
uintptr_t a1, uintptr_t a2, uintptr_t a3, uintptr_t a4);
|
||||
void DisplayUart_close(Display_Handle);
|
||||
int DisplayUart_control(Display_Handle handle, unsigned int cmd, void *arg);
|
||||
unsigned int DisplayUart_getType(void);
|
||||
|
||||
#endif // _DISPLAY_UART_H_
|
||||
@@ -1,122 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file npi_config.h
|
||||
|
||||
This file contains the Network Processor Interface (NPI),
|
||||
which abstracts the physical link between the Application
|
||||
Processor (AP) and the Network Processor (NP). The NPI
|
||||
serves as the HAL's client for the SPI and UART drivers, and
|
||||
provides API and callback services for its client.
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef SDI_CONFIG_H
|
||||
#define SDI_CONFIG_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
|
||||
#include "Board.h"
|
||||
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
|
||||
#if !defined(NPI_SPI_CONFIG)
|
||||
#define NPI_SPI_CONFIG Board_SPI1
|
||||
#endif
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
# if defined(NPI_USE_SPI)
|
||||
# if (NPI_SPI_CONFIG == Board_SPI1)
|
||||
# define MRDY_PIN Board_KEY_UP
|
||||
# define SRDY_PIN Board_KEY_DOWN
|
||||
# else
|
||||
# error "ERROR: You must choose Board_SPI1 SPI module for NPI."
|
||||
# endif
|
||||
# elif defined(SDI_USE_UART)
|
||||
# define MRDY_PIN Board_BUTTON0
|
||||
# define SRDY_PIN Board_BUTTON1
|
||||
# endif
|
||||
# define SRDY_ENABLE() PIN_setOutputValue(hSdiHandshakePins, SRDY_PIN, 0) /* RTS low */
|
||||
# define SRDY_DISABLE() PIN_setOutputValue(hSdiHandshakePins, SRDY_PIN, 1) /* RTS high */
|
||||
#else // ! POWER_SAVING
|
||||
# define SRDY_ENABLE()
|
||||
# define SRDY_DISABLE()
|
||||
#endif
|
||||
|
||||
#define SDI_TL_BUF_SIZE 270
|
||||
#define SDI_SPI_PAYLOAD_SIZE 255
|
||||
#define SDI_SPI_HDR_LEN 4
|
||||
|
||||
#ifdef NPI_USE_SPI
|
||||
# if (NPI_TL_BUF_SIZE - NPI_SPI_HDR_LEN) < NPI_SPI_PAYLOAD_SIZE
|
||||
# define NPI_MAX_FRAG_SIZE (NPI_TL_BUF_SIZE - NPI_SPI_HDR_LEN)
|
||||
# else
|
||||
# define NPI_MAX_FRAG_SIZE NPI_SPI_PAYLOAD_SIZE
|
||||
# endif
|
||||
#elif SDI_USE_UART
|
||||
# define SDI_MAX_FRAG_SIZE SDI_TL_BUF_SIZE
|
||||
#else
|
||||
# error "ERROR: SDI_USE_UART or NPI_USE_SPI must be defined."
|
||||
#endif
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* NPI_CONFIG_H */
|
||||
@@ -1,109 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file npi_data.h
|
||||
|
||||
SDI Data structures
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef SDIDATA_H
|
||||
#define SDIDATA_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
|
||||
// External Events for RTOS application
|
||||
#define UART_DATA_EVT 0x0010
|
||||
#define UART_ERROR_EVT 0x0020
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
//! \brief SDI Command IDs.
|
||||
//!
|
||||
typedef enum
|
||||
{
|
||||
SDIMSG_Type_ASYNC = 0x00,
|
||||
SDIMSG_Type_SYNCREQ = 0x01,
|
||||
SDIMSG_Type_SYNCRSP = 0x02
|
||||
} SDIMSG_Type;
|
||||
|
||||
|
||||
//! \brief Structure to send an SDI message to the stack thread.
|
||||
//!
|
||||
typedef struct _npimsg_t
|
||||
{
|
||||
// Msg Type
|
||||
uint_least8_t msgType;
|
||||
|
||||
// message buffer size
|
||||
uint8_t pBufSize;
|
||||
|
||||
// message buffer
|
||||
uint8_t *pBuf;
|
||||
} SDIMSG_msg_t;
|
||||
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* SDIDATA_H */
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file npi_rxbuf.h
|
||||
|
||||
SDI RX Buffer and utilities
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
//******************************************************************************
|
||||
#ifndef SDIRXBUF_H
|
||||
#define SDIRXBUF_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
#include "hal_types.h"
|
||||
#include "OSAL.h"
|
||||
#include "sdi_config.h"
|
||||
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief SDIRxBuf_Read
|
||||
//!
|
||||
//! \param[in] len -
|
||||
//!
|
||||
//! \return uint16 -
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDIRxBuf_Read(uint16);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Returns number of bytes that are unparsed in RxBuf
|
||||
//!
|
||||
//! \return uint16 -
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDIRxBuf_GetRxBufCount();
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Returns number of bytes that are available in RxBuf
|
||||
//!
|
||||
//! \return uint16 -
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDIRxBuf_GetRxBufAvail();
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief SDIRxBuf_ReadFromRxBuf
|
||||
//!
|
||||
//! \return uint16 -
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDIRxBuf_ReadFromRxBuf(uint8_t *buf, uint16 len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* SDIRXBUF_H */
|
||||
@@ -1,131 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file sdi_task.h
|
||||
|
||||
SDI is a TI RTOS Application Thread that provides a
|
||||
common Network Processor Interface framework
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _SDITask_H
|
||||
#define _SDITask_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
#include "inc/sdi_data.h"
|
||||
#include <ti/sysbios/knl/Semaphore.h>
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
#define DEBUG(x) SDITask_sendToUART(x, strlen((const char*)x));
|
||||
#define DEBUG_NEWLINE() DEBUG("\n\r")
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Typedef for call back function mechanism to reroute incoming SDI
|
||||
//! messages.
|
||||
//! NOTE: Definer MUST copy contents to local buffer. SDI task will
|
||||
//! free this memory.
|
||||
//! NOTE: The contained message buffer does NOT include any "framing"
|
||||
//! bytes, ie. SOF, FCS etc.
|
||||
//! \param[in] pMsg Pointer to "unframed" message buffer.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
typedef void (*sdiIncomingEventCBack_t)(uint8_t event, uint8_t *pMsg, uint8_t len);
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief SDI task creation function
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
Void SDITask_createTask(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Register callback function to reroute incoming (from UART)
|
||||
//! SDI messages.
|
||||
//!
|
||||
//! \param[in] appRxCB Callback fucntion.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
extern void SDITask_registerIncomingRXEventAppCB(sdiIncomingEventCBack_t appRxCB);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief API for application task to send a message to the Host.
|
||||
//! NOTE: It's assumed all message traffic to the stack will use
|
||||
//! other (ICALL) APIs/Interfaces.
|
||||
//!
|
||||
//! \param[in] pMsg Pointer to "unframed" message buffer.
|
||||
//! \param[in] length Length of buffer
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
extern void SDITask_sendToUART(uint8_t *pMsg, uint16_t length);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief API for application task to set packet data size to send over the air.
|
||||
//!
|
||||
//! \param[in] mtuSize GATT MTU size.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
extern void SDITask_setAppDataSize(uint16_t mtuSize);
|
||||
|
||||
#ifdef __cplusplus
|
||||
{
|
||||
#endif // extern "C"
|
||||
|
||||
#endif // end of _SDITask_H definition
|
||||
@@ -1,185 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file sdi_tl.h
|
||||
|
||||
SDI Transport Layer API
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef SDI_TL_H
|
||||
#define SDI_TL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
#include "hal_types.h"
|
||||
#include "inc/sdi_config.h"
|
||||
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
|
||||
|
||||
#if defined(SDI_USE_UART)
|
||||
#define transportInit SDITLUART_initializeTransport
|
||||
#define transportRead SDITLUART_readTransport
|
||||
#define transportWrite SDITLUART_writeTransport
|
||||
#define transportStopTransfer SDITLUART_stopTransfer
|
||||
#define transportMrdyEvent SDITLUART_handleMrdyEvent
|
||||
#elif defined(NPI_USE_SPI)
|
||||
#define transportInit NPITLSPI_initializeTransport
|
||||
#define transportRead NPITLSPI_readTransport
|
||||
#define transportWrite NPITLSPI_writeTransport
|
||||
#define transportStopTransfer NPITLSPI_stopTransfer
|
||||
#define transportMrdyEvent NPITLSPI_handleMrdyEvent
|
||||
#endif
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Typedef for call back function mechanism to notify SDI Task that
|
||||
//! an SDI transaction has occured
|
||||
//! \param[in] int number of bytes either received or transmitted
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
typedef void (*sdiRtosCB_t)(int size);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Typedef for call back function mechanism to notify SDI Task that
|
||||
//! an MRDY edge has occured
|
||||
//! \param[in] void
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
typedef void (*sdiMrdyRtosCB_t)();
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine initializes the transport layer and opens the port
|
||||
//! of the device. Note that based on project defines, either the
|
||||
//! UART, USB (CDC), or SPI driver can be used.
|
||||
//!
|
||||
//! \param[in] sdiCBTx - Call back function for TX complete event
|
||||
//! \param[in] sdiCBRx - Call back function for RX event
|
||||
//! \param[in] sdiCBMrdy - Call back function for MRDY event
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITL_initTL(sdiRtosCB_t sdiCBTx, sdiRtosCB_t sdiCBRx, sdiRtosCB_t sdiCBMrdy);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine reads data from the transport layer based on len,
|
||||
//! and places it into the buffer.
|
||||
//!
|
||||
//! \param[in] buf - Pointer to buffer to place read data.
|
||||
//! \param[in] len - Number of bytes to read.
|
||||
//!
|
||||
//! \return uint16 - the number of bytes read from transport
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_readTL(uint8 *buf, uint16 len);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine writes data from the buffer to the transport layer.
|
||||
//!
|
||||
//! \param[in] buf - Pointer to buffer to write data from.
|
||||
//! \param[in] len - Number of bytes to write.
|
||||
//!
|
||||
//! \return uint16 - the number of bytes written to transport
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_writeTL(uint8 *buf, uint16 len);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine is used to handle an MRDY edge from the application
|
||||
//! context. Certain operations such as UART_read() cannot be
|
||||
//! performed from the actual MRDY hwi handler
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITL_handleMrdyEvent(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine returns the max size receive buffer.
|
||||
//!
|
||||
//! \return uint16 - max size of the receive buffer
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_getMaxRxBufSize(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine returns the max size transmit buffer.
|
||||
//!
|
||||
//! \return uint16 - max size of the transmit buffer
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_getMaxTxBufSize(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Returns number of bytes that are unread in RxBuf
|
||||
//!
|
||||
//! \return uint16 - number of unread bytes
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_getRxBufLen(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine returns the state of transmission on SDI
|
||||
//!
|
||||
//! \return bool - state of SDI transmission - 1 - active, 0 - not active
|
||||
// -----------------------------------------------------------------------------
|
||||
bool SDITL_checkSdiBusy(void);
|
||||
|
||||
/*******************************************************************************
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* SDI_TL_H */
|
||||
@@ -1,171 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file sdi_tl_uart.h
|
||||
|
||||
SDI Transport Layer Module for UART
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
#ifndef SDI_TL_UART_H
|
||||
#define SDI_TL_UART_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
#include <ti/drivers/UART.h>
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
|
||||
#define SDI_UART_FC_THRESHOLD 48
|
||||
#define SDI_UART_IDLE_TIMEOUT 6
|
||||
#define SDI_UART_INT_ENABLE TRUE
|
||||
|
||||
#if !defined(SDI_UART_BR)
|
||||
#define SDI_UART_BR 115200
|
||||
#endif // !SDI_UART_BR
|
||||
|
||||
// UART ISR Buffer define
|
||||
#define UART_ISR_BUF_SIZE 128
|
||||
#define UART_ISR_BUF_CNT 2
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Typedef for call back function mechanism to notify SDI TL that
|
||||
//! an SDI transaction has occured
|
||||
//! \param[in] uint16 number of bytes received
|
||||
//! \param[in] uint16 number of bytes transmitted
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
typedef void (*sdiCB_t)(uint16 Rxlen, uint16 Txlen);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Typedef for call back function mechanism to reroute incoming SDI
|
||||
//! messages.
|
||||
//! NOTE: Definer MUST copy contents to local buffer. SDI task will
|
||||
//! free this memory.
|
||||
//! NOTE: The contained message buffer does NOT include any "framing"
|
||||
//! bytes, ie. SOF, FCS etc.
|
||||
//! \param[in] pMsg Pointer to "unframed" message buffer.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
typedef void (*sdiTLIncomingEventCBack_t)(uint8_t event, uint8_t *pMsg, uint8_t len);
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
extern UART_Params paramsUART;
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
uint8 SDITLUART_configureUARTParams(UART_Params *initParams);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine initializes the transport layer and opens the port
|
||||
//! of the device.
|
||||
//!
|
||||
//! \param[in] tRxBuf - pointer to SDI TL Tx Buffer
|
||||
//! \param[in] tTxBuf - pointer to SDI TL Rx Buffer
|
||||
//! \param[in] sdiCBack - SDI TL call back function to be invoked at the end of
|
||||
//! a UART transaction
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITLUART_initializeTransport(Char *tRxBuf, Char *tTxBuf, sdiCB_t sdiCBack);
|
||||
|
||||
void SDITLUART_closeUART(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Register callback function to reroute incoming (from UART)
|
||||
//! SDI messages.
|
||||
//!
|
||||
//! \param[in] appRxCB Callback fucntion.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
extern void SDITLUART_registerIncomingRXErrorStatusAppCB(sdiTLIncomingEventCBack_t appRxErrStatusCB);
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine reads data from the UART
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITLUART_readTransport(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine writes copies buffer addr to the transport layer.
|
||||
//!
|
||||
//! \param[in] len - Number of bytes to write.
|
||||
//!
|
||||
//! \return uint16 - number of bytes written to transport
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITLUART_writeTransport(uint16);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine stops any pending reads
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITLUART_stopTransfer(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine is called from the application context when MRDY is
|
||||
//! de-asserted
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITLUART_handleMrdyEvent(void);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* SDI_TL_UART_H */
|
||||
@@ -1,148 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file sdi_rxbuf.c
|
||||
|
||||
SDI RX Buffer and utilities
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
#include <string.h>
|
||||
#include <xdc/std.h>
|
||||
|
||||
#include "Board.h"
|
||||
#include "hal_types.h"
|
||||
#include "inc/sdi_config.h"
|
||||
#include "inc/sdi_tl.h"
|
||||
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
#define SDIRXBUF_RXHEAD_INC(x) RxBufHead += x; \
|
||||
RxBufHead %= SDI_TL_BUF_SIZE;
|
||||
|
||||
#define SDIRXBUF_RXTAIL_INC(x) RxBufTail += x; \
|
||||
RxBufTail %= SDI_TL_BUF_SIZE;
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
|
||||
//Recieve Buffer for all SDI messages
|
||||
static uint8 RxBuf[SDI_TL_BUF_SIZE];
|
||||
static uint16 RxBufHead = 0;
|
||||
static uint16 RxBufTail = 0;
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief SDIRxBuf_Read
|
||||
//!
|
||||
//! \param[in] len -
|
||||
//!
|
||||
//! \return uint16 -
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDIRxBuf_Read(uint16 len)
|
||||
{
|
||||
uint16 partialLen = 0;
|
||||
|
||||
// Need to make two reads due to wrap around of circular buffer
|
||||
if ((len + RxBufTail) > SDI_TL_BUF_SIZE)
|
||||
{
|
||||
partialLen = SDI_TL_BUF_SIZE - RxBufTail;
|
||||
SDITL_readTL(&RxBuf[RxBufTail],partialLen);
|
||||
len -= partialLen;
|
||||
RxBufTail = 0;
|
||||
}
|
||||
|
||||
// Read remainder of data from Transport Layer
|
||||
SDITL_readTL(&RxBuf[RxBufTail],len);
|
||||
SDIRXBUF_RXTAIL_INC(len);
|
||||
|
||||
// Return len to original size
|
||||
len += partialLen;
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Returns number of bytes that are unparsed in RxBuf
|
||||
//!
|
||||
//! \return uint16 -
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDIRxBuf_GetRxBufCount(void)
|
||||
{
|
||||
return ((RxBufTail - RxBufHead) + SDI_TL_BUF_SIZE) % SDI_TL_BUF_SIZE;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Returns number of bytes that are available in RxBuf
|
||||
//!
|
||||
//! \return uint16 -
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDIRxBuf_GetRxBufAvail(void)
|
||||
{
|
||||
return (SDI_TL_BUF_SIZE - SDIRxBuf_GetRxBufCount());
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief SDIRxBuf_ReadFromRxBuf
|
||||
//!
|
||||
//! \return uint16 -
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDIRxBuf_ReadFromRxBuf(uint8_t *buf, uint16 len)
|
||||
{
|
||||
uint16_t idx;
|
||||
for (idx = 0; idx < len; idx++)
|
||||
{
|
||||
*buf++ = RxBuf[RxBufHead];
|
||||
SDIRXBUF_RXHEAD_INC(1)
|
||||
}
|
||||
|
||||
return len;
|
||||
}
|
||||
@@ -1,525 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
* Filename: sdi_task.c
|
||||
|
||||
SDI is a TI RTOS Application Thread that provides a common serial data interface
|
||||
framework
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
|
||||
#include <xdc/std.h>
|
||||
#include <ti/sysbios/BIOS.h>
|
||||
#include <ti/sysbios/knl/Queue.h>
|
||||
#include <ti/sysbios/knl/Task.h>
|
||||
#include <ti/sysbios/knl/Clock.h>
|
||||
#include <ti/sysbios/knl/Event.h>
|
||||
|
||||
#include <string.h>
|
||||
#include <ti/sysbios/family/arm/m3/Hwi.h>
|
||||
|
||||
#include "inc/sdi_task.h"
|
||||
#include "inc/sdi_data.h"
|
||||
#include "inc/sdi_rxbuf.h"
|
||||
#include "inc/sdi_tl.h"
|
||||
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
|
||||
//! \brief Transport layer RX Event (ie. bytes received, RX ISR etc.)
|
||||
#define SDITASK_TRANSPORT_RX_EVENT Event_Id_00
|
||||
|
||||
//! \brief Transmit Complete Event (likely associated with TX ISR etc.)
|
||||
#define SDITASK_TRANSPORT_TX_DONE_EVENT Event_Id_01
|
||||
|
||||
//! \brief A framed message buffer is ready to be sent to the transport layer.
|
||||
#define SDITASK_TX_READY_EVENT Event_Id_02
|
||||
|
||||
//! \brief MRDY Received Event
|
||||
#define SDITASK_MRDY_EVENT Event_Id_03
|
||||
|
||||
//! \brief Size of stack created for SDI RTOS task
|
||||
#ifndef Display_DISABLE_ALL
|
||||
#ifdef __TI_COMPILER_VERSION__
|
||||
#define SDITASK_STACK_SIZE 752 /* in order to optimize memory, this value should be a multiple of 8 bytes */
|
||||
#else // !__TI_COMPILER_VERSION__
|
||||
#define SDITASK_STACK_SIZE 656 /* in order to optimize memory, this value should be a multiple of 8 bytes */
|
||||
#endif // __TI_COMPILER_VERSION__
|
||||
#else // Display_DISABLE_ALL
|
||||
#ifdef __TI_COMPILER_VERSION__
|
||||
#define SDITASK_STACK_SIZE 752 /* in order to optimize memory, this value should be a multiple of 8 bytes */
|
||||
#else // !__TI_COMPILER_VERSION__
|
||||
#define SDITASK_STACK_SIZE 608 /* in order to optimize memory, this value should be a multiple of 8 bytes */
|
||||
#endif // __TI_COMPILER_VERSION__
|
||||
#endif // Display_DISABLE_ALL
|
||||
|
||||
//! \brief Task priority for SDI RTOS task
|
||||
#define SDITASK_PRIORITY 2
|
||||
|
||||
//! \brief Max bytes received from UART send to App
|
||||
#define DEFAULT_APP_DATA_LENGTH 20
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
//! \brief Queue record structure
|
||||
//!
|
||||
typedef struct SDI_QueueRec_t
|
||||
{
|
||||
Queue_Elem _elem;
|
||||
SDIMSG_msg_t *sdiMsg;
|
||||
} SDI_QueueRec;
|
||||
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
//! \brief RTOS task structure for SDI task
|
||||
//!
|
||||
static Task_Struct sdiTaskStruct;
|
||||
|
||||
//! \brief Allocated memory block for SDI task's stack
|
||||
//!
|
||||
#if defined __TI_COMPILER_VERSION__
|
||||
#pragma DATA_ALIGN(sdiTaskStack, 8)
|
||||
#else
|
||||
#pragma data_alignment=8
|
||||
#endif
|
||||
uint8_t sdiTaskStack[SDITASK_STACK_SIZE];
|
||||
|
||||
//! \brief Handle for the ASYNC TX Queue
|
||||
//!
|
||||
static Queue_Handle sdiTxQueue;
|
||||
|
||||
//! \brief Pointer to last tx message. This is free'd once confirmation is
|
||||
//! is received that the buffer has been transmitted
|
||||
//! (ie. SDITASK_TRANSPORT_TX_DONE_EVENT)
|
||||
//!
|
||||
static uint8_t *lastQueuedTxMsg;
|
||||
|
||||
Event_Struct uartEvent;
|
||||
Event_Handle hUartEvent; //!< Event used to control the UART thread
|
||||
|
||||
//! \brief Pointer to Application RX event callback function for optional
|
||||
//! rerouting of messages to application.
|
||||
//!
|
||||
static sdiIncomingEventCBack_t incomingRXEventAppCBFunc = NULL;
|
||||
|
||||
//! \brief Data buffer to send to application
|
||||
//!
|
||||
static uint8 buf[SDI_TL_BUF_SIZE] ={0x00,};
|
||||
static uint16 length;
|
||||
static uint8 lengthRead;
|
||||
|
||||
//! \brief Size of data to send to application
|
||||
//!
|
||||
static uint16 maxAppDataSize = DEFAULT_APP_DATA_LENGTH;
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
//! \brief SDI main event processing loop.
|
||||
//!
|
||||
static void SDITask_process(void);
|
||||
|
||||
//! \brief Callback function registered with Transport Layer
|
||||
//!
|
||||
static void SDITask_transportRXCallBack(int size);
|
||||
|
||||
//! \brief Callback function registered with Transport Layer
|
||||
//!
|
||||
static void SDITask_transportTxDoneCallBack(int size);
|
||||
|
||||
//! \brief Callback function registered with Transport Layer
|
||||
//!
|
||||
static void SDITask_MRDYEventCB(int size);
|
||||
|
||||
//! \brief ASYNC TX Q Processing function.
|
||||
//!
|
||||
static void SDITask_ProcessTXQ(void);
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Initialization for the SDI Thread
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITask_setAppDataSize(uint16 mtuSize)
|
||||
{
|
||||
maxAppDataSize = mtuSize - 3; //subtract GATT Notification overhead: 1 byte opcode, 2 bytes conn. handle
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Initialization for the SDI Thread
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITask_inititializeTask(void)
|
||||
{
|
||||
lastQueuedTxMsg = NULL;
|
||||
|
||||
// create a Tx Queue instance
|
||||
sdiTxQueue = Queue_create(NULL, NULL);
|
||||
|
||||
Event_Params evParams;
|
||||
Event_Params_init(&evParams);
|
||||
|
||||
Event_construct(&uartEvent, &evParams);
|
||||
hUartEvent = Event_handle(&uartEvent);
|
||||
|
||||
// Initialize Network Processor Interface (SDI) and Transport Layer
|
||||
SDITL_initTL( &SDITask_transportTxDoneCallBack,
|
||||
&SDITask_transportRXCallBack,
|
||||
&SDITask_MRDYEventCB );
|
||||
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief SDI main event processing loop.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITask_process(void)
|
||||
{
|
||||
UInt postedEvents;
|
||||
|
||||
/* Forever loop */
|
||||
for (;; )
|
||||
{
|
||||
/* Wait for response message */
|
||||
postedEvents = Event_pend(hUartEvent, Event_Id_NONE, SDITASK_MRDY_EVENT | SDITASK_TX_READY_EVENT | SDITASK_TRANSPORT_RX_EVENT | SDITASK_TRANSPORT_TX_DONE_EVENT, BIOS_WAIT_FOREVER);
|
||||
|
||||
{
|
||||
// Capture the ISR events flags now within this task loop.
|
||||
|
||||
// MRDY event
|
||||
if (postedEvents & SDITASK_MRDY_EVENT)
|
||||
{
|
||||
#ifdef POWER_SAVING
|
||||
SDITL_handleMrdyEvent();
|
||||
#endif //POWER_SAVING
|
||||
|
||||
}
|
||||
|
||||
// An ASYNC message is ready to send to the Host
|
||||
if(postedEvents & SDITASK_TX_READY_EVENT)
|
||||
{
|
||||
|
||||
if ((!Queue_empty(sdiTxQueue)) && !SDITL_checkSdiBusy())
|
||||
{
|
||||
SDITask_ProcessTXQ();
|
||||
}
|
||||
|
||||
if (Queue_empty(sdiTxQueue))
|
||||
{
|
||||
// Q is empty, no action.
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
// Q is not empty, there's more to handle so preserve the
|
||||
// flag and repost to the task event.
|
||||
Event_post(hUartEvent, SDITASK_TX_READY_EVENT);
|
||||
}
|
||||
}
|
||||
|
||||
// The Transport Layer has received some bytes
|
||||
if(postedEvents & SDITASK_TRANSPORT_RX_EVENT)
|
||||
{
|
||||
length = SDIRxBuf_GetRxBufCount();
|
||||
|
||||
if(length > maxAppDataSize)
|
||||
{
|
||||
lengthRead = (maxAppDataSize & 0xFF);
|
||||
}else
|
||||
{
|
||||
lengthRead = (length & 0xFF);
|
||||
}
|
||||
|
||||
//Do custom app processing
|
||||
SDIRxBuf_ReadFromRxBuf(buf, lengthRead);
|
||||
|
||||
//Echo back via UART
|
||||
//SDITask_sendToUART(buf, length);
|
||||
|
||||
if (incomingRXEventAppCBFunc != NULL)
|
||||
{
|
||||
incomingRXEventAppCBFunc( UART_DATA_EVT , buf, lengthRead);
|
||||
}
|
||||
|
||||
if(length > maxAppDataSize)
|
||||
{
|
||||
// Additional bytes to collect, preserve the flag and repost
|
||||
// to the event
|
||||
Event_post(hUartEvent, SDITASK_TRANSPORT_RX_EVENT);
|
||||
}
|
||||
}
|
||||
|
||||
// The last transmission to the host has completed.
|
||||
if(postedEvents & SDITASK_TRANSPORT_TX_DONE_EVENT)
|
||||
{
|
||||
// Current TX is done.
|
||||
|
||||
if (!Queue_empty(sdiTxQueue))
|
||||
{
|
||||
// There are pending ASYNC messages waiting to be sent
|
||||
// to the host. Post to event.
|
||||
|
||||
Event_post(hUartEvent, SDITASK_TX_READY_EVENT);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief SDI Task function called from within SDITask_Fxn
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITask_task(void)
|
||||
{
|
||||
// Initialize application
|
||||
SDITask_inititializeTask();
|
||||
|
||||
// No return from TestProfile2 process
|
||||
SDITask_process();
|
||||
}
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Exported Functions
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief SDI task entry point.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
Void SDITask_Fxn(UArg a0, UArg a1)
|
||||
{
|
||||
SDITask_task();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Task creation function for SDI
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITask_createTask(void)
|
||||
{
|
||||
memset(&sdiTaskStack, 0xDD, sizeof(sdiTaskStack));
|
||||
|
||||
// Configure and create the SDI task.
|
||||
Task_Params sdiTaskParams;
|
||||
Task_Params_init(&sdiTaskParams);
|
||||
sdiTaskParams.stack = sdiTaskStack;
|
||||
sdiTaskParams.stackSize = SDITASK_STACK_SIZE;
|
||||
sdiTaskParams.priority = SDITASK_PRIORITY;
|
||||
|
||||
Task_construct(&sdiTaskStruct, SDITask_Fxn, &sdiTaskParams, NULL);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Register callback function to reroute incoming (from UART)
|
||||
//! SDI messages.
|
||||
//!
|
||||
//! \param[in] appRxCB Callback fucntion.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITask_registerIncomingRXEventAppCB(sdiIncomingEventCBack_t appRxCB)
|
||||
{
|
||||
incomingRXEventAppCBFunc = appRxCB;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief API for application task to send a message to the Host.
|
||||
//! NOTE: It's assumed all message traffic to the stack will use
|
||||
//! other (ICALL) APIs/Interfaces.
|
||||
//!
|
||||
//! \param[in] pMsg Pointer to "unframed" message buffer.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITask_sendToUART(uint8_t *pMsg, uint16 length)
|
||||
{
|
||||
ICall_CSState key;
|
||||
SDI_QueueRec *recPtr;
|
||||
|
||||
SDIMSG_msg_t *pSDIMsg =(SDIMSG_msg_t *)ICall_malloc( sizeof(SDIMSG_msg_t));
|
||||
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
if(pSDIMsg)
|
||||
{
|
||||
pSDIMsg->msgType = SDIMSG_Type_ASYNC;
|
||||
pSDIMsg->pBuf = (uint8 *)ICall_allocMsg(length);
|
||||
pSDIMsg->pBufSize = length;
|
||||
|
||||
if(pSDIMsg->pBuf)
|
||||
{
|
||||
// Payload
|
||||
memcpy(pSDIMsg->pBuf, pMsg, length);
|
||||
}
|
||||
|
||||
recPtr = ICall_malloc(sizeof(SDI_QueueRec));
|
||||
|
||||
recPtr->sdiMsg = pSDIMsg;
|
||||
}
|
||||
|
||||
switch (pSDIMsg->msgType)
|
||||
{
|
||||
case SDIMSG_Type_ASYNC:
|
||||
{
|
||||
Queue_enqueue(sdiTxQueue, &recPtr->_elem);
|
||||
Event_post(hUartEvent, SDITASK_TX_READY_EVENT);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
//error
|
||||
break;
|
||||
}
|
||||
}
|
||||
ICall_leaveCriticalSection(key);
|
||||
}
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Dequeue next message in the ASYNC TX Queue and send to serial
|
||||
//! interface.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITask_ProcessTXQ(void)
|
||||
{
|
||||
ICall_CSState key;
|
||||
SDI_QueueRec *recPtr = NULL;
|
||||
|
||||
// Processing of any TX Queue should only be done
|
||||
// in a critical section since any application
|
||||
// task can enqueue items freely
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
if (!Queue_empty(sdiTxQueue))
|
||||
{
|
||||
recPtr = Queue_dequeue(sdiTxQueue);
|
||||
|
||||
if (recPtr != NULL)
|
||||
{
|
||||
lastQueuedTxMsg = recPtr->sdiMsg->pBuf;
|
||||
|
||||
SDITL_writeTL(recPtr->sdiMsg->pBuf, recPtr->sdiMsg->pBufSize);
|
||||
|
||||
//free the Queue record
|
||||
ICall_free(recPtr->sdiMsg);
|
||||
ICall_free(recPtr);
|
||||
}
|
||||
}
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Call Back Functions
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Call back function for TX Done event from transport layer.
|
||||
//!
|
||||
//! \param[in] size Number of bytes transmitted.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITask_transportTxDoneCallBack(int size)
|
||||
{
|
||||
|
||||
if(lastQueuedTxMsg)
|
||||
{
|
||||
//Deallocate most recent message being transmitted.
|
||||
ICall_freeMsg(lastQueuedTxMsg);
|
||||
|
||||
lastQueuedTxMsg = NULL;
|
||||
}
|
||||
|
||||
// Post the event to the SDI task thread.
|
||||
Event_post(hUartEvent, SDITASK_TRANSPORT_TX_DONE_EVENT);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief RX Callback provided to Transport Layer for RX Event (ie.Bytes
|
||||
//! received).
|
||||
//!
|
||||
//! \param[in] size Number of bytes received.
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITask_transportRXCallBack(int size)
|
||||
{
|
||||
if ( size < SDIRxBuf_GetRxBufAvail() )
|
||||
{
|
||||
SDIRxBuf_Read(size);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Trap here for pending buffer overflow. If SDI_FLOW_CTRL is
|
||||
// enabled, increase size of RxBuf to handle larger frames from host.
|
||||
for(;;);
|
||||
}
|
||||
Event_post(hUartEvent, SDITASK_TRANSPORT_RX_EVENT);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief RX Callback provided to Transport Layer for MRDY Event
|
||||
//!
|
||||
//! \param[in] size N/A
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITask_MRDYEventCB(int size)
|
||||
{
|
||||
Event_post(hUartEvent, SDITASK_MRDY_EVENT);
|
||||
}
|
||||
|
||||
@@ -1,475 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file sdi_tl.c
|
||||
|
||||
SDI Transport Layer API
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
#include <string.h>
|
||||
#include <xdc/std.h>
|
||||
#include <ti/drivers/Power.h>
|
||||
#include <ti/drivers/power/PowerCC26XX.h>
|
||||
#include <ti/sysbios/family/arm/m3/Hwi.h>
|
||||
#include <ti/drivers/pin/PINCC26XX.h>
|
||||
#include <ti/sysbios/knl/Task.h>
|
||||
#include <ti/sysbios/knl/Swi.h>
|
||||
|
||||
#include "inc/hw_memmap.h"
|
||||
#include "inc/hw_ints.h"
|
||||
#include "Board.h"
|
||||
#include "ICall.h"
|
||||
#include "hal_types.h"
|
||||
#include "inc/sdi_tl.h"
|
||||
#include "inc/sdi_config.h"
|
||||
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
|
||||
#if defined(SDI_USE_SPI)
|
||||
#include "inc/sdi_tl_spi.h"
|
||||
#elif defined(SDI_USE_UART)
|
||||
#include "inc/sdi_tl_uart.h"
|
||||
#else
|
||||
#error Must define an underlying serial bus for SDI
|
||||
#endif
|
||||
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
|
||||
//! \brief Flag for low power mode
|
||||
static volatile bool sdiPMSetConstraint = FALSE;
|
||||
|
||||
//! \brief Flag for ongoing SDI TX
|
||||
static volatile bool sdiTxActive = FALSE;
|
||||
|
||||
//! \brief The packet that was being sent when HWI of MRDY going low was received
|
||||
static volatile uint32 mrdyPktStamp = 0;
|
||||
|
||||
//! \brief Packets transmitted counter
|
||||
static uint32 txPktCount = 0;
|
||||
|
||||
//! \brief SDI Transport Layer receive buffer
|
||||
static Char sdiRxBuf[SDI_TL_BUF_SIZE];
|
||||
|
||||
//! \brief Index to last byte written into SDI Transport Layer receive buffer
|
||||
static uint16_t sdiRxBufTail = 0;
|
||||
|
||||
//! \brief Index to first byte to be read from SDI Transport Layer receive buffer
|
||||
static uint16_t sdiRxBufHead = 0;
|
||||
|
||||
//! \brief SDI Transport Layer transmit buffer
|
||||
static Char sdiTxBuf[SDI_TL_BUF_SIZE];
|
||||
|
||||
//! \brief Number of bytes in SDI Transport Layer transmit buffer
|
||||
static uint16_t sdiTxBufLen = 0;
|
||||
|
||||
//! \brief Call back function in SDI Task for transmit complete
|
||||
static sdiRtosCB_t taskTxCB = NULL;
|
||||
|
||||
//! \brief Call back function in SDI Task for receive complete
|
||||
static sdiRtosCB_t taskRxCB = NULL;
|
||||
|
||||
//! \brief The remainder of any message that is fragmented
|
||||
static uint8 *msgFrag = NULL;
|
||||
|
||||
//! \brief The length of the remaining message fragment
|
||||
static uint16 msgFragLen = 0;
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
//! \brief Call back function in SDI Task for MRDY hardware interrupt
|
||||
static sdiMrdyRtosCB_t taskMrdyCB = NULL;
|
||||
|
||||
//! \brief PIN Config for Mrdy and Srdy signals
|
||||
static PIN_Config sdiHandshakePinsCfg[] =
|
||||
{
|
||||
MRDY_PIN | PIN_GPIO_OUTPUT_DIS | PIN_INPUT_EN | PIN_PULLUP,
|
||||
SRDY_PIN | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MAX,
|
||||
PIN_TERMINATE
|
||||
};
|
||||
|
||||
//! \brief PIN State for Mrdy and Srdy signals
|
||||
static PIN_State sdiHandshakePins;
|
||||
|
||||
//! \brief PIN Handles for Mrdy and Srdy signals
|
||||
static PIN_Handle hSdiHandshakePins;
|
||||
|
||||
//! \brief No way to detect whether positive or negative edge with PIN Driver
|
||||
//! Use a flag to keep track of state
|
||||
static uint8 mrdy_state;
|
||||
#endif
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
//! \brief Call back function provided to underlying serial interface to be
|
||||
// invoked upon the completion of a transmission
|
||||
static void SDITL_transmissionCallBack(uint16 Rxlen, uint16 Txlen);
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
//! \brief HWI interrupt function for MRDY
|
||||
static void SDITL_MRDYPinHwiFxn(PIN_Handle hPin, PIN_Id pinId);
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine initializes the transport layer and opens the port
|
||||
//! of the device. Note that based on project defines, either the
|
||||
//! UART, or SPI driver can be used.
|
||||
//!
|
||||
//! \param[in] sdiCBTx - Call back function for TX complete event
|
||||
//! \param[in] sdiCBRx - Call back function for RX event
|
||||
//! \param[in] sdiCBMrdy - Call back function for MRDY event
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITL_initTL(sdiRtosCB_t sdiCBTx, sdiRtosCB_t sdiCBRx, sdiRtosCB_t sdiCBMrdy)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
taskTxCB = sdiCBTx;
|
||||
taskRxCB = sdiCBRx;
|
||||
#ifdef POWER_SAVING
|
||||
taskMrdyCB = sdiCBMrdy;
|
||||
#endif
|
||||
|
||||
transportInit(sdiRxBuf,sdiTxBuf, SDITL_transmissionCallBack);
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
SRDY_DISABLE();
|
||||
|
||||
// Initialize SRDY/MRDY. Enable int after callback registered
|
||||
hSdiHandshakePins = PIN_open(&sdiHandshakePins, sdiHandshakePinsCfg);
|
||||
PIN_registerIntCb(hSdiHandshakePins, SDITL_MRDYPinHwiFxn);
|
||||
PIN_setConfig(hSdiHandshakePins, PIN_BM_IRQ, MRDY_PIN | PIN_IRQ_BOTHEDGES);
|
||||
|
||||
// Enable wakeup
|
||||
PIN_setConfig(hSdiHandshakePins, PINCC26XX_BM_WAKEUP, MRDY_PIN | PINCC26XX_WAKEUP_NEGEDGE);
|
||||
|
||||
mrdy_state = PIN_getInputValue(MRDY_PIN);
|
||||
#endif // ! POWER_SAVING
|
||||
|
||||
#ifndef POWER_SAVING
|
||||
// This call will start repeated Uart Reads when Power Savings is disabled
|
||||
transportRead();
|
||||
#endif //!POWER_SAVING
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine returns the state of transmission on SDI
|
||||
//!
|
||||
//! \return bool - state of SDI transmission - 1 - active, 0 - not active
|
||||
// -----------------------------------------------------------------------------
|
||||
bool SDITL_checkSdiBusy(void)
|
||||
{
|
||||
#ifdef POWER_SAVING
|
||||
|
||||
return !PIN_getOutputValue(SRDY_PIN);
|
||||
#else
|
||||
return sdiTxActive;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine is used to set constraints on power manager
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITL_setPM(void)
|
||||
{
|
||||
if( sdiPMSetConstraint )
|
||||
{
|
||||
return;
|
||||
}
|
||||
// set constraints for Standby and idle mode
|
||||
Power_setConstraint(PowerCC26XX_SB_DISALLOW);
|
||||
Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
|
||||
sdiPMSetConstraint = TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine is used to release constraints on power manager
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITL_relPM(void)
|
||||
{
|
||||
|
||||
if ( ! sdiPMSetConstraint )
|
||||
{
|
||||
return;
|
||||
}
|
||||
// release constraints for Standby and idle mode
|
||||
Power_releaseConstraint(PowerCC26XX_SB_DISALLOW);
|
||||
Power_releaseConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
|
||||
sdiPMSetConstraint = FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine is used to handle an MRDY transition from a task
|
||||
//! context. Certain operations such as UART_read() cannot be
|
||||
//! performed from a HWI context
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITL_handleMrdyEvent(void)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
// Check to make sure this event is not occuring during the next packet
|
||||
// transmission
|
||||
if ( PIN_getInputValue(MRDY_PIN) == 0 ||
|
||||
(sdiTxActive && mrdyPktStamp == txPktCount ) )
|
||||
{
|
||||
transportMrdyEvent();
|
||||
SRDY_ENABLE();
|
||||
}
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This is a HWI function handler for the MRDY pin. Some MRDY
|
||||
//! functionality can execute from this HWI context. Others
|
||||
//! must be executed from task context hence the taskMrdyCB()
|
||||
//!
|
||||
//! \param[in] hPin - PIN Handle
|
||||
//! \param[in] pinId - ID of pin that triggered HWI
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITL_MRDYPinHwiFxn(PIN_Handle hPin, PIN_Id pinId)
|
||||
{
|
||||
// The pin driver does not currently support returning whether the int
|
||||
// was neg or pos edge so we must use a variable to keep track of state.
|
||||
// If the physical state of the pin was used then a very quick toggle of
|
||||
// of MRDY could be missed.
|
||||
mrdy_state ^= 1;
|
||||
|
||||
if(mrdy_state == 0)
|
||||
{
|
||||
mrdyPktStamp = txPktCount;
|
||||
SDITL_setPM();
|
||||
if ( taskMrdyCB )
|
||||
{
|
||||
|
||||
taskMrdyCB();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
transportStopTransfer();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This callback is invoked on the completion of one transmission
|
||||
//! to/from the host MCU. Any bytes receives will be [0,Rxlen) in
|
||||
//! sdiRxBuf.
|
||||
//! If bytes were receives or transmitted, this function notifies
|
||||
//! the SDI task via registered call backs
|
||||
//!
|
||||
//! \param[in] Rxlen - lenth of the data received
|
||||
//! \param[in] Txlen - length of the data transferred
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITL_transmissionCallBack(uint16 Rxlen, uint16 Txlen)
|
||||
{
|
||||
|
||||
sdiRxBufHead = 0;
|
||||
sdiRxBufTail = Rxlen;
|
||||
|
||||
if(Rxlen)
|
||||
{
|
||||
if ( taskRxCB )
|
||||
{
|
||||
taskRxCB(Rxlen);
|
||||
}
|
||||
}
|
||||
if(Txlen)
|
||||
{
|
||||
sdiTxActive = FALSE;
|
||||
// Only perform call back if SDI Task has been registered
|
||||
// and if there is not another fragment to send of this message
|
||||
if ( taskTxCB && !msgFragLen )
|
||||
{
|
||||
taskTxCB(Txlen);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
// Reset mrdy state in case of missed HWI
|
||||
mrdy_state = PIN_getInputValue(MRDY_PIN);
|
||||
|
||||
SDITL_relPM();
|
||||
SRDY_DISABLE();
|
||||
#endif
|
||||
|
||||
// If there is another fragment to send, begin write without notifying
|
||||
// higher level tasks
|
||||
if ( msgFragLen )
|
||||
{
|
||||
SDITL_writeTL(msgFrag,msgFragLen);
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine reads data from the transport layer based on len,
|
||||
//! and places it into the buffer.
|
||||
//!
|
||||
//! \param[in] buf - Pointer to buffer to place read data.
|
||||
//! \param[in] len - Number of bytes to read.
|
||||
//!
|
||||
//! \return uint16 - the number of bytes read from transport
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_readTL(uint8 *buf, uint16 len)
|
||||
{
|
||||
// Only copy the lowest number between len and bytes remaining in buffer
|
||||
len = (len > SDITL_getRxBufLen()) ? SDITL_getRxBufLen() : len;
|
||||
|
||||
memcpy(buf, &sdiRxBuf[sdiRxBufHead], len);
|
||||
sdiRxBufHead += len;
|
||||
return len;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine writes data from the buffer to the transport layer.
|
||||
//!
|
||||
//! \param[in] buf - Pointer to buffer to write data from.
|
||||
//! \param[in] len - Number of bytes to write.
|
||||
//!
|
||||
//! \return uint16 - the number of bytes written to transport
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_writeTL(uint8 *buf, uint16 len)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
// Writes are atomic at transport layer
|
||||
if ( SDITL_checkSdiBusy() )
|
||||
{
|
||||
ICall_leaveCriticalSection(key);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// If len of message is greater than fragment size
|
||||
// then message must be sent over the span of multiple
|
||||
// fragments
|
||||
if ( len > SDI_MAX_FRAG_SIZE )
|
||||
{
|
||||
msgFrag = buf + SDI_MAX_FRAG_SIZE;
|
||||
msgFragLen = len - SDI_MAX_FRAG_SIZE;
|
||||
len = SDI_MAX_FRAG_SIZE;
|
||||
}
|
||||
else
|
||||
{
|
||||
msgFrag = NULL;
|
||||
msgFragLen = 0;
|
||||
}
|
||||
|
||||
memcpy(sdiTxBuf, buf, len);
|
||||
sdiTxBufLen = len;
|
||||
sdiTxActive = TRUE;
|
||||
txPktCount++;
|
||||
|
||||
len = transportWrite(sdiTxBufLen);
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
SRDY_ENABLE();
|
||||
#endif
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine returns the max size receive buffer.
|
||||
//!
|
||||
//! \return uint16 - max size of the receive buffer
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_getMaxRxBufSize(void)
|
||||
{
|
||||
return(SDI_TL_BUF_SIZE);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine returns the max size transmit buffer.
|
||||
//!
|
||||
//! \return uint16 - max size of the transmit buffer
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_getMaxTxBufSize(void)
|
||||
{
|
||||
return(SDI_TL_BUF_SIZE);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief Returns number of bytes that are unread in RxBuf
|
||||
//!
|
||||
//! \return uint16 - number of unread bytes
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITL_getRxBufLen(void)
|
||||
{
|
||||
return ((sdiRxBufTail - sdiRxBufHead) + SDI_TL_BUF_SIZE) % SDI_TL_BUF_SIZE;
|
||||
}
|
||||
@@ -1,497 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file sdi_tl_uart.c
|
||||
|
||||
SDI Transport Layer Module for UART
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
// ****************************************************************************
|
||||
// includes
|
||||
// ****************************************************************************
|
||||
#include <string.h>
|
||||
#include <xdc/std.h>
|
||||
#include <ti/sysbios/family/arm/m3/Hwi.h>
|
||||
#include "inc/hw_memmap.h"
|
||||
#include "inc/hw_ints.h"
|
||||
#include "ICall.h"
|
||||
#include "Board.h"
|
||||
#include "hal_types.h"
|
||||
#include "bcomdef.h"
|
||||
|
||||
#include <ti/sysbios/knl/Task.h>
|
||||
#include <ti/sysbios/knl/Swi.h>
|
||||
|
||||
#include "inc/sdi_config.h"
|
||||
#include "inc/sdi_tl_uart.h"
|
||||
#include "inc/sdi_data.h"
|
||||
|
||||
#include <ti/drivers/uart/UARTCC26XX.h>
|
||||
|
||||
// ****************************************************************************
|
||||
// defines
|
||||
// ****************************************************************************
|
||||
|
||||
// ****************************************************************************
|
||||
// typedefs
|
||||
// ****************************************************************************
|
||||
|
||||
//*****************************************************************************
|
||||
// globals
|
||||
//*****************************************************************************
|
||||
//! \brief UART Handle for UART Driver
|
||||
static UART_Handle uartHandle;
|
||||
|
||||
//! \brief UART ISR Rx Buffer
|
||||
static Char isrRxBuf[UART_ISR_BUF_SIZE];
|
||||
|
||||
//! \brief SDI TL call back function for the end of a UART transaction
|
||||
static sdiCB_t sdiTransmitCB = NULL;
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
//! \brief Flag signalling receive in progress
|
||||
static uint8 RxActive = FALSE;
|
||||
|
||||
//! \brief Flag signalling transmit in progress
|
||||
static uint8 TxActive = FALSE;
|
||||
|
||||
//! \brief Value of MRDY SDI TL pin
|
||||
static uint8 mrdy_flag = 1;
|
||||
#endif //POWER_SAVING
|
||||
|
||||
//! \brief Pointer to SDI TL TX Buffer
|
||||
static Char* TransportRxBuf;
|
||||
|
||||
//! \brief Length of bytes received
|
||||
static uint16 TransportRxLen = 0;
|
||||
|
||||
//! \brief Pointer to SDI TL RX Buffer
|
||||
static Char* TransportTxBuf;
|
||||
|
||||
//! \brief Length of bytes to send from SDI TL Tx Buffer
|
||||
static uint16 TransportTxLen = 0;
|
||||
|
||||
//! \brief UART Object. Initialized in board specific files
|
||||
extern UARTCC26XX_Object uartCC26XXObjects[];
|
||||
|
||||
UART_Params paramsUART;
|
||||
|
||||
//! \brief Pointer to Application RX event callback function for optional
|
||||
//! rerouting of messages to application.
|
||||
//!
|
||||
static sdiTLIncomingEventCBack_t incomingRXErrorStatusAppCBFunc = NULL;
|
||||
|
||||
//*****************************************************************************
|
||||
// function prototypes
|
||||
//*****************************************************************************
|
||||
|
||||
//! \brief UART ISR function. Invoked upon specific threshold of UART RX FIFO size
|
||||
static uint16 SDITLUART_readIsrBuf(size_t size);
|
||||
|
||||
//! \brief UART Callback invoked after UART write completion
|
||||
static void SDITLUART_writeCallBack(UART_Handle handle, void *ptr, size_t size);
|
||||
|
||||
//! \brief UART Callback invoked after readsize has been read or timeout
|
||||
static void SDITLUART_readCallBack(UART_Handle handle, void *ptr, size_t size);
|
||||
|
||||
|
||||
void SDITLUART_registerIncomingRXErrorStatusAppCB(sdiTLIncomingEventCBack_t appRxErrStatusCB)
|
||||
{
|
||||
incomingRXErrorStatusAppCBFunc = appRxErrStatusCB;
|
||||
}
|
||||
|
||||
|
||||
void SDITLUART_closeUART(void)
|
||||
{
|
||||
ICall_CSState key;
|
||||
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
// Cancel any pending reads
|
||||
UART_readCancel(uartHandle);
|
||||
|
||||
// Close / power off the UART.
|
||||
UART_close(uartHandle);
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
}
|
||||
|
||||
|
||||
uint8 SDITLUART_configureUARTParams(UART_Params *initParams)
|
||||
{
|
||||
uint8 status = SUCCESS;
|
||||
ICall_CSState key;
|
||||
|
||||
SDITLUART_closeUART();
|
||||
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
// Open / power on the UART.
|
||||
uartHandle = UART_open(Board_UART, ¶msUART);
|
||||
if(uartHandle != NULL)
|
||||
{
|
||||
//DEBUG("UART_open successful");
|
||||
}else{
|
||||
//DEBUG("ERROR in UART_open");
|
||||
status = FAILURE;
|
||||
}
|
||||
|
||||
//Enable Partial Reads on all subsequent UART_read()
|
||||
status = UART_control(uartHandle, UARTCC26XX_RETURN_PARTIAL_ENABLE, NULL);
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
|
||||
#ifndef POWER_SAVING
|
||||
//Initiate first read to start polling UART
|
||||
SDITLUART_readTransport();
|
||||
#endif //POWER_SAVING
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine initializes the transport layer and opens the port
|
||||
//! of the device.
|
||||
//!
|
||||
//! \param[in] tRxBuf - pointer to SDI TL Tx Buffer
|
||||
//! \param[in] tTxBuf - pointer to SDI TL Rx Buffer
|
||||
//! \param[in] sdiCBack - SDI TL call back function to be invoked at the end of
|
||||
//! a UART transaction
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITLUART_initializeTransport(Char *tRxBuf, Char *tTxBuf, sdiCB_t sdiCBack)
|
||||
{
|
||||
// Set UART transport callbacks
|
||||
TransportRxBuf = tRxBuf;
|
||||
TransportTxBuf = tTxBuf;
|
||||
sdiTransmitCB = sdiCBack;
|
||||
|
||||
// Configure UART parameters.
|
||||
UART_Params_init(¶msUART);
|
||||
paramsUART.baudRate = SDI_UART_BR;
|
||||
paramsUART.readDataMode = UART_DATA_BINARY;
|
||||
paramsUART.writeDataMode = UART_DATA_BINARY;
|
||||
paramsUART.dataLength = UART_LEN_8;
|
||||
paramsUART.stopBits = UART_STOP_ONE;
|
||||
paramsUART.readMode = UART_MODE_CALLBACK;
|
||||
paramsUART.writeMode = UART_MODE_CALLBACK;
|
||||
paramsUART.readEcho = UART_ECHO_OFF;
|
||||
|
||||
paramsUART.readCallback = SDITLUART_readCallBack;
|
||||
paramsUART.writeCallback = SDITLUART_writeCallBack;
|
||||
|
||||
//paramsUART.readReturnMode = UART_RETURN_FULL;
|
||||
|
||||
// Open / power on the UART.
|
||||
uartHandle = UART_open(Board_UART, ¶msUART);
|
||||
if(uartHandle != NULL)
|
||||
{
|
||||
//DEBUG("ERROR in UART_open");
|
||||
}
|
||||
//Enable Partial Reads on all subsequent UART_read()
|
||||
UART_control(uartHandle, UARTCC26XX_RETURN_PARTIAL_ENABLE, NULL);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine stops any pending reads
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITLUART_stopTransfer(void)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
mrdy_flag = 1;
|
||||
|
||||
// If we have no bytes in FIFO yet we must assume there was nothing to read
|
||||
// or that the FIFO has already been read for this UART_read()
|
||||
// In either case UART_readCancel will call the read CB function and it will
|
||||
// invoke sdiTransmitCB with the appropriate number of bytes read
|
||||
if (!UARTCharsAvail(((UARTCC26XX_HWAttrsV1 const *)(uartHandle->hwAttrs))->baseAddr))
|
||||
{
|
||||
RxActive = FALSE;
|
||||
UART_readCancel(uartHandle);
|
||||
}
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
return;
|
||||
}
|
||||
#endif //POWER_SAVING
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine is called from the application context when MRDY is
|
||||
//! de-asserted
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITLUART_handleMrdyEvent(void)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
mrdy_flag = 0;
|
||||
|
||||
// If we haven't already begun reading, now is the time before Master
|
||||
// potentially starts to send data
|
||||
// The !TxActive condition is because we will call UART_sdiRead() prior to setting
|
||||
// TxActive true. There is the possibility that MRDY gets set high which
|
||||
// clears RxActive prior to us getting to this event. This will cause us to
|
||||
// read twice per transaction which will cause the transaction to never
|
||||
// complete
|
||||
if ( !RxActive && !TxActive )
|
||||
{
|
||||
SDITLUART_readTransport();
|
||||
}
|
||||
|
||||
// If we have something to write, then the Master has signalled it is ready
|
||||
// to receive. Time to write.
|
||||
if ( TxActive )
|
||||
{
|
||||
// Check to see if transport is successful. If not, reset TxLen to allow
|
||||
// another write to be processed
|
||||
if ( UART_write(uartHandle, TransportTxBuf, TransportTxLen) == UART_ERROR )
|
||||
{
|
||||
TxActive = FALSE;
|
||||
TransportTxLen = 0;
|
||||
}
|
||||
}
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
|
||||
return;
|
||||
}
|
||||
#endif //POWER_SAVING
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This callback is invoked on Write completion
|
||||
//!
|
||||
//! \param[in] handle - handle to the UART port
|
||||
//! \param[in] ptr - pointer to data to be transmitted
|
||||
//! \param[in] size - size of the data
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITLUART_writeCallBack(UART_Handle handle, void *ptr, size_t size)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
uint8 errStatus = 0;
|
||||
|
||||
if (errStatus = ((UARTCC26XX_Handle)handle->object)->status)
|
||||
{
|
||||
//report UART error status to application
|
||||
if(incomingRXErrorStatusAppCBFunc != NULL)
|
||||
incomingRXErrorStatusAppCBFunc(UART_ERROR_EVT, &errStatus, sizeof(errStatus));
|
||||
}
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
if ( !RxActive )
|
||||
{
|
||||
UART_readCancel(uartHandle);
|
||||
if ( sdiTransmitCB )
|
||||
{
|
||||
sdiTransmitCB(TransportRxLen,TransportTxLen);
|
||||
}
|
||||
}
|
||||
|
||||
TxActive = FALSE;
|
||||
|
||||
#else
|
||||
if ( sdiTransmitCB )
|
||||
{
|
||||
sdiTransmitCB(0,TransportTxLen);
|
||||
}
|
||||
#endif //POWER_SAVING
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This callback is invoked on Read completion of readSize/receive
|
||||
//! timeout
|
||||
//!
|
||||
//! \param[in] handle - handle to the UART port
|
||||
//! \param[in] ptr - pointer to buffer to read data into
|
||||
//! \param[in] size - size of the data
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
static void SDITLUART_readCallBack(UART_Handle handle, void *ptr, size_t size)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
uint8 errStatus = 0;
|
||||
|
||||
if (errStatus = ((UARTCC26XX_Handle)handle->object)->status)
|
||||
{
|
||||
//report UART error status to application
|
||||
if(incomingRXErrorStatusAppCBFunc != NULL)
|
||||
incomingRXErrorStatusAppCBFunc(UART_ERROR_EVT, &errStatus, sizeof(errStatus));
|
||||
}
|
||||
|
||||
if (size)
|
||||
{
|
||||
if (size != SDITLUART_readIsrBuf(size))
|
||||
{
|
||||
// Buffer overflow imminent. Cancel read and pass to higher layers
|
||||
// for handling
|
||||
#ifdef POWER_SAVING
|
||||
RxActive = FALSE;
|
||||
#endif //POWER_SAVING
|
||||
if ( sdiTransmitCB )
|
||||
{
|
||||
sdiTransmitCB(SDI_TL_BUF_SIZE,TransportTxLen);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
// Read has been cancelled by transport layer, or bus timeout and no bytes in FIFO
|
||||
// - do not invoke another read
|
||||
if ( !UARTCharsAvail(((UARTCC26XX_HWAttrsV1 const *)(uartHandle->hwAttrs))->baseAddr) &&
|
||||
mrdy_flag )
|
||||
{
|
||||
RxActive = FALSE;
|
||||
|
||||
// If TX has also completed then we are safe to issue call back
|
||||
if ( !TxActive && sdiTransmitCB )
|
||||
{
|
||||
sdiTransmitCB(TransportRxLen,TransportTxLen);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
UART_read(uartHandle, &isrRxBuf[0], UART_ISR_BUF_SIZE);
|
||||
}
|
||||
#else
|
||||
if ( sdiTransmitCB )
|
||||
{
|
||||
sdiTransmitCB(size,0);
|
||||
}
|
||||
TransportRxLen = 0;
|
||||
UART_read(uartHandle, &isrRxBuf[0], UART_ISR_BUF_SIZE);
|
||||
#endif //POWER_SAVING
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine reads data from the transport layer based on len,
|
||||
//! and places it into the buffer.
|
||||
//!
|
||||
//! \param[in] size - amount of bytes in UART ISR Rx Buffer
|
||||
//!
|
||||
//! \return uint16 - number of bytes read from transport
|
||||
// -----------------------------------------------------------------------------
|
||||
static uint16 SDITLUART_readIsrBuf(size_t size)
|
||||
{
|
||||
uint8_t i = 0;
|
||||
|
||||
// Copy the UART buffer to the application buffer
|
||||
// Do not allow overflow of buffer. Instead pass up to SDI module and allow
|
||||
// it to handle
|
||||
for (; (i < size) && (TransportRxLen < SDI_TL_BUF_SIZE); i++)
|
||||
{
|
||||
TransportRxBuf[TransportRxLen++] = isrRxBuf[i];
|
||||
isrRxBuf[i] = 0;
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine reads data from the UART
|
||||
//!
|
||||
//! \return void
|
||||
// -----------------------------------------------------------------------------
|
||||
void SDITLUART_readTransport(void)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
RxActive = TRUE;
|
||||
#endif //POWER_SAVING
|
||||
|
||||
TransportRxLen = 0;
|
||||
UART_read(uartHandle, &isrRxBuf[0], UART_ISR_BUF_SIZE);
|
||||
|
||||
ICall_leaveCriticalSection(key);
|
||||
}
|
||||
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
//! \brief This routine writes copies buffer addr to the transport layer.
|
||||
//!
|
||||
//! \param[in] len - Number of bytes to write.
|
||||
//!
|
||||
//! \return uint8 - number of bytes written to transport
|
||||
// -----------------------------------------------------------------------------
|
||||
uint16 SDITLUART_writeTransport(uint16 len)
|
||||
{
|
||||
ICall_CSState key;
|
||||
key = ICall_enterCriticalSection();
|
||||
|
||||
TransportTxLen = len;
|
||||
|
||||
#ifdef POWER_SAVING
|
||||
TxActive = TRUE;
|
||||
|
||||
// Start reading prior to impending write transaction
|
||||
// We can only call UART_write() once MRDY has been signaled from Master
|
||||
// device
|
||||
SDITLUART_readTransport();
|
||||
#else
|
||||
// Check to see if transport is successful. If not, reset TxLen to allow
|
||||
// another write to be processed
|
||||
if(UART_write(uartHandle, TransportTxBuf, TransportTxLen) == UART_ERROR )
|
||||
{
|
||||
TransportTxLen = 0;
|
||||
}
|
||||
#endif //POWER_SAVING
|
||||
ICall_leaveCriticalSection(key);
|
||||
|
||||
return TransportTxLen;
|
||||
}
|
||||
@@ -1,273 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2013-2016, 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* ======== lcdSmartRF06EB.c ========
|
||||
*/
|
||||
|
||||
/* XDCtools Header files */
|
||||
#include <xdc/std.h>
|
||||
#include <xdc/runtime/System.h>
|
||||
|
||||
/* BIOS Header files */
|
||||
#include <ti/sysbios/BIOS.h>
|
||||
#include <ti/sysbios/knl/Clock.h>
|
||||
#include <ti/sysbios/knl/Task.h>
|
||||
#include <ti/sysbios/knl/Semaphore.h>
|
||||
#include <driverlib/ioc.h>
|
||||
|
||||
/* TI-RTOS Header files */
|
||||
#include <ti/mw/lcd/LCDDogm1286.h>
|
||||
#include <ti/drivers/Power.h>
|
||||
#include <ti/drivers/power/PowerCC26XX.h>
|
||||
|
||||
#include <inc/hw_fcfg1.h>
|
||||
|
||||
#include "Board.h"
|
||||
|
||||
// RF Driver
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
#include "smartrf_settings.h"
|
||||
|
||||
/***** Defines *****/
|
||||
#define BEACON_TASK_STACK_SIZE 1024
|
||||
#define BEACON_TASK_PRIORITY 2
|
||||
|
||||
/* TX Configuration */
|
||||
#define NUMBER_OF_PACKETS 1000
|
||||
#define PAYLOAD_LENGTH 30
|
||||
#define PACKET_INTERVAL 50*4000 //50 ms @ 4 MHz
|
||||
#define BBEACON_DELAY 4000*4000 //4 seconds @4 MHz
|
||||
#define ABEACON_COUNT 20
|
||||
#define ADV_PERIOD (8000 * 4000) - ((PACKET_INTERVAL * ABEACON_COUNT) + BBEACON_DELAY)
|
||||
#define ADVLEN 31
|
||||
|
||||
/***** Prototypes *****/
|
||||
static void beaconTaskFunction(UArg arg0, UArg arg1);
|
||||
|
||||
/***** Variable declarations *****/
|
||||
static Task_Params beaconTaskParams;
|
||||
static Task_Struct beaconTask;
|
||||
static uint8_t beaconTaskStack[BEACON_TASK_STACK_SIZE];
|
||||
|
||||
static RF_Object rfObject;
|
||||
static RF_Handle rfHandle;
|
||||
|
||||
uint32_t time;
|
||||
static uint8_t advCount = 1;
|
||||
|
||||
static char aBeaconData[ADVLEN] =
|
||||
{
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
0xAA,
|
||||
};
|
||||
|
||||
static char bBeaconData[ADVLEN] =
|
||||
{
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
0xBB,
|
||||
};
|
||||
|
||||
void beaconTask_init(void) {
|
||||
|
||||
Task_Params_init(&beaconTaskParams);
|
||||
beaconTaskParams.stackSize = BEACON_TASK_STACK_SIZE;
|
||||
beaconTaskParams.priority = BEACON_TASK_PRIORITY;
|
||||
beaconTaskParams.stack = &beaconTaskStack;
|
||||
beaconTaskParams.arg0 = (UInt)1000000;
|
||||
|
||||
Task_construct(&beaconTask, beaconTaskFunction, &beaconTaskParams, NULL);
|
||||
}
|
||||
|
||||
|
||||
static void beaconTaskFunction(UArg arg0, UArg arg1)
|
||||
{
|
||||
uint32_t time;
|
||||
RF_Params rfParams;
|
||||
RF_Params_init(&rfParams);
|
||||
|
||||
/* Request access to the radio */
|
||||
rfHandle = RF_open(&rfObject, &RF_ble, (RF_RadioSetup*)&RF_cmdBleRadioSetup, &rfParams);
|
||||
|
||||
/* Get current time */
|
||||
time = RF_getCurrentTime();
|
||||
|
||||
while(1)
|
||||
{
|
||||
#ifdef EVERY_OTHER
|
||||
if (advCount)
|
||||
{
|
||||
//set adv data
|
||||
RF_cmdAdvNc0.pParams->pAdvData = (uint8_t*)aBeaconData;
|
||||
RF_cmdAdvNc0.pParams->advLen = ADVLEN;
|
||||
//switch
|
||||
advCount = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
//set advertising data
|
||||
RF_cmdAdvNc0.pParams->pAdvData = (uint8_t*)bBeaconData;
|
||||
RF_cmdAdvNc0.pParams->advLen = ADVLEN;
|
||||
//switch
|
||||
advCount = 1;
|
||||
}
|
||||
time += PACKET_INTERVAL;
|
||||
#elif // periodic use case
|
||||
if (advCount == 1) //first aBeacon packet
|
||||
{
|
||||
//set adv data
|
||||
RF_cmdAdvNc0.pParams->pAdvData = (uint8_t*)aBeaconData;
|
||||
RF_cmdAdvNc0.pParams->advLen = ADVLEN;
|
||||
//increment aBeacon counter
|
||||
advCount++;
|
||||
//set time to next advertisement
|
||||
time += PACKET_INTERVAL;
|
||||
}
|
||||
else if (advCount < ABEACON_COUNT) // aBeacon packet
|
||||
{
|
||||
//set time for next packet
|
||||
time += PACKET_INTERVAL;
|
||||
//increment aBeacon counter
|
||||
advCount++;
|
||||
}
|
||||
else if (advCount == ABEACON_COUNT) //last aBeacon packet
|
||||
{
|
||||
//delay before bBeacon packet
|
||||
time += BBEACON_DELAY;
|
||||
//set advertising data
|
||||
RF_cmdAdvNc0.pParams->pAdvData = (uint8_t*)bBeaconData;
|
||||
RF_cmdAdvNc0.pParams->advLen = ADVLEN;
|
||||
//increment aBeacon counter
|
||||
advCount++;
|
||||
}
|
||||
else //bBeacon packet
|
||||
{
|
||||
//reset aBeacon counter
|
||||
advCount = 1;
|
||||
//don't advertise again until end of period
|
||||
time += ADV_PERIOD;
|
||||
}
|
||||
#endif
|
||||
|
||||
RF_cmdAdvNc0.startTime = time;
|
||||
|
||||
/* Send packet */
|
||||
RF_EventMask result = RF_runCmd(rfHandle, (RF_Op*)&RF_cmdAdvNc0, RF_PriorityNormal, NULL, 0);
|
||||
if (!(result & RF_EventLastCmdDone))
|
||||
{
|
||||
/* Error */
|
||||
while(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* ======== main ========
|
||||
*
|
||||
*/
|
||||
int main(void)
|
||||
{
|
||||
/* Call board init functions. */
|
||||
PIN_init(BoardGpioInitTable);
|
||||
|
||||
#ifndef POWER_SAVING
|
||||
/* Set constraints for Standby, powerdown and idle mode */
|
||||
Power_setConstraint(PowerCC26XX_SB_DISALLOW);
|
||||
Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
|
||||
#endif //POWER_SAVING
|
||||
|
||||
/* Initialize task */
|
||||
beaconTask_init();
|
||||
|
||||
/* Start BIOS */
|
||||
BIOS_start();
|
||||
|
||||
return (0);
|
||||
}
|
||||
@@ -1,187 +0,0 @@
|
||||
/*
|
||||
* Filename: smartrf_settings.c
|
||||
*
|
||||
* Copyright (C) 2016 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.
|
||||
*
|
||||
*/
|
||||
|
||||
//*********************************************************************************
|
||||
// These settings have been manually typed for use with ble non-connectable advertising on CC26xx with tirtos rf driver
|
||||
//
|
||||
//*********************************************************************************
|
||||
|
||||
|
||||
//*********************************************************************************
|
||||
#include <driverlib/rf_mailbox.h>
|
||||
#include <driverlib/rf_common_cmd.h>
|
||||
#include <driverlib/rf_ble_cmd.h>
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
#include <rf_patches/rf_patch_cpe_ble.h>
|
||||
#include <rf_patches/rf_patch_rfe_ble.h>
|
||||
#include "smartrf_settings.h"
|
||||
|
||||
|
||||
//Advertisment payload length in bytes
|
||||
#define ADVLEN 31
|
||||
|
||||
// Advertisment data. Must be global for other files to access it.
|
||||
char advData[ADVLEN] = {0};
|
||||
|
||||
static uint64_t devAddress = { 0xEEEEEEEEEEEE };
|
||||
|
||||
//#pragma data_alignment=4
|
||||
//rfCoreHal_bleAdvOutput_t advOutput = {0};
|
||||
|
||||
// TI-RTOS RF Mode Object
|
||||
RF_Mode RF_ble =
|
||||
{
|
||||
.rfMode = RF_MODE_BLE,
|
||||
.cpePatchFxn = &rf_patch_cpe_ble,
|
||||
.mcePatchFxn = 0,
|
||||
#ifdef ADV_NC_OPTIMIZED
|
||||
.rfePatchFxn = 0,
|
||||
#else
|
||||
.rfePatchFxn = &rf_patch_rfe_ble,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
// Overrides for CMD_RADIO_SETUP
|
||||
uint32_t pOverrides[] =
|
||||
{
|
||||
#ifndef ADV_NC_OPTIMIZED
|
||||
0x00001007, // Remove if RFE patch is not applied.
|
||||
0x00456088, // Adjust AGC reference level
|
||||
#endif
|
||||
0x00354038, // Synth: Set RTRIM (POTAILRESTRIM) to 5
|
||||
0x4001402D, // Synth: Correct CKVD latency setting (address)
|
||||
0x00608402, // Synth: Correct CKVD latency setting (value)
|
||||
0x4001405D, // Synth: Set ANADIV DIV_BIAS_MODE to PG1 (address)
|
||||
0x1801F800, // Synth: Set ANADIV DIV_BIAS_MODE to PG1 (value)
|
||||
0x000784A3, // Synth: Set FREF = 3.43 MHz (24 MHz / 7)
|
||||
0xA47E0583, // Synth: Set loop bandwidth after lock to 80 kHz (K2)
|
||||
0xEAE00603, // Synth: Set loop bandwidth after lock to 80 kHz (K3, LSB)
|
||||
0x00010623, // Synth: Set loop bandwidth after lock to 80 kHz (K3, MSB)
|
||||
0x013800C3, // Use enhanced BLE shape
|
||||
/* Spur fix */
|
||||
0x02010403, // Synth: Use 24 MHz XOSC as synth clock, enable phase error discard feature
|
||||
0x40014035, // Synth: Set phase error error discard count to 1 (default 2) to get faster settling in TX (address)
|
||||
0x177F0408, // Synth: Set phase error error discard count to 1 (default 2) to get faster settling in TX (value)
|
||||
0x38000463, // Synth: Modify phase error discard threshold factor and offset
|
||||
/* Increase tone length due to spur fix */
|
||||
0x036052AC, // Add 6 us to tone in front of packet
|
||||
0x01AD02A3, // Compensate for 6 us added to tone in front of packet
|
||||
0x01680263, // Compensate for 6 us added to tone in front of packet
|
||||
0xFFFFFFFF, // End of override list
|
||||
};
|
||||
|
||||
|
||||
// CMD_RADIO_SETUP
|
||||
//#pragma data_alignment=4
|
||||
rfc_CMD_RADIO_SETUP_t RF_cmdBleRadioSetup =
|
||||
{
|
||||
.commandNo = CMD_RADIO_SETUP,
|
||||
.pNextOp = NULL,
|
||||
.startTrigger.triggerType = TRIG_NOW,
|
||||
.condition.rule = COND_ALWAYS,
|
||||
.pRegOverride = pOverrides,
|
||||
.config.frontEndMode = 0x0, // Differential
|
||||
.config.biasMode = 0x0, // Internal bias
|
||||
// .txPower = 0x3161, // 0 dbm
|
||||
.txPower = 0x9330, // 5 dbm
|
||||
.mode = 0, // BLE mode
|
||||
};
|
||||
|
||||
/*
|
||||
{ TX_POWER_0_DBM, GEN_TX_POWER_VAL( 0x21, 1, 0x31 ) },
|
||||
{ TX_POWER_5_DBM, GEN_TX_POWER_VAL( 0x30, 0, 0x93 ) } };
|
||||
#define GEN_TX_POWER_VAL( ib, gc, tc ) \
|
||||
(uint16)(((ib) & 0x3F) | (((gc) & 0x03) << 6) | (((tc)&0xFF) << 8))
|
||||
|
||||
0 dBm = 0x0021 | 0x0080 | 0x3100 = 0x3161
|
||||
5 dBm = 0x0030 | 0x0000 | 0x9300 = 0x9330
|
||||
*/
|
||||
|
||||
rfc_bleAdvPar_t cmdAdvParam = {
|
||||
.advLen = ADVLEN,
|
||||
.pAdvData = (uint8_t*)advData,
|
||||
.pDeviceAddress = (uint16_t*)&devAddress,
|
||||
// .endTrigger.triggerType = TRIG_NEVER,
|
||||
};
|
||||
|
||||
|
||||
// CMD_ADV_NC (Beacon channel 37)
|
||||
rfc_CMD_BLE_ADV_NC_t RF_cmdAdvNc0 =
|
||||
{
|
||||
.commandNo = CMD_BLE_ADV_NC,
|
||||
.status = 0x0000,
|
||||
.pNextOp = (rfc_radioOp_t*)&RF_cmdAdvNc1,
|
||||
.startTime = 0x00000000,
|
||||
.startTrigger.triggerType = TRIG_ABSTIME,
|
||||
.condition.rule = COND_ALWAYS,
|
||||
.channel = 37,
|
||||
.whitening = 0, // Use default
|
||||
.pParams = &cmdAdvParam,
|
||||
.pOutput = 0,
|
||||
};
|
||||
|
||||
|
||||
// CMD_ADV_NC (Beacon channel 38)
|
||||
rfc_CMD_BLE_ADV_NC_t RF_cmdAdvNc1 =
|
||||
{
|
||||
.commandNo = CMD_BLE_ADV_NC,
|
||||
.status = 0x0000,
|
||||
.pNextOp = (rfc_radioOp_t*)&RF_cmdAdvNc2,
|
||||
.startTime = 0x00000000,
|
||||
.startTrigger.triggerType = TRIG_NOW,
|
||||
.condition.rule = COND_ALWAYS,
|
||||
.channel = 38,
|
||||
.whitening = 0, // Use default
|
||||
.pParams = &cmdAdvParam,
|
||||
.pOutput = 0,
|
||||
};
|
||||
|
||||
|
||||
// CMD_ADV_NC (Beacon channel 39)
|
||||
rfc_CMD_BLE_ADV_NC_t RF_cmdAdvNc2 =
|
||||
{
|
||||
.commandNo = CMD_BLE_ADV_NC,
|
||||
.status = 0x0000,
|
||||
.pNextOp = NULL,
|
||||
.startTime = 0x00000000,
|
||||
.startTrigger.triggerType = TRIG_NOW,
|
||||
.condition.rule = COND_NEVER,
|
||||
.channel = 39,
|
||||
.whitening = 0, // Use default
|
||||
.pParams = &cmdAdvParam,
|
||||
.pOutput = 0,
|
||||
};
|
||||
@@ -1,58 +0,0 @@
|
||||
/*
|
||||
Copyright (c) 2013-2016, 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.
|
||||
*/
|
||||
|
||||
#ifndef SMARTRF_SETTINGS_H
|
||||
#define SMARTRF_SETTINGS_H
|
||||
|
||||
//*********************************************************************************
|
||||
// These settings has been ported for use with TI-RTOS RF driver and cc26xxware
|
||||
//
|
||||
//*********************************************************************************
|
||||
#include <driverlib/rf_mailbox.h>
|
||||
#include <driverlib/rf_common_cmd.h>
|
||||
#include <driverlib/rf_ble_cmd.h>
|
||||
#include <ti/drivers/rf/RF.h>
|
||||
|
||||
|
||||
// TI-RTOS RF Mode Object
|
||||
extern RF_Mode RF_ble;
|
||||
|
||||
|
||||
// RF Core API commands
|
||||
extern rfc_CMD_RADIO_SETUP_t RF_cmdBleRadioSetup;
|
||||
extern rfc_CMD_BLE_ADV_NC_t RF_cmdAdvNc0; // Non connectable advertising ch. 37
|
||||
extern rfc_CMD_BLE_ADV_NC_t RF_cmdAdvNc1; // Non connectable advertising ch. 38
|
||||
extern rfc_CMD_BLE_ADV_NC_t RF_cmdAdvNc2; // Non connectable advertising ch. 39
|
||||
|
||||
|
||||
|
||||
#endif // SMARTRF_SETTINGS_H
|
||||
-1353
File diff suppressed because it is too large
Load Diff
-87
@@ -1,87 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file central_to_multiperipheral.h
|
||||
|
||||
@brief This file contains the Simple BLE Central sample application
|
||||
definitions and prototypes.
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
Copyright (c) 2013-2016, 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_01_18
|
||||
Release Date: 2016-10-26 15:20:04
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef CENTRALTOMULTIPERIPHERAL_H
|
||||
#define CENTRALTOMULTIPERIPHERAL_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
* INCLUDES
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
* EXTERNAL VARIABLES
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
* CONSTANTS
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
* MACROS
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
* FUNCTIONS
|
||||
*/
|
||||
/*
|
||||
* Task creation function for the Simple BLE Central.
|
||||
*/
|
||||
extern void central_to_multiperipheral_createTask(void);
|
||||
|
||||
/*********************************************************************
|
||||
*********************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* CENTRALTOMULTIPERIPHERAL_H */
|
||||
-239
@@ -1,239 +0,0 @@
|
||||
/******************************************************************************
|
||||
|
||||
@file main.c
|
||||
|
||||
@brief main entry of the BLE stack sample application.
|
||||
|
||||
Group: WCS, BTS
|
||||
Target Device: CC2650, CC2640, CC1350
|
||||
|
||||
******************************************************************************
|
||||
|
||||
Copyright (c) 2013-2016, 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_00_31_s
|
||||
Release Date: 2016-06-16 18:59:11
|
||||
*****************************************************************************/
|
||||
|
||||
/*******************************************************************************
|
||||
* INCLUDES
|
||||
*/
|
||||
|
||||
#include <xdc/runtime/Error.h>
|
||||
|
||||
#include <ti/drivers/Power.h>
|
||||
#include <ti/drivers/power/PowerCC26XX.h>
|
||||
#include <ti/sysbios/BIOS.h>
|
||||
|
||||
#include "icall.h"
|
||||
#include "hal_assert.h"
|
||||
#include "central.h"
|
||||
#include "central_to_multiperipheral.h"
|
||||
|
||||
/* Header files required to enable instruction fetch cache */
|
||||
#include <inc/hw_memmap.h>
|
||||
#include <driverlib/vims.h>
|
||||
|
||||
#ifndef USE_DEFAULT_USER_CFG
|
||||
|
||||
#include "ble_user_config.h"
|
||||
|
||||
// BLE user defined configuration
|
||||
bleUserCfg_t user0Cfg = BLE_USER_CFG;
|
||||
|
||||
#endif // USE_DEFAULT_USER_CFG
|
||||
|
||||
#include <ti/mw/display/Display.h>
|
||||
|
||||
/*******************************************************************************
|
||||
* MACROS
|
||||
*/
|
||||
|
||||
/*******************************************************************************
|
||||
* CONSTANTS
|
||||
*/
|
||||
|
||||
/*******************************************************************************
|
||||
* TYPEDEFS
|
||||
*/
|
||||
|
||||
/*******************************************************************************
|
||||
* LOCAL VARIABLES
|
||||
*/
|
||||
|
||||
/*******************************************************************************
|
||||
* GLOBAL VARIABLES
|
||||
*/
|
||||
|
||||
/*******************************************************************************
|
||||
* EXTERNS
|
||||
*/
|
||||
|
||||
extern void AssertHandler(uint8 assertCause, uint8 assertSubcause);
|
||||
|
||||
extern Display_Handle dispHandle;
|
||||
|
||||
/*******************************************************************************
|
||||
* @fn Main
|
||||
*
|
||||
* @brief Application Main
|
||||
*
|
||||
* input parameters
|
||||
*
|
||||
* @param None.
|
||||
*
|
||||
* output parameters
|
||||
*
|
||||
* @param None.
|
||||
*
|
||||
* @return None.
|
||||
*/
|
||||
int main()
|
||||
{
|
||||
/* Register Application callback to trap asserts raised in the Stack */
|
||||
RegisterAssertCback(AssertHandler);
|
||||
|
||||
PIN_init(BoardGpioInitTable);
|
||||
|
||||
#ifndef POWER_SAVING
|
||||
/* Set constraints for Standby, powerdown and idle mode */
|
||||
Power_setConstraint(PowerCC26XX_SB_DISALLOW);
|
||||
Power_setConstraint(PowerCC26XX_IDLE_PD_DISALLOW);
|
||||
#endif //POWER_SAVING
|
||||
|
||||
/* Initialize ICall module */
|
||||
ICall_init();
|
||||
|
||||
/* Start tasks of external images - Priority 5 */
|
||||
ICall_createRemoteTasks();
|
||||
|
||||
/* Kick off profile - Priority 3 */
|
||||
GAPCentralRole_createTask();
|
||||
|
||||
/* Kick off application - Priority 1 */
|
||||
central_to_multiperipheral_createTask();
|
||||
|
||||
/* enable interrupts and start SYS/BIOS */
|
||||
BIOS_start();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* @fn AssertHandler
|
||||
*
|
||||
* @brief This is the Application's callback handler for asserts raised
|
||||
* in the stack.
|
||||
*
|
||||
* input parameters
|
||||
*
|
||||
* @param assertCause - Assert cause as defined in hal_assert.h.
|
||||
* @param assertSubcause - Optional assert subcause (see hal_assert.h).
|
||||
*
|
||||
* output parameters
|
||||
*
|
||||
* @param None.
|
||||
*
|
||||
* @return None.
|
||||
*/
|
||||
void AssertHandler(uint8 assertCause, uint8 assertSubcause)
|
||||
{
|
||||
// Open the display if the app has not already done so
|
||||
if ( !dispHandle )
|
||||
{
|
||||
dispHandle = Display_open(Display_Type_LCD, NULL);
|
||||
}
|
||||
|
||||
Display_print0(dispHandle, 0, 0, ">>>STACK ASSERT");
|
||||
|
||||
// check the assert cause
|
||||
switch (assertCause)
|
||||
{
|
||||
case HAL_ASSERT_CAUSE_OUT_OF_MEMORY:
|
||||
Display_print0(dispHandle, 0, 0, "***ERROR***");
|
||||
Display_print0(dispHandle, 2, 0, ">> OUT OF MEMORY!");
|
||||
break;
|
||||
|
||||
case HAL_ASSERT_CAUSE_INTERNAL_ERROR:
|
||||
// check the subcause
|
||||
if (assertSubcause == HAL_ASSERT_SUBCAUSE_FW_INERNAL_ERROR)
|
||||
{
|
||||
Display_print0(dispHandle, 0, 0, "***ERROR***");
|
||||
Display_print0(dispHandle, 2, 0, ">> INTERNAL FW ERROR!");
|
||||
}
|
||||
else
|
||||
{
|
||||
Display_print0(dispHandle, 0, 0, "***ERROR***");
|
||||
Display_print0(dispHandle, 2, 0, ">> INTERNAL ERROR!");
|
||||
}
|
||||
break;
|
||||
|
||||
case HAL_ASSERT_CAUSE_ICALL_ABORT:
|
||||
Display_print0(dispHandle, 0, 0, "***ERROR***");
|
||||
Display_print0(dispHandle, 2, 0, ">> ICALL ABORT!");
|
||||
HAL_ASSERT_SPINLOCK;
|
||||
break;
|
||||
|
||||
default:
|
||||
Display_print0(dispHandle, 0, 0, "***ERROR***");
|
||||
Display_print0(dispHandle, 2, 0, ">> DEFAULT SPINLOCK!");
|
||||
HAL_ASSERT_SPINLOCK;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* @fn smallErrorHook
|
||||
*
|
||||
* @brief Error handler to be hooked into TI-RTOS.
|
||||
*
|
||||
* input parameters
|
||||
*
|
||||
* @param eb - Pointer to Error Block.
|
||||
*
|
||||
* output parameters
|
||||
*
|
||||
* @param None.
|
||||
*
|
||||
* @return None.
|
||||
*/
|
||||
void smallErrorHook(Error_Block *eb)
|
||||
{
|
||||
for (;;);
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
*/
|
||||
-227
@@ -1,227 +0,0 @@
|
||||
|
||||
/******************************************************************************
|
||||
|
||||
@file osal_icall_ble.c
|
||||
|
||||
@brief This file contains function that allows user setup tasks
|
||||
|
||||
Group: WCS, BTS
|
||||
$Target Device: DEVICES $
|
||||
|
||||
******************************************************************************
|
||||
Copyright (c) 2013-2016, 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.
|
||||
*****************************************************************************/
|
||||
|
||||
/**************************************************************************************************
|
||||
* INCLUDES
|
||||
**************************************************************************************************/
|
||||
#include <icall.h>
|
||||
#include "hal_types.h"
|
||||
#include "hal_mcu.h"
|
||||
#include "osal.h"
|
||||
#include "osal_tasks.h"
|
||||
#include "osal_snv.h"
|
||||
|
||||
|
||||
/* LL */
|
||||
#include "ll.h"
|
||||
|
||||
#if defined ( OSAL_CBTIMER_NUM_TASKS )
|
||||
#include "osal_cbtimer.h"
|
||||
#endif
|
||||
|
||||
/* L2CAP */
|
||||
#include "l2cap.h"
|
||||
|
||||
/* gap */
|
||||
#include "gap.h"
|
||||
|
||||
#if defined ( GAP_BOND_MGR )
|
||||
#include "gapbondmgr.h"
|
||||
#endif
|
||||
|
||||
/* GATT */
|
||||
#include "gatt.h"
|
||||
|
||||
/* Application */
|
||||
#include "hci_tl.h"
|
||||
|
||||
#include "gattservapp.h"
|
||||
|
||||
#include "ble_user_config.h"
|
||||
#include "ble_dispatch.h"
|
||||
|
||||
/*********************************************************************
|
||||
* GLOBAL VARIABLES
|
||||
*/
|
||||
|
||||
// The order in this table must be identical to the task initialization calls below in osalInitTask.
|
||||
const pTaskEventHandlerFn tasksArr[] =
|
||||
{
|
||||
LL_ProcessEvent, // task 0
|
||||
HCI_ProcessEvent, // task 1
|
||||
#if defined ( OSAL_CBTIMER_NUM_TASKS )
|
||||
OSAL_CBTIMER_PROCESS_EVENT( osal_CbTimerProcessEvent ), // task 2
|
||||
#endif
|
||||
L2CAP_ProcessEvent, // task 3
|
||||
GAP_ProcessEvent, // task 4
|
||||
SM_ProcessEvent, // task 5
|
||||
GATT_ProcessEvent, // task 6
|
||||
GATTServApp_ProcessEvent, // task 7
|
||||
#if defined ( GAP_BOND_MGR )
|
||||
GAPBondMgr_ProcessEvent, // task 8
|
||||
#endif
|
||||
bleDispatch_ProcessEvent // task 9
|
||||
};
|
||||
|
||||
const uint8 tasksCnt = sizeof( tasksArr ) / sizeof( tasksArr[0] );
|
||||
uint16 *tasksEvents;
|
||||
|
||||
/*********************************************************************
|
||||
* FUNCTIONS
|
||||
*********************************************************************/
|
||||
|
||||
/*********************************************************************
|
||||
* @fn osalInitTasks
|
||||
*
|
||||
* @brief This function invokes the initialization function for each task.
|
||||
*
|
||||
* @param void
|
||||
*
|
||||
* @return none
|
||||
*/
|
||||
void osalInitTasks( void )
|
||||
{
|
||||
ICall_EntityID entity;
|
||||
ICall_Semaphore sem;
|
||||
uint8 taskID = 0;
|
||||
uint8 i;
|
||||
|
||||
tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt);
|
||||
osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt));
|
||||
|
||||
/* LL Task */
|
||||
LL_Init( taskID++ );
|
||||
|
||||
/* HCI Task */
|
||||
HCI_Init( taskID++ );
|
||||
|
||||
#if defined ( OSAL_CBTIMER_NUM_TASKS )
|
||||
/* Callback Timer Tasks */
|
||||
osal_CbTimerInit( taskID );
|
||||
taskID += OSAL_CBTIMER_NUM_TASKS;
|
||||
#endif
|
||||
|
||||
/* L2CAP Task */
|
||||
L2CAP_Init( taskID++ );
|
||||
|
||||
/* GAP Task */
|
||||
GAP_Init( taskID++ );
|
||||
|
||||
/* SM Task */
|
||||
SM_Init( taskID++ );
|
||||
|
||||
/* GATT Task */
|
||||
GATT_Init( taskID++ );
|
||||
|
||||
/* GATT Server App Task */
|
||||
GATTServApp_Init( taskID++ );
|
||||
|
||||
#if defined ( GAP_BOND_MGR )
|
||||
/* Bond Manager Task */
|
||||
GAPBondMgr_Init( taskID++ );
|
||||
#endif
|
||||
|
||||
/* ICall BLE Dispatcher Task */
|
||||
bleDispatch_Init( taskID );
|
||||
|
||||
// ICall enrollment
|
||||
/* Enroll the service that this stack represents */
|
||||
ICall_enrollService(ICALL_SERVICE_CLASS_BLE, NULL, &entity, &sem);
|
||||
|
||||
/* Enroll the obtained dispatcher entity and OSAL task ID of HCI Ext App
|
||||
* to OSAL so that OSAL can route the dispatcher message into
|
||||
* the appropriate OSAL task.
|
||||
*/
|
||||
osal_enroll_dispatchid(taskID, entity);
|
||||
|
||||
/* Register all other OSAL tasks to use the registered dispatcher entity
|
||||
* ID as the source of dispatcher messages, even though the other OSAL
|
||||
* tasks didn't register themselves to receive messages from application.
|
||||
*/
|
||||
for (i = 0; i < taskID; i++)
|
||||
{
|
||||
osal_enroll_senderid(i, entity);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Main entry function for the stack image
|
||||
*/
|
||||
int stack_main( void *arg )
|
||||
{
|
||||
/* User reconfiguration of BLE Controller and Host variables */
|
||||
setBleUserConfig( (bleUserCfg_t *)arg );
|
||||
|
||||
/* Establish OSAL for a stack service that requires accompanying
|
||||
* messaging service */
|
||||
if (ICall_enrollService(ICALL_SERVICE_CLASS_BLE_MSG,
|
||||
(ICall_ServiceFunc) osal_service_entry,
|
||||
&osal_entity, &osal_semaphore) !=
|
||||
ICALL_ERRNO_SUCCESS)
|
||||
{
|
||||
/* abort */
|
||||
ICall_abort();
|
||||
}
|
||||
|
||||
halIntState_t state;
|
||||
HAL_ENTER_CRITICAL_SECTION(state);
|
||||
|
||||
// Turn off interrupts
|
||||
//osal_int_disable( INTS_ALL );
|
||||
|
||||
// Initialize NV System
|
||||
osal_snv_init( );
|
||||
|
||||
// Initialize the operating system
|
||||
osal_init_system();
|
||||
|
||||
// Allow interrupts
|
||||
//osal_int_enable( INTS_ALL );
|
||||
HAL_EXIT_CRITICAL_SECTION(state);
|
||||
|
||||
osal_start_system(); // No Return from here
|
||||
|
||||
return 0; // Shouldn't get here.
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
*********************************************************************/
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user