Compare commits

1 Commits
v1 ... master

Author SHA1 Message Date
gac-ISS
e9ba08ce4f V2 2025-08-27 14:36:28 +02:00
15 changed files with 181 additions and 94 deletions

View File

@@ -1,60 +1,61 @@
#Tue Jun 13 08:45:56 CEST 2023 #Wed Aug 27 14:35:34 CEST 2025
xscanMoveTimeout=600
autoSaveScanData=true
simulation=false
commandExecutionEvents=false commandExecutionEvents=false
logDaysToLive=30 createSessionFiles=false
xscanCrlogicChannel=null dataDepthDimension=0
dataFormat=h5
dataLayout=default
dataPath={data}/NEXAFS/{year}/{year}_{month}/{date}/{seq}_{date}_{time}_{name}
dataScanAutoSave=true
dataScanFlushRecords=false
dataScanLazyTableCreation=false
dataScanPreserveTypes=true
dataScanReleaseRecords=false
dataScanSaveLogs=true
dataScanSaveOutput=false dataScanSaveOutput=false
xscanCrlogicSimulated=false
userAuthenticator=ch.psi.pshell.security.LdapAuthenticator | ldap\\\\\\\://d.psi.ch | d.psi.ch | users.psi
logLevelConsole=Off
filePermissionsConfig=Default
scanStreamerPort=-1
dataScanSaveScript=false dataScanSaveScript=false
dataScanSaveSetpoints=false dataScanSaveSetpoints=false
notifiedTasks= dataScanSaveTimestamps=false
parallelInitialization=false dataScanStreamerPort=-1
fdaSerialization=false
dataTransferPath=
saveConsoleSessionFiles=false
xscanAppendSuffix=true
versionTrackingManual=true
dataTransferMode=Off
hostName=null
userManagement=false
instanceName=NanoXAS
disableEmbeddedAttributes=false
dataServerPort=-1 dataServerPort=-1
hideServerMessages=false dataTransferMode=Off
serverPort=8080 dataTransferPath=
versionTrackingEnabled=true
dataPath={data}/NEXAFS/{year}/{year}_{month}/{date}/{seq}_{date}_{time}_{name}
serverEnabled=false
dataScanReleaseRecords=false
depthDimension=0
dataScanPreserveTypes=true
logLevel=Fine
dataScanFlushRecords=false
logPath={logs}/{date}_{time}
filePermissionsLogs=Default
dataLayout=default
disableDataFileLogs=false
sessionHandling=Off
terminalEnabled=false
notificationLevel=Off
filePermissionsScripts=Default
terminalPort=3579
xscanCrlogicPrefix=null
dataTransferUser= dataTransferUser=
disableEmbeddedAttributes=false
fdaSerialization=false
filePermissionsConfig=Default
filePermissionsData=Default filePermissionsData=Default
xscanCrlogicAbortable=true filePermissionsLogs=Default
xscanContinuousUpdate=false filePermissionsScripts=Default
createSessionFiles=false instanceName=ISS
versionTrackingLogin={context}/svcusr-hlapp_robot logDaysToLive=30
noBytecodeFiles=false logLevel=Fine
versionTrackingRemote=git@git.psi.ch\:pshell_config/x07db.git logLevelConsole=Off
dataProvider=h5 logPath={logs}/{date}_{time}
xscanCrlogicIoc=null notificationLevel=Off
dataScanLazyTableCreation=false notificationTasks=
parallelInitialization=false
pythonHome=
pythonNoBytecodeFiles=false
saveCommandStatistics=false saveCommandStatistics=false
saveConsoleSessionFiles=false
serverCommandsHidden=false
serverEnabled=false
serverHostName=null
serverPort=8080
sessionHandling=Off
simulation=false
terminalEnabled=false
terminalPort=3579
userAuthenticator=ch.psi.pshell.security.LdapAuthenticator | ldap\\\\\\\://d.psi.ch | d.psi.ch | users.psi
userManagement=false
versionTrackingEnabled=true
versionTrackingLogin=auto
versionTrackingManual=true
versionTrackingRemote=https\://gitea.psi.ch/pshell_config/x07db.git
xscanAppendSuffix=true
xscanContinuousUpdate=false
xscanCrlogicAbortable=true
xscanCrlogicChannel=null
xscanCrlogicIoc=null
xscanCrlogicPrefix=null
xscanCrlogicSimulated=false

