56 lines
1.1 KiB
Python
Executable File
56 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import warnings
|
|
warnings.filterwarnings("error")
|
|
|
|
|
|
import argparse
|
|
|
|
parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)
|
|
parser.add_argument("pvname")
|
|
parser.add_argument("-n", "--num", type=int, default=1000)
|
|
clargs = parser.parse_args()
|
|
|
|
|
|
from functools import partial
|
|
from animation import Animation
|
|
from plots import Plot0D, Plot1D, Plot2D
|
|
from sources import Camera, Source
|
|
|
|
|
|
def decide_src_fun(pvname, num):
|
|
pvname = pvname.upper()
|
|
|
|
if pvname.endswith(":FPICTURE"):
|
|
print("Camera", pvname)
|
|
src = Camera(pvname)
|
|
fun = Plot2D
|
|
return src, fun
|
|
|
|
print("Source", pvname)
|
|
src = Source(pvname)
|
|
print(src.nelm)
|
|
if src.nelm == 0:
|
|
raise SystemExit(f"{src}: {src.value}")
|
|
|
|
if src.nelm == 1:
|
|
print("Scalar")
|
|
if num <= 0:
|
|
num = None
|
|
fun = partial(Plot0D, num)
|
|
else:
|
|
print("Curve")
|
|
fun = Plot1D
|
|
|
|
return src, fun
|
|
|
|
|
|
|
|
pvname = clargs.pvname
|
|
num = clargs.num
|
|
src, fun = decide_src_fun(pvname, num)
|
|
Animation(src, fun)
|
|
|
|
|
|
|