46 Commits

Author SHA1 Message Date
2d42eab5fa add StringIO.writeline, improve StringIO.multicomm
- StringIO.writeline sends a command and does not expect a reply
- StringIO.multicomm and BytesIO.multicomm is improved in order
  to insert individual delays in between lines and individual
  noreply flags

+ fix a bug in tutorial_t_control
+ improve readability of frappy.lib.classdoc.indent_description

Change-Id: I9dea113e19147684ec41aca5267a79816bbf202c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32267
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2024-01-29 15:57:25 +01:00
c88a71985a doc: drop latex support, add pdf support
latexpdf fails with error message "Too deply nested".
We want to avoid reducing the nesting level of doc strings
in frappy.lib.classdoc (less nice output) or a level of
nesting in method doc strings.

- latex removed from Jenkinsfile
- added support for rst2pdf

Change-Id: Ieb3355ef506e636e7e43a726c68327e3b1154469
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32406
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2024-01-29 15:56:38 +01:00
5359f0351f fix frappy_demo.lakeshore
reading back the target does not work properly, because
  a) the readback value might be delayed
  b) there is no command to read back the target, SETP?1
     is returning the working setpoint, which might be distinct
     in case of a ramp

Change-Id: I0da2dbfc1a8ddbecbae6d0456ff64e008bc56336
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31983
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-10-16 17:49:30 +02:00
87830a1473 branch develop: recent changes from branch wip
Change-Id: I2e1173423f2aa164a8a7158921b354c2aff1ab2c
2023-06-20 10:59:18 +02:00
Oksana Shliakhtun
ac90999bdd add Thermofisher to doc
Change-Id: I90c3b8d07b20d0f7b90db9d30e9f3b835fe75937
2023-05-17 16:03:55 +02:00
0d265b9752 make return value 'Done' unneccessary
'Done' was introduced in order to suppress unneccessary
duplicate updates. However, since super calls on access methods are
allowed, it is not nice when such a method returns Done, as this
is not automagically replaced by the current parameter value.
As a consequence:

- using Done is discouraged, but not (yet) removed in all code
- the 'omit_unchanged_within' property is moved from Module to an
  internal Parameter property 'update_unchanged'
- its default is moved from a SEC node property to generalConfig
- the 'update_unchanged' parameter property may be set to
  'never' for parameters where duplicate updates make no sense
- this property might be set to 'always', for measurements, where
  even unchanged values taken from HW should be transmitted

Change-Id: I2847c983ca09c2c4098e402edd08d0c96c3913f4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30672
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-04-21 16:17:30 +02:00
b48b965070 make doc should not fail when version is not available
Fixes: #4665
Change-Id: Ief312e86b64ec1290d3410e1374ad1a71b5a3e4e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30536
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
2023-03-06 08:24:15 +01:00
c8f30582a5 default settings on the IO class
allow to define default settings on the IO class:
- a default 'port' may be given for tcp
- defaults like 'baudrate' or 'parity' might be given
  for serial connections

this avoids explicit settings in the config file in case
the settings can not be changed or have a typical value
other than the defaults in serial.Serial

Change-Id: I990f47d63e785f8cc48c4af197944a8eebe91fb4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30555
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de>
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-03-06 08:24:15 +01:00
a1141c87c9 fix links in doc/introduction
Change-Id: I9f613c77835472c79be2850265126686cb57e8b9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30493
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2023-03-06 08:24:15 +01:00
Georg Brandl
72f9f242d7 doc: fix trailing comma in authors
Change-Id: Ie611a3258a5b1acbdcbdfa55aad5198c4613f647
2023-03-06 08:24:15 +01:00
e1d5170a90 T controller tutorial and improve documentation
add tutorial for Berlin hands-on workshop

+ improve the documentation (hints for structure welcome)
+ remove 'optional' parameter property
  (is not yet used - should not appear in doc)
+ added test property in frappy_demo.cryo alters Parameter class
  ('test' property appears in Parameter doc)

Change-Id: I3ea08f955a92f72451fd23a5ff00d1185c7fb00e
2023-03-06 08:24:15 +01:00
c3d8068e02 adapt tutorial to new config file format
Change-Id: Iafd8a2dbed8cd1283ce97b6559138c7bc02714c7
2023-02-20 12:51:11 +01:00
3cc9a75174 improve He level tutorial
values return from read_* methods should be converted
from string to float on float parameters

+ fix some wording

Change-Id: Ic80010c6fbe3eef23483ff69c8a43e25afb8bb6a
2022-12-22 13:39:47 +01:00
Björn Pedersen
51147d8e09 Fix doc warnings/errors
Change-Id: Idd6feeb66d58bc562853d3a82831645ef2d5ccf6
2022-11-10 11:12:32 +02:00
Alexander Zaft
7f166a5b8c Rename from secop to frappy
debian/ is still missing, will follow in next commit.

