From e9112771ffe50bd3dab596339b387010265d96c3 Mon Sep 17 00:00:00 2001 From: Helge Brands Date: Thu, 23 Nov 2023 17:22:07 +0100 Subject: [PATCH] more documentation (some widgets and commadline) --- ...6166941c5284576e3ed1e6b38629665dbad292.png | Bin 0 -> 3636 bytes ...678233cd1c6536c98f0985bdb0d4eac996ea20.png | Bin 0 -> 385 bytes ...cd159367d18fe37ae52ffe8c82342229addd38.png | Bin 0 -> 3856 bytes ...4ca6c69f544d52cbeaf4ae92cf83f759691c69.png | Bin 0 -> 3472 bytes ...132ea7258cb5562b7cc478781ed1232fed2e2e.png | Bin 0 -> 3622 bytes ...cfd64361da0478c944fa3a944bce766b10b02d.png | Bin 0 -> 3801 bytes ...6aa06b6f8be1fce3f1e4cfe8cb435369cc6146.png | Bin 0 -> 3463 bytes ...8208c26c901bb02dac8025fdc65068423309f7.png | Bin 0 -> 3880 bytes ...b2de59f305bfa9339edb4786fd1abfbcdffbca.png | Bin 0 -> 834 bytes ...6b5dc9ab6cab1c47416fb8379a5fb0689d99d7.png | Bin 0 -> 3359 bytes documentation.html | 273 ++++++++++++++++-- 11 files changed, 250 insertions(+), 23 deletions(-) create mode 100644 _images/math/016166941c5284576e3ed1e6b38629665dbad292.png create mode 100644 _images/math/07678233cd1c6536c98f0985bdb0d4eac996ea20.png create mode 100644 _images/math/20cd159367d18fe37ae52ffe8c82342229addd38.png create mode 100644 _images/math/324ca6c69f544d52cbeaf4ae92cf83f759691c69.png create mode 100644 _images/math/55132ea7258cb5562b7cc478781ed1232fed2e2e.png create mode 100644 _images/math/63cfd64361da0478c944fa3a944bce766b10b02d.png create mode 100644 _images/math/ac6aa06b6f8be1fce3f1e4cfe8cb435369cc6146.png create mode 100644 _images/math/c28208c26c901bb02dac8025fdc65068423309f7.png create mode 100644 _images/math/e1b2de59f305bfa9339edb4786fd1abfbcdffbca.png create mode 100644 _images/math/e26b5dc9ab6cab1c47416fb8379a5fb0689d99d7.png diff --git a/_images/math/016166941c5284576e3ed1e6b38629665dbad292.png b/_images/math/016166941c5284576e3ed1e6b38629665dbad292.png new file mode 100644 index 0000000000000000000000000000000000000000..23da3be647efd89501bb6c945ff6d9e5451450cc GIT binary patch literal 3636 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 literal 0 HcmV?d00001 diff --git a/_images/math/20cd159367d18fe37ae52ffe8c82342229addd38.png b/_images/math/20cd159367d18fe37ae52ffe8c82342229addd38.png new file mode 100644 index 0000000000000000000000000000000000000000..dbd8e18baf9ed59f8224ed9642533cda8f31c5eb GIT binary patch literal 3856 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� KQLO{pM*knC)=fPC literal 0 HcmV?d00001 diff --git a/_images/math/324ca6c69f544d52cbeaf4ae92cf83f759691c69.png b/_images/math/324ca6c69f544d52cbeaf4ae92cf83f759691c69.png new file mode 100644 index 0000000000000000000000000000000000000000..c8837adb745d7ab2da2efd5ca15b704606ac6b57 GIT binary patch literal 3472 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 JRqI@j`4`m|aFYN4 literal 0 HcmV?d00001 diff --git a/_images/math/55132ea7258cb5562b7cc478781ed1232fed2e2e.png b/_images/math/55132ea7258cb5562b7cc478781ed1232fed2e2e.png new file mode 100644 index 0000000000000000000000000000000000000000..a8923bae1f606cb81342ad0e9770833a076b4939 GIT binary patch literal 3622 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 literal 0 HcmV?d00001 diff --git a/_images/math/ac6aa06b6f8be1fce3f1e4cfe8cb435369cc6146.png b/_images/math/ac6aa06b6f8be1fce3f1e4cfe8cb435369cc6146.png new file mode 100644 index 0000000000000000000000000000000000000000..85a2e7bd232fe66eaab4431d847c659c7c5d1c30 GIT binary patch literal 3463 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 BEGGZ} literal 0 HcmV?d00001 diff --git a/_images/math/e1b2de59f305bfa9339edb4786fd1abfbcdffbca.png b/_images/math/e1b2de59f305bfa9339edb4786fd1abfbcdffbca.png new file mode 100644 index 0000000000000000000000000000000000000000..1448159c2f478e25a40d5a0825c7146206d5749f GIT binary patch literal 834 zcmeAS@N?(olHy`uVBq!ia0vp^e^@Q5sCVBk9f!i-b3`J@>bnC5!AIEHu} ze>>ej<8pz>@%>xtFKzLS7M*Ho)?UwNbmYvUCWX~mEQglX$}qg7RC-~EFQm`dl}ocL~9QU&G{fvb8seW!G8N25e(rq2QNK* zDjhyaqwmLQo-;r{Md{-h1B zjDMC}pA$d1bJBIG4F*}U>%Q%@*)F@C=l1@;k1eyEx!Q6o>;+D1>V05q*`4#h(b@aO zj*AWNBXa}aT#bF;%@Gpw&@(3gfSdY;*ITL&PKvxeUt_(R?hn_kyO)2Ix{!AFq0rSo zYST9Uy8l1TUBa?MVr}ka@z2U{8~Cl{#OG~Xd*eatyDAqS?U&_`>|>4Dd5+5_wn%l# z-Hz@T_&Q~cXY9IynLlSM27Hu@+7#D4L16E)=&!|%%2FC%8INb%Z<@52vHg~S>78eL zVr?C>pEDoJY*kHpv&Q|6n^JesMcvP-msKK8$)_gm3y7cB__a-eo$u@RS&rQQzHc!3 zI_2&RtqrO*e{}u_uVP*qe1&U^!CM={?mWFaof?elf=eE(F#Df*WUle++tD&no(F%c zJurR}ema+Dn&H~whugQzeO&C3wInkl{7L%1jQOkw;}dHAW*rf*H_ra`@x4G~du`~v zXXkzz9%2cZTd-E*UcsI&maVt_1zv1bHu_d*y#A<#?xb9fi;hxW-nB6i5ubZx^W52H u##&szb-rG_Zt}+?#**vfAE?#st7qOa{QyUh=mCFFHt=-yb6Mw<&;$TLdut#7 literal 0 HcmV?d00001 diff --git a/_images/math/e26b5dc9ab6cab1c47416fb8379a5fb0689d99d7.png b/_images/math/e26b5dc9ab6cab1c47416fb8379a5fb0689d99d7.png new file mode 100644 index 0000000000000000000000000000000000000000..61503f4e5e6dedc3f7270c3c43f32a2241c7dff1 GIT binary patch literal 3359 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 monitor objects

