8b09b887f8
Reconciling file names with reference
2025-08-29 09:32:51 +02:00
69d63c4e11
Nevermind! Updated code reference
2025-08-29 09:20:00 +02:00
01dd256858
Minor changes, final backup. It's been real nice here at PSI.
2025-08-29 09:19:07 +02:00
0e01193240
Did some renaming to make things make sense
2025-08-27 14:49:12 +02:00
a590027c44
Added ease-of-access function update_parameters to OTFModule. Updated code reference
2025-08-27 14:26:11 +02:00
558bbfded9
Avoided setup-dependent error (file structuring). Implemented TNMR application search and re-open if it closes. This will not fix any particularly odd situations, but it will recover the majority of TNMR crashes and user error.
2025-08-15 11:15:10 +02:00
bee3f5615a
Figured out the answer to a question posed by one of my comments in the past
2025-08-12 11:33:01 +02:00
f0d83e47d8
Merge remote-tracking branch 'refs/remotes/origin/tnmr' into tnmr
2025-08-12 11:24:04 +02:00
7e5b47d45f
Can now change the number of acquired points. This, with the ability to change the acquisition length, allows one to control dwell time indirectly
2025-08-12 11:23:35 +02:00
97e52fd27c
OTFModule: Forced some status updates
2025-08-06 14:13:06 +02:00
904db04447
Update
2025-08-05 14:31:48 +02:00
7a5694fbe2
Merge branch 'tnmr' of https://gitea.psi.ch/linse/frappy into tnmr
2025-08-05 10:34:02 +02:00
b3d243d831
safety
2025-08-05 10:33:59 +02:00
7bfc6b3cb8
Live data acquisition over SECoP
2025-07-30 13:56:25 +02:00
e77c48ace0
Added functionality for the TNMR module to write partial scans - useful for long experiments with many acquisitions, which might need to be terminated early. Also good for impatient people. Added functionality to the ZVL Network Analyser module to allow for use of inbuilt data correction (calibration).
2025-07-29 14:31:24 +02:00
d5d9d70713
Fixed weird bug where the length of pulse sequences could never increase. Now, they have a hard limit of 100 pulses. Not a big deal.
2025-07-24 11:24:56 +02:00
1777e4b7b1
debug
2025-07-24 10:41:02 +02:00
1990f906a3
debug
2025-07-24 10:39:03 +02:00
c2f4df30eb
debug
2025-07-24 10:27:42 +02:00
1ded495e4a
debug
2025-07-24 10:25:59 +02:00
bdf0d4f8ae
Fix
2025-07-24 09:51:33 +02:00
ef769773f0
Prevented infinite loop
2025-07-24 09:39:25 +02:00
fc44f5597f
Reversed removal of title property from otfmod
2025-07-23 11:47:05 +02:00
ff75c9ecbf
Fixed a bug in the OTFModule
2025-07-23 11:42:30 +02:00
bfea1263ae
Updated OTFModule config, added docstring
2025-07-22 11:20:30 +02:00
2194085e8e
Merge branch 'tnmr' of https://gitea.psi.ch/linse/frappy into tnmr
2025-07-21 17:10:53 +02:00
7adf4bf452
on the fly
2025-07-21 17:10:50 +02:00
00e662a27f
Added a message to the ZVL net analyser
2025-07-21 15:41:40 +02:00
d7b45cd163
Fixed a bug in tnmr interface, added functionality to load calibration files in ZVL net analyser
2025-07-21 15:38:39 +02:00
730aa61789
Cleaned up
2025-07-21 10:12:47 +02:00
ccd15f50e7
Added the capacitance reading device (based on TSSOP16, paired with an Arduino Nano V3, communication over serial) to the PSI NMR setup
2025-07-11 11:34:48 +02:00
44a4d921af
Update to the NMR config file to make things make more sense.
2025-07-09 13:59:02 +02:00
5dfe929da5
Updates to OTF, and added RP100 strain cell power supply, as well as a couple network analysers. Results from the mRS network analyser are questionable at best, and nonsense at worst. Beware.
2025-07-09 13:02:24 +02:00
10acd4a188
TNMR updates: workaround for the hardware module error. Added more dashboard support. Added class definition auto-generated by pycom (NTNMR.py)
2025-06-30 13:55:21 +02:00
388748c995
Fixed hardware issue?
2025-06-24 11:35:32 +02:00
2fce39c381
frappy_psi: Added support for changing the observation frequency & number of scans. Further, added an automatic dashboard load on file setup, and a template dashboard for the Scout device.
2025-06-13 07:58:25 +02:00
365f0a2374
A few things: 1. Got it working again; 2. Renamed files to make more sense; 3. Replaced template tmp.tnt with an emptied out file that previously took data, now data is collected correctly (bug, I'm not sure where this need comes from but this is, as far as I know, a permanent workaround); 4. Added automatic COM interface restart on errors compiling; 5. Implemented variable acquisition times.
2025-06-12 11:04:57 +02:00
05324a8966
frappy_psi.tnmr: added a module (frappy_psi.tnmr.OTFModule) to interface with the Tecmag NMR (TNMR) program from a frappy server.
2025-06-11 08:50:21 +02:00
2c5d5da773
frappy.client.interactive: no pathlib needed here
...
allow the argument of the run function to be a simple string
Change-Id: I1d5de3802b6adc22a01a262d4cb017bf7dd084c5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36343
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2025-05-16 15:35:44 +02:00
6f599d569c
config: add 'include' and 'override'
...
including a config file and overriding some properties is
helpful when we do not want to modify the original config
but run it with sligthly different properties.
this involves some redesign a.o.:
- modules are collected in a dict instead of a list in
order for 'override' to find the related module
- checking for duplicates happens in the Collector
Do not warn when included file does not end with '_cfg.py',
as this may be intentional, in case a file is only used
via 'include' and not as cfg file alone.
+ remove unused method Collector.append
+ complain with specific error message when Node is not given
Change-Id: Id568f04d6d84622ef2547412eb6f288fcebf986f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36357
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2025-05-16 15:35:22 +02:00
Jenkins system
f725a0f9d4
[deb] Release v0.20.5
2025-05-12 14:03:23 +02:00
abed998e43
frappy.client.interactive: improve updates while driving
...
- instead to show first current 'value' and 'status', and then
the changes, show changes only - this way updates appear
in the expected order
- for this SecopClient.register_callback needs a 'callimmediately'
argument
Change-Id: I3e91c2c15bca7fee2eba3b1bf1dd27313da3ae29
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36291
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2025-05-12 10:32:09 +02:00
29004f7ac5
client: add SecopClient.execCommandFromString
...
analogous to setParameterFromString
to be used in simple clients where values of structured datatypes
are just python literals
Change-Id: I4936a3c5c0cac45bd7e875c938ce2700b4f4a979
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36262
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2025-05-07 14:05:38 +02:00
5436e34179
frappy_psi/ls370res: various bug fixes
...
- avoid some error messages on disabled channels
- update value of channel switcher properly
- fix bug in set_param method
Change-Id: I16f5cf2d7abce0c0fae17266f0c8e949e8416b7a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36263
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2025-05-06 14:55:16 +02:00
f3fa2ac53a
frappy.client.SecopClient: fix setParameterFromString
...
add missing datatype.export_value
Change-Id: I824d922fdda1ab548e4625982e1485ec4b758cb9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36172
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 >
2025-04-28 13:44:06 +02:00
Konstantin Kholostov
2040d7d021
installer: add recipe to build macOS app bundle
...
Change-Id: Ief4401626db293fecc37f1d1ec72cf295b55fccf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36060
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2025-04-28 10:24:50 +02:00
50fc0fd038
follow-up change to 35931: make Proxy a Module
...
Proxy must be a class, because of the new check for configured
'cls' inheriting from Module. Use Proxy.__new__ to implement
this.
Change-Id: I4bb036afc2ce92187a9049dff0a6f22b20c3a260
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36104
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2025-04-24 11:13:03 +02:00
0df7fe4013
change to new visibility spec
...
+ visibiliy is no longer an EnumType, as this would break
the specs
Change-Id: I1197c82f31c33c210fdcda0b49a0c38027880d77
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36088
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2025-04-22 15:37:19 +02:00
b2eb4fb663
make sure unexported modules are initialized
...
take the opportunity for a small redesign:
- create a new method build_descriptive_data which
calls secnode.get_modules also on unexported modules.
+ cache descriptive data
Change-Id: I4a0b8ac96108463dc0c800bb11a404206c26b092
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/36089
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2025-04-22 15:37:09 +02:00
0706ffa66d
improve error messages on module creation
...
- add name when target and value datatype are incompatible
- check that module class inherits from Module
Change-Id: I4edbdff1c250b64b74b1adf7287f9659dff69b26
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35931
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2025-04-01 08:49:55 +02:00
27acfa46ab
fix overriding Parameter with value
...
a property declared in a base class may be overriden
with a parameter in a subclass. this is already allowed.
if then, in the subsubclass it is overridden by a bare value,
it fails.
Patchset 1: add a test for this
Patchset 4: add the fix
Change-Id: Ia5a26076a9ee98439932643a03878342d56f8396
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35932
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2025-04-01 08:49:43 +02:00
3295be396c
stop poller threads on shutdown
...
make sure module methods are not called after shutdownModule
+ fix: when mod.enablePoll is False, pollInfo is None
therefore we have to check before access
Change-Id: I150eb366c013bc3819b612011e292761d801b3ff
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35869
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2025-03-17 17:24:07 +01:00
75c00f8c07
config: Mod() should return config dict
...
this helps for coded configuration
Change-Id: I07bdf72f77082f31ee86192faec63df706dcbf56
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35803
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2025-03-06 16:24:22 +01:00
2d01ca60c8
config: validate value and default of parameters
...
The Parameter Properties 'value', 'default' and 'constant'
have ValueType, so they are not checked in the setProperty call.
We have to do this explicitly in Module._add_accessible.
Change-Id: I1e35adf2fe539411b4aebacd813adb07497de95b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35797
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2025-03-06 16:24:10 +01:00
Georg Brandl
bd2bbea1c8
remove wrong <weight> from fonts on Qt6
...
Change-Id: Ib94b2ed74598b9f54c2361e61bfa940e60bd7c62
2025-02-28 18:40:12 +01:00
Georg Brandl
9cdfac7450
debian: update compat
...
Change-Id: I172dff4e0239ce90fe7b1c19fc800ba98f116270
2025-02-25 10:07:06 +01:00
0466e5b10e
core: simplify test for methods names
...
The test for method names 'read_<param>' and 'write_<param>'
without a defined parameter is simplified. We do not check
anymore method names from base classes. Base classes
inheriting from HasAccessible are checked anyway at the
place they are defined.
+ add a test for it
+ move some tests to a new file test_all_modules.py, as
test_modules.py is getting too long
+ fix missing doc string (frappy.simulation.SimDrivable.stop)
Change-Id: Id8a9afe5c977ae3b1371bd40c6da52be2fc79eb9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35503
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2025-01-30 09:36:02 +01:00
0e673a3ed0
core: alternative approach for optional accessibles
...
This is meant to replace change 33375.
Optional commands and parameters may be declared with the argument
optional=True. In principle, optional commands are not really needed
to be declared, but doing so is nice for documentation reasons
and for inherited accessible properties.
Optional parameters and commands can not be used and are not
exported als long as they are not overridden in subclasses.
- add a test for this
+ fix an issue with checking for methods like read_<param> without
<param> being a parameter
Change-Id: Ide5021127a02778e7f2f7162555ec8826f1471cb
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35495
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2025-01-29 08:59:14 +01:00
f7e04231b6
equipment_id for merged configs and routed nodes
...
Add a new custom module property 'original_id' indicating
the equipment_id the modules originally belongs to.
This property is only given, when distinct from the equipment_id
of the SEC node.
It happens when multiple config files are given, for all modules
but the ones given in the first file, and for routed modules,
when multiple nodes are routed or own modules are given.
+ fix an issue in router: additional modules were ignore in case
of a single node.
+ small cosmetic changes in config.py reducing IDE complains
Change-Id: If846c47a06158629cef807d22b91f69e4f416563
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35396
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2025-01-17 14:33:50 +01:00
23f724e110
config: do not override equipment_id with name
...
In the previous code, the equipment_id was overridden by the
server name when the interface argument was given over
the commandline. This was leftover from the previous config
file format, where the config files not neccessarly needed
an equipment_id.
Change-Id: I2fc248372a7d2f61cc0690804268d6d066a0a9fa
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35391
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2025-01-17 14:33:39 +01:00
56204b2ece
make UPD listener work when 'tcp://' is omitted on interface
...
'tcp://' may be omitted on interfaces
add missing 'tcp://' earlier in code, so we do not need to check
for missing 'tcp://' again.
Change-Id: Ie9b4dbd168aebdb6edfe71dbd2cfc25e9229fe67
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35321
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-12-18 09:08:05 +01:00
30495db0c2
fix bug in change 35001 (better error message)
...
fix bug in error message
Change-Id: I8151d20f840818fc26d42348f73e740cdb20e03d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35287
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-12-10 16:27:09 +01:00
7376b39c27
an error on a write must not send an error update
...
Change-Id: I07a991bcf26e87121160a2e604f8842eba23ebaf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35281
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-12-10 09:16:19 +01:00
6d2a53acbf
pylint: increase max number of positional arguments
...
Change-Id: Id88270b3c3c1efb56f47def733c1e9c745f1ab18
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35282
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-12-09 15:54:02 +01:00
3e3c1b51af
better message when a parameter is overridden by an invalid value
...
happens e.g. then writing status = StatusType(...) instead of
status = Parameter(datatype=StatusType(...)) on the class level
+ improve doc strings
Change-Id: I05a0b0b0da4438a40b525da40018bb5b09fd5303
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35001
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-12-09 13:08:03 +01:00
78dfedfe3d
follow up change for 'better order of accessibles' (34904)
...
slight change to make it compatible with py 3.6/3.7, where
reversed(<dict>) was not allowed.
Change-Id: Id440870b5523a866b3afb470ba5db9cd6a9bb0ec
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/35002
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-11-27 16:25:02 +01:00
4ad77798c4
frappy.server: remove comment about opts in SecNode/Dispatcher
...
The options given in the node configuration may be used
for both SecNode (equipment_id) and Dispatcher (when the
frappy.protocol.router.Router is used as dispatcher).
It is correct that both remove the options known to them.
Change-Id: I2a34073e4e5490dcf8db577d9cb74788c0cb657b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34989
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-11-22 08:48:06 +01:00
b3cfa85478
frappy.server: use server name for SecNode name
...
no need to configure the name of SecNode and Dispatcher
Change-Id: I5199bbd77c74e4fe56b527a5a565a8285b0d831e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34988
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-11-22 08:45:39 +01:00
53bea83f3e
frappy.server bug fix: server name must not be a list
...
followup error from change 34893
this bug appears in HasComlog, only when comlog is switched on
Change-Id: Ic0db5ae0b0af9981b0c91ebacf2eb6cd704aaa58
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34987
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-11-19 14:34:57 +01:00
e9a61be0a4
fix bug when overriding a property with bare value
...
the bare value must be converted to a updated property.
add also a test for this
Change-Id: I261daaaa8e12d7f739d8b2e8389c1b871b26c5b3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34985
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-11-19 13:59:13 +01:00
21b8fd6518
add sim-server again based on socketserver
...
- fix ls370test config file
+ fix issues with frappy_psi.ls370res
+ add frappy_psi.ls370sim
Change-Id: Ie61e3ea01c4b9c7c1286426504e50acf9413a8ba
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34957
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-11-19 08:54:40 +01:00
Jenkins system
3bf1a838d4
[deb] Release v0.20.4
2024-11-14 14:43:54 +01:00
Jens Krüger
a772c00d91
Lib/config: Create a list of pathes only for confdir
...
Under some condition (no general config file) it's possible that the
piddir and logdir as well are lists of pathes which creates some errors
during the server start
This problems occurs at least in NICOS test suite where no general
config file is defined.
Change-Id: I94c5db927923834c1546dbc34e2490b07b0bf111
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34952
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Jens Krueger <jens.krueger@tum.de >
2024-11-14 14:42:10 +01:00
3fca02e549
frappy.client: catch all errors in handleError callback
...
put try/execpt around handleError callback
Change-Id: I3d97f085556665189da848e52a7148248f55eb0e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34955
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-11-14 10:15:28 +01:00
Jens Krüger
a9636572bb
PSI: Fix import error on ThermoFisher module
...
Change-Id: I691d8f5057fdb19ba14c109399417a7ee9962637
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34954
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-11-14 08:16:50 +01:00
7232bc7e1f
frappy.lib.multievent: avoid deadlock
...
use RLock instead of Lock, as queued actions might call
the set/clear methods recursively
Change-Id: Id43aa8669955e6be9f61379d039a4f65eb7b2dc4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34950
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-11-13 13:16:54 +01:00
Georg Brandl
623a4f4ef7
remove unused file
...
Change-Id: I969bfb22f2196227abe8c5ecef628a15e6eb75f1
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34939
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-11-07 11:20:28 +01:00
Jenkins system
febb08dafb
[deb] Release v0.20.3
2024-11-07 10:57:12 +01:00
Alexander Zaft
948411e041
add generalConfig to etc
...
Change-Id: I768b136c803d5e197e3653d1b84e147b62a97676
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34924
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-11-07 10:54:25 +01:00
Georg Brandl
9f35a7a7b9
fixup test for cfg_editor utils to run from non-checkout, and fix names, and remove example code
...
Change-Id: I6224244392e2a2d0928065ba24abcbe822096084
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34934
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-11-07 10:54:09 +01:00
Jenkins system
78cc236f55
[deb] Release v0.20.2
2024-11-06 10:40:26 +01:00
Alexander Zaft
ed1d693008
fix frappy-server cfgfiles command
...
frappy-server <name> errors after 34893
Change-Id: Ifba758fbabc3aef32e20b683f1c1edbfea711a75
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34913
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-11-05 15:45:58 +01:00
Georg Brandl
fb883f64de
server: better handling of cfgfile argument
...
No reason to keep stringly-typed data on that level
Change-Id: Iba8d88301bf36ef6051031d1916d1bac84ede546
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34893
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-10-31 17:17:01 +01:00
7ab062a449
generalConfig: fix the case when confdir is a list of paths
...
convert all env variable values containing ':' into a list of paths
+ fix one case where an env variable is not converted to a Path
+ remove unused _gcfg_help
Change-Id: Ibc51ab4606ca51e0e87d0fedfac1aca4952f3270
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34872
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-10-31 10:11:11 +01:00
Alexander Zaft
16d5749d9e
server: service discovery over UDP.
...
implement RFC-005
- server broadcasts once on startup and answers to broadcasts
- small tool for listening on the port and sending broadcasts
Change-Id: I02d1184d6be62bef6f964eb9d238220aef062e94
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34851
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-10-31 08:19:30 +01:00
Georg Brandl
e0cff7f81c
systemd: enable indication of reloading/stopping
...
Change-Id: I6dd1b3a50234fb0304fb1a5318f2f22d35d464ec
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34896
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-10-30 15:53:00 +01:00
Alexander Zaft
dbb4ed6e97
server: fix windows ctrl-c
...
thread.join() blocks indefinetely, not allowing python to handle the
interrupt. Same is true for sleep on windows, but when we only sleep a
second, this is fine. Instead of joining the threads, keep track of them
manually.
Change-Id: I559fe06d9ce005a15388c881e4f076d996aea9dc
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34894
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-30 15:52:57 +01:00
ae11d0b33f
better order of accessibles: 'value' 'status' and 'target' first
...
- predefined parameters/commands appear first, in the order
defined in frappy.params.PREDEFINED_ACCESSIBLES
- other (custom) parameters by inheritance order
- remove paramOrder attribute (not used currently)
Change-Id: If4c43189e4837dba057dc0a430ac6c3d1ae10829
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34904
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-30 15:37:40 +01:00
Alexander Zaft
4a332532e7
generalconfig: streamlined config discovery
...
determine generalconfig file location in order:
- command line argument
- environment variable
- git location (../cfg)
- local location (cwd)
- global location (/etc/frappy)
Change-Id: Ie34bcbd5188837075ee7bb7d5029d676ae72378e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34839
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-29 14:03:00 +01:00
Alexander Zaft
2ece560ad7
Revert "config: allow using Prop(...)"
...
This reverts commit ba59bd5498 .
Reason for revert: unnecessary
Change-Id: I4bf46a1de2e699049572f376e84fa39db5dae76c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34888
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-28 14:19:39 +01:00
Alexander Zaft
512f95eafd
config: fix typo
...
Change-Id: Ie90993d9b2d387780fa3faa28fd8d4523f7fc866
2024-10-28 11:10:34 +01:00
Alexander Zaft
ba59bd5498
config: allow using Prop(...)
...
Still maps to the same logic, but it might be a bit confusing to
configure properties with prop = Param(...)
Change-Id: I6bde6a0b015095a8b765d98cb2780f0d42de7e6e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34886
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-10-28 11:07:21 +01:00
f5e46d82fb
fix playground
...
- fix initialization
- add description
Change-Id: Ic210c26edfec709bafa902e32eae04350d571acd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34874
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-25 09:37:56 +02:00
ccc976984d
frappy_psi.sea: bugfix: revert change of updateEvent to udpateItem
...
revert some of change 34813
SeaClient is based on ProxyClient, not SecopClient
-> updateItem is not defined there
Change-Id: Ib3049038481917ec7a11b9fb2d285cedff5febbb
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34873
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-24 14:59:00 +02:00
Alexander Zaft
d1930868aa
core: fix Dispatcher and SECNode opts handling
...
both tried to consume everything before, also making the check for
unknown options afterwards pointless
Change-Id: I7e44c088163e0b99ac509a2c0f757270807d97ab
Fixes : #4912
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34837
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-10-21 15:20:08 +02:00
Alexander Zaft
51fe236a63
server: show interfaces as custom property
...
Change-Id: I129be1228b8a04386db5fe370ebdc2ec6ce8050a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34838
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-21 15:16:20 +02:00
Alexander Zaft
29ec5c16aa
server: fix positional argument lint
...
Change-Id: Ib718826e7bbce2c6fcc9b39879c30baec1ecaa5a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34845
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-21 14:47:36 +02:00
Alexander Zaft
11ea75bedf
sim: make amagnet sim cfg startable again
...
Change-Id: I1e7b7dd6e4069c616f49edbe4e223f501a000398
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34844
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-10-21 14:03:15 +02:00
Alexander Zaft
323581075b
simulation: fix extra_params default, ccidu1 cfg
...
Change-Id: I80672f1c070054871708961bc6641457f8e409ec
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34843
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-10-21 14:03:10 +02:00
Alexander Zaft
ea1d08e669
test_server: basic description checks
...
Change-Id: I732ac2349f7e7ab2579f67cc6e51989703531087
2024-10-21 10:19:14 +02:00
Georg Brandl
baa0946e9d
pylint: do not try to infer too much
...
Change-Id: I1aabf4c59fc47e888e8cd096a8228842f35ff769
2024-10-21 10:07:45 +02:00
Jenkins system
1c69abfd45
[deb] Release v0.20.1
2024-10-17 16:31:27 +02:00
Georg Brandl
d4c6a4d6d4
lib: there might be no confdir in "cfg"
...
Change-Id: I0832de4564a2c1ff439c486ae6cbaa776ebf1e59
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34833
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-10-17 16:31:10 +02:00
Georg Brandl
79cbf87da8
remove sim-server
...
asyncore is deprecated for a long time and now removed in 3.12
Change-Id: I32eb18797dd13663de08ebedc38ce3de4b5ede93
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34830
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-10-17 16:12:29 +02:00
Georg Brandl
e8a7825f6e
remove old unused parse module
...
Change-Id: Ie94217504a65c21a7a8aa7221f9028a689476ffd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34831
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-10-17 16:05:30 +02:00
Georg Brandl
fa75fe9da8
remove unused test class
...
Change-Id: I887a66befa834a72bc684dc5edbcb5862a0d0b71
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34832
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-10-17 16:00:34 +02:00
Georg Brandl
b7ededef24
gui: do not add a console logger when there is no sys.stdout
...
Change-Id: Icfd39bd508b5d482c902e6e781cbc557085b0c2e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34829
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-10-17 15:57:35 +02:00
Jenkins system
2101bb727b
[deb] Release v0.20.0
2024-10-17 14:24:29 +02:00
Georg Brandl
1d609deab6
setup: fill long_description and url
...
Change-Id: Ib5db4d9c33f205d181ed78c65265601caf23a53d
2024-10-17 14:22:47 +02:00
Georg Brandl
63ec5b6cb4
setup: fix classifiers
...
Change-Id: I473785df9c1157a77d02c3e1114bb6633d01149f
2024-10-17 14:12:21 +02:00
Georg Brandl
035472a707
update declared version to 1.0 final
...
Change-Id: Iec2564a5c95baf95de5f7e63ed1890334477c70f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34793
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-17 14:01:53 +02:00
2a99aa73e0
add more datatype tests
...
check from_string and to_string are counterparts
redesign standard value checks for this
Change-Id: I825cdba5955596096fd11ab52de571f05845d7ae
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34737
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-10-17 08:03:09 +02:00
cd20011437
add Datatype.to_string as counterpart of .from_string
...
This allows simple UIs using stringified versions in
text input.
- add frappy.client.SecopClient.setParameterFromString
- fix datatype tests
+ add updateItem to CallbackObject (for doc)
Change-Id: Ic7792bdc51ba0884637b2d4acc0e9433c669314d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34736
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-10-17 08:03:02 +02:00
28603aed5d
do not fail when generalConfig.init() is called twice
...
Change-Id: I7132b71f906fc8a77b6fedcdcc2c7d4a3e48830a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34818
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-10-16 15:43:01 +02:00
Enrico Faulhaber
d50718a121
add test for importing custom modules
...
related: #4882
Change-Id: I605de7fd43be146c84f4324d2a8eebe0aa11da79
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34814
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-10-16 15:41:17 +02:00
Georg Brandl
d4668d904f
install libgl1 for pyqt6
...
Change-Id: I873f97fb497364d9c647797a899cf348c430214b
2024-10-16 15:18:08 +02:00
Georg Brandl
5d74042fc9
install pytango for testing
...
Change-Id: I04e0dbc6d59b388dbcf6657b8815642fcdc25094
2024-10-16 15:15:51 +02:00
Georg Brandl
bd4519db4c
new setuptools needs new importlib_metadata
...
Change-Id: Ie4220f7ec2c11b3dcf64c65b3ed97a3d9129af5c
2024-10-16 15:11:53 +02:00
Georg Brandl
084529d5fb
ci/Dockerfile: do no use pytango from upstream
...
Change-Id: Ie002aff67e0fb4d6daf6f621c58be8c5ab71af9d
2024-10-16 15:06:14 +02:00
Georg Brandl
3bbde105f8
remove old "buffer" message
...
Change-Id: I010f535ec746ef15ccfc2929a2e62ccb83894c33
2024-10-16 15:06:14 +02:00
Enrico Faulhaber
831d74b993
ci: also install gui requirements for additional tests
...
Change-Id: Idc40699d470fb6449366a1cd75a3207cabcdd4a4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34815
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-10-16 14:43:22 +02:00
ffe5f52790
frappy_psi.sea: avoid error on import
...
the previous code raised an error when generalConfig.init() was
not called before importing. defer evaluation of seaconfdir to
the time it is used
+ use updateItem instead of updateEvent to avoid pylint complaint
Change-Id: I0da0891a8d4091102d2a149705f5546e2f6fd187
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34813
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-10-16 11:15:27 +02:00
Georg Brandl
6ac25c7504
fix descriptive data
...
- remove unspecified "version" and "interface" properties
- add frappy version to "firmware" property
- keep custom node props with underscores
Change-Id: Ib047e4765a90f2833f9e41af69a665554dd20737
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34792
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-10-15 10:17:15 +02:00
Alexander Zaft
e1458471a8
psi: change open calls in sea
...
Change-Id: I4fe235027df4ea935d84e29895eb280f620afbdf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34665
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-09-23 08:07:23 +02:00
Alexander Zaft
c550721e2d
generalConfig, config: use pathlib
...
- switch to pathlib
- represent multiple confdirs as list of Paths internally, not string
with pathsep
Change-Id: I1418e561641e27cd904af0762be056cd66ee1919
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34464
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-09-19 13:34:14 +02:00
Alexander Zaft
90d49355fa
all: start using pathlib
...
Change-Id: I2b0d6ff8f534382913414fa9b35150d6f697acb4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34463
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-09-19 13:32:15 +02:00
116ad54ac1
GUI: allow enums to be plotted
...
numpy.finite() does not accept enums -> convert to float first
Change-Id: Ib740800a7410ada38fb48711d4da676af8b64b17
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34608
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-09-13 09:02:45 +02:00
8660d83a67
GUI: avoid space needed for closed groups
...
the empty QLabel in widgets for readonly parameters was not hidden
with the group.
Change-Id: I0e5ad49c3b693483a3cabf849e7962925cfcc434
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34607
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-09-10 15:21:37 +02:00
Alexander Zaft
235e0f5820
bin: remove make_doc
...
relic from markdown documentation
Change-Id: I8cb1913e6b6d1b8efe77d4d7f982f95e75166707
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34465
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-08-27 11:12:42 +02:00
Jenkins system
a7b763713b
[deb] Release v0.19.10
2024-08-07 17:00:07 +02:00
Georg Brandl
4c77b0b923
remove walrus
...
So far, frappy is still supposed to be 3.6 compatible
Change-Id: Ieb56c6500d58cdc1fe2f34b1448b05ba74b0fa6e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34326
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 >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-08-07 15:32:12 +02:00
Alexander Zaft
3cd63119a3
debian: let frappy-core replace frappy-demo
...
Fixes : #4888
Change-Id: I32781773cbce9e29381df482b8bd9ba992dcb9e4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34323
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-08-07 13:25:03 +02:00
Jenkins system
19f6e8ed43
[deb] Release v0.19.9
2024-08-06 16:02:50 +02:00
Georg Brandl
6e56c19b77
debian: fix missing install dir
...
Change-Id: Id865c58b66af71dbb6631e5856f1f8563946fa40
2024-08-06 16:02:42 +02:00
Jenkins system
359fb4e69b
[deb] Release v0.19.8
2024-08-06 15:58:20 +02:00
Georg Brandl
6479134e6a
debian: move demo into core
...
Change-Id: I545850163f0fd6e560dcf62a008cb9f1aa544af9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34309
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-08-06 15:55:01 +02:00
Jenkins system
63bb34cf51
[deb] Release v0.19.7
2024-08-06 15:04:07 +02:00
Alexander Zaft
dacae94408
lib: GeneralConfig fix missing keys logic
...
Change-Id: I814511fff6fbf7c94e30a052bff0712fad9805b5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34306
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-08-06 14:59:27 +02:00
Jenkins system
f9f0eda937
[deb] Release v0.19.6
2024-08-06 13:56:51 +02:00
Alexander Zaft
768d758efa
lib: Fix GeneralConfig defaults handling
...
overwriting defaults before init() had no effect, as the values were
replaced there.
Now, only unset defaults are updated, keeping the overrides.
Also fix unconditionally taking the values from environment variables.
Change-Id: Idf1c5e2338403e061d20c11ed9c4803d535eb188
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34304
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-08-06 13:56:25 +02:00
Georg Brandl
1b40b77fd4
gui: save/restore window geometry
...
Change-Id: I98008fc12479206018416d57ef248a9942b73490
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34297
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-08-05 17:22:56 +02:00
Georg Brandl
54782bdbad
GUI: allow starting in detailed view by cmdline flag
...
Change-Id: I4248bfee47d807833e02a35ce8dd85fa6b297e77
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34296
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-08-05 10:52:33 +02:00
Jens Krüger
fb9e713043
SINQ/SEA: Fix import error due to None value
...
If the environment variable isn't set a None value is returned. Now an
empty string will be returned
Fixes : #4882
Change-Id: I3e319daebf10e2d8ea3ee00f6094e6896e54f51b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34234
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Jens Krueger <jens.krueger@tum.de >
2024-08-05 10:12:38 +02:00
Jenkins system
bcfb4ae474
[deb] Release v0.19.5
2024-08-05 09:30:53 +02:00
Alexander Zaft
e30d2544d2
pass logger parameter only for mlzlogger
...
The mlzlogger has an extra argument we want to keep using.
To keep compatibility, check if we got the mlzlogger or something else.
Change-Id: I1a4f4e7651370dd71124ab7c3608c6573a585dd9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34292
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-08-05 09:29:50 +02:00
Alexander Zaft
48de238dbc
add RemoteLogHandler independent of MainLogger
...
installing a custom logger was not possible, since the RemoteLogHandler
was not installed.
Additionally, search for the RemoteLogHandler recursively upwards, since
not all loggers copy their Hanlders to their children.
Change-Id: If3e19966d9289cacd926648582e9718b7eab279c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34288
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-08-05 09:29:45 +02:00
Alexander Zaft
1d71445440
add missing requirements to setup.py
...
Change-Id: Ie0d3eae3a7aeb1f28983476b00fe012c916051d7
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34287
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-08-02 09:36:57 +02:00
Alexander Zaft
9ed1f29e68
client: fix how to raise error on wrong ident
...
leftover error_map from long ago, turned into direct raising of
HardwareError
Change-Id: I8772e20133502bb0a997d5317a74e2bd16b780c6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34279
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-08-01 09:17:33 +02:00
Jenkins system
ba1d4c3a9e
[deb] Release v0.19.4
2024-07-26 11:46:10 +02:00
Georg Brandl
c5bb0c37b1
actually exclude cfg-editor
...
Change-Id: I1a31fd96eb8962cff92cda349201ebff4a0dddbc
2024-07-26 11:46:02 +02:00
Jenkins system
1d49577f9a
[deb] Release v0.19.3
2024-07-26 08:36:44 +02:00
Enrico Faulhaber
f055ae20c2
remove cfg_editor for now
...
as it was not functional...
fixes : #4881
related: #4882
Change-Id: Ic8c5ee06fcdd48b8b0562b5b1275296d2b155f06
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34226
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Jens Krueger <jens.krueger@tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-07-26 08:36:16 +02:00
Jens Krüger
bb5459243c
Update copyright year
...
Change-Id: I7fe65e46639c2d8948fa93303ee9b14393e8bfca
2024-07-24 08:35:14 +02:00
Alexander Zaft
c4ad2ec83d
mlz seop: add pylint
...
Change-Id: I096dff796c88bf1b23778aa57c73f9aa77712372
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34127
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-07-12 15:24:54 +02:00
Alexander Zaft
abee1cc463
mlz: fix delayed import of he3cell
...
Change-Id: Ia15693a11f9d1526b4a50be4adbad19640eafe93
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34126
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-07-12 15:16:23 +02:00
e0e90c4000
frappy_psi.sea: use raise from
...
this was complained by Jenkins after merging (1)
Change-Id: I9e4eb57004d218021978d6e9e06e1cbd42ec5e9c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34024
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-06-24 17:03:47 +02:00
81002c2568
frappy_psi.sea: use ReadFailedError
...
change error class on reading parameters in SEA from HardwareError
to ReadFailed. This is in most cases more appropriate.
TODO: find errors in SEA that should be should be HardwareErrors
and a mechanism to indicate this
+ for errors related to disabled modules use the DISABLED status
Change-Id: I0342a34185a66dcf874c6ca034b7cefc98bf9c8a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/34022
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-06-24 13:40:33 +02:00
2598e94cb7
better behaviour on startup in case of errors
...
- fix a bug then TcpServer can not start dye to address in use
- report errors when restarting interfaces
- increase timeout. the timeout for waiting all interfaces
starting up must be higher than a potential successful
startup of TcpServer, which is currently ~ 10 sec
(might be reduced, but at both places)
Change-Id: I88b967c4baff79fdf94f4c849dd713d2cba6fabc
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33985
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 >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-06-19 17:02:21 +02:00
67611d6d23
frappy_psi.extparams.StructParam: fix doc + simplify
...
- the doc string contained wrong, obsolete information
+ simplify: remove customizeable mapping member name -> param name
Change-Id: I0ffdcb336f45001d45f68238b56e1e257d98dd3d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33993
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-06-19 17:02:06 +02:00
Jenkins system
3c7c883538
[deb] Release v0.19.2
2024-06-18 15:21:43 +02:00
Enrico Faulhaber
22d016bd59
frappy_mlz/entangle: fix missing status enum
...
finally!
Change-Id: I5be4ded7c8ee87a09be44ba474e26cd023c917c6
2024-06-18 15:20:13 +02:00
185b47a471
frappy_psi.triton: fix heater output issue
...
when output_module is not HeaterOutputWith range, the heater limit
can not be changed
Change-Id: If25a609e9f9667dc111cb220024388a51df993ec
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33913
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-06-12 11:26:58 +02:00
7dc4cf7029
frappy_psi.sea: various improvments
...
- always open asynio and syncio connections (conenctions for
update and command)
- better synchronization when reconnecting using threading.Event
- nicer error messages
Change-Id: Ia435c3ccfa2732be4aa9f24a3b6e8484fab715a3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33909
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-06-12 10:54:00 +02:00
924a9a2c7f
frappy_psi.triton: bug fixes
...
- fix channel numbers
- make sure some channels are selected
Change-Id: I11c553805ed5ee6235e54ce56a5ea68160d1d212
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33911
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-06-12 10:53:41 +02:00
36dd7598cc
frappy_psi.picontrol: software control loop
...
example usage: use a temperature controller without changing
the calibration setting:
reading the raw sensor, calibrate by software and use 'manual'
heater output
Change-Id: I3dbcf37e7726b48a0516d7aa30758be52b80fe58
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33910
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-06-12 10:53:18 +02:00
0641bc22c3
frappy_psi.ah2700: auto create loss module with Pinata
...
the loss angle is a separate quantity, which is preferred to
be an extra module. create this automatically.
Change-Id: I97f6be48f3411d8143f2ff85c2c61711fc71e8d6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33908
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-06-12 10:52:50 +02:00
Alexander Zaft
3d27a805d4
add option for delayed imports
...
will make setup checking easier, although it does not work for all cases
(from imports for example)
Change-Id: I2e5cf9b427a6f8e6f603d9662cdb9700d5f9ad9a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33893
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-06-12 10:33:31 +02:00
fa007e4f1c
bug fix in frappy_psi.convergence
...
+ various doc improvements
Change-Id: I8ce2a1f006a5e4870285ce1f6015510e21d01a13
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33906
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-06-11 17:56:51 +02:00
e74192d45e
HasControlledBy: update target without switching to self control
...
when a HeaterOutput module is used e.g. from a software loop,
a method is needed to update the output without switching to
self-controlled
Change-Id: I9c83b4e172e14812a405e836757491622ff5f949
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33903
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-06-11 16:08:44 +02:00
516e0c7a59
frappy.lib.asynconn: handle ConnectionResetError nicely
...
Change-Id: Icba24ffb82369aa78e431d12260f4f3cc795e511
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33902
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-06-11 16:08:34 +02:00
l_samenv
a53eebe2f3
fix missing update after error on parameter
...
the main error was a suppressed update when the value does not
change, but the readerror gets None
this error was the reason for strange behaviour in frappy.proxy
while finding the cause, other improvements were done:
- nodeStateChange: add 'activating' to the possible online states
- improve status handling in proxy
Change-Id: I2a1873065ab051bdba2200f50e6ad09ae55e168e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33901
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-06-11 16:08:25 +02:00
Jenkins system
91d50ae703
[deb] Release v0.19.1
2024-06-07 16:50:34 +02:00
Alexander Zaft
878f4774e4
mlz: derive Digitaloutput from Drivable
...
as the underlying entangle *DigitalOutput may be BUSY and frappy.Writable
disallows this.
Change-Id: I6e4861c6d014f59ad4cc2355a438130173bf6569
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33849
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2024-06-07 16:48:14 +02:00
Alexander Zaft
d77a7da606
datatypes: add more detail to error messages
...
the error messages for tuple and array swallow all details useful for
debugging. add the original exception for some context
Change-Id: I8e1036bfab10c09d5f9c8af05ac3306af89f54c4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33850
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-06-05 14:02:25 +02:00
d3f1fdce4a
frappy.client.readParameter: handle connection errors correctly
...
update cache in case of connection errors, as they are not handled
in the rx thread
Change-Id: Icf3377020ec314fcef2982a4e6dc64356f787273
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33744
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-05-28 17:24:06 +02:00
d357a9695b
SecopClient.online must be True while activating
...
as callbacks trigger by updates while activating may check for
online state
+ remove unused imports
Change-Id: I37df839abf6b7225389b803347234a3d0bc8d799
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33745
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-05-28 17:21:49 +02:00
Jenkins system
09e7f9e532
[deb] Release v0.19.0
2024-05-16 11:31:26 +02:00
Georg Brandl
cdab83368a
fix LimitsType to be actually used and validated
...
Change-Id: Id0f67e91f4ff57d4c29c33960e736c8c3ae77209
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33683
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-05-16 11:29:45 +02:00
Jens Krüger
216f96cc04
Fix abslimits reading from entangle device
...
Fixes : #4864
Related: #4866
Change-Id: I393a35784766c0e09367a90debfc8b59b290626e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33672
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-05-16 11:29:36 +02:00
Georg Brandl
46bdd6dd99
add config for the Entangle simulation server
...
Change-Id: I9e7564707fc98d3b5dc3182d7837b222aefef582
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33692
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2024-05-16 10:42:50 +02:00
cb9b0f0c8b
frappy.client: avoid shutdown callback sent twice
...
in case th rx thread crashes, the shutdown callback is called twice
-> improve cleanup code in __rxthread
Change-Id: I0d20aa4304d94b17565b018ad8528d61bbbcbc83
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33614
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-05-02 14:19:54 +02:00
23b60703dc
SecopClient.__del__ must not call callbacks
...
otherwise a nasty deadlock might happen in NICOS
Change-Id: Ie1a333979b77683ce35683aede042ce86159fe65
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33583
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-05-02 08:36:40 +02:00
d5448118e4
frappy.client.SecopClient: add the option to use no logging at all
...
using a dummy NullLogger
Change-Id: I1f12c7307d3d8e37243488b8a11c6abcf087af86
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33582
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-05-02 08:31:32 +02:00
81a345f61d
frappy.client.interactive: improve logging and error handling
...
- redesign logging, using python logging
- stop watching when an erro happens during update
Change-Id: Ibe96569ecc45df429b571232374c451de3f82f1f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33431
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-04-09 12:29:07 +02:00
4c4b565ad0
frappy.client: improve error handling more
...
- implement a 'handleError' callback
- SecopClient.handleError is registered as a callback and by default
logs errors up to a limited number of times
- the cache is customized to return an item indicating an undefined value,
helping to avoid follow up errors.
+ frappy.errors: cosmetic fix
+ frappy.client: cosmetic changes
Change-Id: I4614e1d27c7aea3a1a722176c6be55f8563597cd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33429
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-04-09 12:28:56 +02:00
5d5c1cfcf6
frappy.client: catch errors on callbacks
...
buggy updates or errors in callbacks are now converted into
error updates, buggy error updates are skipped.
-> the receive thread should no longer crash
Change-Id: I97e3999db73e64f73dfbc380fac3d7685b6ca31c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33386
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-04-05 09:13:44 +02:00
Alexander Zaft
2962b8aef5
test: add uri attach test
...
Change-Id: I8a021c53c9987ed03ce31c8481f73573b943d1f3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33417
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-04-04 11:22:30 +02:00
Alexander Zaft
c1cfea4cc2
gui: more specialized input widgets
...
Change-Id: I8b768b2069ae28a58d540165bd95f31ad7e984e0
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33390
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-04-04 08:45:35 +02:00
e416878990
frappy.client: cleanup properly after a reply timeout
...
when a reply to a request is not received within 10 s a timeout
error is raised, but any further requests with the same identifier
will be blocked - fix this
Change-Id: Id2fbc8bb6e6ecfd54bba1fa57b62e626e49b54c8
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33385
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-03-27 17:21:29 +01:00
Alexander Zaft
1375072f1e
gui: sort qt imports
...
Change-Id: Id8dfdd7b07bff6e337eb71a436dd51762f9b5fa7
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33389
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-03-27 10:49:01 +01:00
Alexander Zaft
ee61224fc6
gui: catch invalid inputs
...
Change-Id: Ie0525e4ef9a94085da811e7eaa2e0b7430bade95
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33388
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-03-27 10:48:56 +01:00
Georg Brandl
c496a42830
dispatcher: consistent handling of missing timestamps
...
Like in `read` replies (line 193), `update` now omits the timestamp
instead of returning {"t": 0}.
Change-Id: Iaee0fccae81040cdd6075b0e4a8600c032aec03d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33382
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 >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-03-26 09:41:36 +01:00
Alexander Zaft
9aba3db8a6
core: add websocket interface
...
Change-Id: Ic62abeef6fb73f4a1b3d29f9225ba164de9e3e93
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33240
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-03-11 15:29:10 +01:00
08f889e6a3
follow up fix: handler export=True correctly
...
this seems to be broken in change 33266
Change-Id: I4da78f297976daeac0a0709b9c86e6e28fc122bf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33268
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-03-11 10:47:36 +01:00
93be8c9ba1
follow up fix for change 33168
...
triggerPoll must be set on attached io
Change-Id: If3fa1016efa6047371380790f60db246d87b3628
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33269
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-03-11 08:24:23 +01:00
45871bd3ca
fix command doc string handling and change default stop doc string
...
- fix inheritance of command description
- when no stop method is given, then the description should indicate
that stop is a no-op -> add missing doc strings to stop methods
- add test to make sure stop command doc strings are given
when implemented
Change-Id: If891359350e8dcdec39a706841d61d4f8ec8926f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33266
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-03-08 15:18:50 +01:00
Alexander Zaft
ee5a945e11
core: cover errors in handler setup()
...
Change-Id: I0bb2f07e26717205c013dfedec6e1beca2947d17
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33239
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-03-07 13:32:42 +01:00
Alexander Zaft
ec58bd4d58
core: introduce common handler class
...
- make RequestHanlder based on socketserver.BaserequestHandler
- split handle() into subfunctions
- rework TCPRequestHandler
Change-Id: I62452e21c03b9cb9937673ce9c8663765798f863
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32984
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2024-03-05 15:55:44 +01:00
63f7a31480
fix docstring in frappy.error.OutOfRangeError
...
Change-Id: I006c061a5d88ac7c97808efd56faece927916e78
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33183
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-03-01 16:22:19 +01:00
65cc7f7d32
simplify callbacks
...
on Module, use one single callback list 'paramsCallback' instead of
'valueCallbacks', 'errorCallbacks'. Redesign the mechanism to
avoid most of the closures.
Change-Id: Ie7f68f6bf97ab3f3cd961faa20b0e77730e5b37d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33118
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2024-03-01 11:34:51 +01:00
6cddb2d0c4
fixes for proxy modules
...
- for the case when the remote module name does not match,
'read', 'change' and 'do' does not work
- a proxy to an IO class has enablePoll == False, but it needs
a triggerPoll for modules relying on it to work
- a proxy on a communicator module has a status even when the
remote does not - this needs 2 fixes
Change-Id: Icd44da4c2984f27ce7147dec633739f9176012ec
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33168
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-03-01 11:33:35 +01:00
38a2151771
bugfix in automatic creation if attached io
...
srv.modules does no longer exist
Change-Id: Ibc52fe35f27ad110e60947702d97ee40f359b7c5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33167
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-03-01 09:17:34 +01:00
96e4d7bb75
move StructParam to frappy/extparams.py
...
+ typos and fixes in doc strings
Change-Id: Ib3e9add84ce2a6fb5c33770cae7f2da3f5655506
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/33033
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-02-14 08:47:46 +01:00
7fdd0204d2
add FloatEnumParam
...
for the use case where a parameter is a selection of discrete
float parameters
declaring a parameter as FloatEnumParam will create effectively
two parameters, one with datatype FloatRange and another with
datatype Enum, influencing each other automatically.
in a later change StructParam should be moved from
frappy/structparam.py to frappy/extparams.py
Change-Id: Ica3fd8dcaf6e9439e8178390f220dec15e52cc86
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32975
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-02-12 10:09:49 +01:00
b0518e7bd4
simulation: extra_params might be a list
...
- still accept comma separated string
- remove legacy naming '.extra_params'
Change-Id: I497cf7722d0b39dd31c516383449a4cc4e7dcb7d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32968
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2024-01-29 14:25:01 +01:00
Jenkins system
d2d45e8253
[deb] Release v0.18.1
2024-01-24 14:59:21 +01:00
Alexander Zaft
5bfe97a1a6
mlz: entangle fix limit check
...
Change-Id: Ib430262057026054ac71053d25dfda340b48227a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32921
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-01-24 14:58:15 +01:00
Alexander Zaft
6bb6071561
mlz: Zapf fix unit handling and small errors
...
Change-Id: Iaa5ed175582d8399cc0c69ba72c3ab8e6e51ecf6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32920
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2024-01-24 14:57:21 +01:00
Jenkins system
72dc30b8df
[deb] Release v0.18.0
2024-01-17 12:35:01 +01:00
a43b6ae65b
bug fix in frappy.io.BytesIO.checkHWIdent
...
missing f for f string
Change-Id: Ie67384e5b7e514728041a72bd08c850abb31639e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32786
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-12-18 10:07:45 +01:00
d2862c9cb2
remove py35 compatibility code
...
as f-strings are heavily used now, compatibility to py35
can be removed
Change-Id: I1ae4912ad4cbde8419b74845217943bd061053f3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32754
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 >
2023-12-15 16:58:30 +01:00
376def0410
fix playground after change 32249
...
as modules are now stored on secnode instead of dispatcher
Change-Id: Iccda3d97269693a893c06a4e094a9c1dbcf7df0b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32746
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 >
2023-12-12 11:15:12 +01:00
9c286943f8
frappy.secnode: fix strange error message
...
when get_module_instance is called a second time after
it failed, the 'cls' element in opts is missing:
move opts dict copy from create_modules to get_module_instance
Change-Id: Ie046f133a8fdbbb1c39643ca16dc5447a9d2d065
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32745
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-12-12 11:14:59 +01:00
b4cfd7cd4f
modify arguments of Dispatcher.announce_update
...
- 'pname' argument is not needed
- change 'modulename' argument to 'moduleobj'
(needed for further change)
Change-Id: Ib21f8ad06d9b2be4005ff3513088a85e29785c94
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32744
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 >
2023-12-12 11:14:22 +01:00
adabf5c4b1
fix missing import in change message
...
Transported values in a change must be converted first.
As this is only relevant for the exotic "scaled" and "blob"
datatypes, this was not detected yet.
- add tests
- suppress warning PytestUnhandledThreadExceptionWarning in tests
+ change import_value methods to raise no other exceptions than
WrongTypeError and RangeError
+ simplify Command.do: as import_value already raises the
appropriate error, no more try/except is needed
Change-Id: I299e511468dc0fcecff4c20cf8a917da38b70786
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32743
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-12-11 16:36:44 +01:00
Alexander Zaft
dbacac71f9
core: better error on export of internal type
...
more descriptive error when trying to export OrType, NoneOr, ValueType
and DataTypeType
Change-Id: If13815e9d2b177042b24a1bb62b1ad1d1d88b502
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32737
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-12-11 13:30:45 +01:00
c5c479f424
frappy_psi.sea: workaround for bug in sea
...
hdb path should not contain duble slash. replace double slash
by single slash
Change-Id: Ia2ce3be9a75d68fcc7efe3eb3dbd19a7907a73ff
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32705
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-12-07 08:18:57 +01:00
Alexander Zaft
2de9a3ab43
core: better command handling
...
* check argument of do
* automatically set optional struct members from function signature
Change-Id: I95684f1826c1318ea92fad2bd4c9681d85ea72f5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32501
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-11-29 07:13:06 +01:00
Alexander Zaft
96b56ca411
datatypes: fix optional struct export
...
Change-Id: Ia2758dfba75f36a91bf1676e8ead555cec3ead53
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32500
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-11-29 07:04:47 +01:00
Alexander Zaft
ca236d2064
mlz: handle unconfigured abslimits
...
- if there are no abslimits configured, get them from the hardware.
- check if the ranges are compatible
Change-Id: If72e31a56c299cb628ed8ff66d4340a87d4bd1d4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32625
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-11-27 10:46:03 +01:00
Alexander Zaft
748c31c774
core: formatting and update server docstring
...
Change-Id: Ic0dd4c5239f27679c89f6b3742b9c5f8b71f33f6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32514
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-11-10 08:45:05 +01:00
Alexander Zaft
acbd424ae1
core: allow multiple interfaces
...
Change-Id: Ib8c0baef85a6dd69cddafe1c4973e42136d1588b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32489
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2023-11-10 07:56:23 +01:00
c0b8699ccf
implement pfeiffer TPG vacuum reading
...
this is an example where StringIO.communicate has to be extended
Change-Id: Iff6bb426ee7960904993574531de84793152e21d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32385
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 >
2023-10-26 08:58:34 +02:00
677a3bddae
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 >
2023-10-26 08:57:59 +02:00
c8ed47df48
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 >
2023-10-26 08:55:48 +02:00
39fd6e0be3
frappy.client: fix the case then timestamp is missing
...
the previous version failed when timestamp was missing
Change-Id: I77e1fb81b19fb4ee2749d731bafacbac46132f8e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32404
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 >
2023-10-25 13:05:24 +02:00
Alexander Zaft
69bb896ebb
mlz/demo: move old examples to Attached
...
change very early version of module attachments in GarfieldMagnet and
MagnetigField to use Attached
Change-Id: I616ad17bc72cd93d86e1b3e3609543cfe90edcd8
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32250
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2023-10-11 14:42:01 +02:00
Alexander Zaft
757e96e7c0
core: move module handling out of dispatcher
...
Split module handling code from the dispatcher.
The new class for managing Modules is called SecNode.
* change logging to no longer need a reference to modobj
* modules get a reference to the secnode obj instead of the
dispatcher
* intermediate usage fixes for frappy_psi/sea
Change-Id: Ifee4bb47aa7a4508bb4a47c9a5873b7e2d5faf67
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32249
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2023-10-11 14:41:49 +02:00
8d26ab4fe2
frappy.io: change default to retry_first_idn=True
...
Looked at this code again, and wondered why the default is not True.
It is far more probable that the programmer just forgets to set
this property to True than it would harm to do so.
Change-Id: I439aedbdfc9c2b12737e3ce1694e90550ddf0e78
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32270
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-10-06 15:27:43 +02:00
Alexander Zaft
a3651f71f2
psi: fix Done import in sea
...
Wasn't caught during change 31697. Imports Done from modulebase instead
of modules
Change-Id: I54389f83092fef7847867a7e6681fc36c42ff446
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32265
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-10-05 16:04:10 +02:00
Alexander Zaft
48c9853b37
all: remove coding cookies
...
Change-Id: I53a4d79c3ebc50b8aed43a5ef1fa6538f8059a47
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32251
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-10-05 10:43:39 +02:00
Alexander Zaft
c68529d42d
server: handle signals during startup
...
previously, the signal handler would ignore SIGINTs and SIGTERMs during
server startup, so if there would be e.g. non-respoinding hardware, the
program could not be exited until a timeout occured.
For now, the default signal handler will be called. Later, we should
consider cleaning up the partial started modules.
Change-Id: I5bb802b5d996bb03dfa2679c1497e298fde1dd17
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32247
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-10-04 10:32:27 +02:00
4b5e02c957
proxy: fix command wrapper
...
bugfix: return only value of execCommand result, not qualifiers
Change-Id: Iff14779050daa9886e9f7d0396317c5a41695cd1
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32235
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-10-02 13:38:37 +02:00
Alexander Zaft
7d85d85963
core: factor out accessibles from init
...
* factor out adding of accessibles
Change-Id: I02c9d5ebc234f37be33ff0803248d05c65440c0a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32206
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-09-26 15:00:44 +02:00
Alexander Zaft
d7ab35a461
core: split module code
...
* split base and interface classes for Module into separate files.
* fix some imports
Change-Id: I92035863f138849c683bab9190df96a82b86143a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31697
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-09-26 14:58:49 +02:00
dd67c48c9e
bug in Attached (fix after change 31470)
...
An attached property may be defined with mandatory=False.
In this case, when no value or an empty string is given,
<modobj>.<attached_mod> must return None after initialisation.
+ remove 'dispatcher' level from the logger hierarchy on modules
Change-Id: Icee3ae3f9142cd7a910c579ae1ffaa35f93cee03
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32187
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-22 10:32:36 +02:00
4f86fc5c3c
frappy_psi.sea: small fixes
...
- changes in return value of frappy_config command in sea
- do not store sea manager
Change-Id: I5bc1d9a281ad2285b90d3649b4c702a3501d451d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32166
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-19 10:57:01 +02:00
4db1421b52
phytron.py: improve status
...
better analysis of hardware status code
Change-Id: I667b443649db43ff3e572e0a50685aabc9ba2ca2
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32165
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-19 10:56:50 +02:00
81279d3b61
introduce FrozenParam
...
For the case when the readback of a parameter does not reflect the
change immediately.
May also be used on Writable.target or Drivable.target with a short
BUSY period.
+ bug fix in an error message in frappy.datatypes.IntRange
Change-Id: I5e1c871629f9e3940ae80f35cb6307f404202b4a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31981
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-15 13:20:25 +02:00
ebb076a485
improve client shutdown time
...
in SecopClient.disconnect joinng the reconnect thread may take
up to 10 s, because of the time.sleep(10) call in the reconnect
thread.
change the _shutdown attribute from bool to an Event, and
use Event.wait instead of time.sleep
Change-Id: Icea6a14ad73df0b3d26ef45806f4c05e6bf18492
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32137
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-14 08:59:50 +02:00
98f9b2b8ad
change FloatRange arguments minval/maxval to min/max
...
in the previous version FloatRange(max=100) was neither working
properly nor complaining, because the maxval=None default was
overriding the value for max.
possible fixes:
- raise an error when min/max used as argument (confusing for
the programmer, as it is a property)
- allow both versions minval/maxval and min/max (more code)
- use min/max and a pylint directive here (the only thing to
take care is not to use the min/max builtin in __init__)
this change uses the last option for the fix
Change-Id: Iff0e0c4d0d7b165003bdeffa67a93a1cd7f29eea
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31982
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-14 08:59:34 +02:00
e416a657fd
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-09-14 08:59:13 +02:00
19c0bcdf14
psi: improve sea interface
...
- get return value from teh frappy-config script in order
to detect failures
- call config_check not more than once within 1 sec
Change-Id: Ibe42e846521206463f2761d452aea7e558a36854
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32139
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-14 08:48:16 +02:00
0d2c677de3
fix missing .poll attribute in simulation
...
using super() in SimBase.__new__ fixes the problem
Change-Id: I18d0ba6ac476c2edb0d973090bcb09508a983d6a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32136
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-13 14:39:46 +02:00
c7c6d60a99
further fixes after change 31470
...
- get_module is to be called when io is autocreated
- register_module is missing in playground
Change-Id: I28884575b71320667107c494473b0fc5d4363a50
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32123
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-09-12 09:41:01 +02:00
20b6d3e953
frappy_psi.phytron: further improvements
...
unfortunaely, sometimes communication errors happen.
workaround: try several times reading the status
Change-Id: I2788c6c9b4145246cdd51c31b246abffee60f93b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32032
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-08-25 08:18:59 +02:00
Alexander Zaft
d946efa629
frappy_mlz seop: add count to ampl and phase cmds
...
Change-Id: Id7faca31269bb481ec4010f1e0aec2591f0299d6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/32030
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-08-23 08:54:17 +02:00
3b95277152
fix frappy/playground.py after change 31470
...
assumptions about dispatcher in playground.py are no longer
valid.
- let Dispatcher class in playground inherit from real dispatcher
+ improve log messages
Change-Id: I2a9a9d532dabadc590543660c445c021dd2f2891
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31967
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-08-22 08:06:31 +02:00
2e74172869
interactive client: improve keyboard interrupt
...
- when driving a module with <module>(<target>),
keyboard interrupt should send stop()
- make sure keyboard interrupt does not only stop
the current driving, but also skips other code
on the same command line
Change-Id: Ib4d2c4111dc0f23bf07385065766fb9b4a611454
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31926
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-08-14 14:35:13 +02:00
501b781144
frappy_psi.phytron: stop motor before restart
...
restarting the phytron motor without prior stop leads
to funny behaviour.
- send stop before restart
- stop motor when moving but status not busy
- restart when motor drives the wrong way
+ better status text when stopping
Change-Id: I82cd59297b3c79a354a4eeb5ba03fc65bedf755f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31929
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-08-14 14:28:09 +02:00
2272aecf0f
frappy/protocol/interface/tcp.py: use SECoP_DEFAULT_PORT
...
import SECoP_DEFAULT_PORT instead of defining DEF_PORT
Change-Id: I02ee420d200f90b61f8c79e1cb5ee3e0913955e9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31913
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 >
2023-08-07 16:13:05 +02:00
3569876bfc
improve error message on client when host/port is bad
...
for host name without port, None was used for the port
leading to a confusing error message
- do not call parse_host_port with None as defaultport argument
- improve error message when connection fails
+ fix an error in last line of parse_ipv6_host_and_port
+ fix some issues breaking PEP 8 rules
Change-Id: I437360be96449c164f0080e3c60f1685825d4780
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31911
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 >
2023-08-07 15:11:53 +02:00
Alexander Zaft
4d3d78ad3c
frappy_mlz: fix one-off error in barcode reader
...
cut of one byte too much in barcode decode
Change-Id: I5f1f8475f197b13af836d685dc6da5a9ee824dc2
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31728
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-21 10:13:47 +02:00
Alexander Zaft
5b95a0ccca
add zapf to requirements-dev
...
Change-Id: I6dddd8d4c590253f1039b89edae561fa90b40811
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31725
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-20 15:29:00 +02:00
Alexander Zaft
8232b106a7
Revert "add zapf to requirements-dev.txt"
...
This reverts commit e67a46cd01 .
Reason for revert: required version available from pypi
Change-Id: Ib4f8b0cf62da58e84545511c7521ea93b7ff1342
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31724
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-20 15:22:35 +02:00
Alexander Zaft
bc652f00bc
frappy_mlz: Add Zapf PLC
...
adds a zapf-based PLC connection scanner.
Change-Id: Icc0ded7e7a8cc5a83d7527d9b26b37c49e9b8674
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31471
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-20 09:27:25 +02:00
Alexander Zaft
e67a46cd01
add zapf to requirements-dev.txt
...
Change-Id: Ia4de696051cee1e00676e777b7dd2c0a90a0c504
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31719
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-20 09:05:46 +02:00
Alexander Zaft
a974f85a41
core: do not call register_module on error
...
Dispatcher.get_module_instance returns None on failure.
If that is the case, the dispatcher should not try to register the
None value as a module.
Change-Id: Ie33b8debc2a829d480d56cafc1eb0ab610181d67
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31713
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2023-07-20 07:46:06 +02:00
Alexander Zaft
819e2c5381
dispatcher: change logging calls to debug
...
Some logging calls should not have landed as log.info in the dynamic
modules patch. This fixes that.
Change-Id: I666fc7c9b5c65ddbed1c26ea456becce7870e744
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31707
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-18 10:38:05 +02:00
Alexander Zaft
c6796a1199
frappy_mlz: Zebra fixes after basic test
...
Some fixes after the device was tested with socat ptys and NICOS.
Change-Id: I3e9dba2be2547d493c435d1da9844c932a2df4e6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31662
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-13 07:19:40 +02:00
Alexander Zaft
2a769bbb40
mlz: Add Zebra Barcode Reader
...
Adds a Barcode reader device (for now, only for ANTARES). Not yet
tested with real hardware.
Change-Id: I25f097466be89d152f47b9d05ece8f562e4b34d6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31412
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-11 14:58:49 +02:00
7ee65f47ee
frappy.client.interactive: bug fixes
...
- correct behaviour with the following untypical message sequence:
- send change target
- receive status idle
- receive status busy
- receive changed target
- add 'exception' to Logger
Change-Id: I614b2a2c2e09ef1b43544838ccb2fa43357dd50d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31632
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 >
2023-07-11 09:02:39 +02:00
285df89d4d
frappy_psi.sea: further bug fixes
...
- in SEA, it is not guaranteed that the is_running state is set
before the run command returns. as a consequence, we have to
wait in SeaDrivable.write_target for is_running being set
- syncio has always to be reconnected after asynio
Change-Id: Ia46cff11de86868ce0627faaf6f776282bd7a8f4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31631
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 >
2023-07-10 18:32:52 +02:00
78e8b9127f
frappy_psi.sea: avoid multiple connections
...
the _connect method was sometimes started in parallel
from startModules and the first call to doPoll.
remove the first one, and protect the second one
with a lock
Change-Id: I079439e150efd5d005130cef475f6326f933ecbd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31611
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-07-07 15:49:18 +02:00
8647814220
frappy.io: make error reporting consistent
...
- fix mechanism to avoid multiple error messages in log files
Change-Id: I688071f9b06da1a81eb12d63adb549042171c7c8
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31610
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-07-07 15:48:59 +02:00
9935546efd
add frappy_psi.thermofisher to the doc
...
Change-Id: Iae7a611485446c80d831949f74f449520319729e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31582
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 >
2023-07-06 16:51:21 +02:00
830b5b3be0
add frappy_psi.thermofisher
...
ThermoScientific A10 bath thermostat
Change-Id: I7ce1ac8845ac539ff7cb1fcca84d0abebba61f07
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31408
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-07-03 08:39:01 +02:00
fd2d05d7b5
add StructParam
...
adds a generic solution for creating parameters with struct datatype
with their members linked to individual parameters.
main use case: ctrlpars
read_*/write_* methods are either created for the main (structed)
parameter based on the corresponding methods of the individual
parameters or the methods for the individual parameters are created
based on the methods of the main parameter
+ disable pylint use-dict-literal
Change-Id: I7f1d9fb3d3b2226b548c2999bbfebe2ba5ac285e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31405
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-07-03 08:29:53 +02:00
Alexander Zaft
01348e0c7c
server: add option to dynamically create devices
...
add module which scans a connection and registers new devices depending
on the answer.
* change module initialization to demand-based
* move code from server to dispatcher
- remove intermediate step in Attached __get__
TODO:
factor out dispatcher (regards to playground)
discuss factoring out of module creation code from server AND
dispatcher
Change-Id: I7af959b99a84c291c526aac067a4e2bf3cd741d4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31470
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-07-03 07:23:30 +02:00
fdf82c3989
pylint: disable use-dict-literal
...
sometimes it is nicer to use dict(...) instead of {}
an objections against removing this check from pylint?
Change-Id: Ib08d3016b7ec3512111021a82685253cdcd42916
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31505
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 >
2023-06-30 08:15:11 +02:00
9ece4f797b
frappy_psi.sea: try to reconnect on failure
...
both .asynio and .syncio connection should be tried to reopen.
Change-Id: I836ede1e5fff6f7ac670c92e769da8ec834d2b12
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31449
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-06-28 17:33:40 +02:00
b47e5d270c
fix frappy.lib.merge_status
...
merge_status should consider that the status text in arguments
is already composed. add test for this.
Change-Id: Ia000d1e1d8e97a5c2b5ef9d1569cc123232016ae
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31378
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-06-28 11:49:38 +02:00
Alexander Zaft
cffe301c26
add test cases for server and config
...
Change-Id: I36427cab769785a9495851348f5e2ed1f20bcbc9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31324
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-22 09:56:40 +02:00
Alexander Zaft
83d11da5ae
server: Add signal handling
...
previously, no cleanup would be performed, SIGINTs being catched above
the server.run() function
+ signal handler for SIGINT, SIGTERM
* put serve_forever in its own thread, to be able to call shutdown() on
the server
Change-Id: Ia5c021f3d6fd60ff2b9012c10e30715f93104977
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31340
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-21 08:33:22 +02:00
4c911d58b7
frappy_psi.convergence: bug fixes and improvements
...
- consider that super().read_status() might not exist
- use empty status text instead of 'approaching' for simple busy
- test for tolerance should use <=
Change-Id: Idfd59fcec02827e0eb0105a9ff3b9efb54e41d71
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31379
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 >
2023-06-20 16:59:24 +02:00
Alexander Zaft
d079bd15e7
Add shutdownModule function
...
Add and call shutdownModule function, in order to allow modules to clean
up.
use shutdownModule instead of shutdown to avoid confusion with
severs/dispatchers shutdown and to make it consistent with initModule
etc.
Try to resolve module dependencies
Change-Id: I2a091bf74ecadc2395fcdf92c599f1c49eb120f5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31339
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-20 16:16:08 +02:00
Jenkins system
0c45755170
[deb] Release v0.17.13
2023-06-20 14:38:00 +02:00
Alexander Zaft
b91905fc04
server: fix systemd variable scope
...
Change 31280 introduced an error where an import was overridden, which
leads python to consider it a local variable, preventing access to the
systemd import. (TODO: a better way to handle the systemd import?)
Fixes : #4732
Change-Id: I5188a8737392bd8befcdfa9af044a21be9af908a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31386
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-20 14:35:48 +02:00
5727ecbc7f
frappy_psi.sea: bug fixes
...
- left over fixes from config file format change
- sea enums might be texts - create SeaEnum datatype for this
Change-Id: I1f1baeeb4d6a0b13b5ec42d651bc0fc37b0fdf2c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31380
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-06-20 09:39:02 +02:00
27b8deeb2e
frappy_psi.magfield: bug fix
...
Change-Id: I8c004fe6ab840b3b6f270702a636a96ebba8c0b8
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31381
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-06-20 09:38:40 +02:00
98c8600117
frappy_psi.triton: fix HeaterOutput.limit
...
+ fix handling of control_active
Change-Id: Ic11933f6c1c4d9df07aa9d06ae4dca40b755e4ed
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31377
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-06-20 07:50:20 +02:00
f7129f6a00
add a hook for reads to be done initially
...
inital reads from HW should be done in the thread started by
startModule, not in startModule itself.
- add a hook method 'initialReads' for this
+ add doc for init methods
+ fix some errors in doc
Change-Id: I914e3b7ee05050eea1ee8aff3461030adf08a461
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31374
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 >
2023-06-20 07:41:47 +02:00
2feff36077
frappy_psi.mercury: proper handling of control_active
...
Change-Id: I31e846fa6fdf6d642184e3736a66ffd53033bccf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31376
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 >
2023-06-19 17:04:55 +02:00
04b6ad09ba
frappy.mixins.HasOutputModule
...
add 'set_control_active' method for overriding by subclasses
Change-Id: Ib344319862a4a0bf29efef16a63db09d1f314a82
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31375
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 >
2023-06-19 16:50:57 +02:00
06175da887
frappy_psi.phytron: rename reset_error to clear_errors
...
use the command 'clear_errors' to return from an error state
+ make sure target is valid after clear_errors
Change-Id: I3c180500a05836d52bbb9a8ecbdb397adea03d0d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31337
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-06-19 16:50:38 +02:00
9306596cb2
frappy_psi.mercury/triton: add control_off command
...
frappy_psi.triton.TemperatureLoop has not output module to
deactivate control -> add control_off also to loops in
frappy_psi.mercury
Change-Id: I4dc4333134da34a8d3ae0f3c037a1e5b108c95a1
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31341
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 >
2023-06-19 10:36:10 +02:00
666ebf5719
GUI bugfix: use isChecked instead of checkState in BoolInput
...
Change-Id: I4896df13c117c6eeaaaaba80ca3da4b1982c3d9b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31346
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 >
2023-06-15 16:36:12 +02:00
Alexander Zaft
3783210b81
add egg-info to gitignore
...
Change-Id: I33e8987e552383776717e6176567988702be092a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31338
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 >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2023-06-14 13:36:13 +02:00
Jenkins system
18f2fa05c9
[deb] Release v0.17.12
2023-06-13 06:51:28 +02:00
Alexander Zaft
b0e23466cc
entangle: fix tango guards for pytango 9.3
...
Change-Id: I666969f9c798971d5cd8a0c2f6564067ac3cde72
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31327
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-06-13 06:50:51 +02:00
Alexander Zaft
6802e8f9d3
io: followup fix for retry-first-ident
...
followup fix: no error was raised ever for the first identification
message.
Change-Id: I80f0f431add6dfd7b37d750b9fc661174aa8f217
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31318
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-12 14:02:47 +02:00
Alexander Zaft
ff9f7239cf
config: fix merge_modules
...
Change-Id: I31d05afe300443e08fb08f9e6645401f52cfae39
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31323
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-12 14:02:22 +02:00
Alexander Zaft
15ca3c984d
io: add option to retry first ident request
...
Change-Id: I524c15387eaf2461e3dfe690250a55f058467b0b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31291
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-07 10:25:34 +02:00
68d74347c6
silently catches error in systemd.daemon.notify
...
our version of systemd installed does not accept
a string as argument for systemd.daemon.notify
anyway, whether systemd notifications are sent or not
should not depend only on the presence of a package,
but should be configurable.
Change-Id: I466d1ed2b969301a287dd532ab4d0743a74045fa
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31280
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 >
2023-06-02 16:50:11 +02:00
Alexander Zaft
a11b8cf2d1
seop: fix fitparam command
...
Change-Id: I75589f4c9d954ebb189bd9c785e9f307767fa69d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31273
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-02 09:47:45 +02:00
Alexander Zaft
4a80b4e45d
Typo in influences description
...
Change-Id: If834790c2d269a5c988703da2fcc1764202b5021
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31269
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-01 15:56:18 +02:00
Alexander Zaft
d3c9666593
Add SEOP He3-polarization device
...
Change-Id: Ifd85584da154b629fdb88c1f4a8605bd788c82e6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31176
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-06-01 14:32:28 +02:00
fa4349784c
frappy.client: dummy logger is missing 'exception' method
...
Change-Id: Id22fe73f3c507e626602ddf045f7a02ed8873f91
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31241
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-31 16:19:16 +02:00
Alexander Zaft
815e91ae26
Add influences property to parameters/commands
...
Change-Id: Ica1cc40155cae9b6f52788c8559399030c07d379
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31234
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-05-31 09:14:18 +02:00
Alexander Zaft
3b92688b84
Warn about duplicate module definitions in a file
...
check for each file, if every module definition occurs only once
Change-Id: I4f37f67c07d68068cbced718908927a594defc88
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31194
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 >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-05-25 14:12:07 +02:00
Jenkins system
37337ac959
[deb] Release v0.17.11
2023-05-25 09:38:25 +02:00
Alexander Zaft
af0f9b39b5
Fix rstrip misuse in frappy-generator
...
rstrip uses its argument as a set of characters to strip from the
string. Cut the last four characters with a slice if applicable.
Change-Id: Ia2198acf43f92d6f5d687122301f4a5e5324ac31
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31181
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-05-25 09:31:16 +02:00
a643093934
client: timestamps must never lie in the future
...
+ use log.exception for error in callback
(nicer when called from nicos)
Change-Id: If6d3036d9876457e57b996e5b20343d28f99451b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31160
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 >
2023-05-24 09:08:07 +02:00
d8c0a1c507
phytron motor driver
...
an example for HasOffset and limits
+ cosmetic improvement of HasStates.start_machine
Change-Id: I34cbfa65dc04947285d8c901715899915f28fdaf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31070
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-23 16:19:58 +02:00
bda0afe042
client.interactive: fix error when interface_classes empty
...
Change-Id: I7a4f3052d4c666186930b3b6dceca5f18d89d4e3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31078
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 >
2023-05-23 16:19:27 +02:00
4b307fe92a
add unit=s to pollinterval
...
Change-Id: Ie352b3c044cafacbf2e3516284ea8bd1a68f23cc
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31071
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 >
2023-05-23 16:16:06 +02:00
04d7d0249a
move more code from bin/frappy-cli to frappy/client/interactive.py
...
allow to call console client easier from outside frappy
Change-Id: If08c5a27ca371a96d9ceedac2e2a7ea576740a60
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31083
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-23 16:15:01 +02:00
Georg Brandl
386e5d241e
debian: add new executable
...
Change-Id: If0faae7aff20a75d1aa327d7da3ddcc48854238c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31152
Tested-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-05-23 07:30:47 +02:00
ccb33b81b3
add sea driver
...
+ fix a bug in frappy.client.ProxyClient: move CacheItem stuff to
frappy.client.SecopClient.updateValue, as ProxyClient is used by
SeaClient and does not know Frappy datatypes
Change-Id: I3aef9fdddbdd2bbef0c56a10c8a8031e4acc5993
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31065
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-09 14:49:21 +02:00
37e18a8a5b
driver for mercury IPS
...
OI mercury series magnet power supply
Change-Id: I1ec20435a9e585c543afc736355e39da72eff879
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31009
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-09 14:49:12 +02:00
dfe0038494
improve traceback while processing config file
...
the filename of the executed config file has to
be known to 'exec' for a meaningfull traceback
Change-Id: I3403740dc9198ce5f64741fbb112cb908159c704
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31055
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-09 13:03:53 +02:00
Alexander Zaft
259970249a
Fix lower limit checking of FloatRange
...
compatible used sys.float_info.min (smallest representable positive
float) instead of -sys.float_info.max.
so FloatRanges -500,10 and -10,10 were two-way compatible
Since it is correctly set in __init__, no need for the guard here
Change-Id: If693fa69a8b2de1aa52ce702bd282a84a8f4c55a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31056
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-05-09 08:49:41 +02:00
3a3ca0372b
fix interplay mercury.TemperatureLoop and HasConvergence
...
frappy_psi.convergence.HasConvergence:
- no need to inherit HasStates (should be independent)
- trigger current state then tolerance or settling_time is changed
frappy_psi.mercury:
- improve readback checks
- fix interplay with HasControlledBy
- fix interplay with HasConvergence
Change-Id: I6efedbe6bbfba5a66ddd22ac441ebf38af11eda6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31047
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-08 14:41:30 +02:00
bc2b860f31
mixins should not inherit Module
...
else conflicts building MRO may arise
Change-Id: Ifdfc5000884d5d815a55eca6dbb5198b19410890
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31046
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-08 14:39:07 +02:00
Alexander Zaft
e20986c65b
Fix interface class list
...
Communicator Modules were exported with the interface class Module
instead of the correct Communicator interface. Modules that combine
Drivable etc. and Communicator also did not have Communicator listed
as a second valid interface class.
Change-Id: Ib74d866cf97631f7fbc29ea9914b2968010cf226
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31037
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-05-08 10:32:48 +02:00
0153975d32
add HasOffset feature
...
+ remove all other unused features
Change-Id: Ifb276562a50c656b887cd9bbd5c865cae514d5ff
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31022
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-05 13:06:51 +02:00
e4bb28aa09
improve and fix errors with parameter limits
...
- in order to work properly, readonly=True in limit parameters
has to be set before creating the write_* method
- more explicit: Use e.g. target_max=Limit()
- fix an error in the loop over the base classes when creating
the check_* method
- more concise error message when a limit is violated
+ fix an error in playground when using persistent parameters
Change-Id: Ibd557b55d6c0d9a2612cda4460b16e3c70e1bc9e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31017
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-05 13:06:24 +02:00
761b7b4cf8
fixes on HasConvergence and HasOutputModule
...
- HasConvergence must inherit from HasStates
- control_active should have a default
Change-Id: Ic8b430003fdb746bf76782b74fa04e43c700c2e2
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31023
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-04 16:29:52 +02:00
ed61a2f7ce
driver for the triton dilution refrigerator
...
using the trion software on a windows PC.
the interface ist similar to the IO mercury series
Change-Id: I148f03bf2dfa91023432d1317a93a24e9f849e44
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31011
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-04 15:49:00 +02:00
f48a742bb5
improve mercury driver
...
less fancy but more readable commands
Change-Id: Ifcc6a03199167179d984235c9b1bc7e14c60b51b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31008
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-04 15:48:38 +02:00
6d7fbda286
fix in frappy_psi.historywriter
...
Change-Id: I85266c2761c3d015098129bd9b5d604c05d85bde
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31021
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-04 15:35:08 +02:00
Alexander Zaft
5283b06cb7
Add Stopgap handling of cfg files in cfg-editor
...
Basic parsing and writing of python config files.
Does not preserve comments, can't transform the
old format to the new one.
This is just so the executable that is delivered
actually does something with the new config files.
Change-Id: I4bb8310e1af7a05f90dd426dfa629080583aff66
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30935
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-05-03 14:51:35 +02:00
Alexander Zaft
f491625dd1
Improve address and connection handling
...
* improve address checking
+ add ipv6 capabilities
Change-Id: I5369336bec449c27d79d857018f319266dfd4d0e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30885
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-05-03 13:28:03 +02:00
Jens Krüger
a49d64953c
MLZ/Entangle: Fix user limits handling
...
The user limits should always inside the absolute limits.
Change-Id: Ib678b52b6fd1e6badaec72a59eb18dc65a883c9e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30970
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de >
2023-05-03 09:57:02 +02:00
Jens Krüger
507a941459
MLZ/Entangle: Add unit init in AnalogOutput
...
The init of the units in AnalogOutput should follow the same algorithm
as the AnalogInput branch
Change-Id: Ica5349f389d28fef2c97037d2b61266bc395b2f7
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30969
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de >
2023-05-03 09:53:36 +02:00
Jens Krüger
02c20f5296
Server: add missing 'restart_hook' missing
...
Change-Id: Iac6349c86ee7cc5c55177e881a51a240df260d6f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/31004
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 >
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de >
2023-05-03 09:52:55 +02:00
54c0a6062a
improve interactive client
...
- remove irrelevant traceback on remote errors
- add run() function to execute scripts
- when started with bin/frappy-cli, use separate namespace
Change-Id: Ic808a76fa76ecd8d814d52b15a6d7d2203c6a2f3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30957
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-02 15:48:46 +02:00
140a3e9e8a
improve mercury temperature loop
...
- remove appearance of Done
- add auto flow
- try up to 3 times in 'change' method if read back does not match
Change-Id: I98928307bda87190d34aed663023b157311d4495
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30981
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-02 15:27:36 +02:00
3cea8580ae
issues with StructOf
...
- depending whether client or server side, handling of optional is different
- fix issues when struct is used as keyworded command arguments
Change-Id: I72b347b1a96ee3bce1f67dace4862c313c12c7a9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30972
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-02 15:27:25 +02:00
65ff0c0fc3
a playground for debugging drivers
...
playgound for trying out drivers by calling methods read_*
and write_* directly without starting a real SECoP server
Change-Id: Ia7d2366920d29794a4eda5d7bfb2b62d4930eb65
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30944
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-02 15:27:12 +02:00
21427ca765
frappy_psi: two small fixes in k2601b/ppmssim
...
Change-Id: I5b3a333fd6e79d1f09d540726ce0a91580c63d08
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30983
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-02 09:46:21 +02:00
3929a37e93
fix issues with lakeshore 370
...
- simplify parsing/formatting of LakeShore commands
-> allow 'g' as enum format
- HasIO: check missing io later
- ls370res.ResChannel: get io for channels from switcher
- rwhandler.CommonWriteHandler: return value in write method
- frappy_psi.channelswitcher: fix the case when default channel does not exist
Change-Id: I28dd94cdf922cde307b870d4ffdfc64664c3423b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30949
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-02 07:56:14 +02:00
ea5cdbbe44
improve error handling on callbacks
...
errors in callback functions should be reported to log,
but not stop the callback chain
Change-Id: I4fc509b7121960ebe59e1ad4f4b4746dfb4d5ba3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30950
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-05-02 07:48:05 +02:00
Jens Krüger
827d27ed59
MLZ/Entangle: Fix formatting issues
...
Change-Id: I33b90a202ef55260159d13de1ecda8ca107e5bf3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30968
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de >
2023-04-28 10:14:06 +02:00
5f4e5d22b7
make io device visible as expert by default
...
Change-Id: I49204bd2f951413e660d701ed67c0c08bcc29e43
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30967
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-04-27 16:39:05 +02:00
Alexander Zaft
97083a4db5
specify minimum pyqt5 version
...
Change-Id: I06f169fc9fc8734a9284e3db570e58422c271c92
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30938
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-24 14:11:40 +02:00
1d97a422c2
fix error from manual %-format conversion
...
frappy_psi.ppms (line 263) was not correctly converted probably due
to the fact, that dict access with f-strings gets quite ugly.
As it seems we want to get rid of %-format, use str.format_map here.
Change-Id: Idf5b700554aa7a02a6647dc4672bf4a3856f92a5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30933
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-04-20 17:17:31 +02:00
Alexander Zaft
4b2500a9d7
Add __format__ to EnumMember
...
Make the format specifier 'd' able to be used when formatting them
in f-strings as an alternative to an int()-cast.
Change-Id: I4083aa0f4b0d8d10e3e11a29591cfbf5e5aca03d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30902
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-20 13:36:04 +02:00
Jenkins system
9e7a0a8c1d
[deb] Release v0.17.10
2023-04-19 14:32:52 +02:00
Alexander Zaft
805df680da
make entangle mapping a dict
...
Change-Id: I38d863a907469674001f0721140f88c17b53635b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30911
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-19 14:29:11 +02:00
Alexander Zaft
0bf4b6cdf2
Manually convert most remaining format statements
...
%d accepts floats and other things, so manual fixes are needed after
conversion.
After flynt -ll 2000 --aggressive, each was manually checked if the
casts with int() are needed.
Two statements are still missing in ls370res
Change-Id: I2651ddbe60695aa19582882a97d0f71bcb05c1ef
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30901
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-19 13:59:54 +02:00
Alexander Zaft
32b6d6ffc2
Rebuild NodeWidget when the description changes
...
+ add descriptionChanged signal
* track detached of TabWidgetStorage correctly
* build new NodeWidget when the nodes description changes. the old one
is replaced
Change-Id: I61e60c61b7c2c975819730cb98562657a66f16af
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30910
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-18 10:05:22 +02:00
Alexander Zaft
bbddb6c572
[WIP] gui: add specific input widgets
...
+ add bool, enum and generic input widgets
Change-Id: If6962ed6f2c96a319d4ed8c8ee5fb8c03f6e7f82
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30723
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-17 08:57:24 +02:00
Alexander Zaft
de1579c34a
move unit into display label
...
TODO: decide if this is preferable to a dedicated label
Change-Id: I707fad5ab85bf2de53f82bc638a9fe20eb26f14e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30786
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-17 08:50:34 +02:00
Alexander Zaft
34183453e0
Convert formatting automatically to f-strings
...
Automatically convert formatting with the following call:
flynt -ll 2000 -v frappy*
Result: 303/381 auto-converted.
Failing conversions will be looked at manually in a follow-up commit.
Change-Id: Icd996b27221202faccc15af78e0380cf52ee37f2
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30900
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-14 15:50:27 +02:00
Alexander Zaft
c114dbab26
Change leftover %-logging calls to lazy
...
Change-Id: I0bee8d02ac364ab93f77919cae78afa386b85c85
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30899
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-14 15:50:19 +02:00
Jenkins system
1dcd1db4eb
[deb] Release v0.17.9
2023-04-11 16:09:04 +02:00
08071acbf9
interactive client: avoid messing up the input line
...
- trigger a redraw of the input line when asynchronous log
messages arrive
+ do not print traceback on 'remote' errors
+ persistent readline history
Change-Id: If85fd064c1c09c44e0cb0ebccbfc1b6411ad5aac
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30793
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-04-05 10:43:06 +02:00
Jenkins system
4ad9669531
[deb] Release v0.17.8
2023-04-05 07:20:26 +02:00
Jens Krüger
33f9f39f3c
Debian: Fix typo
...
Change-Id: Iba218600bd60ad663869cee7758d6d4ac1387908
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30864
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de >
2023-04-05 07:19:18 +02:00
Jenkins system
59131c7456
[deb] Release v0.17.7
2023-04-05 07:07:25 +02:00
Jens Krüger
5245779fd9
Debian: add pyqtgraph dependency
...
The pyqtgraph version should be >= 0.11.1 (tested on Debian 11), so the
buster installation won't run without manual interaction: Installation
of pyqtgraph via pip
Fixes : #4711
Change-Id: If785da5578ac7f3812d8d49bc36d055cde4a37f9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30859
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de >
2023-04-05 07:06:16 +02:00
Jenkins system
fed071d74a
[deb] Release v0.17.6
2023-04-04 08:42:26 +02:00
Jens Krüger
d79a24221b
Fix debian GUI package dependency
...
The current python packages for Qt5 are called 'python3-pyqt5*'
Change-Id: I36bba2be50eb8769b01eeaf1202b32d3c849fc56
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30854
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-04 08:39:56 +02:00
bf83f9a185
improve error messages
...
- treat validation errors of the result of write_ and read_ messages
properly
- add info about the called read_* and write_ methods to the error
message, in case the error is not raised in the outmost method
- as subsequent errors in poll functions are logged only once, log an
info when a poll function succeeds again
- remove DiscouragedConversion error
Change-Id: Ib66e001cc95de8225751a1464a92594c369ceb3f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30788
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-04-04 08:15:26 +02:00
Alexander Zaft
c1d5b77e9c
cli: add argparse and inlcudes before repl
...
+ add argparse to cli
+ add option for files that are executed after connection to the modules
but before repl starts
+ add option to skip interactive mode after executing files
Change-Id: I8f01db84b2c91d4bf1a7b397e8fa1bf0c87ddf0d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30823
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Tested-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-03 11:30:53 +02:00
Alexander Zaft
9791f15807
add optional validation to ValueType
...
* add optional parameter for ValueType: validator
used for checking, if a value meets a criteria (e.g. is dict)
+ InternalParameter, which is not exported and can hold any python value
Change-Id: If39a7a4a8019f2aa1a930e42cbef4fca59163b78
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30787
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-04-03 10:09:26 +02:00
Alexander Zaft
2daa8d49bf
add copyright headers where missing
...
Change-Id: Ie68ed439d084b4b79d7db81b58360967f5726d7c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30768
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-24 08:11:34 +01:00
Alexander Zaft
1041fd58f3
gui: logwindow improvements
...
* make state consistent with menu action
* colorize
* add time to log message
Change-Id: I0c0800ddb1843b826a6adacf4e4b18d52598acf2
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30759
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-24 07:32:03 +01:00
Alexander Zaft
56c4e221bc
gui: add console history
...
+ add HistorySerializer to merge histories in correct order
* move console to own file
* promote msgLineEdit to class based on NICOS-HistoryLineEdit
Change-Id: I853d49a70640f38275c8762ab345003db5ec5592
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30753
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-24 07:31:39 +01:00
Alexander Zaft
d654708060
gui: switch group button order, change text
...
* change order of name and toolbutton
* change text on click
Change-Id: I6efba544d0ba63fd8065483a566643372892cc00
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30750
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-23 11:01:20 +01:00
Alexander Zaft
2086259bb4
gui: full module description only in detailed mode
...
* take only the first line of the description, this makes the normal
view more condensed if it is formatted like a git commit message or
similar
Change-Id: I268dce0aa09d3ad5133815fe33577532bf0a2e96
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30749
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-23 11:01:14 +01:00
Alexander Zaft
205789a51d
gui: show parameter properties again
...
* parameter properties shown with own button
* for now as a popup window
Change-Id: If3b51eb66a759c207591f1341126557f2c6e4a3d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30748
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-23 11:01:04 +01:00
Jenkins system
6bb3104134
[deb] Release v0.17.5
2023-03-22 12:32:06 +01:00
Alexander Zaft
b6204d5fbc
Fix generator
...
Change-Id: Ic332e9c130b56e446787af87718d4028f2aac714
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30746
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-22 12:31:45 +01:00
Jenkins system
bd7ecbe167
[deb] Release v0.17.4
2023-03-22 11:44:34 +01:00
Alexander Zaft
78ab28c6d3
Fix entangle integration bugs
...
found during ccr-box adaption
* missing param description DigitalOutput
* missing Writable baseclass in DigitalOutput
* rework ccr config file
Change-Id: Ie40f875caacd374b02e6f6175b5fb003619c5f4e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30743
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-22 10:18:23 +01:00
Jenkins system
013d20e8af
[deb] Release v0.17.3
2023-03-21 15:55:10 +01:00
Jenkins system
2a4b94aa3b
[deb] Release v0.17.2
2023-03-21 15:49:08 +01:00
bf809b4b9a
format unit properly in the case of nested arrays
...
The unit is shown at the end of nested arrays.
Change-Id: I235bc40e61161e09a7b00cd1e186d8d8c1769d89
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30734
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-21 14:36:16 +01:00
7186759435
fix issues when closing tabs
...
- catch error on AsynTcp.shutdown (when already disconnected)
- avoid opening duplicate tabs
- shorten try except in mainWindow._handleTabClose to the minimum
+ fix an issue with frappy.client.CacheItem.formatted
Change-Id: Ice4086373a89a969f02e08ec90a173edbd5b0585
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30730
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-21 14:35:35 +01:00
Alexander Zaft
2722a0a40f
gui: more greeter interactions
...
+ double click item to open node
+ Enter key while recent nodes are focused opens selected
Change-Id: I397f743faec70e623b5ef9a86d61625f8db7e933
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30736
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-21 14:18:19 +01:00
Alexander Zaft
df7dc2e612
Add SECoP link to readme
...
Change-Id: I5990b59e26060f9c9a2457f455537a0af28e28bb
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30735
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-21 13:27:20 +01:00
fb3a31761c
fix generalConfig defaults
...
bin/frappy-server:
- the default for omit_unchanged_within must not be overriden
+ remove no longer used disable_value_range_check
Change-Id: I5c0620e44dc7df3ae2ca48f7ab6371189acae489
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30727
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-21 09:15:03 +01:00
80297963d2
remove UNKNOWN, UNSTABLE and DISABLED from Readable.status
...
- re-add them where needed (epics, entangle ...)
Change-Id: I2b8af9f5f86285f081d5418211f6940e80a1dbd7
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30718
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 >
2023-03-21 08:29:49 +01:00
ace85026e0
improve frappy.errors
...
- include all secop errors from spec
- add doc strings
- make conversion to and from error report nicer
- move all error classes to frappy.errors
- rename errors clashing with built-in errors
Change-Id: I4d882173b020cd4baf862c5891375b691e67e24a
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30721
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-21 08:29:20 +01:00
a15cfc87bf
simplify status type declaration
...
- StatusType: simpler inheritance (inherit from module instead of Enum)
- StatusType: more robust for standard codes, give names only
- <Module>.Status is automatically extended
- Enum: accept duplicates with same name and value
Change-Id: Iad1dacf14c31fe6f4ae48e7560b29e49838e4f23
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30716
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 >
2023-03-21 08:18:40 +01:00
670fc39821
enhanced parameter range checks
...
- check for <param>_min and <param>_max
- customized checks with check_<param> method
the inherited customized check functions are all called in
a sequence, with the possibilty to return True to quit earlier,
no need to use super calls here
Change-Id: I903081abbbad2586c1e8237e303abaa3683ac419
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30632
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-21 07:51:28 +01:00
b80d39773b
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-03-20 14:31:56 +01:00
Alexander Zaft
c41eefba51
check configured names for spaces
...
reject equipment_ids and module names which contain spaces
Change-Id: I0ffe8fee13122ddfff6715863d0a82f72b5cb9f6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30711
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-20 12:19:28 +01:00
Alexander Zaft
4ab33fc0fc
gui: terminate connection on tab close
...
+ add method to explicitly terminate connection on qsecnode
* disconnect explicitly when closing tabs
Change-Id: I00af5fb296e1499b88eafc033f62fdcc1131a145
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30677
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-17 12:40:16 +01:00
Alexander Zaft
c6d588c881
fix README typo
...
Change-Id: I545835243959c9feb6781f3ed400bff53d0eb428
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30705
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-16 16:25:47 +01:00
e0b2747821
central point for status codes
...
Put status code definitions into frappy.datatypes.StatusType.
frappy.datatypes is anyway imported in servers and clients,
so this is a better place than frappy.modules.
Change-Id: I81dfc8a066f598fbd20854ed1a13b937b7facc8c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30703
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-16 14:42:42 +01:00
8f9b2902d9
gui: support proper formatting of values
...
- use Datatype.format_value to convert all values
- frappy.client.ProxyClient: use CacheItem instead of 3-tuple
- CacheItem has built in formatting
- adapt gui to use it instead of stopgap
As it is now easy to convert to string including values, it may
be better to move the unit in the modulewidget into the value field.
This would simplyfy the code.
Change-Id: I5c06da4a24706fcbc83ebcbf8c0ea6a8eb6d7890
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30680
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-16 14:40:47 +01:00
Alexander Zaft
0ce1e7d8ca
fix importing AsynCon without serial
...
importing HasIO without serial being installed fails, as the import
guard sets Serial to None, which is then called for AsyncSerials
SETTINGS attribute
Change-Id: I94a9eb5c2ff8de1a1b31f31700358d5d2226eadd
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30700
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-16 10:14:21 +01:00
Georg Brandl
5a182acf2d
demo: fixup Switch class
...
Target and value are not emitting an update event upon changing target.
Change-Id: Ic01d17fd8529dc0b0a720fbc79d98c7a61fc572b
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30645
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-16 08:47:45 +01:00
0560668b91
split BadValue into WrongType and RangeError
...
in order to match SECoP specification
fixes #4668
Change-Id: Ica73a8171536ccc324cf8db915347a6263c2d736
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30625
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 >
2023-03-16 07:51:13 +01:00
Enrico Faulhaber
20506a8393
handle connection close more gracefully
...
Change-Id: Iea12e95e88fa3638f91edc2e99abb5ece3f75b4d
fixes : #4705
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30685
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2023-03-15 18:39:15 +01:00
Alexander Zaft
c4de1d4db6
gui: Logo in greeter
...
+ add SECoP logo resources (3 dark text, 1 light text)
+ Add logo to greeter
TODO: when there is a frappy-logo, replace this
Change-Id: I37eb8946d291b2f5dde0b5000251a4ac363fb01f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30596
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-14 14:24:11 +01:00
Alexander Zaft
80a4a123b0
gui: make module details button checkable
...
Change-Id: I22e5591e87e84a86ecbaf47d86d5885cf0a569be
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30676
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-14 09:24:54 +01:00
Georg Brandl
7be0ed5c65
isort: add firstparty
...
Change-Id: I38d2ee3bf617accc97069167c408b1cd1b9ef6b1
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30675
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-14 08:20:03 +01:00
Georg Brandl
e186442084
Jenkinsfile: isort does not fail the build
...
Change-Id: Ide31346f35ecef3030f306698cfe4586010df020
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30674
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-14 08:19:58 +01:00
Alexander Zaft
44f171aa72
Fix doubled module info
...
Change-Id: Ic406471a28f0c891323b990760ffd721ed419e12
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30667
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-13 10:03:07 +01:00
a72038e18c
treat returning None from write_<param> properly
...
as intended originally, returning None should be the same
as returning the new value from the argument
Change-Id: I5596d2b6f6f525efd4dc410bbe22dad6f1fb2017
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30659
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-13 09:37:13 +01:00
Alexander Zaft
81f9e89402
Short background Color animation on scroll
...
When the tree selection changes, trigger a short animation of the
background color of the name-label of the selected module/parameter
Change-Id: Ia56619a7e73458a5ac63ef821b5ac7ab5f7451df
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30651
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2023-03-10 15:19:06 +01:00
Georg Brandl
aa43254b55
gui: always show scrollbar in nodewidget
...
To avoid content jumping around when expanding.
Change-Id: I81a80f2ed11057bab2d4f0c1a21f9f29c4053c36
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30648
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-10 14:10:16 +01:00
Georg Brandl
bc7975f4e5
gui: cleanup code in modulewidget
...
- line length
- spacing style
- copyright header
Change-Id: Ib402baf271868e82010e9acdfad4087164d91714
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30647
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-10 14:10:12 +01:00
Georg Brandl
5983a4ac9d
gui: better display of protocol version
...
Change-Id: I987aa7bf4b0cb1395425590655739fd4b28bd282
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30646
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-10 09:12:45 +01:00
Alexander Zaft
3afd0b07ed
Remove Modulectrl Widget
...
Change-Id: I172227f01c8de494477050414e8cdd02bebafdbc
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30639
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-10 09:12:30 +01:00
Alexander Zaft
af57d92e99
Scroll Module area instead of replacing widgets
...
Change-Id: Id06eaabee294e032a71e7b28255a9b818763737e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30638
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-10 09:12:20 +01:00
Alexander Zaft
16a3b1dc35
Extend Node and Module widgets
...
- put nodeinfo elements into ui file
- add per-module detailed view
- add first version of grouping (cleanup in a follow-up commit)
Change-Id: If35bc4a8f4ed0a313e97f88797e70186d7c0d9bc
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30631
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-09 13:42:02 +01:00
Alexander Zaft
1b38a989d8
Merge resource files
...
- move config editor files into resources
- merge both qrc files into one
Change-Id: I3089b0e1c7784683964d3e0b6e87c8a5cbd62ad2
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30593
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-08 15:59:30 +01:00
Alexander Zaft
e820e1a822
[Needs Feedback] Add PyQt6. Remove PyQt4
...
- fully qualify enum values for Qt6
- add resource file per Qt version
- TabWidget: use QPointF instead of QPoint for constructing mouse event
Change-Id: I07da61c36c4228a60f6b5b9dacbead27c0a2409d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30585
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-08 15:59:15 +01:00
f6ee2f8d27
refresh logging when reconnected while watching
...
when a connection is reconnected, send 'logging' has to
be resent when watching
Change-Id: I13bb0075811151d93bd20f390b4c0745b9ad5418
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30604
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-08 08:43:49 +01:00
be24ea882b
improve online help of frappy-cli
...
- help text shown exactly once (even with no or more arguments)
- automatically generated client object names
+ stay in interactive mode even when not all clients succeded
Change-Id: Iefcac66df92f47363e43bc9b97bb2082f153e5df
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30583
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-07 14:57:50 +01:00
Alexander Zaft
a8711f9706
Always make a greeter tab
...
Change-Id: If6a8cf55d29508645e4a731277ad341de23ca37d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30587
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-07 07:16:24 +01:00
Georg Brandl
4ca3d5ba22
gui: better label for param set button
...
Change-Id: Ied1eb2851b755fa63289dcc19ba8b2aff803f13e
2023-03-06 12:51:21 +01:00
Georg Brandl
8c916eb7aa
gui: remove unused ui file
...
Change-Id: I2b73cb7e65d12f5b053274e50d2fcf5f0b01c6d0
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30581
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-06 12:50:45 +01:00
5a23c5af37
AsynConn.uri: better handling for missing scheme
...
- check roughly for hostname being a valid address
- allow missing 'tcp' scheme even with missing port number
Change-Id: Ia3ce4cb7b8d2a4b339421eafe21f06fba6d938e6
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30582
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-06 10:35:55 +01:00
Alexander Zaft
d48ab55909
Make input field more distinct
...
* different color for value fields
* placeholder text in input fields
Change-Id: Ibb94eb09ab7bfd7c2807f27226b7e2825ac3ea5d
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30579
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-06 09:45:26 +01:00
Alexander Zaft
47b1268ceb
Remove unneeded constants
...
Change-Id: I1bfb213bb6c58af311d4f1af7af18abbdb82c269
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30575
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-03 15:52:18 +01:00
Alexander Zaft
e4a60863b5
Fix Node adding logic
...
* Unify _addNode calls
* introduce addNode for error catching
* set parent for Nodewidget only after successful creation (otherwise
this results in Bug #4694
Change-Id: I82a5d867b45e766cd7dd33e7144e57a9f66a73b3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30572
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-03 15:47:34 +01:00
Georg Brandl
a9257b2a0c
gui: isort
...
Change-Id: Ic1c1d54a9577c1774024aefd5464b6e4b8e1fe07
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30570
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-03 15:43:05 +01:00
Georg Brandl
9e6afffbec
gui: move QSECNode to separate module
...
Change-Id: Iaba98c6c74adec7c3de952cc703430c5756dfbe4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30569
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-03 15:15:10 +01:00
Georg Brandl
33f4bb98d9
gui: add about dialog, remove "about Qt" menu entry
...
Change-Id: I483cc8cbe67cff6d0e14ff9ce198cc50bebb7cf8
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30567
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-03 15:14:04 +01:00
Georg Brandl
d449e715c5
readme: fix make call
...
Change-Id: I58f31d53a2a4c67680c848f9e81068daabfa6cd4
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30568
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-03 14:38:23 +01:00
Alexander Zaft
c0dca1e753
Add reconnect Action
...
* add reconnect method to QSECNode
* Rename File Menu to Node
* Add Button to 'Node' Menu
Fixes : #4687
Change-Id: I04ee55ddbc13253255f0099a9f4d2f8d4d0da77c
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30566
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-03-03 14:23:13 +01:00
67d72245ff
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-03 14:08:43 +01:00
Georg Brandl
4f54423be5
installer: add config for frappy gui exe
...
Change-Id: I1abc325f685f8e95fac281b419be3defcc1e4485
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30508
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-03 14:01:18 +01:00
Georg Brandl
25df2cffd1
cfg editor: fixes
...
Change-Id: I1ea9f96f6c39c25ff8d4c51163aabccc5698dace
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30507
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-03-03 14:00:15 +01:00
4fe5ddeaa7
demo lakeshore with simulation
...
- example for lakeshore tutorial
- lakeshore simulator (merge with frappy_psils370sim)
- rename stringio-server to sim-server
Change-Id: I33a9c75ea268349573f8a8387910921e19f242eb
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30516
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-02 10:54:17 +01:00
731ecbeb32
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-02 10:53:44 +01:00
9796a25fe5
fix ppms with proxy
...
- proxy: remote parameter status should overddide datatype from
ProxyModule.status
- ppms: create PpmsDrivable instead of importing from
(PpmsBase, Drivable). Order matters for status parameter!
- update cfg files
Change-Id: If8fc263cffb903d8b3c1a93a089dcac3597d13a0
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30512
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-01 11:12:56 +01:00
2e9ed3ddea
better guess for cfg file location
...
check for existence of repodir+'/cfg' instead of repodir+'/.git'
fixes #4692
Change-Id: Ida841cd31eba851305bcfc0d96019710340c3140
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30510
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-03-01 11:12:01 +01:00
Alexander Zaft
4b42d72bc6
Fix forge link in README
...
Change-Id: Ie428f1814edc2685d03590da4e0635d0b100bbdf
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30538
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-02-28 13:39:16 +01:00
Georg Brandl
25618a6264
version.py: sync with other projects
...
Change-Id: I0e8b1502a9d1e8efa3ee1e0798ec5a85bf9d0f35
2023-02-28 08:15:55 +01:00
bb82179191
do not reuse address on Windows
...
socketserver.ThreadingTCPServer.allow_reuse_address must be False on
Windows systems, else several servers might be started on the same
port, and unspecified behaviour will happen
Fixes : #4695
Change-Id: Ic9f193e23854f9cd3413ab6e664ca8029a7c9c76
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30523
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-02-28 07:45:53 +01:00
Alexander Zaft
578a412de1
Remove auto-connect to 10767 on startup
...
* not necessary with greeter
* Port is default in greeter text field
Change-Id: If89cb72ec6af20fd4d83488af85b942c5f54b105
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30531
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-02-28 07:02:06 +01:00
Alexander Zaft
7428634297
Add recent SECNodes to Drop down menu
...
Fixes : #4686
Change-Id: I864e8dd407b23c8af0f0633d3be477e222df6c40
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30525
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-02-28 06:59:43 +01:00
Alexander Zaft
aa7ba84425
Add greeter tab to UI
...
* adds a tab on startup that shows last connected secnodes
* last nodes saved with qsettings
Change-Id: I2b663a408dc46bd0a0135e723b55d5ef3661bec8
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30524
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-02-28 06:55:27 +01:00
a3a963721a
allow super calls on read_/write_ methods
...
instead of wrapping the access methods on the class directly,
create a wrapper class with the wrapped methods.
Change-Id: I93f3985bd06d6956b42a6690c087fb125e460ef9
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30448
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2023-02-24 10:24:38 +01:00
Georg Brandl
367ecda9d6
add pyqtgraph to gui dependencies
...
Change-Id: Ic75d395e683c4c4e92162a287ef9beeb1c68df53
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30509
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-24 07:13:47 +01:00
549980d9cd
cfg path quick fix for hands-on session
...
Change-Id: If79f76ed17dce6a5587deaae2eae4eda77546306
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30503
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2023-02-23 08:45:08 +01:00
Alexander Zaft
0bbf3337b2
Fix Simulation and Proxy
...
Combination of changes 30188 and 30194 leads to simulation and proxy
still reading 'default' instead of 'value'
Change-Id: I176a42f534a4eb04916b57bb3b54e880a2531ed3
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30502
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
2023-02-22 17:28:20 +01:00
Jenkins system
43b5f707e8
[deb] Release v0.17.1
2023-02-21 17:44:57 +01:00
Georg Brandl
612695b644
gui: make plot windows children of the node, so they close automatically
...
Change-Id: I025bff02bc566be8bbaa8d90bf0035d1e2bf2a69
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30494
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-21 17:29:39 +01:00
Georg Brandl
cb8366105d
gui: clear tree selection by clicking into empty space
...
Change-Id: Ib065feeffa8636ee0b3160d7612f069057ef6b0e
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30492
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-21 17:29:35 +01:00
Georg Brandl
5de9ff2901
gui: as a stopgap measure, apply %g format to floats
...
Needs to be properly fixed by sharing the code to format
parameter values everywhere.
Change-Id: I766e4d2cb644153f99f9f40ce0414aa314b47307
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30491
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-21 17:29:31 +01:00
Georg Brandl
35fce652b7
gui console: better formatting of input/output
...
Change-Id: I2ffb3712bb4ef5dcdfbcae869e4971bdc7a116ad
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30490
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-21 17:29:26 +01:00
eb46733c86
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-02-21 17:17:52 +01:00
Georg Brandl
318f33961a
gui: make spacing more consistent
...
Change-Id: I5bb44c440b33cb0b5de0f5e2457c9226afe74a50
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30489
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Alexander Zaft <a.zaft@fz-juelich.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-21 17:01:45 +01:00
Georg Brandl
d641784104
cfg: repair demo cfg after conversion
...
Change-Id: I00b4e92d8e10842e9b2ae1ae904402473e77107f
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30488
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-21 16:47:18 +01:00
Georg Brandl
97a9e6624b
config: demo config fixes
...
Change-Id: I380e101065179bf0d784bacfe6b79731b40af4c5
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30487
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-21 16:47:14 +01:00
Georg Brandl
72a28b198b
gitignore: ignore demo PID file
...
Change-Id: Iab6bd32c51772f5bcf256802c9bb7082be5e7873
Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30486
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2023-02-21 16:47:01 +01:00
Jenkins system
86f97f0492
[deb] Release v0.17.0
2023-02-21 13:52:17 +01:00
Alexander Zaft
9a91f28413
Merge "Rework GUI."
2023-02-21 12:35:53 +01:00
Georg Brandl
9c17f09bdf
doc: fix trailing comma in authors
...
Change-Id: Ie611a3258a5b1acbdcbdfa55aad5198c4613f647
2023-02-21 12:06:12 +01:00
Georg Brandl
7465824423
ci: remove duplicate variable
...
Change-Id: I839ac4d9eda36082ba24c7c06df234a78798be2c
2023-02-21 12:03:36 +01:00
Alexander Zaft
a36d875fae
Rework GUI.
...
Work-in-progress state of the new gui.
Change-Id: Ib5e9ad2178b372fbd2914077096a9c73f025ecb7
2023-02-21 11:41:23 +01:00
Jenkins system
12f21996e4
[deb] Release v0.16.1
2023-02-21 08:44:29 +01:00
Jenkins system
879267aad1
[deb] Release v0.16.4
2023-02-21 08:09:20 +01:00
Jenkins system
7081976612
[deb] Release v0.16.3
2023-02-21 08:00:15 +01:00
Jenkins system
ea98023c28
[deb] Release v0.16.2
2023-02-21 07:50:13 +01:00
Enrico Faulhaber
167294aad8
Merge "gui: move icon resources for the cfg editor to its subdirectory"
2023-02-20 21:45:32 +01:00
Jenkins system
716fd0df2c
[deb] Release v0.16.1
2023-02-20 17:17:23 +01:00
Enrico Faulhaber
d168384d0c
add frappy-cli to package
...
Change-Id: I8697f05517935470a7c867ebddd63f5d28be21c3
2023-02-20 17:15:23 +01:00
Jenkins system
56454b9d9a
[deb] Release v0.16.0
2023-02-20 16:15:11 +01:00
4000371b97
Merge "README: add link to doc on forge.frm2.tum.de"
2023-02-20 16:02:48 +01:00
1b18337d2a
Merge "do proper value import on the client side"
2023-02-20 16:01:48 +01:00
55077e2417
README: add link to doc on forge.frm2.tum.de
...
Change-Id: I4a183202590a7e73ee1a905538c35af175f6c82d
2023-02-20 15:53:50 +01:00
Alexander Zaft
127f1712ee
Convert example configs to python
...
Fixes : #4627
Change-Id: I1049af9fa2f3f9ec06e55811dc9ecfa5f359c805
2023-02-20 15:41:56 +01:00
c4fbd8a7bf
Merge "T controller tutorial and improve documentation"
2023-02-20 08:44:45 +01:00
Alexander Zaft
4a7294679b
Change Readme title
...
Change-Id: Id8b07e76cb5748aa595fb484d78ffcc43f9cdddf
2023-02-16 12:00:51 +01:00
Alexander Zaft
5c3d09288b
Add initial README
...
Change-Id: I314b6bf527ba6bb7011804a3768e7785ed4046e3
2023-02-16 11:51:46 +01:00
365476256e
do proper value import on the client side
...
json values were not converted properly, resulting in integers
instead of enums at the client side
+ add log.debug in rx thread
Change-Id: Ifc3c3b28540eb6a516d77387a3f83711f34b7480
2023-02-15 15:33:58 +01:00
a2cd6051f2
Merge "HasStates: fix status code inheritance"
2023-02-14 08:25:22 +01:00
5b060d1b1c
Merge "HasControlledBy and HasOutputModule mixins"
2023-02-14 08:24:51 +01:00
10a61aa760
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-02-13 15:58:39 +01:00
60f6c2dda5
Merge "interactive client: improve watch function"
2023-02-02 17:35:10 +01:00
a72c2b685d
add lakeshore demo for hands-on workshop
...
- a simple LakeShore model 336 driver
a tutorial follows
Change-Id: I291a615efa5bd58a0dd908949210086d2f82c2ca
2023-02-02 15:18:44 +01:00
6b751f845f
interactive client: improve watch function
...
- watch is now a command, not a module method
- finish watching with ctrl-C
- watching an io module logs communication
- add bin/frappy-cli to start interactive client
+ remove sorted function from StructOf.format_value
Change-Id: I7dd707473e4534f2d39c5d6afc533c2d872380f8
2023-01-31 13:11:07 +01:00
12ef37504a
Merge "adapt tutorial to new config file format"
2023-01-31 11:44:45 +01:00
Alexander Zaft
3c1f4b0bc1
Merge "Add .desktop file"
2023-01-31 07:29:07 +01:00
ada9e53a4d
raise ProtcolError when specifier is missing
...
- fixed this for 'read', 'change' and 'do' message
+ fix an error in frappy.client.SecopClient closing the connection
when the identifier is None
fixes : #4672
Change-Id: Iaba0f9ed86b6eb6ef7588403ba640ded552dded6
2023-01-30 17:15:27 +01:00
66d363cc07
adapt tutorial to new config file format
...
Change-Id: Iafd8a2dbed8cd1283ce97b6559138c7bc02714c7
2023-01-26 16:43:56 +01:00
ddd16f4ed4
HasControlledBy and HasOutputModule mixins
...
for supporting coupled modules (output - input case)
Change-Id: I58488faa0d52b3b984a3dc70ff44ee4a9a218d7a
2023-01-25 10:25:31 +01:00
a4ebcb9bb7
HasStates: fix status code inheritance
...
use mro for status code inheritance
- as a consequence, the decorator class 'StatusCode' is now a
decorator function 'status_code'. snake case is anyway more
common for decorators.
- adapt tests
+ fix an error message
Change-Id: Ib409b963c51e0fe807397ff1d73d77d0147b8580
2023-01-25 08:49:02 +01:00
878bb6f892
do not throw ZeroDivisonError when pollinterval is 0
...
fast_interval might be 0, indicating to poll as fast as possible
- this should not throw a zero division error
Change-Id: I26e18f5a656c943b906c6ffff65361e1fcf16d50
2023-01-24 15:37:45 +01:00
e571abdb18
improve persistent parameters
...
A value given in config overrides values read from the persistent data file.
To let the loaded parameter have precedence, configure a default only.
The write_<param> method of a persistent parameter is now always called
on startup.
- add tests for persistent behaviour
+ simplify Modules.writeInitParams: remove started_callback argument
Change-Id: I08b49de52e9d9a2ed0918018eb2fe538141a4f5e
2023-01-24 15:35:50 +01:00
Alexander Zaft
ec16ee7e8b
Add .desktop file
...
Fixes : #4632
Change-Id: Ie0f07049462ed6664cca4062bced09c15bdd5a56
2023-01-24 10:56:39 +01:00
Georg Brandl
401447ffd6
gui: move icon resources for the cfg editor to its subdirectory
...
Change-Id: Iebda39c73d9886701a58fe58b91ef54b70a4fd73
2023-01-24 09:29:55 +01:00
37ca162ae2
fix copy method of Attached
...
a copy of 'Attached' must also copy the basecls
Change-Id: Ia80cc458b241cb1f224f4c24f0241ed1d4ec1060
2023-01-24 08:22:58 +01:00
dcd79506a9
Merge "improve parameter initialisation"
2023-01-23 08:25:36 +01:00
f4e974f46c
improve parameter initialisation
...
- make 'value' a Parameter property instead of an attribute
- use 'value' instead of 'default' property for setting
the initial value in the config file
- removal of initwrite parameter property
this change is the basis of a better implementation
for change 30041 (PersistentParam property 'override_cfg')
Change-Id: I2b82bdd54c2dacb87dcd2b3472004d2f0a730cf0
2023-01-20 16:55:06 +01:00
Alexander Zaft
d889401697
Revert limit change in demo
...
After 29724, the change in frappy_demo/modules.py from 30183 which was
made to run 'make demo' without errors can be reverted.
Change-Id: I00a6f512304a3159c10e44aef670ac0edd4703d7
2023-01-19 15:39:33 +01:00
85295a7d72
Merge "client: detect original frappy error class"
2023-01-19 12:29:37 +01:00
82957c287d
Merge "rework datatypes (setter should not check limits)"
2023-01-19 08:28:30 +01:00
Alexander Zaft
05593d80f6
Bring demo up to date
...
* Add python config for test and demo server
* Remove old configs
* Fix issue with slow start of test server
Change-Id: If0e576f4e4dda8b03489fdbb79b209dfcdca29ff
2023-01-18 16:24:30 +01:00
7a870aa56c
rework datatypes (setter should not check limits)
...
- use Datatype.validate for converting and checking limits
(used also in properties)
- Datatype.__call__ converts and validates, but without checking
limits (used in setter)
- Datatype.validate may be used to add missing optional struct elements
from previous value (used in Dispatcher._setParameterValue)
- remove problematic range check
+ use shorter formula for converting float to int in ScaledInteger
(leftover from python2 compatibility)
+ improve error messages (strip very long repr(value))
Change-Id: Ib85736fe558ec3370ebce4e1c43f957e3bb0497c
2023-01-16 10:18:15 +01:00
Alexander Zaft
09d48ea913
Merge "GUI: add logging infra, switch to argparse"
2023-01-12 13:12:09 +01:00
Alexander Zaft
8850edbc2d
Merge "Change config to Python"
2023-01-12 13:10:37 +01:00
59cc981566
client: detect original frappy error class
...
The text part of the error report contains the original error
class - convert it to the frappy error class, if possible.
This makes the error messages on the client nicer, as the
error class would be duplicated in the error message on the
client side.
Change-Id: If2e0c3eb15ac2dd1b80a851ff42e4076557a325d
2022-12-22 13:44:08 +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
Alexander Zaft
52b77ba9e6
Change config to Python
...
- Change Configuration format to be python-based.
- move config logic to frappy/config.py
- Add first py-config: cryo_cfg.py
- Adapt test to new expected config format
Change-Id: Iaec484e0e1e21ebbb1e5c74b53be6231329ddf71
2022-12-20 09:48:14 +01:00
Bjoern Pedersen
db3b190c26
Improve jenkinsfile
...
Change-Id: I68efdd1a20135a0374fb9692e369a315824786ea
2022-12-19 14:34:48 +01:00
Alexander Zaft
c522c41654
GUI: add logging infra, switch to argparse
...
First part for #4662
Change-Id: I75877337e8ea35d4c4555471ee4518c942dac88a
2022-12-08 16:38:00 +01:00
Enrico Faulhaber
929e41ffff
Merge "Fix identification response"
2022-12-06 18:00:10 +01:00
Alexander Zaft
8d99a8c536
Fix identification response
...
- fix header, but accept both responses
- warn when counterpart uses old behaviour
Fixes : #4659
Change-Id: Ib8869755898bf20edcbc7ae93157c943f816ebc1
2022-12-06 14:43:45 +01:00
a14c282993
redesign of the state machine
...
With the current implementation, we run into a deadlock with the lock
from the state machine interfering with the accessLock on the module.
We can not wait for the state machine to finish while having the
accessLock locked by write_target. As a consequence, when restarting
the state machine we should not wait, but remember the state function
to call and postpone the restart after the cleanup has finished.
For this, we want to know the status before calling the state function.
- create HasState mixin, using doPoll for driving the machine
- StatusCode decorator for assigning a status to a state function
- remove the state machines 'threaded' option
- 'Retry' is now a unique value instead of a class. The retry period
is determined by the (fast) poll interval.
- return 'Finish' instead of None for finishing the machine. returning
None for state function is now an error, as this might happen
easily inadvertently.
Change-Id: Icb31367442f10e98be69af3e05a84f12ce5cc966
2022-12-06 10:18:50 +01:00
Alexander Zaft
d09634a55d
Fix error Message for too large arrays
...
Change-Id: I69b6789ef9f463565918a395120b8f5ad3494b20
2022-11-28 09:28:37 +01:00
b17030afa2
Merge "interactive client: fix detection of overriding modules"
2022-11-10 17:01:34 +01:00
37c9efb27b
interactive client: fix detection of overriding modules
...
+ add docstring to PrettyFloat
Change-Id: Idc92e169e94d0c2bd3f9b8958870393295c87b18
2022-11-10 15:58:28 +01:00
Enrico Faulhaber
4167ce7b00
fix sorce package name
...
Change-Id: I91cd5d5e6d2da00eedc3e2ff0ee2a1d3e9ed4b04
2022-11-10 15:00:27 +01:00
Jenkins system
2b7b2267d2
[deb] Release v0.15.0
2022-11-10 14:46:02 +01:00
Enrico Faulhaber
8071c21819
Merge "Fix typo in .description"
2022-11-10 14:43:32 +01:00
Enrico Faulhaber
e16ef3ae87
Merge "rename debian files"
2022-11-10 14:42:54 +01:00
Björn Pedersen
51147d8e09
Fix doc warnings/errors
...
Change-Id: Idd6feeb66d58bc562853d3a82831645ef2d5ccf6
2022-11-10 11:12:32 +02:00
Alexander Zaft
6909eb8541
rename debian files
...
Change-Id: Ib990ecb8ef5ad856eb32110e5448064acf9a5a12
2022-11-10 09:46:46 +01:00
Björn Pedersen
5d6b208671
CI build: upgrade base image
...
- use python 3.9 (3.9 bullseyse)
- add latex-fonts-extra to fix missing tgtermes.sty
- in bullseye python3-pytango has been renamend to python3-tango
(https://packages.debian.org/stable/python/python3-tango )
Change-Id: I06c8d8e432644f657057d14bbe754f28e2c10dd4
2022-11-10 09:08:21 +01:00
Alexander Zaft
b3eebb6c6a
rename debian package files
...
Change-Id: I376082a68ceacd6fda984dc8dc1d53fa4afbbfef
2022-11-09 16:31:40 +01: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
Alexander Zaft
c1eb764b09
fixed pylint warnings
...
Change-Id: Ibb3da77e9a53b7293a280659defc029416e30e3b
2022-11-09 17:19:17 +02:00
Christian Felder
a9d798fabc
Fix typo in .description
...
Change-Id: I84def1c25279a2492d39931590f32a3b6fea8856
2022-11-08 17:44:58 +01:00
Alexander Zaft
a928c95efd
Merge "Add requirements-gui.txt and add PyQT5"
2022-11-03 15:50:19 +01:00
Enrico Faulhaber
7df4584150
Merge "Remove iohandler left-overs from docs"
2022-11-03 15:00:54 +01:00
Alexander Zaft
b7cebe2cd8
Add requirements-gui.txt and add PyQT5
...
Change-Id: I8e2cdcc2d0353f4384ba8ea026e02af65064ece9
2022-11-03 14:41:25 +01:00
Georg Brandl
b8b2dafaf8
Makefile: fix release target
...
Change-Id: I1cc94a91cbb03c046092a814163664a507c88bdc
2022-11-03 13:56:24 +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
Jenkins system
ce4bbec766
[deb] Release v0.14.3
2022-11-03 13:51:52 +01:00
Enrico Faulhaber
355810a887
MLZ/entangle: fix AnalogOutput.read_status()
...
Change-Id: I584cd8f559b6c57f3c73105b28bc533526f6f492
2022-11-03 12:59:58 +01:00
Bjoern Pedersen
aa98604f88
Upgrade for ci
...
fixes outdated options and macros in Jenkinsfile
fixes outdated options in pylintrc
Change-Id: Ib064cc8b4235536c21288733676438297e15736d
2022-11-03 12:27:37 +01:00
Georg Brandl
b0051ca3f0
secop_mlz/amagnet: formatting fixup
...
Change-Id: I05ec4568c87d58f32cf48479ac653075e2211ed3
2022-10-28 16:20:29 +02:00
Enrico Faulhaber
92edbb27ea
change repo to secop/frappy
...
Change-Id: I515c0d958c87d555156861db83a7b22c60046ead
2022-10-21 12:40:33 +02:00
Jenkins system
20fc48ddf0
[deb] Release v0.14.2
2022-10-20 15:38:45 +02:00
Georg Brandl
340c031f46
systemd generator: adapt to changed config API
...
Change-Id: Idb2527b7007aca3a051c1ec9a2d8eecdb55cacef
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29535
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Georg Brandl <g.brandl@fz-juelich.de >
2022-10-20 15:13:29 +02:00
Jenkins system
3ac8b4e255
[deb] Release v0.14.1
2022-10-20 14:04:07 +02:00
Georg Brandl
6ffc73a1e1
Makefile: fix Jenkins host
...
Change-Id: I1ae3c27d0839b8dffde4cf9da5a13fa00f88a9d3
2022-10-20 14:03:59 +02:00
Georg Brandl
4ef0b0c01d
mlz: avoid error on import due to consistency check
...
Change-Id: I43751a93b16a0cd9a64ae79da7045fd4e879b065
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29529
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-10-20 10:39:08 +02:00
Georg Brandl
1fc805a5a2
gui: clarify needed input for "add sec node" dialog
...
Change-Id: Ia34eef4df50d545fa779979dd25a239803af0a8e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29528
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-10-20 07:54:05 +02:00
05edf98dfe
secop_psi.entangle.AnalogInput: fix main value
...
when the unit of parameter 'value' is taken from tango, the
'$' units of other parameters are already replaced by the configured
value and are not updated. this change fixes this.
not yet tested on entangle, but a test with similar code works
Change-Id: I87ad112b0965b39bb204d6c3d1fc1de6d4e14f60
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29357
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-10-19 17:27:29 +02:00
Jenkins system
e09c365ea5
[deb] Release v0.14.0
2022-10-19 11:31:51 +02:00
64cb297a06
HasIO: automatic creation of io from uri fails
...
attached io in HasIO must not be mandatory - either uri or io
has to be given
Change-Id: Id39e40f98020d4051c1ad8105f6af6018aafaea8
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29349
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-09-22 15:37:42 +02:00
eaefa1ce87
apply main unit also in structured types
...
Change-Id: I5a3efb167f2b460b847d8e7ac75a21848976b5f8
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29350
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-09-22 14:59:24 +02:00
71aaf7187a
improvements on interactive client
...
- fix handling of exceptions
- add selective logging
- improve formatting of values
Change-Id: I69c11e95aca1cdd222800fd3fd192a6b12b38411
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29348
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-09-22 14:59:10 +02:00
0a28192c15
improve general config
...
for easier configuration of multiple servers on the same machine,
FRAPPY_* env. variables are overriding the values from the
general config file
+ apply expanduser where approporiate
Change-Id: Icb73543402f5fb1b8a248a8b8d7fb470971492f4
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29351
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-09-22 14:58:47 +02:00
1b9cac04b1
fix bug when restarting statemachine
...
- fixed bad if clause
+ better debug message on restart/stop
Change-Id: I4c2327593c014749a32377dac45f0f46c680df2b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29352
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-09-22 14:58:20 +02:00
2b1986ad8f
fix bug in persistent.py
...
- use dirname instead of basename
Change-Id: Id563794a8e5f5c9e4d31750f089eb3b9c3150d94
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29353
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-09-22 14:58:05 +02:00
270152d503
improve HasConvergence mixin
...
- add stop command
- fix bug in cleanup
- reset time spent on write_target
Change-Id: Iaa76cb7a9c6b4a2ccb08313f9880006ab14afe2b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29355
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-09-22 14:57:52 +02:00
1922578dfa
fix undefined status in softcal
...
when the status of the rawsensor is not changed, the
status of the calibrated module was not initialized
properly.
Change-Id: I2c23e245226ffb7643060e486c9dfde250a79ce9
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/29356
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-09-22 14:56:23 +02:00
43880346d6
add simple interactive python client
...
- SECoP modules are accessible as objects in the main python module
- parameters are accessed as attributes of these objects
- __repr__ is used for listing all parameters
- __call__ is used for 'change target and wait until no more busy'
typically used from a python interpreter or in a jupyter notebook
Change-Id: Idb55684eeff6d1262e5d1517a3ff934f1c1bf208
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28980
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-08-11 11:15:40 +02:00
Jenkins system
d0794a7803
[deb] Release v0.13.1
2022-08-02 15:31:52 +02:00
Enrico Faulhaber
dc76ac92de
secop_mlz: minor rework entangle client
...
Change-Id: Ie406b4220c22cdbf302a1fd36f2d7407d81a47fa
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28951
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2022-08-02 15:30:53 +02:00
8579368259
make startup faster in case of errors
...
When the io of one SECoP module fails, it takes ages to startup
because each parameter poll takes the time to wait for a timeout.
After the first communication error on an io, no more startup polls
are tried on the modules using this io.
Change-Id: I0d250953dfe91a7d68d2d2b108395cc25d471afe
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28588
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-08-02 11:52:57 +02:00
cd90385e6c
an enum with value 0 should be interpreted as False
...
for example: bool(Enum(off=0, on=1)('off')) is False
Change-Id: Ieb200b4ecf0eed50b657ecc00f73a69810ad828f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28586
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-08-02 11:37:56 +02:00
Jenkins system
3acea5f7c7
[deb] Release v0.13.0
2022-08-02 09:47:07 +02:00
Enrico Faulhaber
c564ae392c
default unit to UTF8
...
Change-Id: Ic958346beb1a3b164c8d7b2826d59cf7e3991e15
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28946
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2022-08-02 09:46:02 +02:00
1357ead435
remove IOHandler stuff
...
as all code using IO handlers has been changed to use
secop.rwhandler, IO handlers can be removed
Change-Id: Id57fbc4ce2744dbe73bb8792fd45449373f76bb5
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28526
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-05-30 09:58:00 +02:00
6a0261c728
allow to convert numpy arrays to ArrayOf
...
accept all sequences instead of just tuple / list
+ change Module.announceUpdate to convert value before
comparing with previous one (comparing will not work with numpy arrays)
Change-Id: I5eceef4297607107e2dde688af2833d3651a8775
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28525
Tested-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-05-25 14:22:30 +02:00
d717a481d7
feature implementation
...
implement features including two proposed features
HasOffset and HasLimits
Change-Id: I7949f12dc8abe28fb2ee040e64e7db19d1b23b9a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28485
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-05-25 14:21:21 +02:00
4c94580cb9
channel switcher for Lakeshore 370 with scanner
...
- add a general channel switcher module
- change ls370res code from IOHandler to rwhandlers
+ fix an issue with the poller when io module is placed below
using modules in cfg file
after this, IOHandler stuff may be removed from Frappy
Change-Id: I787101fc1e365ae3e0453bfe59291e2011a1fe53
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28512
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-05-25 07:47:32 +02:00
8eee7ab3b0
fix keithley 2601b after tests
...
- add missing super call in initModule
- change mode before writing levels
- fix MEASURE_DCVOLTS instead of MEASURE_VOLTS
Change-Id: Id93187e082db9868f443d4ef8cbdc85acd11be2b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28256
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-04-27 15:46:58 +02:00
478075c545
allow a configfile path as single argument to secop-server
...
when a full path is given as single argument to secop-server,
the server name has to be sanitized
Change-Id: I1d11f076157548e90877f380f0cab3a6a3f96784
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28232
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-04-26 08:35:34 +02:00
b7d16d2e16
add 'ts' to the ppms simulation
...
+ convert from CRLF to LF
Change-Id: I46fab0c970ccc5e7e704a5dc0ab2cfd51213cd31
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28233
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2022-04-26 08:35:16 +02:00
d3379d5e95
support for OI mercury series
...
- temperature (incl. heater)
- pressure (incl. control via valve motor)
- LHe and LN2 levels
not yet included: magnet power supply
Change-Id: Id4ee8f9b7ebfa6284e519ba485217f9a19d70d59
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28028
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-04-22 16:02:22 +02:00
d6ad5f058d
improve poller error handling
...
- repeated errors on poller are only once logged (per poll
function / read_* method)
- during exception handling, silent=True on a SECoP error indicates
that the error is already logged
+ fix the name of HardwareError
+ add test for consistency of SECoPErrors
+ catch socket.timeout in AsynTcp
Change-Id: I9df6c775cc19553b22a4d6e39591092adf7ff9a1
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28139
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2022-04-12 18:12:28 +02:00
a35134978a
avoid deadlock in proxy
...
in secop.proxy the callers modules method announceUpdate is
called from an other thread while the accessLock is locked,
creating a deadlock. solve this by creating an other lock
'updateLock' for the update.
+ add status parameter even to non-Readable proxy modules,
in order to indicate a failed connection
+ fix an error in secop_psi/softcal.py
Change-Id: Iae7c6d5a74001150a47aa9dc99209c15d972cd5e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28130
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-04-12 18:11:12 +02:00
7891c281e1
fix error in secop.logging
...
Implement LogfileHandler.getChild. This is needed to inherit
the configured level from the parent handler.
+ remove redundant assignmet of logfile_handler.max_days
Change-Id: I7277c28221bbb6108d75f2437634e9db9bf6761e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28140
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-04-12 18:10:59 +02:00
6460e51920
improved trinamic driver
...
- safe_current: current limit for unlimited move
- move_limit: max. angle to move with high current > safe_current
- direct axis parameter access is not exported by default
- support for home switch
- allow use without encoder
- automatic reset for motors in a configuration, where the motor
current is deliberatly low for a limited torque
- improved error message on driving failures
Change-Id: I25f8516905a2c4c3cda09d091d5a43004ec6dc6f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28029
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-04-11 16:25:21 +02:00
b40b0e75b1
motor valve using trinamic motor
...
This valve needs 8 turns to open. As the encoder forgets
the number if turns on power cycle, a home switch is
mounte, which engages during the last turn when closing.
The final close position is determined by closing the valve
with a defined motor current/torque.
+ fix an issue in StateMachine.start: the first cycle
must be called after the new state is assigned
Change-Id: I34cd05d10d97b043f9e3126310943b74ee727382
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28030
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-04-11 16:25:05 +02:00
af983287e7
use a common poller thread for modules sharing io
...
When several poller threads are using the same io, the resposivity
of client requests is reduced, as every thread first finishes
its pending communication requests, before it is the turn of the
request thread. This is solved by using one common poller thread
for all modules sharing the same communicator.
+ fix an issue with overriding a property with a parameter, as
this is the case for pollperiod (cfg was applied to property
instead of overriding parameter)
+ separate setFastPoll arguments into flag and fast interval
+ fix missing announceUpdate call when read function fails
+ fix mechanism for triggering polls after an io connection
reconnected again.
Change-Id: I1115a61fae3de80d18416e61f40b52a0eebb637c
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28021
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-04-06 17:12:36 +02:00
8d23503bbd
fix statemachine
...
- fix: calling state.start(<new state>) on restart must ensure
that the function <new state> is called before state.start()
returns.
- modify slighly behaviour of cleanup function
Change-Id: I483a3aefa6af4712b3cf13f62c86d4c06edd1d8d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28020
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-29 08:08:44 +02:00
bb097ac3ba
reintroduced individual init of generalConfig.defaults
...
revert basically the former change
"init generalConfig.defaults only in secop-server"
The problem of import order when setting generalConfig.defaults
has to be solved by not overriding already existing keys when
setting the default.
Change-Id: I82121e346607dd74146279c4241e13ab63c14096
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28011
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-25 07:35:26 +01:00
16a9550080
avoid race conditions in read_*/write_* methods
...
using one RLock per Module
+ init generalConfig for all tests
Change-Id: I88db6cacdb4aaac2ecd56644ccd6a3e5fd2d1cf2
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/28005
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-03-23 10:40:37 +01:00
9858973ba1
HasConvergence mixin
...
the HasConvergence mixin runs a state machine to determine
when the value has reached target from parameters 'tolerance',
'settling_time' or detects convergence failure depending on
the parameter 'timeout'.
Change-Id: Iccc3d43bcf5ab54ae02ce3a81423c2decc1b392d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27967
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-03-23 09:41:34 +01:00
e6d6179925
init generalConfig.defaults only in secop-server
...
generalConfig.defaults must not be set on import, as this
depends on import order
Change-Id: I00395b40b4281ddc044c196713f6512068011380
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27985
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-22 07:56:38 +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
3c0c60615a
fix error in write wrapper and more
...
- write wrapper must return the result, not the argument
- modify test_modules.py for this
- mixins are not required to inherit from HasAttributes -> modify method check
- config for Attach may be mandatory (default: True)
Change-Id: I34f2965b12d69717e81d9296715467df6f3ac447
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27934
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-11 15:16:27 +01:00
fda1939324
fix and improved Attached
...
- Attached checks now for proper base class
- fixes an error in Attached: attached saved in attachedModules
dict instead on the Attached object (which sits on the class!)
+ fix: in testonly mode errors must be logged before returning
+ fix: use repr of exception in poll to check for repeated errors
Change-Id: I141fa107fed48e58b55ddf1e071987656c0f618f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27913
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-03-08 16:34:14 +01:00
8767be2aac
improve k2601b driver
...
- activate current/voltage by setting their target
- deactive output by setting both active parameters to False
- split out power and resistivity to be separate modules
Change-Id: Ie2d7353bcd088da496f547da6fe83a192001fe8f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27910
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-03-08 11:25:52 +01:00
39a3e79eb3
move markdown to requirements-dev.txt
...
Change-Id: I6493483091bffdbff7c5ffec8c52b5b6f48e8664
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27911
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-08 11:23:21 +01:00
c1d42f0f02
improve softcal
...
- be more tolerant parsing header of .340 file
- when curve not found, look also in secop_psi/calcurves
- better error message when curve not readable
- check that data points are monotonic
- auto create description if missing
- some more minor stuff
Change-Id: Iecc4dd3dda843b44391aa56272840472a61d4b2c
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27909
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2022-03-07 16:18:21 +01:00
3fe44d32b1
reset connection on identification
...
required for issue 66.
The other stuff in issue 66 ('error_closed' message), has to be
implemented if and when frappy will support serial server connections
Change-Id: I63bcd59741c3c330a72b829ce8491766ffe6c3a8
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27908
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-07 16:14:12 +01:00
f58ab263e7
various small fixes
...
- fix some earlyInit and initModules methods
- remove some comments
- change name of Done unique value to 'Done', this seems more
useful for __repr__ and debug logging
Change-Id: I73f0e09bfef858ddca11bba0e92e941ebc151160
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27907
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-07 16:13:13 +01:00
e0fe7e46d1
support for fast poll when busy
...
Module.setFastPoll may be called depending on status in order to
change the poll interval dependent whether the module is busy or
not. It is assured that the new interval is applied immediately.
Change-Id: I2bd8f68440dc4a93b39e5083a579fc1c123fe578
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27896
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-04 17:21:03 +01:00
b423235c5d
new poll mechanism
...
- remove secop.poller and basic poller
- regular polls for 'important' parameters done by method doPoll
- all other parameters are polled slower (slowInterval) and
with lower priority (only one at a time when main poll is due)
- nopoll decorator for read_* to disable poll
- enablePoll attribute (default True) for disabling polling a module
- fast polls may be implemented by means of a statemachine
- configurable slow poll interval
+ allow a Parameter to override a Property (parameter
Readable.pollinterval overrides Module.pollinterval)
Change-Id: Ib1b3453041a233678b7c4b4add22ac399670e447
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27832
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2022-03-04 09:58:15 +01:00
aa82bc580d
proper return value in handler read_* methods
...
wrapped read_* methods must always return a value
+ do not copy __name__ attribute of handler method to wrapped method
Change-Id: I54cd4b37cf7452621ee734be393aec4611fe809b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27870
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-02 11:36:33 +01:00
c2596a9629
implement a state machine
...
a quite simple, but powerful state machine
There is not need to subclass StateMachine, but use an instance
of it. The code typically lives on methods of an other class.
Features:
- store any variables (except already defined attributes) on the state
- actions handle the conditions to stay or initiate a transition
by calling the state machines goto method
- a state machine might run endlessly or finish in a None action.
- it may be started or restarted
- a cleanup function for handling exceptions and for stop or restart
- support for time dependent features
Change-Id: I86b86ed1f25d04e305237edb99206912b068aedf
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27593
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-02-23 18:20:23 +01:00
bf1761bbc4
common read/write handlers
...
introduce CommonReadHandler and CommonWriteHandler for
better handling of the case when several parameters are
read or written in one go.
- ppms: use common handlers
+ ppms: modify error handling when command result is not OK
+ store poll attribute on read_* methods
Change-Id: I9a9d0972e206956bcb5a83c204fe5f92c69716e3
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27822
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-02-23 17:04:06 +01:00
99588fc815
fix handling commands
...
- commands have to import arguments and export the result properly
Change-Id: I4ff8879e4e9a93b0a3c57e015b7df8a6328a9bbc
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27577
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-02-15 15:38:50 +01:00
bbc4663266
ppms: replace IOHandler by Read/WriteHandler
...
- add MultiWriteHandler
- the target and value type of secop_psi.ppms.Chamber are enums.
make the code for them compatible.
+ fix a bug overriding exportname with export=True in parameter
Change-Id: Iec1daf19b3fdf2c017f967e45019867b77c6c59a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27583
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-02-15 15:38:27 +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
b911bc1838
check for problematic value range
...
A common problematic practice is, to declare the value parameter
with the same FloatRange than the target. Because of measurement
errors, a value might be near, but outside the limit.
In order to avoid this, we force the programmer to declare a
bigger range for the value than for the target, or to
explicitly disable this check on a module property.
It is also fine to declare the value without limits.
This behavior may be disabled via command line option or in the
general config file. For simplicity, FloatRanges inside data
structures are not considered.
+ above command line option is also used to disable the error
handling on a string to float conversion
+ log appropriate error message for string to float conversion
Change-Id: Ib78ea1fb7c821442bf5847030573c8c27822dea5
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27574
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-31 09:12:39 +01:00
26a0f2e078
do not convert string to float
...
a read method should not reply on the automatic conversion
of the return value from string to a number.
- transitional solution with generalConfig.lazy_numer_validation
+ changing slighly generalInit mechanism: for above feature
generalConfig.init is not required to be called (i.e. when
used on the client side)
Change-Id: Ibecce1a45669273c105932acdc0908de55bfd1b9
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27516
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-28 16:04:41 +01:00
4f7083bc98
ReadHandler and WriteHandler decorators
...
modules with a couple of parameters with similar read_* or
write_* methods may handle them by generic methods wrapped
with decorators ReadHandler / WriteHandler
The trinamic driver is included in this change for demonstrating
how it works.
In a further step, the special handling for the iohandler stuff can
be moved away from secop.server and secop.params, using this feature.
+ fix problem on startup of trinamic driver (needs MultiEvent.queue)
+ some other small fixes
+ apply recommended functools.wraps for wrapping
Change-Id: Ibfeff9209f53c47194628463466cee28366e17ac
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27460
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-27 17:04:45 +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
f3450375ce
enhance logging
...
- bin/secop-server options -v and -q applied to console logger only
- level for logfile taken from general config
- option for automatic deletion of old logfiles
- added 'comlog' level (between debug and info)
This allows to run the servers by default with 'comlog' level on
the logfiles, which helps a lot for analyzing very rare communication
errors in retrospect.
to avoid spamming of the normal log files, comlog data is stored
separately, one file per communicator
+ redesign of remote logging (no more need of LoggerAdapter)
Change-Id: Ie156a202b1e7304e50bbe830901bc75872f6ffe2
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27427
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-01-17 10:19:55 +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
2ef0da68e8
change name of read_hw_status method in sequencer mixin
...
change name to 'readHwStatus'
needed after commit "check for bad read* and write_* methods"
Change-Id: I27467aa2a3a3bb0db5f418c99f2d2065390a190a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27394
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-11 10:10:11 +01:00
9b38db7706
check for bad read_* and write_* methods
...
raise a ProgrammingError when a read_<param> or write_<param>
method is defined, but <param> is no parameter.
Change-Id: Iae4e617d078229182a90b202a6f81ebc49050118
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27386
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-07 17:44:49 +01:00
8f7fb1e45b
improve handling of module init methods
...
- complain when super call is omitted (this is a common programming
error in Mixins)
- redesign waiting mechanism for startup
+ rename MultiEvent method 'setfunc' to 'get_trigger'
Change-Id: Ica27a75597321f2571a604a7a55448cffb1bec5e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27369
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-07 17:41:59 +01:00
f13e29aad2
introduce general config file
...
+ redesign general config
+ remove obsolete secop/paths.py
Change-Id: Ice08ec37c54b1a6e2e2e6e29fdaaf0bd2dd725dc
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27362
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2022-01-05 09:05:00 +01:00
c5d228ffc4
add timeouts to MultiEvents
...
to be used for a follow up change for startup events
Change-Id: Id8816eb8f561dcd8d1473e25a9685e796fb14953
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27364
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-12-22 15:12:56 +01:00
071ba38b60
remote logging (issue 46)
...
Change-Id: Id92e66280811b1f871157b5c2ceca65085d2c15b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27346
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-12-21 09:06:22 +01:00
b29b1e1b36
entangle.AnalogOutput: fix window mechanism
...
fix 2 problems:
- in case the window is smaller than the pollinterval, isAtTarget might be False
for up to the timeout delay
- in case the history is shorter than the window, and the ramp is fast enough to miss
any points during ramp, isAtTarget is True before the window time is reached.
This happens because the history is reset on write_target
+ do not wait when target is not changed (by more than precision)
tested!
Change-Id: Ia4ff4378fe91fa93be50168b2883a20b49ebfb6a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27159
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2021-11-17 16:55:43 +01:00
c91d726f9d
add more tests and fixes for command inheritance
...
- fix CommandType.__repr__
- secop/modules.py: command properties are allowed to be configured:
- section 2: remove comment and rename
- section 3: all accessible properties should be checked
- command description should be inherited also when taken from docstring
- move test for command inheritance to test_modules.py
- added tests to check for valid properties of commands
Change-Id: Ic7795e305048625558e415ece099e6824df6e2c4
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27135
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-11-12 16:48:58 +01:00
1d75d192e5
automatic saving of persistent parameters
...
change persistent flag to be an enum off/on/auto
Change-Id: I3b1685ea76afb3b7f8c2e6ca63fbf81fa987750e
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27100
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-11-12 10:48:10 +01:00
4bf3acab98
various small changes
...
- set default target unit to '$'
- shorten too verbose error message on client
- add shutdown method to server and dispatcher
Change-Id: Ib3a8b26bc31e988e45a3ff2efd734168d723d794
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27095
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-11-12 10:47:52 +01:00
Georg Brandl
eebc9232cd
debian: fix email addresses in changelog
...
Change-Id: I7279f2eb0fecbde5f7f02a983e1b58537b79566f
2021-11-12 09:18:24 +01:00
Jenkins system
c16f159599
[deb] Release v0.12.4
2021-11-11 16:21:19 +01:00
796be752b7
fix command inheritance
...
Command.ownProperties must be definead in __init__
+ add test for this
Change-Id: I283331be6439a49ec61d28f04869a5b44704236f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27104
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-11-11 14:20:10 +01:00
Jenkins system
b8e8d24b50
[deb] Release v0.12.3
2021-11-10 16:33:19 +01:00
45dd14a72c
fix feature for removing commands
...
from a bug introduced in the 'fix parameter inheritance' change
Change-Id: I757c354130077d8838aac864b21b4f81caa9bccf
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27096
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-11-10 16:21:58 +01:00
ad7cfe4ea0
automatically register subclasses of AsynConn
...
using __init_subclass__ method.
+ correct typo
Change-Id: I9a57c467efcd138651248f92fbf84195624e0b9a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27093
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-11-10 13:50:46 +01:00
47d09e9b08
improve simulation
...
- customizable simulation interval
- add stop command to SimDrivable
Change-Id: Id4eb0ec465ecc97a115397c295c4a052aceb762c
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27092
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-11-10 13:50:30 +01:00
d76d79aebb
omit updates of unchanged values within short time
...
Sometimes it happens, that the same value determined once is
assigned several times to a parameter within a very short period.
Sending multiple updates is not useful in this case.
Change-Id: Icea66934c831fd9b2eac7d0394a124d002469914
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27091
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-11-10 12:34:51 +01:00
a64eb7f33b
fix python 3.5 compatibility
...
- move workaround for PEP487 ty secop.lib.py35compat
- add missing context manager to TCPServer
- remove redundant code in secop/property.py
Change-Id: I0822010f196ad6cec5ec44e990013b79c5d4048b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27090
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2021-11-10 12:34:31 +01:00
3d0d779d81
fix property inheritance
...
+ remove obsolete filterDescriptor method
+ copying properties should support extensions (e.g. Attached)
Change-Id: I301947a4ae28fcad98250b277c6b0e7e0100eaf9
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27084
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-11-09 18:21:03 +01:00
3b7cc33f64
fix parameter inheritance
...
Correct inheritance has to follow the MRO, not only consider
the direct base classes.
Patchset 3: changed only tests, indicating that we need to change the code
Following patchsets include a major change in params.py and
modules.py. The parameter properties for inheritance, corresponding
mainly to the constructor arguments have to be stored separately
from the property values including inherited stuff.
Change-Id: Ibcbccb6abcc22e7e2d91df8f70ef64226684d8cc
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26805
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
2021-11-09 15:06:36 +01:00
41489a4a24
show first instead of last traceback on multiple errors
...
on initialization, the error message are collected and
shown before starting the server together with the traceback
of the last error. This should be the traceback of the
first error instead.
Change-Id: I86d4b42f7d4f98f2ab3b692cd6548e62acffa11b
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/27011
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-11-09 14:42:14 +01:00
3140d454ae
fix Parameter/Command copy method
...
in case the Parameter/Command is subclassed
Change-Id: Ib34fc78e72cd04e743e35ef7ccd40b2eae03b614
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26450
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-07-27 08:06:20 +02:00
7bd166a8a1
persistent params / trinamic motor
...
for the trinamic motor we need persistent parameters
Change-Id: Id509b87f8368ea5ba1aca71951f79433b0b4b79f
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26405
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-07-27 07:57:49 +02:00
f3978385b4
GUI fixes
...
- do not show command result dialog when result is None
- apply fmtstr, if available
+ fix io import in secop.core
+ change old style <basecls>.__init__(self, ...) calls to super().__init__(...)
Change-Id: I599d5d8e8ff430ea9454a0858d703290e87454fc
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26397
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Jens Krueger <jens.krueger@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-07-16 14:50:00 +02:00
bc6a99e11b
introduce BytesIO
...
rename secop.stringio to secop.io, which includes now
also BytesIO and the common base class IOBase
+ a small fix in error handling
Change-Id: I8e305e2c164f4ed131f4b36ef45edd8bd222336d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26393
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-07-15 15:54:51 +02:00
6b610f1e25
remove irrelevant comments
...
+ improve error message 'can not convert %r to float'
Change-Id: Idf534a4105086463fd238d7c91317424a809d7ba
Change-Id: I09260dda8deff1e6ee0af2fa38a42a09884a2061
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26345
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-07-06 16:13:33 +02:00
9a60de9c1c
various fixes
...
- nodestatechange callback must appear after the online attribute
is changed
- IntRange: move range validation outside of try except
- fixes on some error names
- well defined error message 'no such class' in secop.lib.get_class
- try again 4 times when starting Tcp Server on EADDRINUSE
- fix error handling
Change-Id: I4eee9b79ea8173936b9f5193b87e006ac8fca827
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/26171
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-06-14 09:03:41 +02:00
Georg Brandl
026e657799
Makefile: fix docker image
...
Change-Id: I90a3fe36abbea0501c7e7e27fa33e90bfd4f116d
2021-05-29 14:46:25 +02:00
Jenkins system
35f08bf4ad
[deb] Release v0.12.2
2021-05-18 10:29:17 +02:00
Enrico Faulhaber
76ae75a926
secop_mlz: small fixes
...
- wrong unit for 'ramp'
- disable Setposition for TemperatureController
- write_target should return the new target
- AnalogInput should not crash initialisation if reading the unit fails
- convert super(...) calls to py3 style super()
- use proper exception chaining
- NamedDigital*put: mapping may already be a dict.
Change-Id: I03ce5f29581dcb3b33466771e7a8b8dd4b1e2bdb
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25960
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2021-05-18 10:27:54 +02:00
27ac70b1da
allow to remove accessibles
...
removing an inherited command or parameter can now be indicated
with an attribute set to None
Change-Id: I7582434013856190b346e381d2e634509896ccb3
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25963
Tested-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2021-05-18 10:27:37 +02:00
a343b07f1d
treat specifier of describe message
...
for debugging purposes, getting the description of a module
or even a parameter is usefull
therefore the following will work
describe <module>
describe <module>:<param>
Change-Id: Ie262ae12c23d1c151cdc01830ad4f8fd5ec3c5f1
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25962
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-05-17 17:36:47 +02:00
09411f36f3
fix issue with new syntax in simulation
...
for creating extra parameters a subclass of SimBase is created,
in order to treat parameters and read_/write_ methods properly.
Change-Id: I9061b9afb0f8922b36b8f9448c45bb3aadb8f515
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25961
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-05-17 17:36:28 +02:00
Jenkins system
b0f0a48e51
[deb] Release v0.12.1
2021-05-04 09:42:53 +02:00
Enrico Faulhaber
e4261ecfe1
remove secop-console from debian *.install file
...
Change-Id: I9ba8bd37b9460db83512a35bc2e98b63a4df9687
2021-05-04 09:41:12 +02:00
Jenkins system
598dd07888
[deb] Release v0.12.0
2021-05-04 08:49:58 +02:00
Bjoern Pedersen
f2b330a3f0
Correct checks enum
...
Change-Id: Ibe23825bfdfcac15262987383407e18ead4cf880
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25840
Tested-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2021-04-30 08:08:22 +02:00
Bjoern Pedersen
a85201ad7d
Another Jenkisfile error
...
Change-Id: I313f1471aad166c794374c7d381c1b66a4395b4d
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25839
Tested-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2021-04-30 07:59:02 +02:00
Bjoern Pedersen
2cf6e167a8
No pull for images, they are recreated in the job
...
Change-Id: I4ac389873310a411ea33ed6c06af8ec8f752dfd6
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25838
Tested-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2021-04-30 07:54:43 +02:00
Bjoern Pedersen
ffc2c495fb
Fixes to Jenkinsfile
...
Change-Id: Id75b49fd8c38ef90a0869ba6845a36f338a239b5
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25837
Tested-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2021-04-30 07:52:14 +02:00
Bjoern Pedersen
7ea4e3955a
Jenkisfile: verification
...
Change-Id: I58829f1672c95bb76c765aa1ce86d808f9e50dfd
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25836
Tested-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
Reviewed-by: Bjoern Pedersen <bjoern.pedersen@frm2.tum.de >
2021-04-30 07:49:28 +02:00
cc1632e07d
user friendly reporting of config errors
...
Config errors are collected first, and raised after processing
all modules. This is more user friendly.
+ remove redundant check for predefined accessibles in modules.py
+ fixed error handling for exporting parameters in params.py
+ fixed handling of bare attributes overwriting properties
+ fixed race condition in writeInitParams
Change-Id: I894bda291ab85ccec3d771c4903393c808af0a2a
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25128
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-04-27 18:20:53 +02: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
d0f895ed44
fix autoscan behaviour in ls370res
...
when in autoscan, and dwell < filter, the channel was never read
+ do not export pollinterval on both Main and ResChannel
Change-Id: I50df9e151b219ab28875ac78107dcdfdede42c51
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25087
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-03-03 14:31:40 +01:00
69f5692951
move historywriter to secop_psi
...
as historywriter currently could be used at psi only
secop_psi is a better place for it
+ add comment about a general config file
Change-Id: I9b0e74d3da83ac485bd4bcc13475695c3140822c
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25077
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-02 16:00: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
6cde8177d5
added hook for optional history writer
...
- activated with envrionment variable FRAPPY_HISTORY
- using the (currently) private package 'frappyhistory'
Change-Id: I8f747b29d8311af677ed77268a4c38c8d71b08c2
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25064
Tested-by: Markus Zolliker <markus.zolliker@psi.ch >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-02-26 13:26:50 +01:00
23779c8f8c
lookup cfg files in a list of directories
...
environment variable SECOP_CONFDIR may be a ':' separated
list of directories to lookup for cfg files
Change-Id: I058be6a270d3a3f6cd8ca45fdd4ab68c80fa5c23
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25063
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-26 13:22:19 +01:00
899a07aec8
remove obsolete code
...
- basic_validators is not needed any more since the implementation
of datatypes.Stub
- client/baseclient.y is replaced by client/__init__.py both for
the gui client and NICOS SECoP client
- lib/parsing.py used by baseclient only
Change-Id: I15b6ac880017000e155b8f6b7e2456e1bbf56dab
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25058
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-26 13:21:48 +01:00
6a32ecf342
fix inheritance order
...
+ hide pollperiod on PPMS Modules
Change-Id: I77ad5502884360bf6babfd226de0675ee06a6196
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25054
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 15:42:33 +01:00
1464a6bce5
try to follow PEP8
...
- fixed most important code after checking with flake8
- ignored code which has to be reworked or removed
+ mark unused code with 'TODO: remove ...'
Change-Id: Ic45e541049e391e2853d29cd64bb0963bd9a2125
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25053
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Enrico Faulhaber <enrico.faulhaber@frm2.tum.de >
2021-02-24 15:00:06 +01:00
bb6f692c6b
after running isort
...
Change-Id: I6d7dbb8dee9480fc9242529089a1b40f17f068e7
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/25052
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-02-24 10:50:37 +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
a19425684c
new syntax for parameter/commands/properties
...
New Syntax:
- define properties and parameters as class attributes directly
instead of items in class attribute dicts
- define commands with decorator @usercommand(...)
- old syntax is still supported for now
still to do (with decreasing priority):
- turn parameters into descriptors (vs. creating getters/setters)
- migrate all existing code to new syntax
- get rid of or reduce code in metaclasses using __set_name__ and
__init_subclass__ instead, including a fix for allowing py < 3.6
Change-Id: Id47e0f89c506f50c40fa518b01822c6e5bbf4e98
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/24991
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-05 12:30:13 +01:00
24cffad4df
make arguments of Parameter and Override consistent
...
- allow (description and) datatype being positional args in Override
- disallow ctr and unit being a positional arg in Parameter
- disallow reorder being a positional arg in Override
Change-Id: Ic5711d091af11d5843943b0b2b31567127f8ed8c
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/24934
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-01-27 10:08:53 +01:00
05fec236da
improve softcal
...
- bugfix: stop searching for file on the first match
- allow to ignore the sign on input by abs (bool) parameter
Change-Id: I0e5544d7645f124d4c4ac720174b0f5bde7e71a6
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/24928
Tested-by: Jenkins Automated Tests <pedersen+jenkins@frm2.tum.de >
Reviewed-by: Markus Zolliker <markus.zolliker@psi.ch >
2021-01-27 08:56:26 +01:00
b1a88440ef
main module of LS370 is now drivable
...
The main value of main module is the selected channel, it is 0
when pausing during scanning, and the status is busy.
+ cosmetics to make IDE more happy
Change-Id: I11d8f08ea67d25fb00f7492080b4a55efc124bfb
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/24927
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-01-27 08:56:04 +01:00
c9721649a3
make order of accessibles work again
...
- when applying overrides with reorder=True, take ctr from Override,
else copy from the cloned Accesible. This did not work properly
- reworked:
- replaced CountedObj class by object_counter
- accessibles created by a copy or by applying Overrides
do not need fresh counted values
- adjusted tests
Change-Id: Id2fcf1ab1295aa1ea80ea81ae8cd02d36f86e969
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/24926
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-01-27 08:55:30 +01:00
d2c3370a40
fix initwrite behaviour
...
with handlers, a parameter from the cfg file which is not the
first of parameters with the same handler were not written.
fix: write_<param> method is called for all parameters in
<module>.writeDict even if there is no poll entry.
with this fix, when a parameter has the property initwrite=True,
the write_<param> method is called even when <param>
is not polled and even when <module>.pollerClass is None
Change-Id: I9b397deb5b20709fc4fa7c860c85b251a204c7f6
Reviewed-on: https://forge.frm2.tum.de/review/c/sine2020/secop/playground/+/23995
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 >
2020-09-29 07:52:59 +02:00