Fixes: #4626

Change-Id: Ia87c28c1c75b8402eedbfca47f888585a7881f44
2022-11-09 16:29:29 +01:00
Björn Pedersen
f66411dded Remove iohandler left-overs from docs
The iohandler module has been remove in 28526

Change-Id: I24c86f88c8a37f85018cfcdec48279a1438da408
2022-11-03 13:52:27 +01:00
60c62a340d support write_ method on readonly param and more
- write method may be used internally on a readonly parameter
+ add IDLE, WARN, BUSY and ERROR to secop.core
+ secop.datatype.EnumType: allow 'self' as member name
+ secop.lib.statemachine: log Restart and Stop exceptions only on debug level
+ secop_psi.ccu4.CCU4: explicit conversion to float
+ secop.proxy: remove superfluos and erroneous make_secop_error

Change-Id: I2f13d31ceacd2bde65eab64f8eae4225556c18f5
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27963
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-03-21 12:06:51 +01:00
c1307cdd03 unify name and module on Attached property
- setting the attribute using the name of an attached module
- getting the attribute results in the module object

+ change names iodev to io, iodevClass to ioClass,
  sendRecv to communicate, HasIodev to HasIO

Change-Id: I200b63a5a7dc1453bf6ac998782b065645201900
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27575
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-01-31 10:57:49 +01:00
0909f92e12 UniqueObject
create a class to be used for unique objects.
better for debugging and documentation than just using object()

+ remove unused unique objects

Change-Id: I32f65960ea2fbee4fccbeb49a4e11176b7185aa0
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27455
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-01-17 11:38:15 +01:00
eb2e8f5f74 fix doc (stringio - > io)
+ bug in secop.lib.classdoc

Change-Id: Ic1f6f2896466ce53dd176a338088b7ee6b8047af
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27428
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2022-01-13 10:23:38 +01:00
l_samenv
1e17d0c6b9 fixed bugs from syntax migration
- a new wrapper for a read function is not only to be created when
  the a new read method is in the class dict, but also when
  it is inherited, but not yet wrapped
- a handler must not be ignored, when a write method is inherited
- a proxy class must not call checkProperties

+ remove trailing spaces in tutorial_helevel.rst

Change-Id: I16024c14232ea200db91a1bc07ec23326219ab68
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25093
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2021-03-05 08:33:23 +01:00
l_samenv
e568c665a8 improve tutorial_helevel
- fix indent of query method
- add remark about the CCU4 cid command

Change-Id: Iaee821cf7739536cc823494f646a1d2a4bbbfa44
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25092
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2021-03-03 16:03:26 +01:00
980499ba41 fixed errors during migration
- reference.rst did still contain do_<something>
- trailing commas in secop_demo/cryo.py

Change-Id: I5bb8bd310576366c8cfe406f0ec770fa40bcab5b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25079
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2021-03-01 16:33:08 +01:00
1a8ddbc696 removed old style syntax
- removed secop/metaclass.py
- moved code from ModuleMeta to modules.HasAccessibles.__init_subclass__
- reworked properties:
  assignment obj.property = value now always allowed
- reworked Parameters and Command to be true descriptors
- Command must now be solely used as decorator
- renamed 'usercommand' to 'Command'
- command methods no longer start with 'do_'
- reworked mechanism to determine accessible order:
  the attribute paramOrder, if given, determines order of accessibles
+ fixed some issues makeing the IDE more happy
+ simplified code for StatusType and added a test for it

Change-Id: I8045cf38ee6f4d4862428272df0b12a7c8abaca7
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25049
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2021-02-24 08:44:13 +01:00
ed02131a37 enhance documentation
- flatten hierarchy (some links do not work when using folders)
- add a tutorial for programming a simple driver
- clean description using inspect.cleandoc
+ fix a bug with 'unit' pseudo property in a Parameter used as override

Change-Id: I31ddba5d516d1ee5e785e28fbd79fca44ed23f5e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25000
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2021-02-10 17:07:08 +01:00
Enrico Faulhaber
536c798699 Remove obsolete protocol specification
The one at https://www.github.com/SampleEnvironment/SECoP
is the correct version!

Change-Id: I4f8a9c3b40ea4e1f3ecea8b7b491dd96cb04d009
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/21437
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2019-10-18 16:30:54 +02:00
Enrico Faulhaber
3eaa32d514 rename framework methods to camelCase
for easier distinction:
- camelCase or singleword: framework method
- snake_case: driver method

(driver) parameters are lowercase, single word framework variables may
have to start with uppercase letters to distinguish...

