Commit Graph

1071 Commits

Author SHA1 Message Date
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