View File

@@ -1,4 +1,4 @@
#Tue Jun 20 08:23:59 CEST 2023 #Fri Sep 22 16:01:50 CEST 2023
LastRunDate=230620 LastRunDate=230922
FileSequentialNumber=246 FileSequentialNumber=3
DaySequentialNumber=32 DaySequentialNumber=15

View File

@@ -1,9 +1,11 @@
import ch.psi.pshell.epics.Positioner; import ch.psi.pshell.epics.Positioner;
import ch.psi.pshell.ui.ScriptProcessor; import ch.psi.pshell.framework.Context;
import ch.psi.utils.EncoderJson; import ch.psi.pshell.framework.ScriptProcessor;
import ch.psi.utils.IO; import ch.psi.pshell.framework.Setup;
import ch.psi.utils.State; import ch.psi.pshell.utils.EncoderJson;
import ch.psi.utils.swing.SwingUtils; import ch.psi.pshell.utils.IO;
import ch.psi.pshell.utils.State;
import ch.psi.pshell.swing.SwingUtils;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
@@ -87,7 +89,7 @@ public class EnergyScan extends ScriptProcessor {
void updateSeq() { void updateSeq() {
try { try {
textFileId.setText(String.valueOf(getContext().getFileSequentialNumber())); textFileId.setText(String.valueOf(Context.getFileSequentialNumber()));
} catch (Exception ex) { } catch (Exception ex) {
textFileId.setText(""); textFileId.setText("");
} }
@@ -163,14 +165,14 @@ public class EnergyScan extends ScriptProcessor {
@Override @Override
protected void onStartingExecution(Map<String, Object> args){ protected void onStartingExecution(Map<String, Object> args){
getLogger().warning(this.getFileName()); getLogger().warning(this.getFileName());
lastOutput = getContext().getDataManager().getLastOutput(); lastOutput = Context.getDataManager().getLastOutput();
} }
@Override @Override
protected void onFinishedExecution(Map<String, Object> args, Object ret, Throwable t){ protected void onFinishedExecution(Map<String, Object> args, Object ret, Throwable t){
if (checkAutoSaveArgs.isSelected()) { if (checkAutoSaveArgs.isSelected()) {
//Save scan attributes //Save scan attributes
String output = getContext().getDataManager().getLastOutput(); String output = Context.getDataManager().getLastOutput();
if ((output != null) && !output.isEmpty() && !output.equals(lastOutput)) { if ((output != null) && !output.isEmpty() && !output.equals(lastOutput)) {
try { try {
saveAs(output + "." + FILE_EXTENSION); saveAs(output + "." + FILE_EXTENSION);
@@ -545,7 +547,7 @@ public class EnergyScan extends ScriptProcessor {
private void buttonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveActionPerformed private void buttonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveActionPerformed
try { try {
JFileChooser chooser = new JFileChooser(getContext().getSetup().expandPath(getHomePath())); JFileChooser chooser = new JFileChooser(Setup.expandPath(getHomePath()));
FileNameExtensionFilter filter = new FileNameExtensionFilter(getDescription(), getExtensions()); FileNameExtensionFilter filter = new FileNameExtensionFilter(getDescription(), getExtensions());
chooser.setFileFilter(filter); chooser.setFileFilter(filter);
try { try {
@@ -581,7 +583,7 @@ public class EnergyScan extends ScriptProcessor {
private void buttonResetIdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonResetIdActionPerformed private void buttonResetIdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonResetIdActionPerformed
try { try {
this.getContext().setFileSequentialNumber(0); Context.setFileSequentialNumber(0);
updateSeq(); updateSeq();
} catch (Exception ex) { } catch (Exception ex) {
showException(ex); showException(ex);

View File

@@ -1,9 +1,11 @@
import ch.psi.pshell.framework.Context;
import ch.psi.pshell.scan.Scan; import ch.psi.pshell.scan.Scan;
import ch.psi.pshell.ui.ScriptProcessor; import ch.psi.pshell.framework.ScriptProcessor;
import ch.psi.utils.EncoderJson; import ch.psi.pshell.framework.Setup;
import ch.psi.utils.IO; import ch.psi.pshell.utils.EncoderJson;
import ch.psi.utils.State; import ch.psi.pshell.utils.IO;
import ch.psi.pshell.utils.State;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
@@ -89,11 +91,11 @@ public class TimeResolved extends ScriptProcessor {
public void onTimer() { public void onTimer() {
try{ try{
if (isRunning()){ if (isRunning()){
Scan scan = getContext().getExecutionPars().getCurrentScan(); Scan scan = Context.getExecutionPars().getScan();
if (scan!=null){ if (scan!=null){
int index = scan.getRecordIndex(); int index = scan.getRecordIndex();
textCurScan.setText(String.valueOf(index)); textCurScan.setText(String.valueOf(index));
return; return;
} }
} }
} catch(Exception ex){ } catch(Exception ex){
@@ -104,7 +106,7 @@ public class TimeResolved extends ScriptProcessor {
void updateSeq() { void updateSeq() {
try { try {
textFileId.setText(String.valueOf(getContext().getFileSequentialNumber())); textFileId.setText(String.valueOf(Context.getFileSequentialNumber()));
} catch (Exception ex) { } catch (Exception ex) {
textFileId.setText(""); textFileId.setText("");
} }
@@ -396,7 +398,7 @@ public class TimeResolved extends ScriptProcessor {
private void buttonResetIdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonResetIdActionPerformed private void buttonResetIdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonResetIdActionPerformed
try { try {
this.getContext().setFileSequentialNumber(0); Context.setFileSequentialNumber(0);
updateSeq(); updateSeq();
} catch (Exception ex) { } catch (Exception ex) {
showException(ex); showException(ex);
@@ -413,7 +415,7 @@ public class TimeResolved extends ScriptProcessor {
private void buttonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveActionPerformed private void buttonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveActionPerformed
try { try {
JFileChooser chooser = new JFileChooser(getContext().getSetup().expandPath(getHomePath())); JFileChooser chooser = new JFileChooser(Setup.expandPath(getHomePath()));
FileNameExtensionFilter filter = new FileNameExtensionFilter(getDescription(), getExtensions()); FileNameExtensionFilter filter = new FileNameExtensionFilter(getDescription(), getExtensions());
chooser.setFileFilter(filter); chooser.setFileFilter(filter);
try { try {

View File

@@ -1,11 +1,12 @@
import ch.psi.pshell.scan.Scan; import ch.psi.pshell.framework.Context;
import ch.psi.pshell.ui.ScriptProcessor; import ch.psi.pshell.framework.ScriptProcessor;
import ch.psi.utils.EncoderJson; import ch.psi.pshell.framework.Setup;
import ch.psi.utils.IO; import ch.psi.pshell.utils.EncoderJson;
import ch.psi.utils.State; import ch.psi.pshell.utils.IO;
import ch.psi.utils.swing.StandardDialog; import ch.psi.pshell.utils.State;
import ch.psi.utils.swing.SwingUtils; import ch.psi.pshell.swing.StandardDialog;
import ch.psi.pshell.swing.SwingUtils;
import java.awt.Window; import java.awt.Window;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
@@ -179,7 +180,7 @@ public class XPS extends ScriptProcessor {
void updateSeq() { void updateSeq() {
try { try {
textFileId.setText(String.valueOf(getContext().getFileSequentialNumber())); textFileId.setText(String.valueOf(Context.getFileSequentialNumber()));
} catch (Exception ex) { } catch (Exception ex) {
textFileId.setText(""); textFileId.setText("");
} }
@@ -268,7 +269,7 @@ public class XPS extends ScriptProcessor {
Map<String, Object> showScientaParametersDialog(Map<String, Object> pars) throws Exception{ Map<String, Object> showScientaParametersDialog(Map<String, Object> pars) throws Exception{
Class cls = getContext().getClassByName("ScientaParametersDialog"); Class cls = Context.getClassByName("ScientaParametersDialog");
Constructor constructor= cls.getConstructor(Window.class, boolean.class, Map.class); Constructor constructor= cls.getConstructor(Window.class, boolean.class, Map.class);
StandardDialog dlg = (StandardDialog) constructor.newInstance(getWindow(),true, pars); StandardDialog dlg = (StandardDialog) constructor.newInstance(getWindow(),true, pars);
dlg.setVisible(true); dlg.setVisible(true);
@@ -642,7 +643,7 @@ public class XPS extends ScriptProcessor {
private void buttonResetIdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonResetIdActionPerformed private void buttonResetIdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonResetIdActionPerformed
try { try {
this.getContext().setFileSequentialNumber(0); Context.setFileSequentialNumber(0);
updateSeq(); updateSeq();
} catch (Exception ex) { } catch (Exception ex) {
showException(ex); showException(ex);
@@ -659,7 +660,7 @@ public class XPS extends ScriptProcessor {
private void buttonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveActionPerformed private void buttonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveActionPerformed
try { try {
JFileChooser chooser = new JFileChooser(getContext().getSetup().expandPath(getHomePath())); JFileChooser chooser = new JFileChooser(Setup.expandPath(getHomePath()));
FileNameExtensionFilter filter = new FileNameExtensionFilter(getDescription(), getExtensions()); FileNameExtensionFilter filter = new FileNameExtensionFilter(getDescription(), getExtensions());
chooser.setFileFilter(filter); chooser.setFileFilter(filter);
try { try {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -6,7 +6,7 @@ if get_exec_pars().debug:
FILE = None FILE = None
if FILE: if FILE:
FILE = get_context().setup.expandPath("{home}/parameters/" + FILE) FILE = Setup.expandPath("{home}/parameters/" + FILE)
import json import json
with open(FILE) as json_file: with open(FILE) as json_file:
cfg = json.load(json_file) cfg = json.load(json_file)

View File

@@ -6,7 +6,7 @@ if get_exec_pars().debug:
FILE = None FILE = None
if FILE: if FILE:
FILE = get_context().setup.expandPath("{home}/parameters/" + FILE) FILE = Setup.expandPath("{home}/parameters/" + FILE)
import json import json
with open(FILE) as json_file: with open(FILE) as json_file:
cfg = json.load(json_file) cfg = json.load(json_file)

View File

@@ -24,7 +24,7 @@ if get_exec_pars().debug:
REGIONS = [["R1", R1]] REGIONS = [["R1", R1]]
if FILE: if FILE:
FILE = get_context().setup.expandPath("{home}/parameters/" + FILE) FILE = Setup.expandPath("{home}/parameters/" + FILE)
with open(FILE) as json_file: with open(FILE) as json_file:
cfg = json.load(json_file) cfg = json.load(json_file)
NAME , REGIONS, PASSES= cfg[0][0][0], cfg[1], cfg[2] NAME , REGIONS, PASSES= cfg[0][0][0], cfg[1], cfg[2]

View File

@@ -24,7 +24,7 @@ if get_exec_pars().debug:
REGIONS = [["R1", R1]] REGIONS = [["R1", R1]]
if FILE: if FILE:
FILE = get_context().setup.expandPath("{home}/parameters/" + FILE) FILE = Setup.expandPath("{home}/parameters/" + FILE)
with open(FILE) as json_file: with open(FILE) as json_file:
cfg = json.load(json_file) cfg = json.load(json_file)
NAME , REGIONS, PASSES= cfg[0][0][0], cfg[1], cfg[2] NAME , REGIONS, PASSES= cfg[0][0][0], cfg[1], cfg[2]

View File

@@ -1 +1 @@
[ [ [ true, "", "energy.move(1001.0)", "Resume", "Success" ], [ true, "", "energy.move(1000.0)", "Resume", "Success" ], [ true, "", "scienta.setAcquisitionMode(scienta.AcquisitionMode.Fixed)", "Resume", "" ] ] ] [ [ [ true, "", "energy.move(1001.0)", "Resume", "" ], [ true, "", "energy.move(1000.0)", "Resume", "" ], [ true, "", "scienta.setAcquisitionMode(scienta.AcquisitionMode.Fixed)", "Resume", "" ] ] ]

View File

@@ -1 +1,80 @@
time.sleep(5.0) time.sleep(5.0)
PSHELL_LAF=dark
PSHELL_CONSOLE_LOG=WARNING
PSHELL_PARALLEL_INIT=true
PSHELL_SIDEBAR=true
PSHELL_ARCHIVER=https://data-api.psi.ch/api/4
PSHELL_BACKEND=sls-archiver
PSHELL_PIPELINE_SERVER=sls-daqsync-01:8889
PSHELL_CAMERA_SERVER=sls-daqsync-01:8888
PSHELL_JVM_OPTIONS
PSHELL_ARGS
APP_ARCHIVERVIEWER_JVM_OPTIONS
APP_ARCHIVERVIEWER_ARGS
- Update startup arg fermat
- -e -> -k
-k -> -pers
- config.dataProvider -> config.dataFormat
- config.hideServerMessages -> config.serverCommandsHidden
- config.disableDataFileLogs -> ! dataScanSaveLogs
- config.hostName -> config.serverHostName
- config.scanStreamer* -> config.dataScanStreamer*
- config.depthDimension -> dataDepthDimension
- config.notifiedTasks -> notificationTasks
- config.autoSaveScanData -> dataScanAutoSave
- config.noBytecodeFiles -> pythonNoBytecodeFiles
- ch.psi.pshell.bs.PipelineServer -> ch.psi.pshell.camserver.PipelineSource
- ch.psi.pshell.bs.CameraServer -> ch.psi.pshell.camserver.CameraSource
- Scripts:
- ContextListener -> InterpreterListener
onContextStateChanged -> onStateChanged
- get_context() ->
Context
Setup
get_app()
get_view()
get_interpreter()
get_data_manager()
get_versioning_manager()
get_device_pool()
get_session_manager()
get_plugin_manager()
get_state()
- FormatCSV
-> get_data_manager().format
- provider=. -> format=
-Plugins:
ch.psi.pshell.ui.PanelProcessor -> ch.psi.pshell.framework.PanelProcessor
ch.psi.pshell.ui.QueueProcessor -> ch.psi.pshell.framework.QueueProcessor
import ch.psi.pshell.core.Plugin -> import ch.psi.pshell.framework.Plugin;
ch.psi.pshell.core.Context -> ch.psi.pshell.framework.Context
ch.psi.pshell.ui.Panel -> ch.psi.pshell.framework.Panel
import ch.psi.pshell.swing.MainFrame -> import ch.psi.pshell.app.MainFrame;
ch.psi.utils.swing -> ch.psi.pshell.swing
ch.psi.utils -> ch.psi.pshell.utils
Context.ContextStateException -> Interpreter.InterpreterStateException
ch.psi.pshell.imaging.Renderer -> ch.psi.pshell.imaging.DeviceRenderer
getContext().getSetup() -> Setup
getContext() => Context
ch.psi.pshell.core.JsonSerializer -> ch.psi.pshell.utils.EncoderJson;
*Adapter -> *Listener
Setup.getScriptPath() -> Setup.getScriptsPath()
debug --args="-home ~/dev/pshell/config/home --parallel true -laf=dark -archiver default -pipeline_server localhost:8889 -camera_server localhost:8888 -b -p XPSSpectrum.java -d -pers -sbar lala lele lili"