Compare commits
764 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b040abcdf6 | ||
|
|
0def8f52e7 | ||
|
|
c074d2cbba | ||
|
|
d2c9524497 | ||
|
|
1c55b7dbf1 | ||
|
|
b63dca3b4e | ||
|
|
5f1e37a99e | ||
|
|
8c606150f5 | ||
|
|
efc1694408 | ||
|
|
cba15e0237 | ||
|
|
41ed82e72e | ||
|
|
95ca85fd9c | ||
|
|
4f9372066a | ||
|
|
be779b118b | ||
|
|
feb0566e87 | ||
| 8b40e91578 | |||
| eeb666c5dd | |||
| fac29af0ad | |||
| d55ee42612 | |||
|
|
75cfffb548 | ||
|
|
7d02b47c7a | ||
|
|
ecfc0b2ab8 | ||
|
|
04402e72b6 | ||
|
|
61b65220e1 | ||
| 67030985d6 | |||
| ca2ca5d7cb | |||
| ba3c64ddac | |||
| 06bcf94fa2 | |||
| f6f433e6b2 | |||
| 2a165c5013 | |||
|
|
8e70b97ef7 | ||
| e1cda7d263 | |||
|
|
959a09957e | ||
| f68886a4ed | |||
|
|
eeea754181 | ||
|
|
ae7bf3ce96 | ||
|
|
affe3c161c | ||
|
|
5b6a9de96e | ||
|
|
34793f8bd0 | ||
| 7333ccd7a6 | |||
| 2d42eab5fa | |||
| c88a71985a | |||
|
|
ae2a731161 | ||
|
|
ec664d9268 | ||
| 4ca7bf0a7d | |||
| 715fcf4d36 | |||
| a429852c80 | |||
| 3eb5f90ce6 | |||
| f1115c937b | |||
| 91d0f2c635 | |||
| 614a49f3e3 | |||
| 1e56f2f39e | |||
| 82e9b599ad | |||
|
|
c4781d3d70 | ||
|
|
c0b928f2f6 | ||
|
|
73bb0cff1e | ||
| 6454e5f96e | |||
| 3f53823c07 | |||
| fe60a8ebd8 | |||
| fb0a689786 | |||
| 2ee12a62f0 | |||
| de970ece3a | |||
| 59810aa748 | |||
| d2e7ce7242 | |||
| 72fbed289d | |||
|
|
60c6553ee7 | ||
|
|
cf10590245 | ||
|
|
44c59bd818 | ||
|
|
c355999e85 | ||
|
|
4f0daf3424 | ||
|
|
be7c9eec8c | ||
|
|
ef5f4cd2f3 | ||
|
|
1da16f12c4 | ||
| 2658dd8090 | |||
| fa5d5654f8 | |||
| bf8d5101b0 | |||
| 31b5928725 | |||
| 110855200a | |||
| 21f9921269 | |||
| bce88ff343 | |||
| 5359f0351f | |||
| ab2e001093 | |||
| ff0e77a166 | |||
| 195a48f366 | |||
| 2110f8d83b | |||
| 4c6c7c7950 | |||
| 7d7972b73f | |||
| fc40f5e0c9 | |||
| a19b085c30 | |||
| 09772eb746 | |||
| c249b1648d | |||
|
|
480913dabe | ||
|
|
c2a080360d | ||
| 923da8ca15 | |||
|
|
7a2e764262 | ||
|
|
d726fd9fa0 | ||
|
|
267acf644c | ||
|
|
0bc8accaaa | ||
|
|
0351ebd98d | ||
|
|
3a235f6380 | ||
|
|
500c5f8c5d | ||
| 6b8e6498fa | |||
| 4fc6ef52da | |||
| fcb5052565 | |||
| acc7580dc6 | |||
| 4f28e5555c | |||
| ec2bc57ade | |||
| 7142cee0db | |||
| a3d7520da9 | |||
| 9d5ed822e8 | |||
|
|
b6c2cf8d3a | ||
| a26ae0da4e | |||
| a7cbb35455 | |||
| e866ae7034 | |||
|
|
f35dae5893 | ||
| 2fc9eccfd5 | |||
| ca57f46ed2 | |||
| 1776d7b4b6 | |||
| 34f46ab0b0 | |||
| 98a73d7882 | |||
| e7148a30cb | |||
| da948468b4 | |||
| 75df438d69 | |||
| 10fe42babf | |||
| 8124ed3294 | |||
| aa7910c28c | |||
| ff6a98af92 | |||
| 0647b34bb8 | |||
|
|
271bb27699 | ||
| 2cbe3f19b4 | |||
| 228902a6ee | |||
| bee591c861 | |||
|
|
8e7e70c50e | ||
| e36ff9bc41 | |||
| e02c9b1378 | |||
| 5a19103d0e | |||
| e201e7dce9 | |||
| 532e4a7ab5 | |||
|
|
c9ccaa484a | ||
|
|
a5dfc82b95 | ||
|
|
e22da0db67 | ||
|
|
e89bc07759 | ||
|
|
e405783716 | ||
|
|
dc59906c8a | ||
|
|
161fb7b2ca | ||
|
|
04940b1a0b | ||
|
|
6f6f07b0f9 | ||
| a44d232dea | |||
| 32b1d6412d | |||
| 87830a1473 | |||
| fcca3801a4 | |||
| 00b57e3d2c | |||
| 720d010c47 | |||
| 9e52665b88 | |||
| a529cb9ab1 | |||
|
|
33fb90af05 | ||
|
|
da122ad961 | ||
| 11d1ad546f | |||
| 37d28c9f35 | |||
| dc0cc590ed | |||
|
|
0771cb6899 | ||
|
|
564620e9e3 | ||
| 726665ebd8 | |||
| 004533655f | |||
| c4d5d2e284 | |||
| 75f156beef | |||
| 459a80b4d2 | |||
| bef190b77d | |||
| e4dbb90065 | |||
| 0cbaffd4b6 | |||
|
|
1de5455ef6 | ||
|
|
e1b30bf37e | ||
|
|
db94def694 | ||
|
|
439c9d34c1 | ||
|
|
ac90999bdd | ||
|
|
85dd905cfd | ||
|
|
04b9bed7c9 | ||
| 1407514458 | |||
| 050a2dc8dc | |||
| df4a37085a | |||
| 6697462f15 | |||
| 84d0d44f38 | |||
|
|
fa9525fd4c | ||
|
|
087036922a | ||
|
|
1ce43a567b | ||
| c46947afd4 | |||
| 3099c813d1 | |||
| 8039351395 | |||
| 750b5a7794 | |||
| a9fe8577c3 | |||
|
|
74729872a8 | ||
| 6b78e69dbe | |||
| 3b95013b69 | |||
| 85166344d2 | |||
| ca6b7a65c0 | |||
| f528cc4808 | |||
| 3314241631 | |||
| 3fcd72b189 | |||
|
|
5bc0b94c6d | ||
| bbe70fb3cb | |||
| 31be98c62e | |||
| 94070121c7 | |||
| 1961f91567 | |||
| e38139089f | |||
| e2c51b3dd1 | |||
| b77c222b72 | |||
| b55af7b20b | |||
| 72add69b65 | |||
| 1a44c2d513 | |||
| 0fb10a0a10 | |||
| 748ea1400a | |||
| 5784aa0f5d | |||
| 6c02f37bbb | |||
| d6d564f4aa | |||
| da15df076a | |||
| 9fc6b6c0fd | |||
| 1171245704 | |||
|
|
ab1fdbae16 | ||
|
|
2d628e151c | ||
| 329c8d999a | |||
| af920aafdf | |||
| 98162a59b9 | |||
| 64b4cba67c | |||
|
|
d99f2dfbc3 | ||
|
|
e673dfe92b | ||
|
|
d18e368ab9 | ||
|
|
a334cc4f0a | ||
|
|
42c5e97122 | ||
|
|
f069b31d5a | ||
|
|
47000f7a9f | ||
|
|
6f95c0d825 | ||
|
|
a9d479ba0a | ||
|
|
9329d2b0f4 | ||
| 4f69899fbe | |||
|
|
2dad4b4ee1 | ||
|
|
5174321b6a | ||
|
|
32edc4c049 | ||
|
|
d986134781 | ||
|
|
bd4330f9fd | ||
|
|
f260bd25b1 | ||
| d0af831b1f | |||
|
|
df8bc1c203 | ||
|
|
c101af99d3 | ||
|
|
7baacb0f9e | ||
|
|
155efb06bf | ||
|
|
2f730ab444 | ||
|
|
41f3a2ecd4 | ||
|
|
10d2d16453 | ||
|
|
087a5ef476 | ||
|
|
67bbe9d9a5 | ||
|
|
0b501ba444 | ||
|
|
981513df10 | ||
|
|
95e5102137 | ||
|
|
d498fa9230 | ||
|
|
eff8ac8c62 | ||
| 39f0180f40 | |||
| dd6ee398f2 | |||
|
|
c3796aa6eb | ||
|
|
4cf54dcce8 | ||
| 79277e86f1 | |||
| 361f9ac4fc | |||
| 11a3bed8b8 | |||
| 5db84b3fa1 | |||
| dccd329435 | |||
| 0d265b9752 | |||
|
|
9cab6670b9 | ||
|
|
8c6f1a21ab | ||
|
|
a1271b7268 | ||
| 9bf187758b | |||
| 349c510555 | |||
|
|
31b1a916f5 | ||
|
|
9755040ac2 | ||
| c0704b3d4f | |||
|
|
58ff438f46 | ||
|
|
98ab5a5785 | ||
|
|
58f7ef6de4 | ||
|
|
431a1c20ab | ||
|
|
2e698af78c | ||
|
|
5c2b4c6491 | ||
| 80b1932f39 | |||
|
|
644bfa85f7 | ||
|
|
bd06abc060 | ||
|
|
efad0e2079 | ||
|
|
c3bfc0a930 | ||
|
|
2eef2f1d7f | ||
|
|
d8621bdc2c | ||
|
|
23c9aa6038 | ||
|
|
0464d60f68 | ||
|
|
d4b80eabd6 | ||
| 952cbe76a5 | |||
| 746df2eb94 | |||
|
|
494960a2ac | ||
|
|
0382313fc7 | ||
|
|
66faf89d7f | ||
| 79da402ceb | |||
|
|
b0b85a2711 | ||
|
|
5fb1e649ab | ||
|
|
7a3cfe9836 | ||
|
|
e12f2bacb1 | ||
|
|
d6c641e67b | ||
|
|
ec15a35977 | ||
| 05415e79b1 | |||
| 908f2d4c23 | |||
| cdd6d7f1a2 | |||
|
|
8831e7142f | ||
|
|
e5c99c36e7 | ||
|
|
bb0619f212 | ||
|
|
0e5f62d849 | ||
|
|
3aaa12eee1 | ||
|
|
dbf4ad373e | ||
|
|
595c32783c | ||
| b48b965070 | |||
|
|
2cf073e7d8 | ||
|
|
ef1664e1a2 | ||
| 05cf4a791a | |||
| c8f30582a5 | |||
| 0acb80380a | |||
| b5205d7c7a | |||
|
|
819026659a | ||
|
|
09f6149822 | ||
| 0ce5a495f0 | |||
|
|
a66f2ac21b | ||
|
|
244d84aa56 | ||
|
|
f1ea85bfa7 | ||
| 4c577cf83d | |||
|
|
ca4297e3a6 | ||
| 31706093fb | |||
|
|
f4fac1f3dd | ||
|
|
c9500bcd96 | ||
|
|
65c5277a79 | ||
|
|
e0132ed201 | ||
|
|
e0090a5918 | ||
|
|
ee9f8536b2 | ||
| a1141c87c9 | |||
|
|
b75d89ad16 | ||
|
|
af32fd308c | ||
|
|
355eaeb864 | ||
|
|
a2458005f1 | ||
|
|
1004512caf | ||
|
|
9f54d89efa | ||
|
|
72f9f242d7 | ||
|
|
4857ebf043 | ||
|
|
25ff6018c4 | ||
|
|
b3fbf3b107 | ||
|
|
8651a5fb83 | ||
|
|
231f5942f8 | ||
|
|
1d893974cb | ||
|
|
6b32c4bb81 | ||
|
|
9b801e9487 | ||
|
|
23b1f59320 | ||
| 3a2a90e712 | |||
| ad7ff7f7f3 | |||
|
|
8799710b38 | ||
| e1d5170a90 | |||
|
|
a39db9a35d | ||
|
|
5c874483a9 | ||
| 65480cd773 | |||
| 7d59345f43 | |||
|
|
bc553f889c | ||
|
|
cae225df41 | ||
|
|
3a52f9d31c | ||
| 4ebb15ca6c | |||
| 240c4f027b | |||
| f7e24f13bb | |||
| c3d8068e02 | |||
| 084e890645 | |||
| edd3437682 | |||
|
|
c2728c8340 | ||
| 725820fafd | |||
| 9f653b4e6f | |||
| ae7d3514a1 | |||
|
|
6b9d4a8140 | ||
|
|
af295b12b0 | ||
|
|
69dd011260 | ||
|
|
d62076128a | ||
| 38ae301cda | |||
|
|
2ee9ea65da | ||
|
|
0dfaa79f77 | ||
|
|
866fe73f2e | ||
|
|
f5c96214b0 | ||
|
|
4d28abe141 | ||
|
|
c75d7f17f7 | ||
|
|
a384664639 | ||
|
|
ee708f7b02 | ||
| edc942cb24 | |||
| b19a8c2e5c | |||
| 68b45978a7 | |||
| 7d4dfdebbd | |||
| 6c325460f7 | |||
| c70b61e4e5 | |||
|
|
589b857039 | ||
|
|
ad4a6d2e09 | ||
|
|
766f15beee | ||
|
|
79b8cd7b2d | ||
|
|
bd0f3a0b07 | ||
|
|
c4f9f2ef4b | ||
|
|
0820d537c3 | ||
| 1a6aa893e4 | |||
| b10c722ff6 | |||
| b7a1f17e5e | |||
|
|
a0d14c30be | ||
|
|
e668b6a439 | ||
|
|
3483c3374d | ||
|
|
d71a512454 | ||
|
|
b1608c4d7f | ||
|
|
e4c1f35e4a | ||
|
|
3ab7eb99ab | ||
|
|
ef9d89993c | ||
|
|
9887ba0721 | ||
| 397ca350f8 | |||
| 99220400f1 | |||
| 4e8636a620 | |||
| f14bd553a8 | |||
| 2845a82236 | |||
| 4f5cc3059e | |||
|
|
d845fedc03 | ||
|
|
1b2e364f70 | ||
|
|
4405b2b02c | ||
|
|
49b9bfa11d | ||
|
|
df428f4c0c | ||
| 0c93ca8c75 | |||
| 971c1dcfee | |||
| 498dbd4179 | |||
|
|
00b0a54f12 | ||
|
|
48076edd99 | ||
|
|
485e81bfb0 | ||
|
|
0df50bb0f9 | ||
| de5f17695c | |||
| e4aa2149f7 | |||
| 9f656546df | |||
| 5affb9f31b | |||
| 5e3bf96df1 | |||
| 07995e2235 | |||
| 54f091d0fe | |||
| 14a71427fa | |||
| 486be9604e | |||
| a8f1495bc8 | |||
| 3ab9821860 | |||
| 0b9e227669 | |||
| befba09acc | |||
| 554f265eb8 | |||
| 4287ec6477 | |||
| aad1c33742 | |||
| b0315e133b | |||
|
|
c3f55435da | ||
| 12cb0cdade | |||
| 7ed7dd7493 | |||
| 031b30a4aa | |||
| 3597adf869 | |||
| 8bfe969a95 | |||
| 5a78a5b258 | |||
| 298f94e4d5 | |||
| 0fec736886 | |||
| 38b3a192ab | |||
| 4959619d56 | |||
| 6caf4fc993 | |||
| 95eb4e969a | |||
| ada4c43ebf | |||
| 9a40d27354 | |||
| 6929422b94 | |||
|
|
2cd66c2e08 | ||
|
|
268ebbe00e | ||
|
|
ea960f2250 | ||
| 9673f7b242 | |||
| 292d028fe6 | |||
| aa0c0421c3 | |||
| db43a77614 | |||
| 21bcc7ce98 | |||
|
|
7b9c099321 | ||
| 33a7c56fa2 | |||
| ab2fe6200a | |||
| d5d04dc82f | |||
| f23e42de1f | |||
| 2f6954c4f3 | |||
| b81fc7b122 | |||
| 704bba292a | |||
| f1e642b1b0 | |||
| 8e3cdc80e4 | |||
| 3496e391f6 | |||
| bb40a0820c | |||
|
|
8f739b11dc | ||
|
|
7ef386424c | ||
|
|
53b3dd2fad | ||
| 6554e5de47 | |||
| 60ec1edb32 | |||
| 131082313d | |||
| f12b0b3da0 | |||
| 5ecd9557a3 | |||
|
|
3769ddca75 | ||
|
|
a4dec7b832 | ||
| 390af7eff7 | |||
| f495313018 | |||
| 18ded2159c | |||
| 760fc9eb40 | |||
| 5d348eb7b1 | |||
| 86767e2fa1 | |||
| 8a995aafed | |||
| 7379ea91e5 | |||
| cf42119f85 | |||
| 80d9a790ec | |||
| 5951312d40 | |||
| 778ac17172 | |||
| dfbc1c757a | |||
| 54b58f2188 | |||
| f855b9db40 | |||
| 6fd365197a | |||
| 8b2abf7044 | |||
| 182a8c7e49 | |||
| 6da1a89459 | |||
| f1d5e82bb4 | |||
| e6fdd79df4 | |||
| a35231f5bd | |||
| 9c7b6aeb94 | |||
| 68e2e06905 | |||
|
|
3563a0db16 | ||
| 4cb0031302 | |||
| 4bfb76ca82 | |||
| 3e6f1bebf7 | |||
|
|
efca358c72 | ||
|
|
319f3b4649 | ||
|
|
7fc030191d | ||
|
|
3959da6847 | ||
| 39171fe06e | |||
| 0972e8c7e8 | |||
| 7b9d2d1701 | |||
|
|
f276b973f5 | ||
|
|
8739ef04d7 | ||
| aea73d976c | |||
|
|
4c98a4c706 | ||
|
|
62146aa477 | ||
| 2bdfcf10a3 | |||
| f9db90d89b | |||
| 1ded96abba | |||
| cb170bd73b | |||
| a379805e43 | |||
|
|
9ff8c3ba54 | ||
|
|
1d7351ba4f | ||
|
|
3ac8876b37 | ||
| 9fa5aba052 | |||
| bc13a912b4 | |||
|
|
33ba9ca946 | ||
| 7d43f1cd58 | |||
| 21a3865c5d | |||
| f1a639bc3c | |||
| 98cdbafa7a | |||
|
|
6752997048 | ||
|
|
026ab3f4b2 | ||
| 20ad159722 | |||
| 7316632fa6 | |||
| 2159753398 | |||
| 8cb3ba7dfc | |||
| b1a24b253a | |||
| 5a553dbdeb | |||
|
|
e9f687e6dd | ||
| 1ac2f8557c | |||
| 774f33122a | |||
| 1da7657483 | |||
| ac3bf5b122 | |||
| f6f2dd189b | |||
| d5924567da | |||
| 9152ea1d26 | |||
| a124adab97 | |||
| 2e21bcdd0a | |||
| 526a182ed7 | |||
| b1ddc01fbb | |||
| 7c9296fe2e | |||
| 34b93adef0 | |||
| 10018b8cad | |||
| 57e0a2cc72 | |||
| a2bfe878b6 | |||
| 9320541754 | |||
| bd246c5ca7 | |||
|
|
dee3514065 | ||
| 93c8866f37 | |||
| acb3bdad6a | |||
| 5e3fb10884 | |||
| 3b25251e10 | |||
| 903e17a6e5 | |||
| 9109170752 | |||
| 05d0cfb193 | |||
| 8253fe471b | |||
| 245f4f48bf | |||
| c523e8f84e | |||
| 6e73420d0f | |||
| 483d4c9d6f | |||
| 77acda840a | |||
| 1eecc93f71 | |||
| 1d9e07edb4 | |||
| 9058ef054b | |||
| a7b741eaa4 | |||
| 41ce909172 | |||
| 7690481938 | |||
|
|
3d9e9c59d6 | ||
| 7d2eacfe5c | |||
| ccf38f87d9 | |||
| b6cadf4a69 | |||
| 1c1911f8a8 | |||
| 99ebb9d110 | |||
| e47d07f706 | |||
| 5f034a40f8 | |||
| 57082e276f | |||
| 2c6b42f2aa | |||
| 762913012b | |||
| f491e53f8a | |||
| 92a812f92f | |||
| c0fbbdb419 | |||
| 29226a1062 | |||
| 70b9c88f82 | |||
| 0d3df7be92 | |||
| 5b7f4604ad | |||
| 09056ea87e | |||
| 21dfcbd290 | |||
| 84e55d9c8d | |||
| cbb005d942 | |||
| 929f55055e | |||
| e38cd11bfe | |||
| 544e42033d | |||
| 8bbf65f6e8 | |||
| e98f81a7c9 | |||
| 8f1375aa31 | |||
| 584a293643 | |||
| 73e06c590b | |||
| 4f6cb8755e | |||
| a037accbb8 | |||
| 2ff3a17427 | |||
| 495709b670 | |||
| d9cc85c1df | |||
| b30bd308a9 | |||
| 039ece9549 | |||
| 6c4bb78f97 | |||
| b226f2c7c0 | |||
| 3687ed85e5 | |||
| 7ff88cf819 | |||
| 25b8780b11 | |||
| 246ab99e12 | |||
| 229604439b | |||
| 114af36ac6 | |||
| ca6aebd290 | |||
| 49ad153605 | |||
| c6157049d7 | |||
| 3977fad3f3 | |||
| eaac83e4d5 | |||
| 1619e042e9 | |||
| 8d6ba91a5e | |||
| 21c49df1a2 | |||
| a771259ecf | |||
| c779d49548 | |||
| 5f65b6b4ce | |||
| 70c3f5f37f | |||
| 3e599a24d7 | |||
| e638661edc | |||
| 772f45a241 | |||
| e589ed1063 | |||
| 1a616ecab1 | |||
| 61aeafdfb6 | |||
|
|
c89c982c42 | ||
| acbb17f367 | |||
| 4bda112bb7 | |||
| 8029443f1b | |||
| 57e9367e40 | |||
| de7a91d727 | |||
| 078ac7c600 | |||
| 8b2c5f6144 | |||
| 99eb600d90 | |||
|
|
48d5fe5ea2 | ||
|
|
331dc544ad | ||
|
|
a5cc98d0b0 | ||
|
|
d3fc01689f | ||
|
|
dec286460d | ||
|
|
d768d84ea1 | ||
|
|
4d8390c1fe | ||
|
|
6ec8348355 | ||
|
|
10dad6da47 | ||
|
|
185bf7bc88 | ||
| 499ae69f29 | |||
| 4d7e5d3cdc | |||
| 48230334af | |||
| 6538500881 | |||
| bcf57f53c3 | |||
| fb01f81cb6 | |||
| 3b03e578bb | |||
| 804581546d | |||
| 1ca35cf8e9 | |||
|
|
adc9a6da71 | ||
| 7f22a270e6 | |||
| 7d133bacfe | |||
|
|
1760881f56 | ||
| 04692bd1aa | |||
| ffafd7344c | |||
|
|
b1bf5e866d | ||
|
|
e4748ef9c9 | ||
| b4bb172ada | |||
| 4fd9c17bcb | |||
| 76c6ebe92c | |||
| 12b0549cc0 | |||
| 3aa99e2268 | |||
| 72eaeac698 | |||
| d3831b3974 | |||
|
|
f861701fc2 | ||
| 452eb00417 | |||
| 52472acae9 | |||
| fee7c4904b | |||
| 3141e22894 | |||
| fbccd0f9b7 | |||
| 9071a5bcf7 | |||
| 1588703f99 | |||
| fe041bac0a | |||
| 07b758c3dd | |||
| f9a2152883 | |||
| 25891f296d | |||
| 0d1c7ba76f | |||
| 9afcc49430 | |||
| 7895470301 | |||
| 9df43bb940 | |||
|
|
ab558b3390 | ||
|
|
fad330b71d | ||
|
|
3cc8db881e | ||
| fa71b8ee25 | |||
| dbc6f17e5e | |||
| 0c23ee46a1 | |||
| d6cf1f7629 | |||
| 41baf5805f | |||
| bc5edec06f | |||
| e411ded55b | |||
| ad9defab0f | |||
| fbb0d10c55 | |||
| bc33933a1a | |||
| 2d310bc612 | |||
| e0f9b4a858 | |||
|
|
16834f8802 | ||
|
|
d9650d7fc7 | ||
|
|
569c0a3399 | ||
|
|
cab2bb85ba | ||
|
|
2fb05b37f8 | ||
|
|
ad2a79c312 | ||
|
|
82b4af4faa | ||
| ad07ecdd69 | |||
| cf24bbc3c3 | |||
| 29c66fa19a | |||
| 25a887dcab | |||
| 36ffb0a31f | |||
| b544d2af98 | |||
|
|
5db1acb07c | ||
|
|
880327c544 | ||
| 4f1883ba27 | |||
| 3043200012 | |||
|
|
1b4865c608 | ||
|
|
f7576cf541 | ||
|
|
587b170f6a | ||
|
|
1c42859466 | ||
|
|
1f832388d7 | ||
|
|
5f9344109d | ||
|
|
99bdafdd0c | ||
|
|
ab21bb5e3f | ||
|
|
99e32065b1 | ||
|
|
c1ffc160a2 | ||
| 89bf080dab | |||
| 047f3a7606 | |||
| 7f7c1a85ab | |||
|
|
5aff4b9dab | ||
|
|
2bd30c4423 | ||
| 0641968715 | |||
| d9a2045fca | |||
| ab00c45db0 |
11
.gitignore
vendored
11
.gitignore
vendored
@@ -4,12 +4,11 @@ html/*
|
|||||||
*.pyc
|
*.pyc
|
||||||
pid/*
|
pid/*
|
||||||
|
|
||||||
# ide
|
# ide
|
||||||
.idea
|
.idea
|
||||||
|
|
||||||
RELEASE-VERSION
|
RELEASE-VERSION
|
||||||
build
|
build
|
||||||
*.egg-info
|
|
||||||
|
|
||||||
# Sphinx
|
# Sphinx
|
||||||
doc/_build
|
doc/_build
|
||||||
@@ -22,9 +21,9 @@ doc/_build
|
|||||||
.coverage
|
.coverage
|
||||||
._*
|
._*
|
||||||
|
|
||||||
|
# jupyter
|
||||||
|
.ipynb_checkpoints/
|
||||||
|
*.ipynb
|
||||||
|
|
||||||
# pyinstaller
|
# pyinstaller
|
||||||
dist/
|
dist/
|
||||||
|
|
||||||
*.cfg
|
|
||||||
*.bk.tnt
|
|
||||||
*.tps
|
|
||||||
@@ -40,7 +40,6 @@ disable=missing-docstring
|
|||||||
,locally-disabled
|
,locally-disabled
|
||||||
,fixme
|
,fixme
|
||||||
,no-member
|
,no-member
|
||||||
,not-callable
|
|
||||||
,wrong-import-position
|
,wrong-import-position
|
||||||
,ungrouped-imports
|
,ungrouped-imports
|
||||||
,import-self
|
,import-self
|
||||||
@@ -204,9 +203,6 @@ max-statements=150
|
|||||||
# Maximum number of parents for a class (see R0901).
|
# Maximum number of parents for a class (see R0901).
|
||||||
max-parents=20
|
max-parents=20
|
||||||
|
|
||||||
# Maximum number of positional arguments
|
|
||||||
max-positional-arguments=10
|
|
||||||
|
|
||||||
# Maximum number of attributes for a class (see R0902).
|
# Maximum number of attributes for a class (see R0902).
|
||||||
max-attributes=50
|
max-attributes=50
|
||||||
|
|
||||||
|
|||||||
75
README.md
75
README.md
@@ -1,33 +1,62 @@
|
|||||||
Frappy: Framework for programming secnodes in Python
|
# Frappy Framework
|
||||||
====================================================
|
|
||||||
|
|
||||||
Frappy is a Python-framework for writing [SECoP](https://github.com/SampleEnvironment/SECoP) servers (called SECNodes or Nodes) and Clients.
|
current running code at SINQ, with newest changes not yet pushed
|
||||||
It comes with its own Graphical client and a collection of example Nodes.
|
through the Gerrit workflow at MLZ
|
||||||
It is able to use TCP and Serial connections.
|
|
||||||
|
|
||||||
To get started, look at the provided demo, the provided examples, or have a look
|
## Branches
|
||||||
at the INTRODUCTION section.
|
|
||||||
|
|
||||||
Main development is done
|
branches:
|
||||||
[here](https://forge.frm2.tum.de/review/q/project:secop%252Ffrappy)
|
|
||||||
and a readonly GitHub-mirror for easier access is available
|
|
||||||
[here](https://github.com/SampleEnvironment/frappy).
|
|
||||||
|
|
||||||
Requirements
|
- mlz: master from forge.frm2.tum.de:29418/sine2020/secop/playground
|
||||||
------------
|
this is not present at git.psi.ch:sinqdev/frappy.git!
|
||||||
|
- master: the last synced state between mlz and wip/work, except an added README.md
|
||||||
|
(this does NOT contain local repo files only, however, all common files work/mlz should match)
|
||||||
|
- core: the modifications of the core frappy parts (to be going through gerrit)
|
||||||
|
- work: current working version, usually in use on /home/l_samenv/frappy (and on neutron instruments)
|
||||||
|
this should be a copy of an earlier state of the wip branch
|
||||||
|
- wip: current test version, usually in use on /home/l_samenv/frappy_wip
|
||||||
|
IMPORTANT: make commits containing either only files to be pushed to Gerrit or only
|
||||||
|
PSI internal files, not mixed. Mark local commits with '[PSI]' in the commit message.
|
||||||
|
|
||||||
See `requirements.txt`.
|
|
||||||
|
|
||||||
Demo
|
master --> mlz # these branches match after a sync step, but they might have a different history
|
||||||
----
|
master --> work --> wip
|
||||||
|
|
||||||
Use the following command after installing the dependencies:
|
apply commits from mlz to master: (rebase ?) or use cherry-pick:
|
||||||
|
|
||||||
```
|
git cherry-pick <sha1>..<sha2>
|
||||||
$ make demo
|
|
||||||
```
|
|
||||||
|
|
||||||
Documentation
|
where sha1 is the last commit already in wip, and sha2 ist the last commit to be applied
|
||||||
-------------
|
(for a single commit <sha1>.. may be omitted)
|
||||||
|
|
||||||
[See here for documentation of Frappy](https://forge.frm2.tum.de/public/doc/frappy/html/)
|
the wip branch is also present in an other directory (currently zolliker/switchdrive/gitmlz/frappy),
|
||||||
|
where commits may be cherry picked for input to Gerrit. As generally in the review process some additional
|
||||||
|
changes are done, eventually a sync step should happen:
|
||||||
|
|
||||||
|
1) ideally, this is done when work and wip match
|
||||||
|
2) make sure branches mlz, master, wip and work are in syns with remote, push/pull otherwise
|
||||||
|
3) cherry-pick commits from mlz to master
|
||||||
|
4) make sure master and mlz branches match (git diff --name-only master..wip should only return README.md)
|
||||||
|
5) create branch new_work from master
|
||||||
|
6) go through commits in wip and sort out:
|
||||||
|
- core commits already pushed through gerrit are skipped
|
||||||
|
- all other commits are to be cherry-picked
|
||||||
|
7) when arrived at the point where the new working version should be,
|
||||||
|
copy new_wip branch to work with 'git checkout -B work'.
|
||||||
|
Not sure if this works, as work is to be pushed to git.psi.ch.
|
||||||
|
We might first remove the remote branch with 'git push origin --delete work'.
|
||||||
|
And then create again (git push origin work)?
|
||||||
|
8) continue with (6) if wip and work should differ, and do like (7) for wip branch
|
||||||
|
9) delete new_wip branch, push master, wip and work branches
|
||||||
|
|
||||||
|
|
||||||
|
## Procedure to update PPMS
|
||||||
|
|
||||||
|
1) git checkout wip (or work, whatever state to copy to ppms)
|
||||||
|
2) git checkout -B ppms # local branch ?
|
||||||
|
3) assume PPMSData is mounted on /Volumes/PPMSData
|
||||||
|
|
||||||
|
cp -r secop_psi /Volumes/PPMSData/zolliker/frappy/secop_psi
|
||||||
|
cp -r secop /Volumes/PPMSData/zolliker/frappy/secop
|
||||||
|
|
||||||
|
it may be that additional folder have to copied ...
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# pylint: disable=invalid-name
|
# pylint: disable=invalid-name
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
# Copyright (c) 2015-2024 by the authors, see LICENSE
|
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
# Copyright (c) 2015-2024 by the authors, see LICENSE
|
# Copyright (c) 2015-2016 by the authors, see LICENSE
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
@@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
from pathlib import Path
|
from os import path
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
from frappy.client.interactive import init, run, clientenv, interact
|
from frappy.client.interactive import init, run, clientenv, interact
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ def parseArgv(argv):
|
|||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
parser.add_argument('-i', '--include',
|
parser.add_argument('-i', '--include',
|
||||||
help='file to execute after connecting to the clients', metavar='file',
|
help='file to execute after connecting to the clients', metavar='file',
|
||||||
type=Path, action='append', default=[])
|
type=str, action='append', default=[])
|
||||||
parser.add_argument('-o', '--only-execute',
|
parser.add_argument('-o', '--only-execute',
|
||||||
help='Do not go into interactive mode after executing files. \
|
help='Do not go into interactive mode after executing files. \
|
||||||
Has no effect without --include.', action='store_true')
|
Has no effect without --include.', action='store_true')
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# pylint: disable=invalid-name
|
# pylint: disable=invalid-name
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
# Copyright (c) 2015-2024 by the authors, see LICENSE
|
# Copyright (c) 2015-2016 by the authors, see LICENSE
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
@@ -26,10 +26,10 @@ from __future__ import print_function
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
from pathlib import Path
|
from os import path
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from mlzlog import ColoredConsoleHandler
|
from mlzlog import ColoredConsoleHandler
|
||||||
@@ -46,11 +46,8 @@ def parseArgv(argv):
|
|||||||
loggroup.add_argument('-q', '--quiet',
|
loggroup.add_argument('-q', '--quiet',
|
||||||
help='Supress everything but errors',
|
help='Supress everything but errors',
|
||||||
action='store_true', default=False)
|
action='store_true', default=False)
|
||||||
parser.add_argument('-D', '--detailed',
|
|
||||||
help='Start in detailed mode',
|
|
||||||
action='store_true', default=False)
|
|
||||||
parser.add_argument('node',
|
parser.add_argument('node',
|
||||||
help='Nodes the GUI should connect to.\n', metavar='host[:port]',
|
help='Nodes the Gui should connect to.\n', metavar='host[:port]',
|
||||||
nargs='*', type=str, default=[])
|
nargs='*', type=str, default=[])
|
||||||
return parser.parse_args(argv)
|
return parser.parse_args(argv)
|
||||||
|
|
||||||
@@ -64,14 +61,13 @@ def main(argv=None):
|
|||||||
loglevel = logging.DEBUG if args.debug else (logging.ERROR if args.quiet else logging.INFO)
|
loglevel = logging.DEBUG if args.debug else (logging.ERROR if args.quiet else logging.INFO)
|
||||||
logger = logging.getLogger('gui')
|
logger = logging.getLogger('gui')
|
||||||
logger.setLevel(logging.DEBUG)
|
logger.setLevel(logging.DEBUG)
|
||||||
if sys.stdout is not None:
|
console = ColoredConsoleHandler()
|
||||||
console = ColoredConsoleHandler()
|
console.setLevel(loglevel)
|
||||||
console.setLevel(loglevel)
|
logger.addHandler(console)
|
||||||
logger.addHandler(console)
|
|
||||||
|
|
||||||
app = QApplication(argv)
|
app = QApplication(argv)
|
||||||
|
|
||||||
win = MainWindow(args, logger)
|
win = MainWindow(args.node, logger)
|
||||||
app.aboutToQuit.connect(win._onQuit)
|
app.aboutToQuit.connect(win._onQuit)
|
||||||
win.show()
|
win.show()
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
# Copyright (c) 2015-2024 by the authors, see LICENSE
|
# Copyright (c) 2015-2016 by the authors, see LICENSE
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
@@ -22,18 +22,14 @@
|
|||||||
# *****************************************************************************
|
# *****************************************************************************
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from os import path
|
||||||
from frappy.lib import generalConfig
|
|
||||||
from frappy.logging import logger
|
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
from frappy.client.interactive import Console
|
from frappy.client.interactive import Console
|
||||||
from frappy.playground import play, USAGE
|
from frappy.playground import play, USAGE
|
||||||
|
|
||||||
generalConfig.init()
|
|
||||||
logger.init()
|
|
||||||
if len(sys.argv) > 1:
|
if len(sys.argv) > 1:
|
||||||
play(sys.argv[1])
|
play(sys.argv[1])
|
||||||
else:
|
else:
|
||||||
|
|||||||
128
bin/frappy-scan
128
bin/frappy-scan
@@ -1,128 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
# *****************************************************************************
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or modify it under
|
|
||||||
# the terms of the GNU General Public License as published by the Free Software
|
|
||||||
# Foundation; either version 2 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful, but WITHOUT
|
|
||||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
||||||
# details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License along with
|
|
||||||
# this program; if not, write to the Free Software Foundation, Inc.,
|
|
||||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
#
|
|
||||||
# Module authors:
|
|
||||||
# Alexander Zaft <a.zaft@fz-juelich.de>
|
|
||||||
#
|
|
||||||
# *****************************************************************************
|
|
||||||
|
|
||||||
"""SEC node autodiscovery tool."""
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import select
|
|
||||||
import socket
|
|
||||||
import sys
|
|
||||||
from collections import namedtuple
|
|
||||||
from time import time as currenttime
|
|
||||||
|
|
||||||
UDP_PORT = 10767
|
|
||||||
|
|
||||||
Answer = namedtuple('Answer',
|
|
||||||
'address, port, equipment_id, firmware, description')
|
|
||||||
|
|
||||||
|
|
||||||
def decode(msg, addr):
|
|
||||||
msg = msg.decode('utf-8')
|
|
||||||
try:
|
|
||||||
data = json.loads(msg)
|
|
||||||
except Exception:
|
|
||||||
return None
|
|
||||||
if not isinstance(data, dict):
|
|
||||||
return None
|
|
||||||
if data.get('SECoP') != 'node':
|
|
||||||
return None
|
|
||||||
try:
|
|
||||||
eq_id = data['equipment_id']
|
|
||||||
fw = data['firmware']
|
|
||||||
desc = data['description']
|
|
||||||
port = data['port']
|
|
||||||
except KeyError:
|
|
||||||
return None
|
|
||||||
addr, _scanport = addr
|
|
||||||
return Answer(addr, port, eq_id, fw, desc)
|
|
||||||
|
|
||||||
|
|
||||||
def print_answer(answer, *, short=False):
|
|
||||||
if short:
|
|
||||||
# NOTE: keep this easily parseable!
|
|
||||||
print(f'{answer.equipment_id} {answer.address}:{answer.port}')
|
|
||||||
return
|
|
||||||
print(f'Found {answer.equipment_id} at {answer.address}:')
|
|
||||||
print(f' Port: {answer.port}')
|
|
||||||
print(f' Firmware: {answer.firmware}')
|
|
||||||
desc = answer.description.replace('\n', '\n ')
|
|
||||||
print(f' Node description: {desc}')
|
|
||||||
print()
|
|
||||||
|
|
||||||
|
|
||||||
def scan(max_wait=1.0):
|
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
||||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
|
|
||||||
# send a general broadcast
|
|
||||||
try:
|
|
||||||
s.sendto(json.dumps(dict(SECoP='discover')).encode('utf-8'),
|
|
||||||
('255.255.255.255', UDP_PORT))
|
|
||||||
except OSError as e:
|
|
||||||
print('could not send the broadcast:', e)
|
|
||||||
# we still keep listening for self-announcements
|
|
||||||
start = currenttime()
|
|
||||||
seen = set()
|
|
||||||
while currenttime() < start + max_wait:
|
|
||||||
res = select.select([s], [], [], 0.1)
|
|
||||||
if res[0]:
|
|
||||||
try:
|
|
||||||
msg, addr = s.recvfrom(1024)
|
|
||||||
except socket.error: # pragma: no cover
|
|
||||||
continue
|
|
||||||
answer = decode(msg, addr)
|
|
||||||
if answer is None:
|
|
||||||
continue
|
|
||||||
if (answer.address, answer.equipment_id, answer.port) in seen:
|
|
||||||
continue
|
|
||||||
seen.add((answer.address, answer.equipment_id, answer.port))
|
|
||||||
yield answer
|
|
||||||
|
|
||||||
|
|
||||||
def listen(*, short=False):
|
|
||||||
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
||||||
if os.name == 'nt':
|
|
||||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
|
||||||
else:
|
|
||||||
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
|
|
||||||
s.bind(('0.0.0.0', UDP_PORT))
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
msg, addr = s.recvfrom(1024)
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
break
|
|
||||||
answer = decode(msg, addr)
|
|
||||||
if answer:
|
|
||||||
print_answer(answer, short=short)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
parser = argparse.ArgumentParser()
|
|
||||||
parser.add_argument('-l', '--listen', action='store_true',
|
|
||||||
help='Print short info. '
|
|
||||||
'Keep listening after the broadcast.')
|
|
||||||
args = parser.parse_args(sys.argv[1:])
|
|
||||||
for answer in scan():
|
|
||||||
print_answer(answer, short=args.listen)
|
|
||||||
if args.listen:
|
|
||||||
listen(short=args.listen)
|
|
||||||
@@ -24,10 +24,10 @@
|
|||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
from os import path
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
from frappy.lib import generalConfig
|
from frappy.lib import generalConfig
|
||||||
from frappy.logging import logger
|
from frappy.logging import logger
|
||||||
@@ -35,15 +35,7 @@ from frappy.server import Server
|
|||||||
|
|
||||||
|
|
||||||
def parseArgv(argv):
|
def parseArgv(argv):
|
||||||
parser = argparse.ArgumentParser(
|
parser = argparse.ArgumentParser(description="Manage a SECoP server")
|
||||||
description="Manage a SECoP server",
|
|
||||||
epilog="""The server needs some configuration, by default from the
|
|
||||||
generalConfig.cfg file. the keys confdir, logdir and piddir have to
|
|
||||||
be set.
|
|
||||||
Alternatively, one can set the environment variables FRAPPY_CONFDIR
|
|
||||||
FRAPPY_LOGDIR and FRAPPY_PIDDIR to set the required values.
|
|
||||||
"""
|
|
||||||
)
|
|
||||||
loggroup = parser.add_mutually_exclusive_group()
|
loggroup = parser.add_mutually_exclusive_group()
|
||||||
loggroup.add_argument("-v", "--verbose",
|
loggroup.add_argument("-v", "--verbose",
|
||||||
help="Output lots of diagnostic information",
|
help="Output lots of diagnostic information",
|
||||||
@@ -68,9 +60,9 @@ def parseArgv(argv):
|
|||||||
action='store',
|
action='store',
|
||||||
help="comma separated list of cfg files,\n"
|
help="comma separated list of cfg files,\n"
|
||||||
"defaults to <name_of_the_instance>.\n"
|
"defaults to <name_of_the_instance>.\n"
|
||||||
"If a config file contains a slash, it is treated as a"
|
"cfgfiles given without '.cfg' extension are searched"
|
||||||
"path, otherwise the file is searched for in the "
|
" in the configuration directory,"
|
||||||
"configuration directory.",
|
" else they are treated as path names",
|
||||||
default=None)
|
default=None)
|
||||||
parser.add_argument('-g',
|
parser.add_argument('-g',
|
||||||
'--gencfg',
|
'--gencfg',
|
||||||
@@ -104,9 +96,7 @@ def main(argv=None):
|
|||||||
generalConfig.init(args.gencfg)
|
generalConfig.init(args.gencfg)
|
||||||
logger.init(loglevel)
|
logger.init(loglevel)
|
||||||
|
|
||||||
cfgfiles = [s.strip() for s in args.cfgfiles.split(',')] if args.cfgfiles else None
|
srv = Server(args.name, logger.log, cfgfiles=args.cfgfiles,
|
||||||
|
|
||||||
srv = Server(args.name, logger.log, cfgfiles=cfgfiles,
|
|
||||||
interface=args.port, testonly=args.test)
|
interface=args.port, testonly=args.test)
|
||||||
|
|
||||||
if args.daemonize:
|
if args.daemonize:
|
||||||
|
|||||||
63
bin/make_doc.py
Executable file
63
bin/make_doc.py
Executable file
@@ -0,0 +1,63 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# *****************************************************************************
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
|
# Foundation; either version 2 of the License, or (at your option) any later
|
||||||
|
# version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||||
|
# details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with
|
||||||
|
# this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
# Module authors:
|
||||||
|
# Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
|
||||||
|
#
|
||||||
|
# *****************************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
import os
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
import markdown
|
||||||
|
|
||||||
|
BASE_PATH = path.abspath(path.join(path.dirname(__file__), '..'))
|
||||||
|
DOC_SRC = path.join(BASE_PATH, 'doc')
|
||||||
|
DOC_DST = path.join(BASE_PATH, 'html')
|
||||||
|
|
||||||
|
conv = markdown.Markdown()
|
||||||
|
|
||||||
|
for dirpath, dirnames, filenames in os.walk(DOC_SRC):
|
||||||
|
# re-create the dir-structure of DOC_SRC into DOC_DST
|
||||||
|
dst_path = path.join(DOC_DST, path.relpath(dirpath, DOC_SRC))
|
||||||
|
try:
|
||||||
|
os.mkdir(dst_path)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
for fn in filenames:
|
||||||
|
full_name = path.join(dirpath, fn)
|
||||||
|
sub_name = path.relpath(full_name, DOC_SRC)
|
||||||
|
final_name = path.join(DOC_DST, sub_name)
|
||||||
|
|
||||||
|
if not fn.endswith('md'):
|
||||||
|
# just copy everything else
|
||||||
|
with open(full_name, 'rb') as fi:
|
||||||
|
with open(final_name, 'wb') as fo:
|
||||||
|
# WARNING: possible Memory hog!
|
||||||
|
fo.write(fi.read())
|
||||||
|
continue
|
||||||
|
# treat .md files special
|
||||||
|
final_sub_name = path.splitext(sub_name)[0] + '.html'
|
||||||
|
final_name = path.join(DOC_DST, final_sub_name)
|
||||||
|
print("Converting %s to %s" %(sub_name, final_sub_name))
|
||||||
|
# transform one file
|
||||||
|
conv.reset()
|
||||||
|
conv.convertFile(input=full_name,
|
||||||
|
output=final_name,
|
||||||
|
encoding="utf-8")
|
||||||
174
bin/secop-convert
Executable file
174
bin/secop-convert
Executable file
@@ -0,0 +1,174 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
# pylint: disable=invalid-name
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# *****************************************************************************
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify it under
|
||||||
|
# the terms of the GNU General Public License as published by the Free Software
|
||||||
|
# Foundation; either version 2 of the License, or (at your option) any later
|
||||||
|
# version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||||
|
# details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License along with
|
||||||
|
# this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
#
|
||||||
|
# Module authors:
|
||||||
|
# Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
|
||||||
|
# Alexander Lenz <alexander.lenz@frm2.tum.de>
|
||||||
|
#
|
||||||
|
# *****************************************************************************
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from os import path
|
||||||
|
|
||||||
|
# Add import path for inplace usage
|
||||||
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
|
from secop.lib import generalConfig
|
||||||
|
from secop.logging import logger
|
||||||
|
from secop.server import Server
|
||||||
|
from secop.core import Attached
|
||||||
|
from secop.lib.enum import EnumMember
|
||||||
|
|
||||||
|
|
||||||
|
def rep(value):
|
||||||
|
if isinstance(value, EnumMember):
|
||||||
|
return repr(value.name)
|
||||||
|
return repr(value)
|
||||||
|
|
||||||
|
|
||||||
|
def guess(value):
|
||||||
|
try:
|
||||||
|
return '%.16g' % float(value)
|
||||||
|
except (TypeError, ValueError):
|
||||||
|
return rep(value)
|
||||||
|
|
||||||
|
|
||||||
|
def triplequote(description):
|
||||||
|
if '\n' in description:
|
||||||
|
return "'''%s'''" % '\n '.join(description.split('\n'))
|
||||||
|
else:
|
||||||
|
return repr(description)
|
||||||
|
|
||||||
|
|
||||||
|
def get_value(modobj, pname, value):
|
||||||
|
prop = modobj.propertyDict.get(pname)
|
||||||
|
if isinstance(prop, Attached):
|
||||||
|
return value
|
||||||
|
clsname = type(modobj).__qualname__
|
||||||
|
if pname in {'extra_modules', 'single_module', 'rel_paths', 'json_file'} and clsname.startswith('Sea'):
|
||||||
|
return value.split()
|
||||||
|
if pname == 'extra_params' and clsname.startswith('Sim'):
|
||||||
|
return [v.strip() for v in value.split(',')]
|
||||||
|
if pname == 'remote_class' and type(modobj).__bases__[0].__name__.startswith('Proxy'):
|
||||||
|
return value
|
||||||
|
return getattr(modobj, pname)
|
||||||
|
|
||||||
|
|
||||||
|
generalConfig.defaults = {k: True for k in (
|
||||||
|
'lazy_number_validation', 'disable_value_range_check', 'legacy_hasiodev', 'tolerate_poll_property')}
|
||||||
|
generalConfig.init()
|
||||||
|
logger.init('off')
|
||||||
|
|
||||||
|
|
||||||
|
def main(cfgs):
|
||||||
|
stats = {}
|
||||||
|
for name in cfgs:
|
||||||
|
try:
|
||||||
|
content = []
|
||||||
|
srv = Server(name, logger.log, cfgfiles=name, interface=5000, testonly=True)
|
||||||
|
if srv.node_cfg.get('class') is not None:
|
||||||
|
stats[name] = 'skip router'
|
||||||
|
continue
|
||||||
|
if 'FRAPPY' in srv.module_cfg:
|
||||||
|
stats[name] = 'skip genconfig'
|
||||||
|
continue
|
||||||
|
for modname, params in srv.module_cfg.items():
|
||||||
|
classname = params['class']
|
||||||
|
if classname == 'secop_psi.sea.SeaClient':
|
||||||
|
params['uri'] = 'none'
|
||||||
|
if 'iodev' in params:
|
||||||
|
params['io'] = params.pop('iodev')
|
||||||
|
if '.iodev' in params:
|
||||||
|
params['io'] = params.pop('.iodev')
|
||||||
|
node = dict(srv.node_cfg)
|
||||||
|
if 'description' in node:
|
||||||
|
content.append('Node(%r,\n %s,' % (node.pop('id'), triplequote(node.pop('description'))))
|
||||||
|
interface = srv.interface_cfg.get('uri')
|
||||||
|
if interface:
|
||||||
|
content.append(' interface=%r,' % interface)
|
||||||
|
for k, v in node.items():
|
||||||
|
content.append(' %s=%s,' % (k, guess(v)))
|
||||||
|
content.append(')\n')
|
||||||
|
errors = srv._processCfg()
|
||||||
|
if errors:
|
||||||
|
content = ['# %s' % e[:120] for e in errors] + content
|
||||||
|
stats[name] = ', '.join(errors[:2])
|
||||||
|
for modname, modcfg in srv.module_cfg.items():
|
||||||
|
modobj = srv.dispatcher._modules.get(modname)
|
||||||
|
classname = modcfg.pop('class')
|
||||||
|
content.append('Mod(%r,\n %r,' % (modname, classname))
|
||||||
|
description = modcfg.pop('description', None)
|
||||||
|
if description is not None:
|
||||||
|
content.append(' %s,' % triplequote(description))
|
||||||
|
result = {}
|
||||||
|
for key, value in modcfg.items():
|
||||||
|
pname, _, prop = key.partition('.')
|
||||||
|
if not pname:
|
||||||
|
pname, prop = prop, ''
|
||||||
|
elif pname == 'uri' and value == 'none':
|
||||||
|
continue
|
||||||
|
if prop:
|
||||||
|
pobj = modobj.parameters[pname] if modobj else None
|
||||||
|
if pobj:
|
||||||
|
try:
|
||||||
|
propvalue = rep(getattr(pobj, prop))
|
||||||
|
except AttributeError:
|
||||||
|
propvalue = rep(getattr(pobj.datatype, prop))
|
||||||
|
else:
|
||||||
|
propvalue = guess(value)
|
||||||
|
else:
|
||||||
|
prop = 'value'
|
||||||
|
if modobj:
|
||||||
|
propvalue = rep(get_value(modobj, pname, value))
|
||||||
|
else:
|
||||||
|
propvalue = guess(value)
|
||||||
|
result.setdefault(pname, {})[prop] = propvalue
|
||||||
|
undef = object()
|
||||||
|
for pname, cfg in result.items():
|
||||||
|
value = cfg.pop('value', undef)
|
||||||
|
if not cfg:
|
||||||
|
content.append(' %s=%s,' % (pname, value))
|
||||||
|
else:
|
||||||
|
args = ['%s=%s' % kv for kv in cfg.items()]
|
||||||
|
if value is not undef:
|
||||||
|
args.insert(0, value)
|
||||||
|
joined = ' '.join(args)
|
||||||
|
head = ' %s=Param(' % pname
|
||||||
|
if len(joined) < 8:
|
||||||
|
content.append('%s%s),' % (head, ', '.join(args)))
|
||||||
|
else:
|
||||||
|
content.append('%s\n %s,\n ),' % (head, ',\n '.join(args)))
|
||||||
|
content.append(')\n')
|
||||||
|
with open('%s' % name.replace('.cfg', '_cfg.py'), 'w') as f:
|
||||||
|
f.write('\n'.join(content))
|
||||||
|
stats[name] = '*' if name in stats else ''
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
break
|
||||||
|
except BaseException as e:
|
||||||
|
stats[name] = repr(e)
|
||||||
|
if len(cfgs) == 1:
|
||||||
|
raise
|
||||||
|
|
||||||
|
if len(cfgs) > 1:
|
||||||
|
with open('convert.log', 'w') as f:
|
||||||
|
f.write('\n'.join('%s: %s' % kv for kv in stats.items())+'\n')
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main(sys.argv[1:])
|
||||||
229
bin/sim-server
229
bin/sim-server
@@ -22,42 +22,114 @@
|
|||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
bin/sim-server <communicator class> -p <server port> [-o <option1>=<value> <option2>=<value>]
|
bin/stringio-server <communciator> <server port>
|
||||||
|
|
||||||
open a server on <server port> to communicate with the string based <communicator> over TCP/IP.
|
open a server on <server port> to communicate with the string based <communicator> over TCP/IP.
|
||||||
|
|
||||||
Use cases, mainly for test purposes:
|
Use cases, mainly for test purposes:
|
||||||
|
- as a T, if the hardware allows only one connection, and more than one is needed
|
||||||
- relay to a hardware simulation written as a communicator
|
|
||||||
|
|
||||||
> bin/sim-server frappy_psi.ls370sim.Ls370Sim
|
|
||||||
|
|
||||||
- relay to a communicator not using TCP/IP, if Frappy should run on an other host
|
- relay to a communicator not using TCP/IP, if Frappy should run on an other host
|
||||||
|
- relay to a hardware simulation written as a communicator
|
||||||
> bin/sim-server frappy.io.StringIO -o uri=serial:///dev/tty...
|
|
||||||
|
|
||||||
- as a T, if the hardware allows only one connection, and more than one is needed:
|
|
||||||
|
|
||||||
> bin/sim-server frappy.io.StringIO -o uri=tcp://<host>:<port>
|
|
||||||
|
|
||||||
typically using communicator class frappy.io.StringIO
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import argparse
|
import argparse
|
||||||
from pathlib import Path
|
from os import path
|
||||||
|
import asyncore
|
||||||
import socket
|
import socket
|
||||||
import time
|
import time
|
||||||
import os
|
|
||||||
from ast import literal_eval
|
|
||||||
from socketserver import BaseRequestHandler, ThreadingTCPServer
|
|
||||||
|
|
||||||
# Add import path for inplace usage
|
# Add import path for inplace usage
|
||||||
sys.path.insert(0, str(Path(__file__).absolute().parents[1]))
|
sys.path.insert(0, path.abspath(path.join(path.dirname(__file__), '..')))
|
||||||
|
|
||||||
from frappy.lib import get_class, formatException, mkthread
|
from frappy.lib import get_class, formatException, mkthread
|
||||||
|
|
||||||
|
|
||||||
|
class LineHandler(asyncore.dispatcher_with_send):
|
||||||
|
|
||||||
|
def __init__(self, sock):
|
||||||
|
self.buffer = b""
|
||||||
|
asyncore.dispatcher_with_send.__init__(self, sock)
|
||||||
|
self.crlf = 0
|
||||||
|
|
||||||
|
def handle_line(self, line):
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def handle_read(self):
|
||||||
|
data = self.recv(8192)
|
||||||
|
if data:
|
||||||
|
parts = data.split(b"\n")
|
||||||
|
if len(parts) == 1:
|
||||||
|
self.buffer += data
|
||||||
|
else:
|
||||||
|
self.handle_line((self.buffer + parts[0]).decode('latin_1'))
|
||||||
|
for part in parts[1:-1]:
|
||||||
|
if part[-1] == b"\r":
|
||||||
|
self.crlf = True
|
||||||
|
part = part[:-1]
|
||||||
|
else:
|
||||||
|
self.crlf = False
|
||||||
|
self.handle_line(part.decode('latin_1'))
|
||||||
|
self.buffer = parts[-1]
|
||||||
|
|
||||||
|
def send_line(self, line):
|
||||||
|
self.send((line + ("\r\n" if self.crlf else "\n")).encode('latin_1'))
|
||||||
|
|
||||||
|
|
||||||
|
class LineServer(asyncore.dispatcher):
|
||||||
|
|
||||||
|
def __init__(self, port, line_handler_cls, handler_args):
|
||||||
|
asyncore.dispatcher.__init__(self)
|
||||||
|
self.create_socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
|
self.set_reuse_addr()
|
||||||
|
self.bind(('0.0.0.0', port))
|
||||||
|
self.listen(5)
|
||||||
|
print('accept connections at port', port)
|
||||||
|
self.line_handler_cls = line_handler_cls
|
||||||
|
self.handler_args = handler_args
|
||||||
|
|
||||||
|
def handle_accept(self):
|
||||||
|
pair = self.accept()
|
||||||
|
if pair is not None:
|
||||||
|
sock, addr = pair
|
||||||
|
print("Incoming connection from %s" % repr(addr))
|
||||||
|
self.line_handler_cls(sock, self.handler_args)
|
||||||
|
|
||||||
|
def loop(self):
|
||||||
|
asyncore.loop()
|
||||||
|
|
||||||
|
|
||||||
|
class Server(LineServer):
|
||||||
|
|
||||||
|
class Dispatcher:
|
||||||
|
def announce_update(self, *_):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def announce_update_error(self, *_):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwds):
|
||||||
|
super().__init__(*args, **kwds)
|
||||||
|
self.dispatcher = self.Dispatcher()
|
||||||
|
|
||||||
|
|
||||||
|
class Handler(LineHandler):
|
||||||
|
def __init__(self, sock, handler_args):
|
||||||
|
super().__init__(sock)
|
||||||
|
self.module = handler_args['module']
|
||||||
|
self.verbose = handler_args['verbose']
|
||||||
|
|
||||||
|
def handle_line(self, line):
|
||||||
|
try:
|
||||||
|
reply = self.module.communicate(line.strip())
|
||||||
|
if self.verbose:
|
||||||
|
print('%-40s | %s' % (line, reply))
|
||||||
|
except Exception:
|
||||||
|
print(formatException(verbose=True))
|
||||||
|
return
|
||||||
|
self.send_line(reply)
|
||||||
|
|
||||||
|
|
||||||
class Logger:
|
class Logger:
|
||||||
def debug(self, *args):
|
def debug(self, *args):
|
||||||
pass
|
pass
|
||||||
@@ -71,126 +143,43 @@ class Logger:
|
|||||||
exception = error = warn = info
|
exception = error = warn = info
|
||||||
|
|
||||||
|
|
||||||
class TcpRequestHandler(BaseRequestHandler):
|
|
||||||
def setup(self):
|
|
||||||
print(f'connection opened from {self.client_address}')
|
|
||||||
self.running = True
|
|
||||||
self.request.settimeout(1)
|
|
||||||
self.data = b''
|
|
||||||
|
|
||||||
def finish(self):
|
|
||||||
"""called when handle() terminates, i.e. the socket closed"""
|
|
||||||
# close socket
|
|
||||||
try:
|
|
||||||
self.request.shutdown(socket.SHUT_RDWR)
|
|
||||||
except Exception:
|
|
||||||
pass
|
|
||||||
finally:
|
|
||||||
print(f'connection closed from {self.client_address}')
|
|
||||||
self.request.close()
|
|
||||||
|
|
||||||
def poller(self):
|
|
||||||
while True:
|
|
||||||
time.sleep(1.0)
|
|
||||||
self.module.doPoll()
|
|
||||||
|
|
||||||
def handle(self):
|
|
||||||
"""handle a new connection"""
|
|
||||||
# do a copy of the options, as they are consumed
|
|
||||||
self.module = self.server.modulecls(
|
|
||||||
'mod', Logger(), dict(self.server.options), self.server)
|
|
||||||
self.module.earlyInit()
|
|
||||||
|
|
||||||
mkthread(self.poller)
|
|
||||||
while self.running:
|
|
||||||
try:
|
|
||||||
newdata = self.request.recv(1024)
|
|
||||||
if not newdata:
|
|
||||||
return
|
|
||||||
except socket.timeout:
|
|
||||||
# no new data during read, continue
|
|
||||||
continue
|
|
||||||
self.data += newdata
|
|
||||||
while self.running:
|
|
||||||
message, sep, self.data = self.data.partition(b'\n')
|
|
||||||
if not sep:
|
|
||||||
break
|
|
||||||
cmd = message.decode('latin-1')
|
|
||||||
try:
|
|
||||||
reply = self.module.communicate(cmd.strip())
|
|
||||||
if self.server.verbose:
|
|
||||||
print('%-40s | %s' % (cmd, reply))
|
|
||||||
except Exception:
|
|
||||||
print(formatException(verbose=True))
|
|
||||||
return
|
|
||||||
outdata = reply.encode('latin-1') + b'\n'
|
|
||||||
try:
|
|
||||||
self.request.sendall(outdata)
|
|
||||||
except Exception as e:
|
|
||||||
print(repr(e))
|
|
||||||
self.running = False
|
|
||||||
|
|
||||||
|
|
||||||
class Server(ThreadingTCPServer):
|
|
||||||
allow_reuse_address = os.name != 'nt' # False on Windows systems
|
|
||||||
|
|
||||||
class Dispatcher:
|
|
||||||
def announce_update(self, *_):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def announce_update_error(self, *_):
|
|
||||||
pass
|
|
||||||
|
|
||||||
def __init__(self, port, modulecls, options, verbose=False):
|
|
||||||
super().__init__(('', port), TcpRequestHandler,
|
|
||||||
bind_and_activate=True)
|
|
||||||
self.secnode = None
|
|
||||||
self.dispatcher = self.Dispatcher()
|
|
||||||
self.verbose = verbose
|
|
||||||
self.modulecls = get_class(modulecls)
|
|
||||||
self.options = options
|
|
||||||
print(f'started sim-server listening on port {port}')
|
|
||||||
|
|
||||||
|
|
||||||
def parse_argv(argv):
|
def parse_argv(argv):
|
||||||
parser = argparse.ArgumentParser(description="Relay to a communicator (simulated HW or other)")
|
parser = argparse.ArgumentParser(description="Simulate HW with a serial interface")
|
||||||
parser.add_argument("-v", "--verbose",
|
parser.add_argument("-v", "--verbose",
|
||||||
help="output full communication",
|
help="output full communication",
|
||||||
action='store_true', default=False)
|
action='store_true', default=False)
|
||||||
parser.add_argument("cls",
|
parser.add_argument("cls",
|
||||||
type=str,
|
type=str,
|
||||||
help="communicator class.\n",)
|
help="simulator class.\n",)
|
||||||
parser.add_argument('-p',
|
parser.add_argument('-p',
|
||||||
'--port',
|
'--port',
|
||||||
action='store',
|
action='store',
|
||||||
help='server port or uri',
|
help='server port or uri',
|
||||||
default=2089)
|
default=2089)
|
||||||
parser.add_argument('-o',
|
|
||||||
'--options',
|
|
||||||
action='store',
|
|
||||||
nargs='*',
|
|
||||||
help='options in the form key=value',
|
|
||||||
default=None)
|
|
||||||
return parser.parse_args(argv)
|
return parser.parse_args(argv)
|
||||||
|
|
||||||
|
|
||||||
|
def poller(pollfunc):
|
||||||
|
while True:
|
||||||
|
time.sleep(1.0)
|
||||||
|
pollfunc()
|
||||||
|
|
||||||
|
|
||||||
def main(argv=None):
|
def main(argv=None):
|
||||||
if argv is None:
|
if argv is None:
|
||||||
argv = sys.argv
|
argv = sys.argv
|
||||||
|
|
||||||
args = parse_argv(argv[1:])
|
args = parse_argv(argv[1:])
|
||||||
options = {'description': ''}
|
|
||||||
for item in args.options or ():
|
opts = {'description': 'simulator'}
|
||||||
key, eq, value = item.partition('=')
|
|
||||||
if not eq:
|
handler_args = {'verbose': args.verbose}
|
||||||
raise ValueError(f"missing '=' in {item}")
|
srv = Server(int(args.port), Handler, handler_args)
|
||||||
try:
|
module = get_class(args.cls)(args.cls, Logger(), opts, srv)
|
||||||
value = literal_eval(value)
|
handler_args['module'] = module
|
||||||
except Exception:
|
module.earlyInit()
|
||||||
pass
|
mkthread(poller, module.doPoll)
|
||||||
options[key] = value
|
srv.loop()
|
||||||
srv = Server(int(args.port), args.cls, options, args.verbose)
|
|
||||||
srv.serve_forever()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
24
cfg/QnwTC1_cfg.py
Normal file
24
cfg/QnwTC1_cfg.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Node('QnwTC1test.psi.ch',
|
||||||
|
'QnwTC1 test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.qnw.QnwIO',
|
||||||
|
'connection for Quantum northwest',
|
||||||
|
uri='tcp://ldm-fi-ts:3001',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.qnw.TemperatureLoopTC1',
|
||||||
|
'holder temperature',
|
||||||
|
channel='CT',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Th',
|
||||||
|
'frappy_psi.qnw.SensorTC1',
|
||||||
|
'heat exch. temperature',
|
||||||
|
channel='HT',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
19
cfg/TFA10_cfg.py
Normal file
19
cfg/TFA10_cfg.py
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
Node('TFA10.psi.ch',
|
||||||
|
'TFA10 test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.thermofisher.ThermFishIO',
|
||||||
|
'connection for ThermoFisher A10',
|
||||||
|
uri='tcp://ldm-fi-ts:3002',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.thermofisher.TemperatureLoopA10',
|
||||||
|
'holder temperature',
|
||||||
|
io='io',
|
||||||
|
target=Param(max=100),
|
||||||
|
tolerance=0.5,
|
||||||
|
settling_time=20,
|
||||||
|
)
|
||||||
4
cfg/addons.ini
Normal file
4
cfg/addons.ini
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[FRAPPY]
|
||||||
|
confdir = ~/frappy/cfg/addons:~/frappy/cfg/develop
|
||||||
|
logdir = ~/frappylog
|
||||||
|
piddir = ~/frappylog/pid
|
||||||
9
cfg/addons/ah2700_cfg.py
Normal file
9
cfg/addons/ah2700_cfg.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Node('ah2700.frappy.psi.ch',
|
||||||
|
'Andeen Hagerlin 2700 Capacitance Bridge',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cap',
|
||||||
|
'frappy_psi.ah2700.Capacitance',
|
||||||
|
'capacitance',
|
||||||
|
uri='lollypop-ts:3002',
|
||||||
|
)
|
||||||
23
cfg/addons/ah2700sea_cfg.py
Normal file
23
cfg/addons/ah2700sea_cfg.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
Node('ah2700.addon.sea.psi.ch',
|
||||||
|
'Andeen Hagerlin 2700 Capacitance Bridge using SEA',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_addons',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'SEA connection to mbe_ah2700',
|
||||||
|
config='ah2700.addon',
|
||||||
|
export=False,
|
||||||
|
service='addons',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cap',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
sea_object='cap',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('capslope',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
sea_object='capslope',
|
||||||
|
)
|
||||||
16
cfg/addons/be-filter-boa_cfg.py
Normal file
16
cfg/addons/be-filter-boa_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('be-filter-boa.addon.sea.psi.ch',
|
||||||
|
'CryoTel be-filter BOA',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_addons',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'addons sea connection for be-filter-boa.addon',
|
||||||
|
config='be-filter-boa.addon',
|
||||||
|
service='addons',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('befilter',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
sea_object='befilter',
|
||||||
|
io='sea_addons',
|
||||||
|
)
|
||||||
17
cfg/addons/camea-be-filter_cfg.py
Normal file
17
cfg/addons/camea-be-filter_cfg.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
Node('cfg/sea/camea-be-filter.cfg',
|
||||||
|
'Camea Be-Filter',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_addons',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'addons sea connection for camea-be-filter.addon',
|
||||||
|
config='camea-be-filter.addon',
|
||||||
|
service='addons',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t_be_filter',
|
||||||
|
'frappy_psi.sea.SeaReadable',
|
||||||
|
'Be filter T',
|
||||||
|
io='sea_addons',
|
||||||
|
sea_object='t_be_filter',
|
||||||
|
)
|
||||||
51
cfg/addons/flamesample_cfg.py
Normal file
51
cfg/addons/flamesample_cfg.py
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
Node('flamesample.psi.ch',
|
||||||
|
'flame sample thermometers and heater',
|
||||||
|
interface = 'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lscio',
|
||||||
|
'frappy_psi.ls372.StringIO',
|
||||||
|
'sample channels LS372 io',
|
||||||
|
uri = 'flamedil-ls.psi.ch:7777',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lsc_channel',
|
||||||
|
'frappy_psi.ls372.Switcher',
|
||||||
|
'channel switcher sample ls372',
|
||||||
|
io='lscio',
|
||||||
|
value = 3,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts_low',
|
||||||
|
'frappy_psi.ls372.TemperatureLoop',
|
||||||
|
'sample RuOX',
|
||||||
|
channel = 3,
|
||||||
|
switcher = 'lsc_channel',
|
||||||
|
minrange=13,
|
||||||
|
range=22,
|
||||||
|
tolerance = 0.1,
|
||||||
|
htrrng=4,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts_high',
|
||||||
|
'frappy_psi.ls372.TemperatureLoop',
|
||||||
|
'sample Cernox',
|
||||||
|
channel = 1,
|
||||||
|
switcher = 'lsc_channel',
|
||||||
|
minrange=9,
|
||||||
|
range=22,
|
||||||
|
tolerance = 0.1,
|
||||||
|
htrrng=5,
|
||||||
|
minheater=5e-4,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.parmod.SwitchDriv',
|
||||||
|
'automatically switching between ts_low and ts_high',
|
||||||
|
value=Param(unit='K'),
|
||||||
|
low='ts_low',
|
||||||
|
high='ts_high',
|
||||||
|
min_high=0.6,
|
||||||
|
max_low=1.7,
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
16
cfg/addons/focus-be-filter_cfg.py
Normal file
16
cfg/addons/focus-be-filter_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('focus-be-filter.addon.sea.psi.ch',
|
||||||
|
'FOCUS Beryllium filter with cryotel closed cycle',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_addons',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'SEA connection to addons',
|
||||||
|
config='focus-be-filter.addon',
|
||||||
|
service='addons',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('befilter',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_addons',
|
||||||
|
sea_object='cryo',
|
||||||
|
)
|
||||||
26
cfg/addons/ls372_cfg.py
Normal file
26
cfg/addons/ls372_cfg.py
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
Mod('lsc',
|
||||||
|
'frappy.io.StringIO',
|
||||||
|
'',
|
||||||
|
wait_before=0.05,
|
||||||
|
uri='flamedil-ls:7777',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r1',
|
||||||
|
'frappy_psi.ls372.ResChannel',
|
||||||
|
'resistivity from LS 372',
|
||||||
|
switcher='channel',
|
||||||
|
channel=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r3',
|
||||||
|
'frappy_psi.ls372.ResChannel',
|
||||||
|
'resistivity from LS 372',
|
||||||
|
switcher='channel',
|
||||||
|
channel=3,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('channel',
|
||||||
|
'frappy_psi.ls372.Switcher',
|
||||||
|
'LS 372 channel switcher',
|
||||||
|
io='lsc',
|
||||||
|
)
|
||||||
17
cfg/addons/stickmotor_cfg.py
Normal file
17
cfg/addons/stickmotor_cfg.py
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
Node('stickmotor.linse.psi.ch',
|
||||||
|
'mobile rotation stage (from MA02)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stick_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ldmcc08-ts:3006',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stickrot',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically not used as omega',
|
||||||
|
io='stick_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
backlash=-1,
|
||||||
|
)
|
||||||
9
cfg/develop/sea_cfg.py
Normal file
9
cfg/develop/sea_cfg.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
Node('comm.sea.psi.ch',
|
||||||
|
'sea client (communication only)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('seaconn',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'a SEA connection',
|
||||||
|
visibility='expert',
|
||||||
|
)
|
||||||
11
cfg/develop/seadesc_cfg.py
Normal file
11
cfg/develop/seadesc_cfg.py
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# error creating module seaconn:
|
||||||
|
# missing sea port for seadesc
|
||||||
|
Node('comm.sea.psi.ch',
|
||||||
|
'sea client (tool for creating cfg)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('seaconn',
|
||||||
|
'frappy_psi.sea.SeaConfigCreator',
|
||||||
|
'a SEA connection. will shut down after getting the description',
|
||||||
|
visibility=1,
|
||||||
|
)
|
||||||
12
cfg/dpm_cfg.py
Normal file
12
cfg/dpm_cfg.py
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
Node('dpm.psi.ch',
|
||||||
|
'DPM driver for pressure cell',
|
||||||
|
interface='tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('force',
|
||||||
|
'frappy_psi.dpm.DPM3',
|
||||||
|
'DPM driver to read out the transducer value, write and read the offset and scale factor',
|
||||||
|
uri='serial:///dev/ttyUSB1',
|
||||||
|
digits=2,
|
||||||
|
scale_factor=0.0156,
|
||||||
|
)
|
||||||
27
cfg/drums_cfg.py
Normal file
27
cfg/drums_cfg.py
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
Node('relais.psi.ch',
|
||||||
|
'relais test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('rl',
|
||||||
|
'frappy_psi.ionopimax.DigitalOutput',
|
||||||
|
'left relais',
|
||||||
|
addr = 'o1',
|
||||||
|
value = 0, # start with relais off
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('rr',
|
||||||
|
'frappy_psi.ionopimax.DigitalOutput',
|
||||||
|
'right relais',
|
||||||
|
addr = 'o2',
|
||||||
|
value = 0, # start with relais off
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('drummer',
|
||||||
|
'frappy_psi.drums.Drums',
|
||||||
|
'drummer',
|
||||||
|
target = 150,
|
||||||
|
pattern='l2L2rl1R1L2',
|
||||||
|
left='rl',
|
||||||
|
right='rr',
|
||||||
|
)
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
import frappy.core as fc
|
|
||||||
import TNMRExt.FlexibleModule as mod
|
|
||||||
|
|
||||||
Node('example_TNMR.psi.ch', 'The NMR system running the Scout and controlled with TNMR', interface='tcp://5000')
|
|
||||||
|
|
||||||
Mod('sequence0', mod.flexible_module('D:\\Users\\Garrad\\sequence_0.tps', 's0'), 'The zeroth sequence')
|
|
||||||
Mod('sequence1', mod.flexible_module('D:\\Users\\Garrad\\sequence_1.tps', 's1'), 'The first sequence')
|
|
||||||
16
cfg/lockin70_cfg.py
Normal file
16
cfg/lockin70_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('lockin70test.psi.ch',
|
||||||
|
'lockin70 test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.SR.SR_IO',
|
||||||
|
'lockin communication',
|
||||||
|
uri='10105266.psi.ch:50000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('XY',
|
||||||
|
'frappy_psi.SR.XY70',
|
||||||
|
'XY channels',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
16
cfg/lockin830_cfg.py
Normal file
16
cfg/lockin830_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('lockin830test.psi.ch',
|
||||||
|
'lockin830 test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.SR830.SR830_IO',
|
||||||
|
'lockin communication',
|
||||||
|
uri='tcp://linse-976d-ts:3002',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('XY',
|
||||||
|
'frappy_psi.SR830.XY',
|
||||||
|
'XY channels',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
16
cfg/lockin_cfg.py
Normal file
16
cfg/lockin_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('lockintest.psi.ch',
|
||||||
|
'lockin test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.SR.SR_IO',
|
||||||
|
'lockin communication',
|
||||||
|
uri='10105266.psi.ch:50000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('XY',
|
||||||
|
'frappy_psi.SR.XY',
|
||||||
|
'XY channels',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
20
cfg/ls240_cfg.py
Normal file
20
cfg/ls240_cfg.py
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
# error importing secop.bytesio.BytesIO
|
||||||
|
# module T, attached io: Module 'T_io' does not exist on this SEC-Node!
|
||||||
|
# error initializing T: AttributeError("'NoneType' object has no attribute 'polledModules'")
|
||||||
|
Node('ls240.psi.ch',
|
||||||
|
'ls240 test',
|
||||||
|
interface='tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.ls240.Ls240',
|
||||||
|
'temperature on uniax stick',
|
||||||
|
io='T_io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_io',
|
||||||
|
'frappy.bytesio.BytesIO',
|
||||||
|
'IO device for LS240',
|
||||||
|
uri='serial:///dev/ttyUSB0?baudrate=9600+parity=EVEN',
|
||||||
|
timeout=0.2,
|
||||||
|
)
|
||||||
36
cfg/ls340_cfg.py
Normal file
36
cfg/ls340_cfg.py
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
Node('ls340test.psi.ch',
|
||||||
|
'ls340 test',
|
||||||
|
'tcp://5000'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.lakeshore.Ls340IO',
|
||||||
|
'communication to ls340',
|
||||||
|
uri='tcp://ldmprep56-ts:3002'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.lakeshore.TemperatureLoop340',
|
||||||
|
'sample temperature',
|
||||||
|
output_module='Heater',
|
||||||
|
target=Param(max=470),
|
||||||
|
io='io',
|
||||||
|
channel='B'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_cold_finger',
|
||||||
|
'frappy_psi.lakeshore.Sensor340',
|
||||||
|
'cold finger temperature',
|
||||||
|
io='io',
|
||||||
|
channel='A'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Heater',
|
||||||
|
'frappy_psi.lakeshore.HeaterOutput',
|
||||||
|
'heater output',
|
||||||
|
channel='B',
|
||||||
|
io='io',
|
||||||
|
resistance=25,
|
||||||
|
max_power=50,
|
||||||
|
current=1
|
||||||
|
)
|
||||||
25
cfg/ls370res_cfg.py
Normal file
25
cfg/ls370res_cfg.py
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
Node('ls370res.psi.ch',
|
||||||
|
'Lsc370 Test',
|
||||||
|
interface='tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lsmain_io',
|
||||||
|
'frappy_psi.ls370res.StringIO',
|
||||||
|
'the communication device',
|
||||||
|
uri='lollypop-ts:3001',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lsmain',
|
||||||
|
'frappy_psi.ls370res.Main',
|
||||||
|
'main control of Lsc controller',
|
||||||
|
uri='lollypop-ts:3001',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('res',
|
||||||
|
'frappy_psi.ls370res.ResChannel',
|
||||||
|
'resistivity',
|
||||||
|
iexc='1mA',
|
||||||
|
channel=5,
|
||||||
|
main='lsmain',
|
||||||
|
io='lsmain_io',
|
||||||
|
)
|
||||||
4
cfg/main.ini
Normal file
4
cfg/main.ini
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
[FRAPPY]
|
||||||
|
confdir = ~/frappy/cfg/main:~/frappy/cfg/develop
|
||||||
|
logdir = ~/frappylog
|
||||||
|
piddir = ~/frappylog/pid
|
||||||
16
cfg/main/ccr2_cfg.py
Normal file
16
cfg/main/ccr2_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('ccr2.config.sea.psi.ch',
|
||||||
|
'sumitomo 4 K closed cycle refrigerator (FOCUS)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'SEA connection to main',
|
||||||
|
config='ccr2.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
23
cfg/main/ccr2ht_cfg.py
Normal file
23
cfg/main/ccr2ht_cfg.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
Node('ccr2ht.config.sea.psi.ch',
|
||||||
|
'sumitomo 4 K closed cycle refrigerator with hot stage (FOCUS)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main SEA connection',
|
||||||
|
config='ccr2ht.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoldfinger',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tk'],
|
||||||
|
)
|
||||||
16
cfg/main/ccr3_cfg.py
Normal file
16
cfg/main/ccr3_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('ccr3.config.sea.psi.ch',
|
||||||
|
'4 K closed cycle cryostat (ZEBRA)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ccr3.config',
|
||||||
|
config='ccr3.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
39
cfg/main/ccrpe_cfg.py
Normal file
39
cfg/main/ccrpe_cfg.py
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
Node('ccrpe.config.sea.psi.ch',
|
||||||
|
'''4 K closed cycle cryostat (PE cell)''',
|
||||||
|
)
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ccrpe.config',
|
||||||
|
config = 'ccrpe.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['.', 'tm'],
|
||||||
|
)
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('te',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['te'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('warmup',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'warmup',
|
||||||
|
)
|
||||||
|
Mod('p',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'p',
|
||||||
|
)
|
||||||
37
cfg/main/ccrpe_lowT_cfg.py
Normal file
37
cfg/main/ccrpe_lowT_cfg.py
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
Node('cfg/main/ccrpe_lowT.cfg',
|
||||||
|
'4 K closed cycle cryostat (PE cell)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ccrpe_lowT.config',
|
||||||
|
config='ccrpe_lowT.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['.', 'tm'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('te',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['te'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('warmup',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='warmup',
|
||||||
|
)
|
||||||
49
cfg/main/cryosim_cfg.py
Normal file
49
cfg/main/cryosim_cfg.py
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
Node('cyrosim.psi.ch',
|
||||||
|
'cryo simulation (similar ppms simulation)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.ppms.Temp',
|
||||||
|
'main temperature',
|
||||||
|
meaning=('temperature_regulation', 10),
|
||||||
|
ramp=20.0,
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.ppms.Level',
|
||||||
|
'helium level',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
'sample temperature',
|
||||||
|
enabled=True,
|
||||||
|
linkenable='tv',
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
meaning=('temperature', 10),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tv',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
'exchanger temperature',
|
||||||
|
enabled=True,
|
||||||
|
linkenable='ts',
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ppms',
|
||||||
|
'frappy_psi.ppms.Main',
|
||||||
|
'the main and poller module',
|
||||||
|
class_id='QD.MULTIVU.PPMS.1',
|
||||||
|
visibility='expert',
|
||||||
|
pollinterval=2.0,
|
||||||
|
export=False,
|
||||||
|
)
|
||||||
16
cfg/main/cti5_cfg.py
Normal file
16
cfg/main/cti5_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('cti5.config.sea.psi.ch',
|
||||||
|
'15 K closed cycle cryostat',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for cti5.config',
|
||||||
|
config='cti5.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
16
cfg/main/cti7_cfg.py
Normal file
16
cfg/main/cti7_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('cti7.config.sea.psi.ch',
|
||||||
|
'30 K - 475 K closed cycle cryostat',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for cti7.config',
|
||||||
|
config='cti7.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
16
cfg/main/cti7ht_cfg.py
Normal file
16
cfg/main/cti7ht_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('cti7ht.config.sea.psi.ch',
|
||||||
|
'30 K - 475 K closed cycle cryostat with hot stagge',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for cti7ht.config',
|
||||||
|
config='cti7ht.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
15
cfg/main/eurotherm_cfg.py
Normal file
15
cfg/main/eurotherm_cfg.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
Node('eurotherm.config.sea.psi.ch',
|
||||||
|
'Eurotherm controller',
|
||||||
|
)
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for haakeuro.config',
|
||||||
|
config = 'eurotherm.config',
|
||||||
|
service = 'main',
|
||||||
|
meaning=('temperature', 11),
|
||||||
|
)
|
||||||
|
Mod('te',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'te',
|
||||||
|
)
|
||||||
42
cfg/main/fftf_cfg.py
Normal file
42
cfg/main/fftf_cfg.py
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
Node('fftf.config.sea.psi.ch',
|
||||||
|
'thin film oven for AMOR',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for fftf.config',
|
||||||
|
config='fftf.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='p',
|
||||||
|
extra_modules=['vacuumpump', 'gasflow', 'tlimit', 'tlimit_without_vacuum'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('gasflow',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='p.gasflow',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('vacuumpump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='p',
|
||||||
|
rel_paths=['vacuumpump', 'tlimit', 'tlimit_without_vacuum'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaModule', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
224
cfg/main/flamemag_cfg.py
Normal file
224
cfg/main/flamemag_cfg.py
Normal file
@@ -0,0 +1,224 @@
|
|||||||
|
Node('flamemag.psi.ch',
|
||||||
|
'flame magnet',
|
||||||
|
interface='tcp://5000'
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cio',
|
||||||
|
'frappy_psi.cryoltd.IO',
|
||||||
|
'IO to cryo ltd software',
|
||||||
|
uri='tcp://flamedil:3128',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('main',
|
||||||
|
'frappy_psi.cryoltd.Main',
|
||||||
|
'master module',
|
||||||
|
io='cio',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('B',
|
||||||
|
'frappy_psi.cryoltd.MainField',
|
||||||
|
'magnetic field',
|
||||||
|
channel='Main',
|
||||||
|
main='main',
|
||||||
|
constraint=80000.0,
|
||||||
|
target=Param(
|
||||||
|
max=35000.0,
|
||||||
|
),
|
||||||
|
mode='PERSISTENT',
|
||||||
|
hw_units='T',
|
||||||
|
A_to_G=285.73,
|
||||||
|
ramp=Param(
|
||||||
|
max=412.0,
|
||||||
|
),
|
||||||
|
overshoot={'o': 1.0, 't': 180.0},
|
||||||
|
degauss={'s': 500.0, 'd': 30.0, 'f': 5.0, 't': 120.0},
|
||||||
|
tolerance=5.0,
|
||||||
|
wait_switch_on = 30,
|
||||||
|
wait_switch_off = 30,
|
||||||
|
wait_stable_field=180.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Bx',
|
||||||
|
'frappy_psi.cryoltd.ComponentField',
|
||||||
|
'magnetic field x component',
|
||||||
|
channel='VMX',
|
||||||
|
main='main',
|
||||||
|
check_against='B',
|
||||||
|
target=Param(
|
||||||
|
max=200.0,
|
||||||
|
),
|
||||||
|
hw_units='A',
|
||||||
|
A_to_G=4.134,
|
||||||
|
ramp=Param(
|
||||||
|
max=23.0,
|
||||||
|
),
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('By',
|
||||||
|
'frappy_psi.cryoltd.ComponentField',
|
||||||
|
'magnetic field y component',
|
||||||
|
channel='VMY',
|
||||||
|
main='main',
|
||||||
|
check_against='B',
|
||||||
|
target=Param(
|
||||||
|
max=100.0,
|
||||||
|
),
|
||||||
|
hw_units='A',
|
||||||
|
A_to_G=4.1117,
|
||||||
|
ramp=Param(
|
||||||
|
max=22.9,
|
||||||
|
),
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Bz',
|
||||||
|
'frappy_psi.cryoltd.ComponentField',
|
||||||
|
'magnetic field z component',
|
||||||
|
channel='VMZ',
|
||||||
|
main='main',
|
||||||
|
check_against='B',
|
||||||
|
target=Param(
|
||||||
|
max=100.0,
|
||||||
|
),
|
||||||
|
hw_units='A',
|
||||||
|
A_to_G=5.74,
|
||||||
|
ramp=Param(
|
||||||
|
max=33.6,
|
||||||
|
),
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('compressorA',
|
||||||
|
'frappy_psi.cryoltd.Compressor',
|
||||||
|
'compressor A',
|
||||||
|
channel='A',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('compressorB',
|
||||||
|
'frappy_psi.cryoltd.Compressor',
|
||||||
|
'compressor B',
|
||||||
|
channel='B',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_stage1_A',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='1st Stage A',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_stage2_A',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='2nd Stage A',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_stage1_B',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='1st Stage B',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_stage2_B',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='2nd Stage B',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_top_A',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Inner Magnet A (Top)',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_bottom_A',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Inner Magnet A (Bottom)',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_top_B',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Inner Magnet B (Top)',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_bottom_B',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Inner Magnet B (Bottom)',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_Z_shim',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Z Shim Former',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_XY_shim',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='XY Shim Former',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_XY_vector',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='XY Vector Former',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_radiation_shield',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Radiation Shield',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_persistent_joints',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Persistent Joints',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_outer_A',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Outer Magnet A',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_outer_B',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Outer Magnet B',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_shim_B',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Z Shim Former B',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_bore_shield',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Bore Radiation Shield',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_XYZ_shim',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='XYZ Shim Plate',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_Z_shim_switch',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Z Shim Switch',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_main_switch',
|
||||||
|
'frappy_psi.cryoltd.Temperature', '',
|
||||||
|
channel='Main Coil Switch',
|
||||||
|
main='main',
|
||||||
|
)
|
||||||
61
cfg/main/flamp_cfg.py
Normal file
61
cfg/main/flamp_cfg.py
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
Node('flamp.config.sea.psi.ch',
|
||||||
|
'lamp oven control (from manuel knecht)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for flamp.config',
|
||||||
|
config='flamp.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['.', 't1'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['t2'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('current',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='current',
|
||||||
|
extra_modules=['i1,', 'i2,', 'i3,', 'i4'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i1',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='current.i1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='current.i2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i3',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='current.i3',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i4',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='current.i4',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pv',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='pv',
|
||||||
|
)
|
||||||
24
cfg/main/fs_cfg.py
Normal file
24
cfg/main/fs_cfg.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Node('fs.config.sea.psi.ch',
|
||||||
|
'small furnace',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for fs.config',
|
||||||
|
config='fs.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts'],
|
||||||
|
)
|
||||||
24
cfg/main/ft_cfg.py
Normal file
24
cfg/main/ft_cfg.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Node('ft.config.sea.psi.ch',
|
||||||
|
'FT tantalum furnace (1400 K)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for fw.config',
|
||||||
|
config='ft.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['.', 'ts'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm'],
|
||||||
|
)
|
||||||
21
cfg/main/haake_cfg.py
Normal file
21
cfg/main/haake_cfg.py
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
Node('haakeuro.config.sea.psi.ch',
|
||||||
|
'Haake thermostat + Eurotherm controller',
|
||||||
|
)
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for haakeuro.config',
|
||||||
|
config = 'haake.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
meaning = ('temperature', 10),
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'th',
|
||||||
|
extra_modules=['t2'],
|
||||||
|
)
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='th.t2',
|
||||||
|
)
|
||||||
19
cfg/main/haakeuro_cfg.py
Normal file
19
cfg/main/haakeuro_cfg.py
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
Node('haakeuro.config.sea.psi.ch',
|
||||||
|
'Haake thermostat + Eurotherm controller',
|
||||||
|
)
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for haakeuro.config',
|
||||||
|
config = 'haakeuro.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'th',
|
||||||
|
)
|
||||||
|
Mod('te',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'te',
|
||||||
|
)
|
||||||
66
cfg/main/ill1_cfg.py
Normal file
66
cfg/main/ill1_cfg.py
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
Node('ill1.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 50 mm sample space',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ill1.config',
|
||||||
|
config='ill1.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
66
cfg/main/ill2_cfg.py
Normal file
66
cfg/main/ill2_cfg.py
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
Node('ill2.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 70 mm sample space',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ill2.config',
|
||||||
|
config='ill2.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
72
cfg/main/ill3_cfg.py
Normal file
72
cfg/main/ill3_cfg.py
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
Node('cfg/main/ill3.cfg',
|
||||||
|
'orange cryofurnace with 70 mm sample space (low T)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ill3.config',
|
||||||
|
config='ill3.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nvflow',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
66
cfg/main/ill4_cfg.py
Normal file
66
cfg/main/ill4_cfg.py
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
Node('ill4.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 70 mm sample space (FOCUS)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ill4.config',
|
||||||
|
config='ill4.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
66
cfg/main/ill5_cfg.py
Normal file
66
cfg/main/ill5_cfg.py
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
Node('ill5.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 100 mm sample space',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main SEA connection to ill5.config',
|
||||||
|
config='ill5.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
102
cfg/main/ill5pgas5_cfg.py
Normal file
102
cfg/main/ill5pgas5_cfg.py
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
Node('ill5pgas5.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 100 mm sample space and pgas5 pressure cell',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ill5pgas5.config',
|
||||||
|
config='ill5pgas5.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pauto',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='pauto',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_capillary',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nvflow',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pccu',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='pccu',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='p',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i1',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='i1',
|
||||||
|
)
|
||||||
133
cfg/main/jtccr_cfg.py
Normal file
133
cfg/main/jtccr_cfg.py
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
Node('jtccr.config.sea.psi.ch',
|
||||||
|
'CCR with JT-stage',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for jtccr.config',
|
||||||
|
config='jtccr.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['.', 'tt'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_ccr',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ccr'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('jtccr',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='jtccr',
|
||||||
|
extra_modules=['v1','v2','v3','v4','v5','v6','v7','v8','v9','v10','vm'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v1',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v2',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v3',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v3',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v4',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v4',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v5',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v5',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v6',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v6',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v7',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v7',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v8',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v8',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v9',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v9',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v10',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.v10',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('vm',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='jtccr.vm',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p1',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='p1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='p2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p3',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='p3',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p4',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='p4',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pressreg',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='pressreg',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('epc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='epc',
|
||||||
|
)
|
||||||
77
cfg/main/ma02_cfg.py
Normal file
77
cfg/main/ma02_cfg.py
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
Node('ma02.config.sea.psi.ch',
|
||||||
|
'1.8 Tesla horizontal cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma02.config',
|
||||||
|
config='ma02.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stick_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma02-ts.psi.ch:3003',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stickrot',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically not used as omega',
|
||||||
|
io='stick_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
)
|
||||||
86
cfg/main/ma10_cfg.py
Normal file
86
cfg/main/ma10_cfg.py
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
Node('ma10.config.sea.psi.ch',
|
||||||
|
'10 Tesla vertical cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma10.config',
|
||||||
|
config='ma10.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
rel_paths=['.', 'gen', 'ips'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma10-ts.psi.ch:3004',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used for omega',
|
||||||
|
io='om_io',
|
||||||
|
target_min = -180,
|
||||||
|
target_max = 360,
|
||||||
|
encoder_mode='READ',
|
||||||
|
)
|
||||||
114
cfg/main/ma11_cfg.py
Normal file
114
cfg/main/ma11_cfg.py
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
Node('ma11.config.sea.psi.ch',
|
||||||
|
'MA11 cryomagnet for SANS',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma11.config',
|
||||||
|
config='ma11.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['.', 'tm'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ccu2',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ccu2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lnv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lnv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lpr',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lpr',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lambdawatch',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lambdawatch',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stick_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma11-ts.psi.ch:3005',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stickrot',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically not used as omega',
|
||||||
|
io='stick_io',
|
||||||
|
encoder_mode='NO',
|
||||||
|
)
|
||||||
97
cfg/main/ma15_cfg.py
Normal file
97
cfg/main/ma15_cfg.py
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
Node('ma15.config.sea.psi.ch',
|
||||||
|
'''14.9 Tesla superconducting cryomagnet''',
|
||||||
|
)
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma15.config',
|
||||||
|
config = 'ma15.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'tt',
|
||||||
|
rel_paths = ['.', 'tm']
|
||||||
|
)
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'cc',
|
||||||
|
)
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'nv',
|
||||||
|
)
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hefill',
|
||||||
|
)
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hepump',
|
||||||
|
)
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hemot',
|
||||||
|
)
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'nvflow',
|
||||||
|
)
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'mf',
|
||||||
|
)
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'lev',
|
||||||
|
)
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'ln2fill',
|
||||||
|
)
|
||||||
|
Mod('tcoil',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'tcoil',
|
||||||
|
)
|
||||||
|
Mod('ccu2',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'ccu2',
|
||||||
|
)
|
||||||
|
Mod('lnv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'lnv',
|
||||||
|
)
|
||||||
|
Mod('lpr',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'lpr',
|
||||||
|
)
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'table',
|
||||||
|
)
|
||||||
|
Mod('stick_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'om motor IO',
|
||||||
|
uri='ma15-ts.psi.ch:3005',
|
||||||
|
)
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used as omega',
|
||||||
|
io='stick_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
)
|
||||||
|
|
||||||
81
cfg/main/ma6_cfg.py
Normal file
81
cfg/main/ma6_cfg.py
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
Node('ma6.config.sea.psi.ch',
|
||||||
|
'compact 6 Tesla vertical cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma6.config',
|
||||||
|
config='ma6.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['.', 'tm'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma6-ts.psi.ch:3003',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used for omega',
|
||||||
|
io='om_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
target_min=-180,
|
||||||
|
target_max=360,
|
||||||
|
backlash=-1,
|
||||||
|
)
|
||||||
109
cfg/main/ma6_sampleheat_cfg.py
Normal file
109
cfg/main/ma6_sampleheat_cfg.py
Normal file
@@ -0,0 +1,109 @@
|
|||||||
|
Node('ma6_sampleheat.config.sea.psi.ch',
|
||||||
|
'compact 6 Tesla vertical cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma6_sampleheat.config',
|
||||||
|
config='ma6_sampleheat.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', 'set'],
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaReadable',
|
||||||
|
'sample heater temperature',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts', 'setsamp']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts0',
|
||||||
|
'frappy_psi.sea.SeaReadable',
|
||||||
|
'sample stick exch. temperature',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts_2']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.parmod.Converging',
|
||||||
|
'test for parmod',
|
||||||
|
unit='K',
|
||||||
|
read='th.value',
|
||||||
|
write='th.setsamp',
|
||||||
|
meaning=['temperature', 20],
|
||||||
|
settling_time=20,
|
||||||
|
tolerance=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma6-ts.psi.ch:3003',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used for omega',
|
||||||
|
io='om_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
target_min=-180,
|
||||||
|
target_max=360,
|
||||||
|
)
|
||||||
99
cfg/main/ma7_cfg.py
Normal file
99
cfg/main/ma7_cfg.py
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
Node('ma7.config.sea.psi.ch',
|
||||||
|
'6.8 Tesla horizontal cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma7.config',
|
||||||
|
config='ma7.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['.', 'tm'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
value=Param(unit='T'),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil1',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['ta'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['tb'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stick_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma7-ts.psi.ch:3007',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stickrot',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically not used as omega',
|
||||||
|
io='stick_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
)
|
||||||
125
cfg/main/ma7_sampleheat_cfg.py
Normal file
125
cfg/main/ma7_sampleheat_cfg.py
Normal file
@@ -0,0 +1,125 @@
|
|||||||
|
Node('ma7.config.sea.psi.ch',
|
||||||
|
'6.8 Tesla horizontal cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma7.config',
|
||||||
|
config='ma7_sampleheat.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm', 'set'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('th',
|
||||||
|
'frappy_psi.sea.SeaReadable',
|
||||||
|
'sample heater temperature',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts_2', 'setsamp']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts0',
|
||||||
|
'frappy_psi.sea.SeaReadable',
|
||||||
|
'sample stick exch. temperature',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['ts']
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.parmod.Converging',
|
||||||
|
'test for parmod',
|
||||||
|
unit='K',
|
||||||
|
read='th.value',
|
||||||
|
write='th.setsamp',
|
||||||
|
meaning=['temperature', 20],
|
||||||
|
settling_time=20,
|
||||||
|
tolerance=1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil1',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['ta'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['tb'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stick_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma7-ts.psi.ch:3007',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('stickrot',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically not used as omega',
|
||||||
|
io='stick_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
)
|
||||||
103
cfg/main/ma7two_cfg.py
Normal file
103
cfg/main/ma7two_cfg.py
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
Node('cfg/main/ma7two.cfg',
|
||||||
|
'6.8 Tesla horizontal cryomagnet with two heater loops',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ma7two.config',
|
||||||
|
config='ma7two.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nvflow',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='mf',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='lev',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil1',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['ta'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tcoil2',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tcoil',
|
||||||
|
rel_paths=['tb'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='ma7-ts.psi.ch:3007',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation',
|
||||||
|
io='om_io',
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
)
|
||||||
60
cfg/main/magsim_cfg.py
Normal file
60
cfg/main/magsim_cfg.py
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
Node('magsim.psi.ch',
|
||||||
|
'cryo magnet simulation (similar to ppms simulation)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.ppms.Temp',
|
||||||
|
'main temperature',
|
||||||
|
meaning=('temperature_regulation', 10),
|
||||||
|
ramp=20.0,
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.ppms.Field',
|
||||||
|
'magnetic field',
|
||||||
|
target=Param(
|
||||||
|
min=-9.0,
|
||||||
|
max=9.0,
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
meaning=('magneticfield', 10),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.ppms.Level',
|
||||||
|
'helium level',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
'sample temperature',
|
||||||
|
enabled=True,
|
||||||
|
linkenable='tv',
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
meaning=('temperature', 10),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tv',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
'exchanger temperature',
|
||||||
|
enabled=True,
|
||||||
|
linkenable='ts',
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ppms',
|
||||||
|
'frappy_psi.ppms.Main',
|
||||||
|
'the main and poller module',
|
||||||
|
class_id='QD.MULTIVU.PPMS.1',
|
||||||
|
visibility='expert',
|
||||||
|
pollinterval=2.0,
|
||||||
|
export=False,
|
||||||
|
)
|
||||||
212
cfg/main/mb11_cfg.py
Normal file
212
cfg/main/mb11_cfg.py
Normal file
@@ -0,0 +1,212 @@
|
|||||||
|
Node('mb11.psi.ch',
|
||||||
|
'MB11 11 Tesla - 100 mm cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
sea_cfg = 'mb11.config'
|
||||||
|
|
||||||
|
Mod('itc1',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'ITC for heat exchanger and pressures',
|
||||||
|
uri='mb11-ts:3001',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('itc2',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'ITC for neck and nv heaters',
|
||||||
|
uri='mb11-ts:3002',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ips',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'IPS for magnet and levels',
|
||||||
|
uri='mb11-ts:3003',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_stat',
|
||||||
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
|
'static heat exchanger temperature',
|
||||||
|
output_module='htr_stat',
|
||||||
|
needle_valve='p_stat',
|
||||||
|
slot='DB6.T1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=0.1,
|
||||||
|
flowpars=((1,5), (2, 20)),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_stat',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'static heat exchanger heater',
|
||||||
|
slot='DB1.H1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_stat',
|
||||||
|
'frappy_psi.mercury.PressureLoop',
|
||||||
|
'static needle valve pressure',
|
||||||
|
output_module='pos_stat',
|
||||||
|
settling_time=60.0,
|
||||||
|
slot='DB5.P1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=1.0,
|
||||||
|
value=Param(
|
||||||
|
unit='mbar_flow',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos_stat',
|
||||||
|
'frappy_psi.mercury.ValvePos',
|
||||||
|
'static needle valve position',
|
||||||
|
slot='DB5.P1,DB3.G1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_dyn',
|
||||||
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
|
'dynamic heat exchanger temperature',
|
||||||
|
output_module='htr_dyn',
|
||||||
|
needle_valve='p_dyn',
|
||||||
|
slot='DB7.T1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_dyn',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'dynamic heat exchanger heater',
|
||||||
|
slot='DB2.H1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_dyn',
|
||||||
|
'frappy_psi.mercury.PressureLoop',
|
||||||
|
'dynamic needle valve pressure',
|
||||||
|
output_module='pos_dyn',
|
||||||
|
settling_time=60.0,
|
||||||
|
slot='DB8.P1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=1.0,
|
||||||
|
value=Param(
|
||||||
|
unit='mbar_flow',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos_dyn',
|
||||||
|
'frappy_psi.mercury.ValvePos',
|
||||||
|
'dynamic needle valve position',
|
||||||
|
slot='DB8.P1,DB4.G1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.ips_mercury.Field',
|
||||||
|
'magnetic field',
|
||||||
|
slot='GRPZ',
|
||||||
|
io='ips',
|
||||||
|
tolerance=0.001,
|
||||||
|
wait_stable_field=60.0,
|
||||||
|
target=Param(
|
||||||
|
max=11.0,
|
||||||
|
),
|
||||||
|
persistent_limit=11.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.mercury.HeLevel',
|
||||||
|
'LHe level',
|
||||||
|
slot='DB1.L1',
|
||||||
|
io='ips',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('n2lev',
|
||||||
|
'frappy_psi.mercury.N2Level',
|
||||||
|
'LN2 level',
|
||||||
|
slot='DB1.L1',
|
||||||
|
io='ips',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_neck1',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'neck heater 1 temperature',
|
||||||
|
output_module='htr_neck1',
|
||||||
|
slot='MB1.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_neck1',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'neck heater 1 power',
|
||||||
|
slot='MB0.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_neck2',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'neck heater 2 temperature',
|
||||||
|
output_module='htr_neck2',
|
||||||
|
slot='DB6.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_neck2',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'neck heater 2 power',
|
||||||
|
slot='DB1.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_nvs',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'static needle valve temperature',
|
||||||
|
output_module='htr_nvs',
|
||||||
|
slot='DB7.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_nvs',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'static needle valve heater power',
|
||||||
|
slot='DB2.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_nvd',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'dynamic needle valve heater temperature',
|
||||||
|
output_module='htr_nvd',
|
||||||
|
slot='DB8.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_nvd',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'dynamic needle valve heater power',
|
||||||
|
slot='DB3.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_coil',
|
||||||
|
'frappy_psi.mercury.TemperatureSensor',
|
||||||
|
'coil temperature',
|
||||||
|
slot='MB1.T1',
|
||||||
|
io='ips',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='mb11-ts.psi.ch:3004',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used for omega',
|
||||||
|
io='om_io',
|
||||||
|
target_min=-360,
|
||||||
|
target_max=360,
|
||||||
|
encoder_mode='NO',
|
||||||
|
target=Param(min=-360, max=360),
|
||||||
|
)
|
||||||
226
cfg/main/mb11std_cfg.py
Normal file
226
cfg/main/mb11std_cfg.py
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
Node('mb11.psi.ch',
|
||||||
|
'MB11 11 Tesla - 100 mm cryomagnet',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('itc1',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'ITC for heat exchanger and pressures',
|
||||||
|
uri='mb11-ts:3001',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('itc2',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'ITC for neck and nv heaters',
|
||||||
|
uri='mb11-ts:3002',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ips',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'IPS for magnet and levels',
|
||||||
|
uri='mb11-ts:3003',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_stat',
|
||||||
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
|
'static heat exchanger temperature',
|
||||||
|
output_module='htr_stat',
|
||||||
|
needle_valve='p_stat',
|
||||||
|
slot='DB6.T1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=0.1,
|
||||||
|
flowpars=((1,5), (2, 20)),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_stat',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'static heat exchanger heater',
|
||||||
|
slot='DB1.H1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'sample temperature',
|
||||||
|
output_module='htr_sample',
|
||||||
|
slot='MB1.T1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_sample',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'sample stick heater power',
|
||||||
|
slot='MB0.H1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_stat',
|
||||||
|
'frappy_psi.mercury.PressureLoop',
|
||||||
|
'static needle valve pressure',
|
||||||
|
output_module='pos_stat',
|
||||||
|
settling_time=60.0,
|
||||||
|
slot='DB5.P1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=1.0,
|
||||||
|
value=Param(
|
||||||
|
unit='mbar_flow',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos_stat',
|
||||||
|
'frappy_psi.mercury.ValvePos',
|
||||||
|
'static needle valve position',
|
||||||
|
slot='DB5.P1,DB3.G1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_dyn',
|
||||||
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
|
'dynamic heat exchanger temperature',
|
||||||
|
output_module='htr_dyn',
|
||||||
|
needle_valve='p_dyn',
|
||||||
|
slot='DB7.T1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_dyn',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'dynamic heat exchanger heater',
|
||||||
|
slot='DB2.H1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_dyn',
|
||||||
|
'frappy_psi.mercury.PressureLoop',
|
||||||
|
'dynamic needle valve pressure',
|
||||||
|
output_module='pos_dyn',
|
||||||
|
settling_time=60.0,
|
||||||
|
slot='DB8.P1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=1.0,
|
||||||
|
value=Param(
|
||||||
|
unit='mbar_flow',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos_dyn',
|
||||||
|
'frappy_psi.mercury.ValvePos',
|
||||||
|
'dynamic needle valve position',
|
||||||
|
slot='DB8.P1,DB4.G1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.ips_mercury.Field',
|
||||||
|
'magnetic field',
|
||||||
|
slot='GRPZ',
|
||||||
|
io='ips',
|
||||||
|
tolerance=0.001,
|
||||||
|
wait_stable_field=60.0,
|
||||||
|
target=Param(
|
||||||
|
max=11.0,
|
||||||
|
),
|
||||||
|
persistent_limit=11.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.mercury.HeLevel',
|
||||||
|
'LHe level',
|
||||||
|
slot='DB1.L1',
|
||||||
|
io='ips',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('n2lev',
|
||||||
|
'frappy_psi.mercury.N2Level',
|
||||||
|
'LN2 level',
|
||||||
|
slot='DB1.L1',
|
||||||
|
io='ips',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_neck1',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'neck heater 1 temperature',
|
||||||
|
output_module='htr_neck1',
|
||||||
|
slot='MB1.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_neck1',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'neck heater 1 power',
|
||||||
|
slot='MB0.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_neck2',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'neck heater 2 temperature',
|
||||||
|
output_module='htr_neck2',
|
||||||
|
slot='DB6.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_neck2',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'neck heater 2 power',
|
||||||
|
slot='DB1.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_nvs',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'static needle valve temperature',
|
||||||
|
output_module='htr_nvs',
|
||||||
|
slot='DB7.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_nvs',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'static needle valve heater power',
|
||||||
|
slot='DB2.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_nvd',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'dynamic needle valve heater temperature',
|
||||||
|
output_module='htr_nvd',
|
||||||
|
slot='DB8.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_nvd',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'dynamic needle valve heater power',
|
||||||
|
slot='DB3.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_coil',
|
||||||
|
'frappy_psi.mercury.TemperatureSensor',
|
||||||
|
'coil temperature',
|
||||||
|
slot='MB1.T1',
|
||||||
|
io='ips',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='mb11-ts.psi.ch:3004',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used for omega',
|
||||||
|
io='om_io',
|
||||||
|
target_min=-360,
|
||||||
|
target_max=360,
|
||||||
|
encoder_mode='NO',
|
||||||
|
target=Param(min=-360, max=360),
|
||||||
|
)
|
||||||
71
cfg/main/ori3_cfg.py
Normal file
71
cfg/main/ori3_cfg.py
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
Node('ori3.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 100 mm sample space',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ori3.config',
|
||||||
|
config='ori3.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nvflow',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
79
cfg/main/ori4_cfg.py
Normal file
79
cfg/main/ori4_cfg.py
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
Node('ori4.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 100 mm sample space (HRPT)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'SEA connection to ori4',
|
||||||
|
config='ori4.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('t',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tm',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
rel_paths=['tm'],
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nvmot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nvmot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
72
cfg/main/ori6_cfg.py
Normal file
72
cfg/main/ori6_cfg.py
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
Node('ori6.config.sea.psi.ch',
|
||||||
|
'orange cryostat with 100 mm sample space',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ori6.config',
|
||||||
|
config='ori6.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nvflow',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='table',
|
||||||
|
)
|
||||||
68
cfg/main/ori7_cfg.py
Normal file
68
cfg/main/ori7_cfg.py
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
Node('ori7.config.sea.psi.ch',
|
||||||
|
'''orange cryostat with 50 mm sample space for ULT''',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for ori7.config',
|
||||||
|
config = 'ori7.config',
|
||||||
|
service = 'main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'cc',
|
||||||
|
extra_modules=['h'],
|
||||||
|
visibility=2,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
single_module='cc.h',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'ln2fill',
|
||||||
|
)
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hefill',
|
||||||
|
)
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hepump',
|
||||||
|
)
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'hemot',
|
||||||
|
)
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'nvflow',
|
||||||
|
)
|
||||||
|
Mod('table',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io = 'sea_main',
|
||||||
|
sea_object = 'table',
|
||||||
|
)
|
||||||
16
cfg/main/rt_cfg.py
Normal file
16
cfg/main/rt_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('cfg/main/rt.cfg',
|
||||||
|
'room temperature HRPT (pt1000)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for rt.config',
|
||||||
|
config='rt.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
sea_object='tt',
|
||||||
|
io='sea_main',
|
||||||
|
)
|
||||||
28
cfg/main/smamor_cfg.py
Normal file
28
cfg/main/smamor_cfg.py
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
Node('smamor.config.sea.psi.ch',
|
||||||
|
'Keithley 2450 sourcemeter',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for smamor.config',
|
||||||
|
config='smamor.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('smi',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='smi',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('smv',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='smv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='r',
|
||||||
|
)
|
||||||
58
cfg/main/variox_cfg.py
Normal file
58
cfg/main/variox_cfg.py
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
Node('variox.config.sea.psi.ch',
|
||||||
|
'Variox cryostat with 50 mm sample space',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('sea_main',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'main sea connection for variox.config',
|
||||||
|
config='variox.config',
|
||||||
|
service='main',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='tt',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('cc',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='cc',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nv',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nv',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ln2fill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='ln2fill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hefill',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hefill',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hepump',
|
||||||
|
'frappy_psi.sea.SeaWritable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hepump',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('hemot',
|
||||||
|
'frappy_psi.sea.SeaDrivable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='hemot',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('nvflow',
|
||||||
|
'frappy_psi.sea.SeaReadable', '',
|
||||||
|
io='sea_main',
|
||||||
|
sea_object='nvflow',
|
||||||
|
)
|
||||||
183
cfg/main/varioxb_cfg.py
Normal file
183
cfg/main/varioxb_cfg.py
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
Node('varioxb.psi.ch',
|
||||||
|
'VarioxB - 100 mm cryostat (not tested!)',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('itc1',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'ITC for heat exchanger and pressures',
|
||||||
|
uri='mb11-ts:3001',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('itc2',
|
||||||
|
'frappy_psi.mercury.IO',
|
||||||
|
'ITC for neck and nv heaters',
|
||||||
|
uri='mb11-ts:3002',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_stat',
|
||||||
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
|
'static heat exchanger temperature',
|
||||||
|
output_module='htr_stat',
|
||||||
|
needle_valve='p_stat',
|
||||||
|
slot='DB6.T1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_stat',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'static heat exchanger heater',
|
||||||
|
slot='DB1.H1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_stat',
|
||||||
|
'frappy_psi.mercury.PressureLoop',
|
||||||
|
'static needle valve pressure',
|
||||||
|
output_module='pos_stat',
|
||||||
|
settling_time=60.0,
|
||||||
|
slot='DB5.P1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=1.0,
|
||||||
|
value=Param(
|
||||||
|
unit='mbar_flow',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos_stat',
|
||||||
|
'frappy_psi.mercury.ValvePos',
|
||||||
|
'static needle valve position',
|
||||||
|
slot='DB5.P1,DB3.G1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_dyn',
|
||||||
|
'frappy_psi.mercury.TemperatureAutoFlow',
|
||||||
|
'dynamic heat exchanger temperature',
|
||||||
|
output_module='htr_dyn',
|
||||||
|
needle_valve='p_dyn',
|
||||||
|
slot='DB7.T1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_dyn',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'dynamic heat exchanger heater',
|
||||||
|
slot='DB2.H1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('p_dyn',
|
||||||
|
'frappy_psi.mercury.PressureLoop',
|
||||||
|
'dynamic needle valve pressure',
|
||||||
|
output_module='pos_dyn',
|
||||||
|
settling_time=60.0,
|
||||||
|
slot='DB8.P1',
|
||||||
|
io='itc1',
|
||||||
|
tolerance=1.0,
|
||||||
|
value=Param(
|
||||||
|
unit='mbar_flow',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos_dyn',
|
||||||
|
'frappy_psi.mercury.ValvePos',
|
||||||
|
'dynamic needle valve position',
|
||||||
|
slot='DB8.P1,DB4.G1',
|
||||||
|
io='itc1',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.mercury.HeLevel',
|
||||||
|
'LHe level',
|
||||||
|
slot='DB1.L1',
|
||||||
|
io='ips',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('n2lev',
|
||||||
|
'frappy_psi.mercury.N2Level',
|
||||||
|
'LN2 level',
|
||||||
|
slot='DB1.L1',
|
||||||
|
io='ips',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_neck1',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'neck heater 1 temperature',
|
||||||
|
output_module='htr_neck1',
|
||||||
|
slot='MB1.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_neck1',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'neck heater 1 power',
|
||||||
|
slot='MB0.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_neck2',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'neck heater 2 temperature',
|
||||||
|
output_module='htr_neck2',
|
||||||
|
slot='DB6.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=1.0,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_neck2',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'neck heater 2 power',
|
||||||
|
slot='DB1.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_nvs',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'static needle valve temperature',
|
||||||
|
output_module='htr_nvs',
|
||||||
|
slot='DB7.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_nvs',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'static needle valve heater power',
|
||||||
|
slot='DB2.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T_nvd',
|
||||||
|
'frappy_psi.mercury.TemperatureLoop',
|
||||||
|
'dynamic needle valve heater temperature',
|
||||||
|
output_module='htr_nvd',
|
||||||
|
slot='DB8.T1',
|
||||||
|
io='itc2',
|
||||||
|
tolerance=0.1,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('htr_nvd',
|
||||||
|
'frappy_psi.mercury.HeaterOutput',
|
||||||
|
'dynamic needle valve heater power',
|
||||||
|
slot='DB3.H1',
|
||||||
|
io='itc2',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'dom motor IO',
|
||||||
|
uri='mb11-ts.psi.ch:3004',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('om',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'stick rotation, typically used for omega',
|
||||||
|
io='om_io',
|
||||||
|
target_min=-180,
|
||||||
|
target_max=360,
|
||||||
|
encoder_mode='NO',
|
||||||
|
target=Param(min=-180, max=360)
|
||||||
|
)
|
||||||
34
cfg/multimeter_cfg.py
Normal file
34
cfg/multimeter_cfg.py
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
Node('multimetertest.psi.ch',
|
||||||
|
'multimeter test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.HP.HP_IO',
|
||||||
|
'multimeter communication',
|
||||||
|
uri='/dev/cu.usbserial-21410',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Voltage',
|
||||||
|
'frappy_psi.HP.Voltage',
|
||||||
|
'voltage',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Current',
|
||||||
|
'frappy_psi.HP.Current',
|
||||||
|
'current',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Resistance',
|
||||||
|
'frappy_psi.HP.Resistance',
|
||||||
|
'resistivity',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('Frequency',
|
||||||
|
'frappy_psi.HP.Frequency',
|
||||||
|
'resistivity',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
import frappy.core as fc
|
|
||||||
|
|
||||||
Node('example_NA.psi.ch', 'A demo system showing how to connect network analysers', interface='tcp://5000')
|
|
||||||
|
|
||||||
Mod('ZVLNode', 'frappy_psi.network_analysers.ZVL.ZVLNode.ZVLNode', 'ZVL Network Analyser', analyser_ip=Param('169.254.150.182')) # must be connected on the same ethernet network
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
import frappy.core as fc
|
|
||||||
|
|
||||||
docstring = 'NMR pulse sequence.\
|
|
||||||
Each pulse ``block`` consists of first a pulse with parameters pulse_width (microseconds), pulse_height (amplitude; for the SCOUT, percentage of max), and phase_cycle, and then a delay with parameter delay_time (microseconds).\
|
|
||||||
\
|
|
||||||
Please use the custom commands, ``generate_pulse``, ``scan_sequence``, and ``scan_sequences``. There exist example scripts in your NICOS install location/nicos_sinq/tnmr/example_scripts.\
|
|
||||||
Durations are in microseconds, excepting post_acquisition_time (ms), and frequencies are in MHz.\
|
|
||||||
'
|
|
||||||
|
|
||||||
Node('example_TNMR.psi.ch', 'The NMR system running the Scout and controlled with TNMR', interface='tcp://5000')
|
|
||||||
|
|
||||||
Mod('daq_scout', 'frappy_psi.tnmr.TNMRModule.TNMRModule', 'Tecmag SCOUT-based NMR System')
|
|
||||||
|
|
||||||
print('TNMR Module loaded - please refer to https://www.psi.ch/en/lin/nmr-spectroscopy for help and documentation')
|
|
||||||
4
cfg/ori_cfg.py
Normal file
4
cfg/ori_cfg.py
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
Mod('seaconn',
|
||||||
|
'frappy_psi.sea.SeaClient',
|
||||||
|
'a SEA connection',
|
||||||
|
)
|
||||||
16
cfg/phoenix_cfg.py
Normal file
16
cfg/phoenix_cfg.py
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
Node('phoenixtest.psi.ch',
|
||||||
|
'phoenix test',
|
||||||
|
'tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('io',
|
||||||
|
'frappy_psi.haake.HaakeIO',
|
||||||
|
'connection for Thermo Haake',
|
||||||
|
uri='tcp://ldmprep7-ts:3005',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('T',
|
||||||
|
'frappy_psi.haake.TemperatureLoop',
|
||||||
|
'holder temperature',
|
||||||
|
io='io',
|
||||||
|
)
|
||||||
18
cfg/phytron_cfg.py
Normal file
18
cfg/phytron_cfg.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
Node('phytron_test.psi.ch',
|
||||||
|
'phytron motor test',
|
||||||
|
interface='tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('drv_io',
|
||||||
|
'frappy_psi.phytron.PhytronIO',
|
||||||
|
'',
|
||||||
|
uri='ma7-ts.psi.ch:3007',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('drv',
|
||||||
|
'frappy_psi.phytron.Motor',
|
||||||
|
'a phytron motor',
|
||||||
|
io='drv_io',
|
||||||
|
abslimits=(-180.0, 360.0),
|
||||||
|
encoder_mode='CHECK',
|
||||||
|
)
|
||||||
198
cfg/ppms2_cfg.py
Normal file
198
cfg/ppms2_cfg.py
Normal file
@@ -0,0 +1,198 @@
|
|||||||
|
# error creating module mf:
|
||||||
|
# Module mf needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module pos:
|
||||||
|
# Module pos needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module lev:
|
||||||
|
# Module lev needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module chamber:
|
||||||
|
# Module chamber needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module r1:
|
||||||
|
# Module r1 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module r2:
|
||||||
|
# Module r2 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module r3:
|
||||||
|
# Module r3 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module r4:
|
||||||
|
# Module r4 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module i1:
|
||||||
|
# Module i1 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module i2:
|
||||||
|
# Module i2 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module i3:
|
||||||
|
# Module i3 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module i4:
|
||||||
|
# Module i4 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module v1:
|
||||||
|
# Module v1 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module v2:
|
||||||
|
# Module v2 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module tv:
|
||||||
|
# Module tv needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module ts:
|
||||||
|
# Module ts needs a value for either 'uri' or 'io'
|
||||||
|
Node('PPMS.psi.ch',
|
||||||
|
'PPMS at PSI',
|
||||||
|
interface=5000,
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.ppms.Temp',
|
||||||
|
'main temperature',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.ppms.Field',
|
||||||
|
target=Param(
|
||||||
|
min=-9,
|
||||||
|
max=9,
|
||||||
|
),
|
||||||
|
description='magnetic field',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos',
|
||||||
|
'frappy_psi.ppms.Position',
|
||||||
|
description='sample rotator',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.ppms.Level',
|
||||||
|
description='helium level',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('chamber',
|
||||||
|
'frappy_psi.ppms.Chamber',
|
||||||
|
description='chamber state',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r1',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
description='resistivity channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r2',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
description='resistivity channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r3',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
description='resistivity channel 3',
|
||||||
|
no=3,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r4',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
description='resistivity channel 4',
|
||||||
|
no=4,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i1',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
description='current channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i2',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
description='current channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i3',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
description='current channel 3',
|
||||||
|
no=3,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i4',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
description='current channel 4',
|
||||||
|
no=4,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v1',
|
||||||
|
'frappy_psi.ppms.DriverChannel',
|
||||||
|
description='voltage channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='V',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v2',
|
||||||
|
'frappy_psi.ppms.DriverChannel',
|
||||||
|
description='voltage channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='V',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tv',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
description='VTI temperature',
|
||||||
|
enabled=1,
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
description='sample temperature',
|
||||||
|
enabled=1,
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ppms',
|
||||||
|
'frappy_psi.ppms.Main',
|
||||||
|
description='the main and poller module',
|
||||||
|
class_id='QD.MULTIVU.PPMS.1',
|
||||||
|
visibility='expert',
|
||||||
|
pollinterval=2.0,
|
||||||
|
)
|
||||||
166
cfg/ppmssim_cfg.py
Normal file
166
cfg/ppmssim_cfg.py
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
Node('PPMS.psi.ch',
|
||||||
|
'PPMS at PSI',
|
||||||
|
interface='tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.ppms.Temp',
|
||||||
|
'main temperature',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.ppms.Field',
|
||||||
|
'magnetic field',
|
||||||
|
target=Param(
|
||||||
|
min=-9.0,
|
||||||
|
max=9.0,
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos',
|
||||||
|
'frappy_psi.ppms.Position',
|
||||||
|
'sample rotator',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.ppms.Level',
|
||||||
|
'helium level',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('chamber',
|
||||||
|
'frappy_psi.ppms.Chamber',
|
||||||
|
'chamber state',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r1',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
'resistivity channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r2',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
'resistivity channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r3',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
'resistivity channel 3',
|
||||||
|
no=3,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r4',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
'resistivity channel 4',
|
||||||
|
no=4,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i1',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
'current channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i2',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
'current channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i3',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
'current channel 3',
|
||||||
|
no=3,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i4',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
'current channel 4',
|
||||||
|
no=4,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v1',
|
||||||
|
'frappy_psi.ppms.DriverChannel',
|
||||||
|
'voltage channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='V',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v2',
|
||||||
|
'frappy_psi.ppms.DriverChannel',
|
||||||
|
'voltage channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='V',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tv',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
'VTI temperature',
|
||||||
|
enabled=True,
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
'sample temperature',
|
||||||
|
enabled=True,
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ppms',
|
||||||
|
'frappy_psi.ppms.Main',
|
||||||
|
'the main and poller module',
|
||||||
|
class_id='QD.MULTIVU.PPMS.1',
|
||||||
|
visibility='expert',
|
||||||
|
pollinterval=2.0,
|
||||||
|
)
|
||||||
199
cfg/ppmswin_cfg.py
Normal file
199
cfg/ppmswin_cfg.py
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
# error creating module mf:
|
||||||
|
# Module mf needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module pos:
|
||||||
|
# Module pos needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module lev:
|
||||||
|
# Module lev needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module chamber:
|
||||||
|
# Module chamber needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module r1:
|
||||||
|
# Module r1 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module r2:
|
||||||
|
# Module r2 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module r3:
|
||||||
|
# Module r3 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module r4:
|
||||||
|
# Module r4 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module i1:
|
||||||
|
# Module i1 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module i2:
|
||||||
|
# Module i2 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module i3:
|
||||||
|
# Module i3 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module i4:
|
||||||
|
# Module i4 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module v1:
|
||||||
|
# Module v1 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module v2:
|
||||||
|
# Module v2 needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module tv:
|
||||||
|
# Module tv needs a value for either 'uri' or 'io'
|
||||||
|
# error creating module ts:
|
||||||
|
# Module ts needs a value for either 'uri' or 'io'
|
||||||
|
Node('PPMS.psi.ch',
|
||||||
|
'PPMS at PSI',
|
||||||
|
interface='tcp://5000',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tt',
|
||||||
|
'frappy_psi.ppms.Temp',
|
||||||
|
'main temperature',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('mf',
|
||||||
|
'frappy_psi.ppms.Field',
|
||||||
|
target=Param(
|
||||||
|
min=-9,
|
||||||
|
max=9,
|
||||||
|
),
|
||||||
|
description='magnetic field',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('pos',
|
||||||
|
'frappy_psi.ppms.Position',
|
||||||
|
description='sample rotator',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('lev',
|
||||||
|
'frappy_psi.ppms.Level',
|
||||||
|
description='helium level',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('chamber',
|
||||||
|
'frappy_psi.ppms.Chamber',
|
||||||
|
description='chamber state',
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r1',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
description='resistivity channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r2',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
description='resistivity channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r3',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
description='resistivity channel 3',
|
||||||
|
no=3,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('r4',
|
||||||
|
'frappy_psi.ppms.BridgeChannel',
|
||||||
|
description='resistivity channel 4',
|
||||||
|
no=4,
|
||||||
|
value=Param(
|
||||||
|
unit='Ohm',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i1',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
description='current channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i2',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
description='current channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i3',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
description='current channel 3',
|
||||||
|
no=3,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('i4',
|
||||||
|
'frappy_psi.ppms.Channel',
|
||||||
|
description='current channel 4',
|
||||||
|
no=4,
|
||||||
|
value=Param(
|
||||||
|
unit='uA',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v1',
|
||||||
|
'frappy_psi.ppms.DriverChannel',
|
||||||
|
description='voltage channel 1',
|
||||||
|
no=1,
|
||||||
|
value=Param(
|
||||||
|
unit='V',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('v2',
|
||||||
|
'frappy_psi.ppms.DriverChannel',
|
||||||
|
description='voltage channel 2',
|
||||||
|
no=2,
|
||||||
|
value=Param(
|
||||||
|
unit='V',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('tv',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
description='VTI temperature',
|
||||||
|
enabled=0,
|
||||||
|
linkenable='ts',
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ts',
|
||||||
|
'frappy_psi.ppms.UserChannel',
|
||||||
|
description='sample temperature',
|
||||||
|
enabled=0,
|
||||||
|
linkenable='tv',
|
||||||
|
value=Param(
|
||||||
|
unit='K',
|
||||||
|
),
|
||||||
|
io='ppms',
|
||||||
|
)
|
||||||
|
|
||||||
|
Mod('ppms',
|
||||||
|
'frappy_psi.ppms.Main',
|
||||||
|
description='the main and poller module',
|
||||||
|
class_id='QD.MULTIVU.PPMS.1',
|
||||||
|
pollinterval=2.0,
|
||||||
|
)
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
import frappy.core as fc
|
|
||||||
|
|
||||||
enabled_modules = [ 'TNMR', 'Razorbill', 'Capacitance', 'NetAnalyser' ] # default
|
|
||||||
#enabled_modules = [ 'Capacitance' ]
|
|
||||||
|
|
||||||
Node('uniaxial_nmr.psi.ch',
|
|
||||||
'The NMR system running the Scout and controlled with TNMR. Also contains a uniaxial cell (Razorbill RP100), a network analyser (ZVL), and a capacitance reader (for more direct measurements of the strain cell\'s status) (TSSOP16 with Arduino Nano V3)',
|
|
||||||
interface='tcp://5000')
|
|
||||||
|
|
||||||
# TNMR
|
|
||||||
if('TNMR' in enabled_modules):
|
|
||||||
Mod('tnmr_otf_module', 'frappy_psi.tnmr.OTFModule.ProgrammedSequence', 'NMR Sequence')
|
|
||||||
|
|
||||||
# Razorbill RP100
|
|
||||||
if('Razorbill' in enabled_modules):
|
|
||||||
Mod('io_razorbill',
|
|
||||||
'frappy_psi.uniaxial_cell.RP100.RP100IO',
|
|
||||||
'communication',
|
|
||||||
uri='serial://COM3?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
|
||||||
Mod('RP100Node_CH1', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH1)', channel=1, io='io_razorbill')
|
|
||||||
Mod('RP100Node_CH2', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH2)', channel=2, io='io_razorbill')
|
|
||||||
|
|
||||||
# Capacitance readings (TSSOP16 with Arduino Nano V3)
|
|
||||||
if('Capacitance' in enabled_modules):
|
|
||||||
Mod('io_capacitance',
|
|
||||||
'frappy_psi.capacitance_readings.TSSOP16.TSSOP16_IO',
|
|
||||||
'communication',
|
|
||||||
uri='serial://COM5?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
|
||||||
|
|
||||||
Mod('TSSOP16', 'frappy_psi.capacitance_readings.TSSOP16.TSSOP16', 'Capacitance-reading Arduino (with TSSOP16)', io='io_capacitance')
|
|
||||||
|
|
||||||
# ZVL Network Analyser
|
|
||||||
if('NetAnalyser' in enabled_modules):
|
|
||||||
Mod('ZVLNode', 'frappy_psi.network_analysers.ZVL.ZVLNode.ZVLNode', 'ZVL Network Analyser', analyser_ip=Param('129.129.156.201')) # must be connected on the same ethernet network
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
import frappy.core as fc
|
|
||||||
import serial
|
|
||||||
|
|
||||||
Node('example_RP100.psi.ch', 'A demo system showing how to connect the Razorbill PSU', interface='tcp://5000')
|
|
||||||
|
|
||||||
Mod('io1',
|
|
||||||
'frappy_psi.uniaxial_cell.RP100.RP100IO',
|
|
||||||
'communication',
|
|
||||||
uri='serial://COM10?baudrate=9600+bytesize=8+parity=none+stopbits=1')
|
|
||||||
|
|
||||||
Mod('RP100Node_CH1', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH1)', channel=1, io='io1')
|
|
||||||
Mod('RP100Node_CH2', 'frappy_psi.uniaxial_cell.RP100.VoltageChannel', 'Razorbill RP100 PSU (CH2)', channel=2, io='io1')
|
|
||||||
15
cfg/sea/ah2700.addon.json
Normal file
15
cfg/sea/ah2700.addon.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{"cap": {"base": "/cap", "params": [{"path": "", "type": "none", "kids": 8},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cap send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "cap", "type": "float"},
|
||||||
|
{"path": "loss", "type": "float"},
|
||||||
|
{"path": "period", "type": "float", "readonly": false, "cmd": "cap period"},
|
||||||
|
{"path": "freq", "type": "float", "readonly": false, "cmd": "cap freq"},
|
||||||
|
{"path": "V", "type": "float", "readonly": false, "cmd": "cap V"},
|
||||||
|
{"path": "average", "type": "int", "readonly": false, "cmd": "cap average"}]}, "capslope": {"base": "/capslope", "params": [{"path": "", "type": "float", "kids": 6},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "capslope send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "node", "type": "text", "readonly": false, "cmd": "capslope node"},
|
||||||
|
{"path": "unit", "type": "float", "readonly": false, "cmd": "capslope unit", "description": "unit=60: mainunits/minutes, unit=1: mainunits/sec"},
|
||||||
|
{"path": "ref", "type": "float", "readonly": false, "cmd": "capslope ref"},
|
||||||
|
{"path": "buffersize", "type": "float", "readonly": false, "cmd": "capslope buffersize"}]}}
|
||||||
19
cfg/sea/be-filter-boa.addon.json
Normal file
19
cfg/sea/be-filter-boa.addon.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{"befilter": {"base": "/befilter", "params": [
|
||||||
|
{"path": "", "type": "float", "kids": 12},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "befilter send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "cool", "type": "enum", "enum": {"on": 0, "off": 1}, "readonly": false, "cmd": "befilter cool"},
|
||||||
|
{"path": "control", "type": "enum", "enum": {"auto_power": 1, "manual_power": 0, "controlled_T": 2}, "readonly": false, "cmd": "befilter control", "description": "recommended mode: auto_power, use coolpower or holdpower depending on T"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "befilter set"},
|
||||||
|
{"path": "setpower", "type": "float", "readonly": false, "cmd": "befilter setpower", "visibility": 3},
|
||||||
|
{"path": "coolpower", "type": "float", "readonly": false, "cmd": "befilter coolpower", "visibility": 3},
|
||||||
|
{"path": "holdpower", "type": "float", "readonly": false, "cmd": "befilter holdpower", "visibility": 3},
|
||||||
|
{"path": "cool_threshold", "type": "float", "readonly": false, "cmd": "befilter cool_threshold", "description": "switch to coolpower above this value", "visibility": 3},
|
||||||
|
{"path": "hold_threshold", "type": "float", "readonly": false, "cmd": "befilter hold_threshold", "description": "switch to holdpower below this value", "visibility": 3},
|
||||||
|
{"path": "power", "type": "float"},
|
||||||
|
{"path": "filter", "type": "none", "kids": 5},
|
||||||
|
{"path": "filter/period", "type": "float", "readonly": false, "cmd": "befilter filter/period", "description": "oszillation period / sec"},
|
||||||
|
{"path": "filter/amplitude", "type": "float", "readonly": false, "cmd": "befilter filter/amplitude", "description": "oszillation amplitude / K (+/-)"},
|
||||||
|
{"path": "filter/precision", "type": "float", "readonly": false, "cmd": "befilter filter/precision"},
|
||||||
|
{"path": "filter/raw", "type": "float"},
|
||||||
|
{"path": "filter/intdif", "type": "float"}]}}
|
||||||
41
cfg/sea/camea-be-filter.addon.json
Normal file
41
cfg/sea/camea-be-filter.addon.json
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
{"t_be_filter": {"base": "/t_be_filter", "params": [
|
||||||
|
{"path": "", "type": "none", "kids": 11},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "t_be_filter send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "a", "type": "float", "kids": 4},
|
||||||
|
{"path": "a/curve", "type": "text", "readonly": false, "cmd": "t_be_filter a/curve", "kids": 1},
|
||||||
|
{"path": "a/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter a/curve/points", "visibility": 3},
|
||||||
|
{"path": "a/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter a/alarm"},
|
||||||
|
{"path": "a/stddev", "type": "float"},
|
||||||
|
{"path": "a/raw", "type": "float"},
|
||||||
|
{"path": "b", "type": "float", "kids": 4},
|
||||||
|
{"path": "b/curve", "type": "text", "readonly": false, "cmd": "t_be_filter b/curve", "kids": 1},
|
||||||
|
{"path": "b/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter b/curve/points", "visibility": 3},
|
||||||
|
{"path": "b/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter b/alarm"},
|
||||||
|
{"path": "b/stddev", "type": "float"},
|
||||||
|
{"path": "b/raw", "type": "float"},
|
||||||
|
{"path": "c", "type": "float", "kids": 4},
|
||||||
|
{"path": "c/curve", "type": "text", "readonly": false, "cmd": "t_be_filter c/curve", "kids": 1},
|
||||||
|
{"path": "c/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter c/curve/points", "visibility": 3},
|
||||||
|
{"path": "c/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter c/alarm"},
|
||||||
|
{"path": "c/stddev", "type": "float"},
|
||||||
|
{"path": "c/raw", "type": "float"},
|
||||||
|
{"path": "d", "type": "float", "kids": 4},
|
||||||
|
{"path": "d/curve", "type": "text", "readonly": false, "cmd": "t_be_filter d/curve", "kids": 1},
|
||||||
|
{"path": "d/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter d/curve/points", "visibility": 3},
|
||||||
|
{"path": "d/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter d/alarm"},
|
||||||
|
{"path": "d/stddev", "type": "float"},
|
||||||
|
{"path": "d/raw", "type": "float"},
|
||||||
|
{"path": "det", "type": "float", "kids": 4},
|
||||||
|
{"path": "det/curve", "type": "text", "readonly": false, "cmd": "t_be_filter det/curve", "kids": 1},
|
||||||
|
{"path": "det/curve/points", "type": "floatvarar", "readonly": false, "cmd": "t_be_filter det/curve/points", "visibility": 3},
|
||||||
|
{"path": "det/alarm", "type": "float", "readonly": false, "cmd": "t_be_filter det/alarm"},
|
||||||
|
{"path": "det/stddev", "type": "float"},
|
||||||
|
{"path": "det/raw", "type": "float"},
|
||||||
|
{"path": "display", "type": "text", "readonly": false, "cmd": "t_be_filter display"},
|
||||||
|
{"path": "relay1", "type": "text", "readonly": false, "cmd": "t_be_filter relay1", "description": "may be 0,1,A,B,C,D for on,off or alarm channel"},
|
||||||
|
{"path": "relay2", "type": "text", "readonly": false, "cmd": "t_be_filter relay2", "description": "may be 0,1,A,B,C,D for on,off or alarm channel"},
|
||||||
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
|
"addonlock_camea-be-filter": {"base": "/addonlock_camea-be-filter", "params": [
|
||||||
|
{"path": "", "type": "text", "readonly": false, "cmd": "addonlock_camea-be-filter = "}]}}
|
||||||
155
cfg/sea/ccr2.config.json
Normal file
155
cfg/sea/ccr2.config.json
Normal file
@@ -0,0 +1,155 @@
|
|||||||
|
{"tt": {"base": "/tt", "params": [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 17},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||||
|
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||||
|
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/n", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "visibility": 3, "kids": 9},
|
||||||
|
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift", "visibility": 3},
|
||||||
|
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_up", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_lo", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_min", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_max", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo", "visibility": 3},
|
||||||
|
{"path": "tm", "type": "float", "kids": 4},
|
||||||
|
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||||
|
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||||
|
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||||
|
{"path": "tm/stddev", "type": "float"},
|
||||||
|
{"path": "tm/raw", "type": "float"},
|
||||||
|
{"path": "te", "type": "float", "kids": 4},
|
||||||
|
{"path": "te/curve", "type": "text", "readonly": false, "cmd": "tt te/curve", "kids": 1},
|
||||||
|
{"path": "te/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt te/curve/points", "visibility": 3},
|
||||||
|
{"path": "te/alarm", "type": "float", "readonly": false, "cmd": "tt te/alarm"},
|
||||||
|
{"path": "te/stddev", "type": "float"},
|
||||||
|
{"path": "te/raw", "type": "float"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||||
|
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||||
|
{"path": "set/reg", "type": "float"},
|
||||||
|
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||||
|
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||||
|
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||||
|
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||||
|
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||||
|
{"path": "set/power", "type": "float"},
|
||||||
|
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
|
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
||||||
|
{"path": "dinp", "type": "int"},
|
||||||
|
{"path": "remote", "type": "bool"}]}, "cc": {"base": "/cc", "params": [{"path": "", "type": "bool", "kids": 96},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||||
|
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||||
|
{"path": "f", "type": "float"},
|
||||||
|
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs"},
|
||||||
|
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||||
|
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||||
|
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa"},
|
||||||
|
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp"},
|
||||||
|
{"path": "msp", "type": "float"},
|
||||||
|
{"path": "mmp", "type": "float"},
|
||||||
|
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc"},
|
||||||
|
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc"},
|
||||||
|
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc"},
|
||||||
|
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc"},
|
||||||
|
{"path": "mtl", "type": "float"},
|
||||||
|
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft"},
|
||||||
|
{"path": "mt", "type": "float"},
|
||||||
|
{"path": "mo", "type": "float"},
|
||||||
|
{"path": "mcr", "type": "float"},
|
||||||
|
{"path": "mot", "type": "float"},
|
||||||
|
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open"},
|
||||||
|
{"path": "hav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc hav"},
|
||||||
|
{"path": "h", "type": "float"},
|
||||||
|
{"path": "hr", "type": "float"},
|
||||||
|
{"path": "hc", "type": "float"},
|
||||||
|
{"path": "hu", "type": "float"},
|
||||||
|
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh"},
|
||||||
|
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl"},
|
||||||
|
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode"},
|
||||||
|
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode"},
|
||||||
|
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd"},
|
||||||
|
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr"},
|
||||||
|
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd"},
|
||||||
|
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}},
|
||||||
|
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha"},
|
||||||
|
{"path": "hm", "type": "bool"},
|
||||||
|
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf"},
|
||||||
|
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe"},
|
||||||
|
{"path": "hmf", "type": "float"},
|
||||||
|
{"path": "hms", "type": "float"},
|
||||||
|
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit"},
|
||||||
|
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft"},
|
||||||
|
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "cc hea"},
|
||||||
|
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch"},
|
||||||
|
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0"},
|
||||||
|
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)"},
|
||||||
|
{"path": "h0", "type": "float"},
|
||||||
|
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h1", "type": "float"},
|
||||||
|
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h2", "type": "float"},
|
||||||
|
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h3", "type": "float"},
|
||||||
|
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h4", "type": "float"},
|
||||||
|
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h5", "type": "float"},
|
||||||
|
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "hfb", "type": "float"},
|
||||||
|
{"path": "nav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc nav"},
|
||||||
|
{"path": "nu", "type": "float"},
|
||||||
|
{"path": "nl", "type": "float"},
|
||||||
|
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth"},
|
||||||
|
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc"},
|
||||||
|
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm"},
|
||||||
|
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}},
|
||||||
|
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na"},
|
||||||
|
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||||
|
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc"},
|
||||||
|
{"path": "nfb", "type": "float"},
|
||||||
|
{"path": "cda", "type": "float"},
|
||||||
|
{"path": "cdb", "type": "float"},
|
||||||
|
{"path": "cba", "type": "float"},
|
||||||
|
{"path": "cbb", "type": "float"},
|
||||||
|
{"path": "cvs", "type": "int"},
|
||||||
|
{"path": "csp", "type": "int"},
|
||||||
|
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||||
|
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||||
|
{"path": "cin", "type": "text"},
|
||||||
|
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||||
|
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||||
|
{"path": "tc", "type": "float"},
|
||||||
|
{"path": "tn", "type": "float"},
|
||||||
|
{"path": "th", "type": "float"},
|
||||||
|
{"path": "tf", "type": "float"},
|
||||||
|
{"path": "tm", "type": "float"},
|
||||||
|
{"path": "tv", "type": "float"},
|
||||||
|
{"path": "tq", "type": "float"},
|
||||||
|
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]}}
|
||||||
169
cfg/sea/ccr2ht.config.json
Normal file
169
cfg/sea/ccr2ht.config.json
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
{"tt": {"base": "/tt", "params": [{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 18},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||||
|
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||||
|
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/n", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "visibility": 3, "kids": 9},
|
||||||
|
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift", "visibility": 3},
|
||||||
|
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_up", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_lo", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_min", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_max", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo", "visibility": 3},
|
||||||
|
{"path": "tm", "type": "float", "kids": 4},
|
||||||
|
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||||
|
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||||
|
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||||
|
{"path": "tm/stddev", "type": "float"},
|
||||||
|
{"path": "tm/raw", "type": "float"},
|
||||||
|
{"path": "te", "type": "float", "kids": 4},
|
||||||
|
{"path": "te/curve", "type": "text", "readonly": false, "cmd": "tt te/curve", "kids": 1},
|
||||||
|
{"path": "te/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt te/curve/points", "visibility": 3},
|
||||||
|
{"path": "te/alarm", "type": "float", "readonly": false, "cmd": "tt te/alarm"},
|
||||||
|
{"path": "te/stddev", "type": "float"},
|
||||||
|
{"path": "te/raw", "type": "float"},
|
||||||
|
{"path": "tk", "type": "float", "kids": 4},
|
||||||
|
{"path": "tk/curve", "type": "text", "readonly": false, "cmd": "tt tk/curve", "kids": 1},
|
||||||
|
{"path": "tk/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tk/curve/points", "visibility": 3},
|
||||||
|
{"path": "tk/alarm", "type": "float", "readonly": false, "cmd": "tt tk/alarm"},
|
||||||
|
{"path": "tk/stddev", "type": "float"},
|
||||||
|
{"path": "tk/raw", "type": "float"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||||
|
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||||
|
{"path": "set/reg", "type": "float"},
|
||||||
|
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||||
|
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||||
|
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||||
|
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||||
|
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||||
|
{"path": "set/power", "type": "float"},
|
||||||
|
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
|
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
||||||
|
{"path": "dinp", "type": "int"},
|
||||||
|
{"path": "remote", "type": "bool"}]}, "cc": {"base": "/cc", "params": [{"path": "", "type": "bool", "kids": 96},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||||
|
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||||
|
{"path": "f", "type": "float"},
|
||||||
|
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs"},
|
||||||
|
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||||
|
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||||
|
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa"},
|
||||||
|
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp"},
|
||||||
|
{"path": "msp", "type": "float"},
|
||||||
|
{"path": "mmp", "type": "float"},
|
||||||
|
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc"},
|
||||||
|
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc"},
|
||||||
|
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc"},
|
||||||
|
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc"},
|
||||||
|
{"path": "mtl", "type": "float"},
|
||||||
|
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft"},
|
||||||
|
{"path": "mt", "type": "float"},
|
||||||
|
{"path": "mo", "type": "float"},
|
||||||
|
{"path": "mcr", "type": "float"},
|
||||||
|
{"path": "mot", "type": "float"},
|
||||||
|
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open"},
|
||||||
|
{"path": "hav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc hav"},
|
||||||
|
{"path": "h", "type": "float"},
|
||||||
|
{"path": "hr", "type": "float"},
|
||||||
|
{"path": "hc", "type": "float"},
|
||||||
|
{"path": "hu", "type": "float"},
|
||||||
|
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh"},
|
||||||
|
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl"},
|
||||||
|
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode"},
|
||||||
|
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode"},
|
||||||
|
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd"},
|
||||||
|
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr"},
|
||||||
|
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd"},
|
||||||
|
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}},
|
||||||
|
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha"},
|
||||||
|
{"path": "hm", "type": "bool"},
|
||||||
|
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf"},
|
||||||
|
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe"},
|
||||||
|
{"path": "hmf", "type": "float"},
|
||||||
|
{"path": "hms", "type": "float"},
|
||||||
|
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit"},
|
||||||
|
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft"},
|
||||||
|
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "cc hea"},
|
||||||
|
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch"},
|
||||||
|
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0"},
|
||||||
|
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)"},
|
||||||
|
{"path": "h0", "type": "float"},
|
||||||
|
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h1", "type": "float"},
|
||||||
|
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h2", "type": "float"},
|
||||||
|
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h3", "type": "float"},
|
||||||
|
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h4", "type": "float"},
|
||||||
|
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h5", "type": "float"},
|
||||||
|
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "hfb", "type": "float"},
|
||||||
|
{"path": "nav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc nav"},
|
||||||
|
{"path": "nu", "type": "float"},
|
||||||
|
{"path": "nl", "type": "float"},
|
||||||
|
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth"},
|
||||||
|
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc"},
|
||||||
|
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm"},
|
||||||
|
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}},
|
||||||
|
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na"},
|
||||||
|
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||||
|
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc"},
|
||||||
|
{"path": "nfb", "type": "float"},
|
||||||
|
{"path": "cda", "type": "float"},
|
||||||
|
{"path": "cdb", "type": "float"},
|
||||||
|
{"path": "cba", "type": "float"},
|
||||||
|
{"path": "cbb", "type": "float"},
|
||||||
|
{"path": "cvs", "type": "int"},
|
||||||
|
{"path": "csp", "type": "int"},
|
||||||
|
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||||
|
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||||
|
{"path": "cin", "type": "text"},
|
||||||
|
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||||
|
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||||
|
{"path": "tc", "type": "float"},
|
||||||
|
{"path": "tn", "type": "float"},
|
||||||
|
{"path": "th", "type": "float"},
|
||||||
|
{"path": "tf", "type": "float"},
|
||||||
|
{"path": "tm", "type": "float"},
|
||||||
|
{"path": "tv", "type": "float"},
|
||||||
|
{"path": "tq", "type": "float"},
|
||||||
|
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]}, "table": {"base": "/table", "params": [{"path": "", "type": "none", "kids": 8},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "table send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "fix_tt_set_prop", "type": "bool", "readonly": false, "cmd": "table fix_tt_set_prop"},
|
||||||
|
{"path": "val_tt_set_prop", "type": "float"},
|
||||||
|
{"path": "tbl_tt_set_prop", "type": "text", "readonly": false, "cmd": "table tbl_tt_set_prop", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."},
|
||||||
|
{"path": "fix_tt_set_integ", "type": "bool", "readonly": false, "cmd": "table fix_tt_set_integ"},
|
||||||
|
{"path": "val_tt_set_integ", "type": "float"},
|
||||||
|
{"path": "tbl_tt_set_integ", "type": "text", "readonly": false, "cmd": "table tbl_tt_set_integ", "description": "enter value pair separated with colon T1:par1 T2:par2 ..."}]}}
|
||||||
160
cfg/sea/ccr3.config.json
Normal file
160
cfg/sea/ccr3.config.json
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
{"tt": {"base": "/tt", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 18},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||||
|
{"path": "mainloop", "type": "text", "readonly": false, "cmd": "tt mainloop", "visibility": 3},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||||
|
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||||
|
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/n", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "visibility": 3, "kids": 9},
|
||||||
|
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift", "visibility": 3},
|
||||||
|
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_up", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_lo", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_min", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_max", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo", "visibility": 3},
|
||||||
|
{"path": "tm", "type": "float", "kids": 4},
|
||||||
|
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||||
|
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||||
|
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||||
|
{"path": "tm/stddev", "type": "float"},
|
||||||
|
{"path": "tm/raw", "type": "float"},
|
||||||
|
{"path": "te", "type": "float", "kids": 4},
|
||||||
|
{"path": "te/curve", "type": "text", "readonly": false, "cmd": "tt te/curve", "kids": 1},
|
||||||
|
{"path": "te/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt te/curve/points", "visibility": 3},
|
||||||
|
{"path": "te/alarm", "type": "float", "readonly": false, "cmd": "tt te/alarm"},
|
||||||
|
{"path": "te/stddev", "type": "float"},
|
||||||
|
{"path": "te/raw", "type": "float"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||||
|
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||||
|
{"path": "set/reg", "type": "float"},
|
||||||
|
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||||
|
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||||
|
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||||
|
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||||
|
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||||
|
{"path": "set/power", "type": "float"},
|
||||||
|
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
|
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
||||||
|
{"path": "dinp", "type": "int"},
|
||||||
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
|
"cc": {"base": "/cc", "params": [
|
||||||
|
{"path": "", "type": "bool", "kids": 96},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||||
|
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||||
|
{"path": "f", "type": "float"},
|
||||||
|
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs"},
|
||||||
|
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||||
|
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||||
|
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa"},
|
||||||
|
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp"},
|
||||||
|
{"path": "msp", "type": "float"},
|
||||||
|
{"path": "mmp", "type": "float"},
|
||||||
|
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc"},
|
||||||
|
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc"},
|
||||||
|
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc"},
|
||||||
|
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc"},
|
||||||
|
{"path": "mtl", "type": "float"},
|
||||||
|
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft"},
|
||||||
|
{"path": "mt", "type": "float"},
|
||||||
|
{"path": "mo", "type": "float"},
|
||||||
|
{"path": "mcr", "type": "float"},
|
||||||
|
{"path": "mot", "type": "float"},
|
||||||
|
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open"},
|
||||||
|
{"path": "hav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc hav"},
|
||||||
|
{"path": "h", "type": "float"},
|
||||||
|
{"path": "hr", "type": "float"},
|
||||||
|
{"path": "hc", "type": "float"},
|
||||||
|
{"path": "hu", "type": "float"},
|
||||||
|
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh"},
|
||||||
|
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl"},
|
||||||
|
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode"},
|
||||||
|
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode"},
|
||||||
|
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd"},
|
||||||
|
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr"},
|
||||||
|
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd"},
|
||||||
|
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}},
|
||||||
|
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha"},
|
||||||
|
{"path": "hm", "type": "bool"},
|
||||||
|
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf"},
|
||||||
|
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe"},
|
||||||
|
{"path": "hmf", "type": "float"},
|
||||||
|
{"path": "hms", "type": "float"},
|
||||||
|
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit"},
|
||||||
|
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft"},
|
||||||
|
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "cc hea"},
|
||||||
|
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch"},
|
||||||
|
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0"},
|
||||||
|
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)"},
|
||||||
|
{"path": "h0", "type": "float"},
|
||||||
|
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h1", "type": "float"},
|
||||||
|
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h2", "type": "float"},
|
||||||
|
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h3", "type": "float"},
|
||||||
|
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h4", "type": "float"},
|
||||||
|
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h5", "type": "float"},
|
||||||
|
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "hfb", "type": "float"},
|
||||||
|
{"path": "nav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc nav"},
|
||||||
|
{"path": "nu", "type": "float"},
|
||||||
|
{"path": "nl", "type": "float"},
|
||||||
|
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth"},
|
||||||
|
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc"},
|
||||||
|
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm"},
|
||||||
|
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}},
|
||||||
|
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na"},
|
||||||
|
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||||
|
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc"},
|
||||||
|
{"path": "nfb", "type": "float"},
|
||||||
|
{"path": "cda", "type": "float"},
|
||||||
|
{"path": "cdb", "type": "float"},
|
||||||
|
{"path": "cba", "type": "float"},
|
||||||
|
{"path": "cbb", "type": "float"},
|
||||||
|
{"path": "cvs", "type": "int"},
|
||||||
|
{"path": "csp", "type": "int"},
|
||||||
|
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||||
|
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||||
|
{"path": "cin", "type": "text"},
|
||||||
|
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||||
|
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||||
|
{"path": "tc", "type": "float"},
|
||||||
|
{"path": "tn", "type": "float"},
|
||||||
|
{"path": "th", "type": "float"},
|
||||||
|
{"path": "tf", "type": "float"},
|
||||||
|
{"path": "tm", "type": "float"},
|
||||||
|
{"path": "tv", "type": "float"},
|
||||||
|
{"path": "tq", "type": "float"},
|
||||||
|
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]}}
|
||||||
328
cfg/sea/ccrpe.config.json
Normal file
328
cfg/sea/ccrpe.config.json
Normal file
@@ -0,0 +1,328 @@
|
|||||||
|
{"tt": {"base": "/tt", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 18},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||||
|
{"path": "mainloop", "type": "text", "readonly": false, "cmd": "tt mainloop", "visibility": 3},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||||
|
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||||
|
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/n", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "kids": 9},
|
||||||
|
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift"},
|
||||||
|
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode"},
|
||||||
|
{"path": "dblctrl/shift_up", "type": "float"},
|
||||||
|
{"path": "dblctrl/shift_lo", "type": "float"},
|
||||||
|
{"path": "dblctrl/t_min", "type": "float"},
|
||||||
|
{"path": "dblctrl/t_max", "type": "float"},
|
||||||
|
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2"},
|
||||||
|
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up"},
|
||||||
|
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo"},
|
||||||
|
{"path": "tm", "type": "float", "kids": 4},
|
||||||
|
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||||
|
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||||
|
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||||
|
{"path": "tm/stddev", "type": "float"},
|
||||||
|
{"path": "tm/raw", "type": "float"},
|
||||||
|
{"path": "ts", "type": "float", "kids": 4},
|
||||||
|
{"path": "ts/curve", "type": "text", "readonly": false, "cmd": "tt ts/curve", "kids": 1},
|
||||||
|
{"path": "ts/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts/curve/points", "visibility": 3},
|
||||||
|
{"path": "ts/alarm", "type": "float", "readonly": false, "cmd": "tt ts/alarm"},
|
||||||
|
{"path": "ts/stddev", "type": "float"},
|
||||||
|
{"path": "ts/raw", "type": "float"},
|
||||||
|
{"path": "te", "type": "float", "kids": 4},
|
||||||
|
{"path": "te/curve", "type": "text", "readonly": false, "cmd": "tt te/curve", "kids": 1},
|
||||||
|
{"path": "te/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt te/curve/points", "visibility": 3},
|
||||||
|
{"path": "te/alarm", "type": "float", "readonly": false, "cmd": "tt te/alarm"},
|
||||||
|
{"path": "te/stddev", "type": "float"},
|
||||||
|
{"path": "te/raw", "type": "float"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||||
|
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||||
|
{"path": "set/reg", "type": "float"},
|
||||||
|
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||||
|
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||||
|
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||||
|
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||||
|
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||||
|
{"path": "set/power", "type": "float"},
|
||||||
|
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
|
{"path": "current", "type": "float", "readonly": false, "cmd": "tt current", "kids": 18},
|
||||||
|
{"path": "current/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt current/mode"},
|
||||||
|
{"path": "current/reg", "type": "float"},
|
||||||
|
{"path": "current/ramp", "type": "float", "readonly": false, "cmd": "tt current/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "current/wramp", "type": "float", "readonly": false, "cmd": "tt current/wramp"},
|
||||||
|
{"path": "current/smooth", "type": "float", "readonly": false, "cmd": "tt current/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "current/channel", "type": "text", "readonly": false, "cmd": "tt current/channel"},
|
||||||
|
{"path": "current/limit", "type": "float", "readonly": false, "cmd": "tt current/limit"},
|
||||||
|
{"path": "current/resist", "type": "float", "readonly": false, "cmd": "tt current/resist"},
|
||||||
|
{"path": "current/maxheater", "type": "text", "readonly": false, "cmd": "tt current/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "current/linearpower", "type": "float", "readonly": false, "cmd": "tt current/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "current/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "current/maxpower", "type": "float", "readonly": false, "cmd": "tt current/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "current/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "current/manualpower", "type": "float", "readonly": false, "cmd": "tt current/manualpower"},
|
||||||
|
{"path": "current/power", "type": "float"},
|
||||||
|
{"path": "current/prop", "type": "float", "readonly": false, "cmd": "tt current/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "current/integ", "type": "float", "readonly": false, "cmd": "tt current/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "current/deriv", "type": "float", "readonly": false, "cmd": "tt current/deriv"},
|
||||||
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
|
"cc": {"base": "/cc", "params": [
|
||||||
|
{"path": "", "type": "bool", "kids": 96},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||||
|
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||||
|
{"path": "f", "type": "float"},
|
||||||
|
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs"},
|
||||||
|
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||||
|
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||||
|
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa"},
|
||||||
|
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp"},
|
||||||
|
{"path": "msp", "type": "float"},
|
||||||
|
{"path": "mmp", "type": "float"},
|
||||||
|
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc"},
|
||||||
|
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc"},
|
||||||
|
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc"},
|
||||||
|
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc"},
|
||||||
|
{"path": "mtl", "type": "float"},
|
||||||
|
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft"},
|
||||||
|
{"path": "mt", "type": "float"},
|
||||||
|
{"path": "mo", "type": "float"},
|
||||||
|
{"path": "mcr", "type": "float"},
|
||||||
|
{"path": "mot", "type": "float"},
|
||||||
|
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open"},
|
||||||
|
{"path": "hav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc hav"},
|
||||||
|
{"path": "h", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hr", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hc", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hu", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh", "visibility": 3},
|
||||||
|
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl", "visibility": 3},
|
||||||
|
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode", "visibility": 3},
|
||||||
|
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode", "visibility": 3},
|
||||||
|
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd", "visibility": 3},
|
||||||
|
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr", "visibility": 3},
|
||||||
|
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||||
|
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||||
|
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd", "visibility": 3},
|
||||||
|
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}, "visibility": 3},
|
||||||
|
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha", "visibility": 3},
|
||||||
|
{"path": "hm", "type": "bool", "visibility": 3},
|
||||||
|
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf", "visibility": 3},
|
||||||
|
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe", "visibility": 3},
|
||||||
|
{"path": "hmf", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hms", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit", "visibility": 3},
|
||||||
|
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft", "visibility": 3},
|
||||||
|
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 6}, "readonly": false, "cmd": "cc hea"},
|
||||||
|
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch"},
|
||||||
|
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0"},
|
||||||
|
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)"},
|
||||||
|
{"path": "h0", "type": "float"},
|
||||||
|
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h1", "type": "float"},
|
||||||
|
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h2", "type": "float"},
|
||||||
|
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h3", "type": "float"},
|
||||||
|
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h4", "type": "float"},
|
||||||
|
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h5", "type": "float"},
|
||||||
|
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "hfb", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc nav"},
|
||||||
|
{"path": "nu", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nl", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth", "visibility": 3},
|
||||||
|
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc", "visibility": 3},
|
||||||
|
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm", "visibility": 3},
|
||||||
|
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}, "visibility": 3},
|
||||||
|
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na", "visibility": 3},
|
||||||
|
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}, "visibility": 3},
|
||||||
|
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc", "visibility": 3},
|
||||||
|
{"path": "nfb", "type": "float", "visibility": 3},
|
||||||
|
{"path": "cda", "type": "float"},
|
||||||
|
{"path": "cdb", "type": "float"},
|
||||||
|
{"path": "cba", "type": "float"},
|
||||||
|
{"path": "cbb", "type": "float"},
|
||||||
|
{"path": "cvs", "type": "int"},
|
||||||
|
{"path": "csp", "type": "int"},
|
||||||
|
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||||
|
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||||
|
{"path": "cin", "type": "text"},
|
||||||
|
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||||
|
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||||
|
{"path": "tc", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tn", "type": "float", "visibility": 3},
|
||||||
|
{"path": "th", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tf", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tm", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tv", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tq", "type": "float", "visibility": 3},
|
||||||
|
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]},
|
||||||
|
|
||||||
|
"nv": {"base": "/nv", "params": [
|
||||||
|
{"path": "", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "close": 3, "open": 4}, "readonly": false, "cmd": "nv", "kids": 11},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "nv send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "motstat", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||||
|
{"path": "flow", "type": "float"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "nv set"},
|
||||||
|
{"path": "flowmax", "type": "float", "readonly": false, "cmd": "nv flowmax"},
|
||||||
|
{"path": "flowp", "type": "float"},
|
||||||
|
{"path": "span", "type": "float"},
|
||||||
|
{"path": "ctrl", "type": "none", "kids": 13},
|
||||||
|
{"path": "ctrl/regtext", "type": "text"},
|
||||||
|
{"path": "ctrl/prop_o", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_o", "description": "prop [sec/mbar] when opening. above 4 mbar a 10 times lower value is used"},
|
||||||
|
{"path": "ctrl/prop_c", "type": "float", "readonly": false, "cmd": "nv ctrl/prop_c", "description": "prop [sec/mbar] when closing. above 4 mbar a 10 times lower value is used"},
|
||||||
|
{"path": "ctrl/deriv_o", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_o", "description": "convergence target time [sec] when opening"},
|
||||||
|
{"path": "ctrl/deriv_c", "type": "float", "readonly": false, "cmd": "nv ctrl/deriv_c", "description": "convergence target time [sec] when closing"},
|
||||||
|
{"path": "ctrl/minpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_o", "description": "minimum close pulse [sec]"},
|
||||||
|
{"path": "ctrl/minpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/minpulse_c", "description": "standard close pulse [sec]"},
|
||||||
|
{"path": "ctrl/hystpulse_o", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_o", "description": "motor pulse to overcome hysteresis when opening"},
|
||||||
|
{"path": "ctrl/hystpulse_c", "type": "float", "readonly": false, "cmd": "nv ctrl/hystpulse_c", "description": "motor pulse to overcome hysteresis when closing"},
|
||||||
|
{"path": "ctrl/tol", "type": "float", "readonly": false, "cmd": "nv ctrl/tol", "description": "valid below 3 mbar"},
|
||||||
|
{"path": "ctrl/tolhigh", "type": "float", "readonly": false, "cmd": "nv ctrl/tolhigh", "description": "valid above 4 mbar"},
|
||||||
|
{"path": "ctrl/openpulse", "type": "float", "readonly": false, "cmd": "nv ctrl/openpulse", "description": "time to open from completely closed to a significant opening"},
|
||||||
|
{"path": "ctrl/adjust_minpulse", "type": "bool", "readonly": false, "cmd": "nv ctrl/adjust_minpulse", "description": "adjust minpulse automatically"},
|
||||||
|
{"path": "autoflow", "type": "none", "kids": 24},
|
||||||
|
{"path": "autoflow/suspended", "type": "bool", "readonly": false, "cmd": "nv autoflow/suspended"},
|
||||||
|
{"path": "autoflow/prop", "type": "float", "readonly": false, "cmd": "nv autoflow/prop"},
|
||||||
|
{"path": "autoflow/flowstd", "type": "float", "readonly": false, "cmd": "nv autoflow/flowstd"},
|
||||||
|
{"path": "autoflow/flowlim", "type": "float", "readonly": false, "cmd": "nv autoflow/flowlim"},
|
||||||
|
{"path": "autoflow/smooth", "type": "float", "readonly": false, "cmd": "nv autoflow/smooth"},
|
||||||
|
{"path": "autoflow/difSize", "type": "float", "readonly": false, "cmd": "nv autoflow/difSize"},
|
||||||
|
{"path": "autoflow/difRange", "type": "float", "readonly": false, "cmd": "nv autoflow/difRange"},
|
||||||
|
{"path": "autoflow/flowSize", "type": "float", "readonly": false, "cmd": "nv autoflow/flowSize"},
|
||||||
|
{"path": "autoflow/convTime", "type": "float", "readonly": false, "cmd": "nv autoflow/convTime"},
|
||||||
|
{"path": "autoflow/Tmin", "type": "float", "readonly": false, "cmd": "nv autoflow/Tmin"},
|
||||||
|
{"path": "autoflow/script", "type": "text", "readonly": false, "cmd": "nv autoflow/script"},
|
||||||
|
{"path": "autoflow/getTemp", "type": "text", "readonly": false, "cmd": "nv autoflow/getTemp"},
|
||||||
|
{"path": "autoflow/getTset", "type": "text", "readonly": false, "cmd": "nv autoflow/getTset"},
|
||||||
|
{"path": "autoflow/getFlow", "type": "text", "readonly": false, "cmd": "nv autoflow/getFlow"},
|
||||||
|
{"path": "autoflow/difBuf", "type": "text"},
|
||||||
|
{"path": "autoflow/flowBuf", "type": "text"},
|
||||||
|
{"path": "autoflow/flowset", "type": "float"},
|
||||||
|
{"path": "autoflow/flowmin", "type": "float"},
|
||||||
|
{"path": "autoflow/flowmax", "type": "float"},
|
||||||
|
{"path": "autoflow/difmin", "type": "float"},
|
||||||
|
{"path": "autoflow/difmax", "type": "float"},
|
||||||
|
{"path": "autoflow/setmin", "type": "float"},
|
||||||
|
{"path": "autoflow/setmax", "type": "float"},
|
||||||
|
{"path": "autoflow/flowtarget", "type": "float"},
|
||||||
|
{"path": "calib", "type": "none", "kids": 2},
|
||||||
|
{"path": "calib/ln_per_min_per_mbar", "type": "float", "readonly": false, "cmd": "nv calib/ln_per_min_per_mbar"},
|
||||||
|
{"path": "calib/mbar_offset", "type": "float", "readonly": false, "cmd": "nv calib/mbar_offset"}]},
|
||||||
|
|
||||||
|
"hepump": {"base": "/hepump", "params": [
|
||||||
|
{"path": "", "type": "enum", "enum": {"neodry": 8, "xds35_auto": 0, "xds35_manual": 1, "sv65": 2, "other": 3, "no": -1}, "readonly": false, "cmd": "hepump", "description": "xds35: scroll pump, sv65: leybold", "kids": 10},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "hepump send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "running", "type": "bool", "readonly": false, "cmd": "hepump running"},
|
||||||
|
{"path": "eco", "type": "bool", "readonly": false, "cmd": "hepump eco"},
|
||||||
|
{"path": "auto", "type": "bool", "readonly": false, "cmd": "hepump auto"},
|
||||||
|
{"path": "valve", "type": "enum", "enum": {"closed": 0, "closing": 1, "opening": 2, "opened": 3, "undefined": 4}, "readonly": false, "cmd": "hepump valve"},
|
||||||
|
{"path": "eco_t_lim", "type": "float", "readonly": false, "cmd": "hepump eco_t_lim", "description": "switch off eco mode when T_set < eco_t_lim and T < eco_t_lim * 2"},
|
||||||
|
{"path": "calib", "type": "float", "readonly": false, "cmd": "hepump calib", "visibility": 3},
|
||||||
|
{"path": "health", "type": "float"}]},
|
||||||
|
|
||||||
|
"hemot": {"base": "/hepump/hemot", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run hemot", "kids": 30},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "hemot send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "hemot is_running", "visibility": 3},
|
||||||
|
{"path": "pos", "type": "float"},
|
||||||
|
{"path": "encoder", "type": "float"},
|
||||||
|
{"path": "zero", "type": "float", "readonly": false, "cmd": "hemot zero"},
|
||||||
|
{"path": "lowerlimit", "type": "float", "readonly": false, "cmd": "hemot lowerlimit"},
|
||||||
|
{"path": "upperlimit", "type": "float", "readonly": false, "cmd": "hemot upperlimit"},
|
||||||
|
{"path": "disablelimits", "type": "bool", "readonly": false, "cmd": "hemot disablelimits"},
|
||||||
|
{"path": "verbose", "type": "bool", "readonly": false, "cmd": "hemot verbose"},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "runstate", "type": "enum", "enum": {"idle": 0, "running": 1, "finished": 2, "error": 3}},
|
||||||
|
{"path": "precision", "type": "float", "readonly": false, "cmd": "hemot precision"},
|
||||||
|
{"path": "maxencdif", "type": "float", "readonly": false, "cmd": "hemot maxencdif"},
|
||||||
|
{"path": "id", "type": "float", "readonly": false, "cmd": "hemot id"},
|
||||||
|
{"path": "pump_number", "type": "float", "readonly": false, "cmd": "hemot pump_number"},
|
||||||
|
{"path": "init", "type": "float", "readonly": false, "cmd": "hemot init"},
|
||||||
|
{"path": "maxspeed", "type": "float", "readonly": false, "cmd": "hemot maxspeed"},
|
||||||
|
{"path": "acceleration", "type": "float", "readonly": false, "cmd": "hemot acceleration"},
|
||||||
|
{"path": "maxcurrent", "type": "float", "readonly": false, "cmd": "hemot maxcurrent"},
|
||||||
|
{"path": "standbycurrent", "type": "float", "readonly": false, "cmd": "hemot standbycurrent"},
|
||||||
|
{"path": "freewheeling", "type": "bool", "readonly": false, "cmd": "hemot freewheeling"},
|
||||||
|
{"path": "output0", "type": "bool", "readonly": false, "cmd": "hemot output0"},
|
||||||
|
{"path": "output1", "type": "bool", "readonly": false, "cmd": "hemot output1"},
|
||||||
|
{"path": "input3", "type": "bool"},
|
||||||
|
{"path": "pullup", "type": "float", "readonly": false, "cmd": "hemot pullup"},
|
||||||
|
{"path": "nopumpfeedback", "type": "bool", "readonly": false, "cmd": "hemot nopumpfeedback"},
|
||||||
|
{"path": "eeprom", "type": "enum", "enum": {"ok": 0, "dirty": 1, "save": 2, "load": 3}, "readonly": false, "cmd": "hemot eeprom"},
|
||||||
|
{"path": "customadr", "type": "text", "readonly": false, "cmd": "hemot customadr"},
|
||||||
|
{"path": "custompar", "type": "float", "readonly": false, "cmd": "hemot custompar"}]},
|
||||||
|
|
||||||
|
"nvflow": {"base": "/nvflow", "params": [
|
||||||
|
{"path": "", "type": "float", "kids": 7},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "nvflow send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "stddev", "type": "float"},
|
||||||
|
{"path": "nsamples", "type": "int", "readonly": false, "cmd": "nvflow nsamples"},
|
||||||
|
{"path": "offset", "type": "float", "readonly": false, "cmd": "nvflow offset"},
|
||||||
|
{"path": "scale", "type": "float", "readonly": false, "cmd": "nvflow scale"},
|
||||||
|
{"path": "save", "type": "bool", "readonly": false, "cmd": "nvflow save", "description": "unchecked: current calib is not saved. set checked: save calib"}]},
|
||||||
|
|
||||||
|
"warmup": {"base": "/warmup", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run warmup", "description": "warmup", "kids": 28},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "warmup send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "warmup is_running", "visibility": 3},
|
||||||
|
{"path": "mode", "type": "enum", "enum": {"off": 0, "on": 1}, "readonly": false, "cmd": "warmup mode"},
|
||||||
|
{"path": "reg", "type": "float"},
|
||||||
|
{"path": "output", "type": "float", "readonly": false, "cmd": "warmup output"},
|
||||||
|
{"path": "ramptime", "type": "float", "readonly": false, "cmd": "warmup ramptime", "description": "time for ramping [sec] deltax = 1 or a factor 10"},
|
||||||
|
{"path": "ramptol", "type": "float", "readonly": false, "cmd": "warmup ramptol", "description": "log of max. deviation when ramping"},
|
||||||
|
{"path": "smoothtime", "type": "float", "readonly": false, "cmd": "warmup smoothtime", "description": "time for smoothing ramp near setpoint"},
|
||||||
|
{"path": "invar", "type": "text", "readonly": false, "cmd": "warmup invar", "visibility": 3},
|
||||||
|
{"path": "outvar", "type": "text", "readonly": false, "cmd": "warmup outvar", "visibility": 3},
|
||||||
|
{"path": "prop", "type": "float", "readonly": false, "cmd": "warmup prop", "description": "smaller means more sensitive. a change of 'prop' on input -> a change of 100 % or a factor 10 on output"},
|
||||||
|
{"path": "int", "type": "float", "readonly": false, "cmd": "warmup int", "description": "integration time (sec)"},
|
||||||
|
{"path": "outmin", "type": "float", "readonly": false, "cmd": "warmup outmin", "description": "output for maximal decrease of input var."},
|
||||||
|
{"path": "outmax", "type": "float", "readonly": false, "cmd": "warmup outmax", "description": "output for maximal increase of input var."},
|
||||||
|
{"path": "inpfunction", "type": "enum", "enum": {"linear": 0, "logarithmic": 1}, "readonly": false, "cmd": "warmup inpfunction"},
|
||||||
|
{"path": "inplinear", "type": "float", "readonly": false, "cmd": "warmup inplinear", "description": "function gets linear below about this value"},
|
||||||
|
{"path": "outfunction", "type": "enum", "enum": {"linear": 0, "exponential": 1}, "readonly": false, "cmd": "warmup outfunction"},
|
||||||
|
{"path": "outlinear", "type": "float", "readonly": false, "cmd": "warmup outlinear", "description": "function gets linear below about this value"},
|
||||||
|
{"path": "precision", "type": "float", "readonly": false, "cmd": "warmup precision"},
|
||||||
|
{"path": "deadband", "type": "float", "readonly": false, "cmd": "warmup deadband"},
|
||||||
|
{"path": "maxdelta", "type": "float", "readonly": false, "cmd": "warmup maxdelta"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "warmup set"},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "warmup tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "warmup maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "warmup settle"}]},
|
||||||
|
|
||||||
|
"p": {"base": "/p", "params": [
|
||||||
|
{"path": "", "type": "float", "kids": 3},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "p send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "raw", "type": "float"}]}}
|
||||||
214
cfg/sea/ccrpe_lowT.config.json
Normal file
214
cfg/sea/ccrpe_lowT.config.json
Normal file
@@ -0,0 +1,214 @@
|
|||||||
|
{"tt": {"base": "/tt", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 18},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||||
|
{"path": "mainloop", "type": "text", "readonly": false, "cmd": "tt mainloop", "visibility": 3},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||||
|
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||||
|
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/n", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "kids": 9},
|
||||||
|
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift"},
|
||||||
|
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode"},
|
||||||
|
{"path": "dblctrl/shift_up", "type": "float"},
|
||||||
|
{"path": "dblctrl/shift_lo", "type": "float"},
|
||||||
|
{"path": "dblctrl/t_min", "type": "float"},
|
||||||
|
{"path": "dblctrl/t_max", "type": "float"},
|
||||||
|
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2"},
|
||||||
|
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up"},
|
||||||
|
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo"},
|
||||||
|
{"path": "tm", "type": "float", "kids": 4},
|
||||||
|
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||||
|
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||||
|
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||||
|
{"path": "tm/stddev", "type": "float"},
|
||||||
|
{"path": "tm/raw", "type": "float"},
|
||||||
|
{"path": "ts", "type": "float", "kids": 4},
|
||||||
|
{"path": "ts/curve", "type": "text", "readonly": false, "cmd": "tt ts/curve", "kids": 1},
|
||||||
|
{"path": "ts/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt ts/curve/points", "visibility": 3},
|
||||||
|
{"path": "ts/alarm", "type": "float", "readonly": false, "cmd": "tt ts/alarm"},
|
||||||
|
{"path": "ts/stddev", "type": "float"},
|
||||||
|
{"path": "ts/raw", "type": "float"},
|
||||||
|
{"path": "te", "type": "float", "kids": 4},
|
||||||
|
{"path": "te/curve", "type": "text", "readonly": false, "cmd": "tt te/curve", "kids": 1},
|
||||||
|
{"path": "te/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt te/curve/points", "visibility": 3},
|
||||||
|
{"path": "te/alarm", "type": "float", "readonly": false, "cmd": "tt te/alarm"},
|
||||||
|
{"path": "te/stddev", "type": "float"},
|
||||||
|
{"path": "te/raw", "type": "float"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||||
|
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||||
|
{"path": "set/reg", "type": "float"},
|
||||||
|
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||||
|
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||||
|
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||||
|
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||||
|
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||||
|
{"path": "set/power", "type": "float"},
|
||||||
|
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
|
{"path": "current", "type": "float", "readonly": false, "cmd": "tt current", "kids": 18},
|
||||||
|
{"path": "current/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt current/mode"},
|
||||||
|
{"path": "current/reg", "type": "float"},
|
||||||
|
{"path": "current/ramp", "type": "float", "readonly": false, "cmd": "tt current/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "current/wramp", "type": "float", "readonly": false, "cmd": "tt current/wramp"},
|
||||||
|
{"path": "current/smooth", "type": "float", "readonly": false, "cmd": "tt current/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "current/channel", "type": "text", "readonly": false, "cmd": "tt current/channel"},
|
||||||
|
{"path": "current/limit", "type": "float", "readonly": false, "cmd": "tt current/limit"},
|
||||||
|
{"path": "current/resist", "type": "float", "readonly": false, "cmd": "tt current/resist"},
|
||||||
|
{"path": "current/maxheater", "type": "text", "readonly": false, "cmd": "tt current/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "current/linearpower", "type": "float", "readonly": false, "cmd": "tt current/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "current/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "current/maxpower", "type": "float", "readonly": false, "cmd": "tt current/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "current/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "current/manualpower", "type": "float", "readonly": false, "cmd": "tt current/manualpower"},
|
||||||
|
{"path": "current/power", "type": "float"},
|
||||||
|
{"path": "current/prop", "type": "float", "readonly": false, "cmd": "tt current/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "current/integ", "type": "float", "readonly": false, "cmd": "tt current/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "current/deriv", "type": "float", "readonly": false, "cmd": "tt current/deriv"},
|
||||||
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
|
"cc": {"base": "/cc", "params": [
|
||||||
|
{"path": "", "type": "bool", "kids": 96},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||||
|
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||||
|
{"path": "f", "type": "float", "visibility": 3},
|
||||||
|
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs", "visibility": 3},
|
||||||
|
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||||
|
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}, "visibility": 3},
|
||||||
|
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa", "visibility": 3},
|
||||||
|
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp", "visibility": 3},
|
||||||
|
{"path": "msp", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mmp", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc", "visibility": 3},
|
||||||
|
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc", "visibility": 3},
|
||||||
|
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc", "visibility": 3},
|
||||||
|
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc", "visibility": 3},
|
||||||
|
{"path": "mtl", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft", "visibility": 3},
|
||||||
|
{"path": "mt", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mo", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mcr", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mot", "type": "float", "visibility": 3},
|
||||||
|
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open", "visibility": 3},
|
||||||
|
{"path": "hav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc hav"},
|
||||||
|
{"path": "h", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hr", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hc", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hu", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh", "visibility": 3},
|
||||||
|
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl", "visibility": 3},
|
||||||
|
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode", "visibility": 3},
|
||||||
|
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode", "visibility": 3},
|
||||||
|
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd", "visibility": 3},
|
||||||
|
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr", "visibility": 3},
|
||||||
|
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||||
|
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||||
|
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd", "visibility": 3},
|
||||||
|
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}, "visibility": 3},
|
||||||
|
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha", "visibility": 3},
|
||||||
|
{"path": "hm", "type": "bool", "visibility": 3},
|
||||||
|
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf", "visibility": 3},
|
||||||
|
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe", "visibility": 3},
|
||||||
|
{"path": "hmf", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hms", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit", "visibility": 3},
|
||||||
|
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft", "visibility": 3},
|
||||||
|
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "cc hea"},
|
||||||
|
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch", "visibility": 3},
|
||||||
|
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0", "visibility": 3},
|
||||||
|
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos.", "visibility": 3},
|
||||||
|
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos.", "visibility": 3},
|
||||||
|
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)", "visibility": 3},
|
||||||
|
{"path": "h0", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h1", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h3", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h4", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "h5", "type": "float", "visibility": 3},
|
||||||
|
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}, "visibility": 3},
|
||||||
|
{"path": "hfb", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc nav"},
|
||||||
|
{"path": "nu", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nl", "type": "float", "visibility": 3},
|
||||||
|
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth", "visibility": 3},
|
||||||
|
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc", "visibility": 3},
|
||||||
|
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm", "visibility": 3},
|
||||||
|
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}, "visibility": 3},
|
||||||
|
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na", "visibility": 3},
|
||||||
|
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}, "visibility": 3},
|
||||||
|
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc", "visibility": 3},
|
||||||
|
{"path": "nfb", "type": "float", "visibility": 3},
|
||||||
|
{"path": "cda", "type": "float"},
|
||||||
|
{"path": "cdb", "type": "float"},
|
||||||
|
{"path": "cba", "type": "float"},
|
||||||
|
{"path": "cbb", "type": "float"},
|
||||||
|
{"path": "cvs", "type": "int"},
|
||||||
|
{"path": "csp", "type": "int"},
|
||||||
|
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||||
|
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||||
|
{"path": "cin", "type": "text"},
|
||||||
|
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||||
|
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||||
|
{"path": "tc", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tn", "type": "float", "visibility": 3},
|
||||||
|
{"path": "th", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tf", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tm", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tv", "type": "float", "visibility": 3},
|
||||||
|
{"path": "tq", "type": "float", "visibility": 3},
|
||||||
|
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]},
|
||||||
|
|
||||||
|
"warmup": {"base": "/warmup", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run warmup", "description": "warmup", "kids": 28},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "warmup send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "warmup is_running", "visibility": 3},
|
||||||
|
{"path": "mode", "type": "enum", "enum": {"off": 0, "on": 1}, "readonly": false, "cmd": "warmup mode"},
|
||||||
|
{"path": "reg", "type": "float"},
|
||||||
|
{"path": "output", "type": "float", "readonly": false, "cmd": "warmup output"},
|
||||||
|
{"path": "ramptime", "type": "float", "readonly": false, "cmd": "warmup ramptime", "description": "time for ramping [sec] deltax = 1 or a factor 10"},
|
||||||
|
{"path": "ramptol", "type": "float", "readonly": false, "cmd": "warmup ramptol", "description": "log of max. deviation when ramping"},
|
||||||
|
{"path": "smoothtime", "type": "float", "readonly": false, "cmd": "warmup smoothtime", "description": "time for smoothing ramp near setpoint"},
|
||||||
|
{"path": "invar", "type": "text", "readonly": false, "cmd": "warmup invar", "visibility": 3},
|
||||||
|
{"path": "outvar", "type": "text", "readonly": false, "cmd": "warmup outvar", "visibility": 3},
|
||||||
|
{"path": "prop", "type": "float", "readonly": false, "cmd": "warmup prop", "description": "smaller means more sensitive. a change of 'prop' on input -> a change of 100 % or a factor 10 on output"},
|
||||||
|
{"path": "int", "type": "float", "readonly": false, "cmd": "warmup int", "description": "integration time (sec)"},
|
||||||
|
{"path": "outmin", "type": "float", "readonly": false, "cmd": "warmup outmin", "description": "output for maximal decrease of input var."},
|
||||||
|
{"path": "outmax", "type": "float", "readonly": false, "cmd": "warmup outmax", "description": "output for maximal increase of input var."},
|
||||||
|
{"path": "inpfunction", "type": "enum", "enum": {"linear": 0, "logarithmic": 1}, "readonly": false, "cmd": "warmup inpfunction"},
|
||||||
|
{"path": "inplinear", "type": "float", "readonly": false, "cmd": "warmup inplinear", "description": "function gets linear below about this value"},
|
||||||
|
{"path": "outfunction", "type": "enum", "enum": {"linear": 0, "exponential": 1}, "readonly": false, "cmd": "warmup outfunction"},
|
||||||
|
{"path": "outlinear", "type": "float", "readonly": false, "cmd": "warmup outlinear", "description": "function gets linear below about this value"},
|
||||||
|
{"path": "precision", "type": "float", "readonly": false, "cmd": "warmup precision"},
|
||||||
|
{"path": "deadband", "type": "float", "readonly": false, "cmd": "warmup deadband"},
|
||||||
|
{"path": "maxdelta", "type": "float", "readonly": false, "cmd": "warmup maxdelta"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "warmup set"},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "warmup tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "warmup maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "warmup settle"}]}}
|
||||||
154
cfg/sea/cti5.config.json
Normal file
154
cfg/sea/cti5.config.json
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
{"tt": {"base": "/tt", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 17},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||||
|
{"path": "mainloop", "type": "text", "readonly": false, "cmd": "tt mainloop", "visibility": 3},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||||
|
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||||
|
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/n", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "visibility": 3, "kids": 9},
|
||||||
|
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift", "visibility": 3},
|
||||||
|
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_up", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_lo", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_min", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_max", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo", "visibility": 3},
|
||||||
|
{"path": "tm", "type": "float", "kids": 4},
|
||||||
|
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||||
|
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||||
|
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||||
|
{"path": "tm/stddev", "type": "float"},
|
||||||
|
{"path": "tm/raw", "type": "float"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||||
|
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||||
|
{"path": "set/reg", "type": "float"},
|
||||||
|
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||||
|
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||||
|
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||||
|
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||||
|
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||||
|
{"path": "set/power", "type": "float"},
|
||||||
|
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
|
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
||||||
|
{"path": "dinp", "type": "int"},
|
||||||
|
{"path": "remote", "type": "bool"}]},
|
||||||
|
|
||||||
|
"cc": {"base": "/cc", "params": [
|
||||||
|
{"path": "", "type": "bool", "kids": 96},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "cc send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "autodevice", "type": "bool", "readonly": false, "cmd": "cc autodevice"},
|
||||||
|
{"path": "fav", "type": "bool", "readonly": false, "cmd": "cc fav"},
|
||||||
|
{"path": "f", "type": "float"},
|
||||||
|
{"path": "fs", "type": "enum", "enum": {"ok": 0, "no_sens": 1}, "readonly": false, "cmd": "cc fs"},
|
||||||
|
{"path": "mav", "type": "bool", "readonly": false, "cmd": "cc mav"},
|
||||||
|
{"path": "fm", "type": "enum", "enum": {"idle": 0, "opening": 1, "closing": 2, "opened": 3, "closed": 4, "no_motor": 5}},
|
||||||
|
{"path": "fa", "type": "enum", "enum": {"fixed": 0, "controlled": 1, "automatic": 2, "offline": 3}, "readonly": false, "cmd": "cc fa"},
|
||||||
|
{"path": "mp", "type": "float", "readonly": false, "cmd": "cc mp"},
|
||||||
|
{"path": "msp", "type": "float"},
|
||||||
|
{"path": "mmp", "type": "float"},
|
||||||
|
{"path": "mc", "type": "float", "readonly": false, "cmd": "cc mc"},
|
||||||
|
{"path": "mfc", "type": "float", "readonly": false, "cmd": "cc mfc"},
|
||||||
|
{"path": "moc", "type": "float", "readonly": false, "cmd": "cc moc"},
|
||||||
|
{"path": "mtc", "type": "float", "readonly": false, "cmd": "cc mtc"},
|
||||||
|
{"path": "mtl", "type": "float"},
|
||||||
|
{"path": "mft", "type": "float", "readonly": false, "cmd": "cc mft"},
|
||||||
|
{"path": "mt", "type": "float"},
|
||||||
|
{"path": "mo", "type": "float"},
|
||||||
|
{"path": "mcr", "type": "float"},
|
||||||
|
{"path": "mot", "type": "float"},
|
||||||
|
{"path": "mw", "type": "float", "readonly": false, "cmd": "cc mw", "description": "correction pulse after automatic open"},
|
||||||
|
{"path": "hav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc hav"},
|
||||||
|
{"path": "h", "type": "float"},
|
||||||
|
{"path": "hr", "type": "float"},
|
||||||
|
{"path": "hc", "type": "float"},
|
||||||
|
{"path": "hu", "type": "float"},
|
||||||
|
{"path": "hh", "type": "float", "readonly": false, "cmd": "cc hh"},
|
||||||
|
{"path": "hl", "type": "float", "readonly": false, "cmd": "cc hl"},
|
||||||
|
{"path": "htf", "type": "float", "readonly": false, "cmd": "cc htf", "description": "meas. period in fast mode"},
|
||||||
|
{"path": "hts", "type": "float", "readonly": false, "cmd": "cc hts", "description": "meas. period in slow mode"},
|
||||||
|
{"path": "hd", "type": "float", "readonly": false, "cmd": "cc hd"},
|
||||||
|
{"path": "hwr", "type": "float", "readonly": false, "cmd": "cc hwr"},
|
||||||
|
{"path": "hem", "type": "float", "readonly": false, "cmd": "cc hem", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu", "type": "float", "readonly": false, "cmd": "cc hfu", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hcd", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3, "manual": 7}, "readonly": false, "cmd": "cc hcd"},
|
||||||
|
{"path": "hv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4}},
|
||||||
|
{"path": "hsf", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "ha", "type": "bool", "readonly": false, "cmd": "cc ha"},
|
||||||
|
{"path": "hm", "type": "bool"},
|
||||||
|
{"path": "hf", "type": "enum", "enum": {"slow": 0, "fast": 1}, "readonly": false, "cmd": "cc hf"},
|
||||||
|
{"path": "hbe", "type": "bool", "readonly": false, "cmd": "cc hbe"},
|
||||||
|
{"path": "hmf", "type": "float"},
|
||||||
|
{"path": "hms", "type": "float"},
|
||||||
|
{"path": "hit", "type": "float", "readonly": false, "cmd": "cc hit"},
|
||||||
|
{"path": "hft", "type": "int", "readonly": false, "cmd": "cc hft"},
|
||||||
|
{"path": "hea", "type": "enum", "enum": {"0": 0, "1": 1, "6": 2}, "readonly": false, "cmd": "cc hea"},
|
||||||
|
{"path": "hch", "type": "int", "readonly": false, "cmd": "cc hch"},
|
||||||
|
{"path": "hwr0", "type": "float", "readonly": false, "cmd": "cc hwr0"},
|
||||||
|
{"path": "hem0", "type": "float", "readonly": false, "cmd": "cc hem0", "description": "sensor length in mm from top to empty pos."},
|
||||||
|
{"path": "hfu0", "type": "float", "readonly": false, "cmd": "cc hfu0", "description": "sensor length in mm from top to full pos."},
|
||||||
|
{"path": "hd0", "type": "float", "readonly": false, "cmd": "cc hd0", "description": "external sensor drive current (mA)"},
|
||||||
|
{"path": "h0", "type": "float"},
|
||||||
|
{"path": "hs0", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h1", "type": "float"},
|
||||||
|
{"path": "hs1", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h2", "type": "float"},
|
||||||
|
{"path": "hs2", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h3", "type": "float"},
|
||||||
|
{"path": "hs3", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h4", "type": "float"},
|
||||||
|
{"path": "hs4", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "h5", "type": "float"},
|
||||||
|
{"path": "hs5", "type": "enum", "enum": {"sens_ok": 0, "sens_warm": 1, "no_sens": 2, "timeout": 3, "not_yet_read": 4, "disabled": 5}},
|
||||||
|
{"path": "hfb", "type": "float"},
|
||||||
|
{"path": "nav", "type": "enum", "type": "enum", "enum": {"none": 0, "int": 1, "ext": 2}, "readonly": false, "cmd": "cc nav"},
|
||||||
|
{"path": "nu", "type": "float"},
|
||||||
|
{"path": "nl", "type": "float"},
|
||||||
|
{"path": "nth", "type": "float", "readonly": false, "cmd": "cc nth"},
|
||||||
|
{"path": "ntc", "type": "float", "readonly": false, "cmd": "cc ntc"},
|
||||||
|
{"path": "ntm", "type": "float", "readonly": false, "cmd": "cc ntm"},
|
||||||
|
{"path": "ns", "type": "enum", "enum": {"sens_ok": 0, "no_sens": 1, "short_circuit": 2, "upside_down": 3, "sens_warm": 4, "empty": 5}},
|
||||||
|
{"path": "na", "type": "bool", "readonly": false, "cmd": "cc na"},
|
||||||
|
{"path": "nv", "type": "enum", "enum": {"fill_valve_off": 0, "filling": 1, "no_fill_valve": 2, "timeout": 3, "timeout1": 4, "boost": 5}},
|
||||||
|
{"path": "nc", "type": "enum", "enum": {"stop": 0, "fill": 1, "off": 2, "auto": 3}, "readonly": false, "cmd": "cc nc"},
|
||||||
|
{"path": "nfb", "type": "float"},
|
||||||
|
{"path": "cda", "type": "float"},
|
||||||
|
{"path": "cdb", "type": "float"},
|
||||||
|
{"path": "cba", "type": "float"},
|
||||||
|
{"path": "cbb", "type": "float"},
|
||||||
|
{"path": "cvs", "type": "int"},
|
||||||
|
{"path": "csp", "type": "int"},
|
||||||
|
{"path": "cdv", "type": "text", "readonly": false, "cmd": "cc cdv"},
|
||||||
|
{"path": "cic", "type": "text", "readonly": false, "cmd": "cc cic"},
|
||||||
|
{"path": "cin", "type": "text"},
|
||||||
|
{"path": "cds", "type": "enum", "enum": {"local": 0, "remote": 1, "loading": 2, "by_code": 3, "by_touch": 4}, "readonly": false, "cmd": "cc cds"},
|
||||||
|
{"path": "timing", "type": "bool", "readonly": false, "cmd": "cc timing"},
|
||||||
|
{"path": "tc", "type": "float"},
|
||||||
|
{"path": "tn", "type": "float"},
|
||||||
|
{"path": "th", "type": "float"},
|
||||||
|
{"path": "tf", "type": "float"},
|
||||||
|
{"path": "tm", "type": "float"},
|
||||||
|
{"path": "tv", "type": "float"},
|
||||||
|
{"path": "tq", "type": "float"},
|
||||||
|
{"path": "bdl", "type": "float", "readonly": false, "cmd": "cc bdl"}]}}
|
||||||
55
cfg/sea/cti7.config.json
Normal file
55
cfg/sea/cti7.config.json
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
{"tt": {"base": "/tt", "params": [
|
||||||
|
{"path": "", "type": "float", "readonly": false, "cmd": "run tt", "description": "tt", "kids": 17},
|
||||||
|
{"path": "send", "type": "text", "readonly": false, "cmd": "tt send", "visibility": 3},
|
||||||
|
{"path": "status", "type": "text", "visibility": 3},
|
||||||
|
{"path": "is_running", "type": "int", "readonly": false, "cmd": "tt is_running", "visibility": 3},
|
||||||
|
{"path": "mainloop", "type": "text", "readonly": false, "cmd": "tt mainloop", "visibility": 3},
|
||||||
|
{"path": "target", "type": "float"},
|
||||||
|
{"path": "running", "type": "int"},
|
||||||
|
{"path": "tolerance", "type": "float", "readonly": false, "cmd": "tt tolerance"},
|
||||||
|
{"path": "maxwait", "type": "float", "readonly": false, "cmd": "tt maxwait"},
|
||||||
|
{"path": "settle", "type": "float", "readonly": false, "cmd": "tt settle"},
|
||||||
|
{"path": "log", "type": "text", "readonly": false, "cmd": "tt log", "visibility": 3, "kids": 4},
|
||||||
|
{"path": "log/mean", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/m2", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/stddev", "type": "float", "visibility": 3},
|
||||||
|
{"path": "log/n", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl", "type": "bool", "readonly": false, "cmd": "tt dblctrl", "visibility": 3, "kids": 9},
|
||||||
|
{"path": "dblctrl/tshift", "type": "float", "readonly": false, "cmd": "tt dblctrl/tshift", "visibility": 3},
|
||||||
|
{"path": "dblctrl/mode", "type": "enum", "enum": {"disabled": -1, "inactive": 0, "stable": 1, "up": 2, "down": 3}, "readonly": false, "cmd": "tt dblctrl/mode", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_up", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/shift_lo", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_min", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/t_max", "type": "float", "visibility": 3},
|
||||||
|
{"path": "dblctrl/int2", "type": "float", "readonly": false, "cmd": "tt dblctrl/int2", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_up", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_up", "visibility": 3},
|
||||||
|
{"path": "dblctrl/prop_lo", "type": "float", "readonly": false, "cmd": "tt dblctrl/prop_lo", "visibility": 3},
|
||||||
|
{"path": "tm", "type": "float", "kids": 4},
|
||||||
|
{"path": "tm/curve", "type": "text", "readonly": false, "cmd": "tt tm/curve", "kids": 1},
|
||||||
|
{"path": "tm/curve/points", "type": "floatvarar", "readonly": false, "cmd": "tt tm/curve/points", "visibility": 3},
|
||||||
|
{"path": "tm/alarm", "type": "float", "readonly": false, "cmd": "tt tm/alarm"},
|
||||||
|
{"path": "tm/stddev", "type": "float"},
|
||||||
|
{"path": "tm/raw", "type": "float"},
|
||||||
|
{"path": "set", "type": "float", "readonly": false, "cmd": "tt set", "kids": 18},
|
||||||
|
{"path": "set/mode", "type": "enum", "enum": {"disabled": -1, "off": 0, "controlling": 1, "manual": 2}, "readonly": false, "cmd": "tt set/mode"},
|
||||||
|
{"path": "set/reg", "type": "float"},
|
||||||
|
{"path": "set/ramp", "type": "float", "readonly": false, "cmd": "tt set/ramp", "description": "maximum ramp in K/min (0: ramp off)"},
|
||||||
|
{"path": "set/wramp", "type": "float", "readonly": false, "cmd": "tt set/wramp"},
|
||||||
|
{"path": "set/smooth", "type": "float", "readonly": false, "cmd": "tt set/smooth", "description": "smooth time (minutes)"},
|
||||||
|
{"path": "set/channel", "type": "text", "readonly": false, "cmd": "tt set/channel"},
|
||||||
|
{"path": "set/limit", "type": "float", "readonly": false, "cmd": "tt set/limit"},
|
||||||
|
{"path": "set/resist", "type": "float", "readonly": false, "cmd": "tt set/resist"},
|
||||||
|
{"path": "set/maxheater", "type": "text", "readonly": false, "cmd": "tt set/maxheater", "description": "maximum heater limit, units should be given without space: W, mW, A, mA"},
|
||||||
|
{"path": "set/linearpower", "type": "float", "readonly": false, "cmd": "tt set/linearpower", "description": "when not 0, it is the maximum effective power, and the power is linear to the heater output"},
|
||||||
|
{"path": "set/maxpowerlim", "type": "float", "description": "the maximum power limit (before any booster or converter)"},
|
||||||
|
{"path": "set/maxpower", "type": "float", "readonly": false, "cmd": "tt set/maxpower", "description": "maximum power [W]"},
|
||||||
|
{"path": "set/maxcurrent", "type": "float", "description": "the maximum current before any booster or converter"},
|
||||||
|
{"path": "set/manualpower", "type": "float", "readonly": false, "cmd": "tt set/manualpower"},
|
||||||
|
{"path": "set/power", "type": "float"},
|
||||||
|
{"path": "set/prop", "type": "float", "readonly": false, "cmd": "tt set/prop", "description": "bigger means more gain"},
|
||||||
|
{"path": "set/integ", "type": "float", "readonly": false, "cmd": "tt set/integ", "description": "bigger means faster"},
|
||||||
|
{"path": "set/deriv", "type": "float", "readonly": false, "cmd": "tt set/deriv"},
|
||||||
|
{"path": "display", "type": "text", "readonly": false, "cmd": "tt display"},
|
||||||
|
{"path": "dout", "type": "int", "readonly": false, "cmd": "tt dout"},
|
||||||
|
{"path": "dinp", "type": "int"},
|
||||||
|
{"path": "remote", "type": "bool"}]}}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user