caCamera#

-

has no equivalent in MEDM.

-
Geometry is used for any object
-
Description:
+
Description: +The main idea of the camera widget is to display 2D data in a widget. This can be any data that has the one format that the widget +can decode. The widget uses EPICS data types, but can use the data as a memory bob and decodes the data in various ways that are common +for image encoding. Be aware that we can’t implement every way. We tested against two different vendors/color cameras (Basler acA4600-10uc/acA1300-30gc and Prosilica GC1660C) +to cover most needed conversions. +Be aware that the conversion matrixes between YUV and RGB are based on the used color room. We are using these functions:
+
+
+

\begin{aligned}
+YUV2R(y,cb,cr) &= \frac{298.082*y}{256} & &+ \frac{408.583 * cr }{256} &- 222.291 \\
+YUV2G(y,cb,cr) &= \frac{298.082*y}{256} &- \frac{100.291 * cb }{256} &- \frac{208.120 * cr  }{256} &+ 135.576 \\
+YUV2B(y,cb,cr) &= \frac{298.082*y}{256} &+ \frac{561.412 * cb }{256} & &- 276.836
+\end{aligned}

+
channelData

Image data channel. Typically a waveform with the data in different formats comming directly from the hardware.

@@ -2324,11 +2335,28 @@

all monitor objects + +