Change-Id: I76536b6390324625b242c4f190553014c2ca61d6
Reviewed-on: https://forge.frm2.tum.de/review/20295
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2019-04-02 08:15:40 +02:00
Enrico Faulhaber
a230e553a9 add default role to doc conf.py
Change-Id: If67755186150a3a7a0432caca9d2bdf945ae35fe
Reviewed-on: https://forge.frm2.tum.de/review/20216
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
2019-03-26 10:42:49 +01:00
Björn Pedersen
01075b7183 doc: Add a last-updated timestamp to html
Change-Id: I971516f45b52dcb73761f9f022a831bf329a5b6f
Reviewed-on: https://forge.frm2.tum.de/review/19621
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
2018-12-20 16:42:57 +01:00
Frank Wutzler
3e9733d8f3 describe SECoP motivation discussed in meeting 2017-11-27
Change-Id: Ib82b9ac195dccb29ce5c314e67840bcdd02e0515
Signed-off-by: Frank Wutzler <frank.wutzler@helmholtz-berlin.de>
Reviewed-on: https://forge.frm2.tum.de/review/16892
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
2017-12-15 13:57:00 +01:00
Enrico Faulhaber
69e77749fb fix typo and include comment from Niklas
Change-Id: I12656269a399d8e0602304187a833d0781906084
Reviewed-on: https://forge.frm2.tum.de/review/16848
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
2017-12-05 10:01:00 +01:00
Enrico Faulhaber
97d0d33049 add info about Meeting @PSI
Change-Id: I45231cd0fc35925d668615aed724b5c3d37629a3
Signed-off-by: Lutz Rossa <rossa@helmholtz-berlin.de>
Reviewed-on: https://forge.frm2.tum.de/review/16789
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Reviewed-by: Anders Pettersson <anders.pettersson@esss.se >
2017-12-04 13:57:39 +01:00
4cf4ecb507 - fixed documentation hierarchy
Change-Id: Ic61b10c393b1d5fa12d194a804c19f23a570c792
Reviewed-on: https://forge.frm2.tum.de/review/16708
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch>
2017-11-15 11:48:47 +01:00
8663501150 revision of SECoP documentation
- created secop_v2017-09-14.rst, based on the GoogleDocs
  SECoP Preliminary V2016-11-30 (rc 2)
- this Document is supposed to contain the full SECoP standard
- created SECoP issues
- moved everything else to "outdated" (kept for reference)

Change-Id: I87d69d1846fc4ed55f1c78b22fd4650d8550152b
Reviewed-on: https://forge.frm2.tum.de/review/16573
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
2017-11-03 08:46:20 +01:00
Enrico Faulhaber
eeac276601 Remove obsolete protocol implementations
Change-Id: I9342ff3d00666238b6412b41a3785dadd96a7778
Reviewed-on: https://forge.frm2.tum.de/review/16273
Tested-by: JenkinsCodeReview <bjoern_pedersen@frm2.tum.de>
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de>
2017-09-18 15:14:04 +02:00
Alexander Lenz
35fe312214 doc: fix format.
Change-Id: I13b33706ba160b0402eb2a06323e9cd74179fc72
2017-09-13 17:00:46 +02:00
6c0f54d988 doc update (commands and datatypes)
Change-Id: Ia89a179043491be71d0b2d1fac7a6e41b596c91d
2017-09-13 16:21:08 +02:00
Alexander Lenz
e6fd421ec7 doc: fix cp errors.
Change-Id: Id93a78f463a6b782e10b230509af61b6f86c146f
2017-09-13 16:19:19 +02:00
Alexander Lenz
ffd84c4b6e doc: Fix escapes.
Change-Id: If0abff5e259eeaa66c4b8357b72e4f9f2646531c
2017-09-13 15:42:11 +02:00
Alexander Lenz
4e1dd2507e doc: remove html escapes.
Change-Id: I9e5f31ecff93e17dfee344cdc74c0ff9bd1b4600
2017-09-13 15:38:58 +02:00
Alexander Lenz
07b6351db6 doc: fix protocol/datatypes.
Change-Id: I98feff61d7303f73aff6f038cda3bdeb94fea021
2017-09-13 15:28:58 +02:00
Alexander Lenz
8a1a062415 doc: improve layout.
Change-Id: I22d700a3c634d19aa6e3220f79b302261c0beb0c
2017-09-13 14:34:04 +02:00
Alexander Lenz
c652d0a14b doc: add datatypes.
Change-Id: Ia8e3903d619f733cd2951945a2a2bbc8d883b3e7
2017-09-12 18:29:59 +02:00
Enrico Faulhaber
96ac437fd3 fix transport and display of node-properties
Change-Id: I35a3021768e386a5ce922c8e24128d0bc3a039be
2017-09-12 16:10:22 +02:00
Enrico Faulhaber
ba59448442 fixups
Change-Id: If1377ef41f8d500ccab0e2a0979343b4c090c036
2017-09-11 17:50:20 +02:00
Alexander Lenz
77b01404d9 Improve doc.
Change-Id: I0b25fd1c645a47084fb7fda1bbb7d41a2d10dcbb
2017-09-11 17:35:03 +02:00