packNo

+

no modification of the bit representation

+ +

MSB12Bit

+

for 12 bit color modes set most significant bit

+ +

LSB12Bit

+

for 12 bit color modes set least significant bit

+ +

Reversed

+

for YUV to reverse the decoding to VUY

+ + + -
packingModeOverwriteChannel

MISSING

+
packingModeOverwriteChannel

channel to select one of the packing modes. The value of the channel has to be a string to let the widget seatch inside it enum list. +This should be supported by the hardware IOC because this is hardware depended setting. If this is not available enable the combo boxes to do it manual

showComboBoxes

enable/disable the visibility for changing the data interpretation from the user side

@@ -2363,7 +2391,7 @@

all monitor objects + +

cursor

+

selection type

+ +

box

+

simple box

+ +

box_crosshairs

+

box with extra lines

+ +

line

+

line connection

+ +

arrow

+

arrow connection

+ + + -
ROI_writeType

MISSING

+

+ +
ROI_writeType
+
how the data is written to the channels
+ + + + + + + + + + + + + + + + + + + + +

type

description

none

data is ignored

xy_only

only the first 2 channels are used for a center

xy1_xy2

box with 2 coordinates

xyUpleft_xyLowright

box with a upper left and lower right version

xycenter_width_height

box with center coordinats and a size

+
+
channelXaverage

waveform channel to display a pixel wise plot into an image for the x-axis

@@ -2436,10 +2509,68 @@

all monitor objects

caCalc#

-

has no equivalent in MEDM.

-

Geometry is used for any object -Description:

+
+
Description:

The idea of caCalc is to have a posibility to do calculations for supporting and optimizing the graphical interface. Thinks like complex visibility and specific data handling/distributions. It is NOT meant for a simple replacement for a real IOC. +The advantage of caCalc is to open a connection between channel data and data transportation and modification of Qt. This Signal/Slot mechanisem helps to access deeper graphical functionalities, like moving widgets aaround or get control over the main window e.g. remote displays.

+
+
variable

this string generates a process wide variable (softPV) inside caQtDM. This contains the value of the calculation. If this string is empty there will be an automatic name generated, everytime the panels is opened. To guarantee that this name is unique caQtDM is using the UUID generator.

+
+
variableType
+
this defines the output type of the softPV. The only decission you can made is sclar or vector.
+ + + + + + + + +

scalar

a single double

vector

an array of doubles

+
+
+
+
foreground

defines the foreground color of the widget

+
+
background

defines the background color of the widget

+
+
channels

if variableType is vector you can add a number of single channels to a list. caCalc is generating a softPV that can be used for plotting

+
+
channelList

visualisation of all channels

+
+
calc

this string represents the calculation that is executed when one of the 4 channels got a monitor. The calculation is exactly the same mechanisem like in the calc or the calcout record in EPICS. There are additional way to use caCalc.

+
    +
  1. EPICS calc string

  2. +
  3. %/regexp/ : to use Regular Expressions

  4. +
  5. %QRect : to use Siganl/Slot mechanisem to control positions and size. For this you need to add all 4 channel properties a data source

  6. +
  7. %P/ : to use Python for calculations (extra support is needed during build time, typically only Linux support)

  8. +
+

inside the calculation macros can be used.

+
+
channel

data source for A can be a channel that gets the data over a plugin or a softPV. The reason for the not name this property not channelA is the naming in the origin of EPICS records.

+
+
channelB

datas source for the value B

+
+
channelC

datas source for the value C

+
+
channelD

datas source for the value D

+
+
initialValue

this property initialize the widget with this value enterd here

+
+
precision

the precision gives the accuarcy of the graphical display part of this widget

+
+
eventsignal

if you are using the Signal/Slot mechanissen you must change this property. Otherwise there will be no signals emitted. +================= ==================== +Never there will never a signal generated +onFirstChange there will be one signal emitted at the first change +onAnyChange on every change ther will be signal emitted, this frequency can be sometimes a problem. +TriggerZeroToOne there will be only signals when the value before was rounded 0 and now the rounded value is 1 +TriggerOneToZero there will be only a signal when the value was rounded 1 and is now rounded 0 +================= ====================

+
+
buddy

Qt specific property because of the object characteristic of the caCalc widget

+
+

@@ -2800,21 +2931,47 @@

Command Line Options

-noMsg

iconize the main window

-

-noStyles

-

no stylesheet will be loaded, works only when not attaching

+

-stylefile filename

+

will replace the default stylesheet with the specified file (works only when not attaching)

-

-print

-

print file and exit

- -

-noResize

+

-noResize

prevent resizing, works only when not attaching

-

-macro "xxx=aaa,yyy=bbb, ..."

+

-macro "xxx=aaa,yyy=bbb, ..."

apply macro substitution to replace occurrences of $(xxx) with value aaa.

+

-macrodefs filename

+

will load macro definitions from file

+

-dg [xpos[xypos]][+xoffset[+yoffsets]

specifies the geometry (location and size) of the synoptic display

+

-httpconfig

+ + +

-print

+

print file and exit

+ +

-savetoimage

+

will save image file and exit

+ +

-cs defaultcontrolsystempluginname

+

will override the default epics3 datasource

+ +

-option "xxx=aaa,yyy=bbb, ..."

+

e.g. -option “updatetype=direct” will set the updatetype to Direct +options for bsread: +* bsmodulo,bsoffset, +* bsinconsistency(drop|keep-as-is|adjust-individual|adjust-global), +* bsmapping(provide-as-is|drop|fill-null) +* bsstrategy(complete-all|complete-latest)

+ +

-url url

+

will look for files on the specified url and download them to a local directory

+ +

-emptycache

+

will empty the local cache used for downloading

+

Parameters in square brackets [] are optional.

@@ -3233,7 +3390,7 @@

Main Window

Environment Variables#

-

MEDM uses the following environment variables:

+

caQtDM uses the following environment variables:

+

form QT and EPICS Library:

- + + + + + + + + + + +

CAQTDM_DISPLAY_PATH

QT_PLUGIN_PATH

to find the plugins of qt and others

EPICS_CA_ADDR_LIST

see EPICS Documentation

EPICS_CA_MAX_ARRAY_BYTES

see EPICS Documentation

+

from caQtDM:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

CAQTDM_DISPLAY_PATH

A colon-separated (semi-colon-separated on Mircosoft Windows) list of directories in which to look for display files. Only looks @@ -3324,11 +3496,66 @@

Printing

CAQTDM_EXEC_LIST

CAQTDM_URL_DISPLAY_PATH

paths to look for ui and stylesheet files +to download via http

CAQTDM_EXEC_LIST

A list of commands for the Context Menu . See the Context Menu Customization for the format.

MEDM_EXEC_LIST

for backwards……

CAQTDM_LAUNCHFILE

Enviroment file for Mobile devices

CAQTDM_TIMEOUT_HOURS

to exit caQtDM after some amount of time

CAQTDM_FINDRECORD_DIRECT

override all other find record settings +(direct json http download)

CAQTDM_FINDRECORD_SRV

for autocompletion, the request URL

CAQTDM_FINDRECORD_FACILITY

search limitation for a facility

CAQTDM_FINDRECORD_LIMIT

search limit max number of entries

CAQTDM_DEFAULT_UNIT_REPLACEMENTS

if set to “false”, default unit replacements +are disabled.

CAQTDM_CUSTOM_UNIT_REPLACEMENTS

define custom unit replacements. They are +replaced after default replacements took +place, if enabled.You can use unicode +characters or hexadecimal / decimal utf-8 +character codes, seperated by (,) , (=) +and (;).

+

from plugins:

+ + + + + + + + + + + + + +

BSREAD_DISPATCHER

point the bsread plugin to the dispatcher

BSREAD_ZMQ_CONNECTION_TYPE

control the connection type of the bsread plugin

BSREAD_ZMQ_ADDR_LIST

point the bsread plugin static sources

CAQTDM_ARCHIVERSF_URL

point the archiver plugin to a different archiver backend