From 8f99201a4ecb3feb2473f8608f01a0ee832bc6d9 Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Sat, 8 May 2021 13:49:58 +0200 Subject: [PATCH] some first tests --- camon.py | 27 +++++++++++++++++++++++++++ capicget.py | 38 ++++++++++++++++++++++++++++++++++++++ capicmon.py | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 102 insertions(+) create mode 100755 camon.py create mode 100644 capicget.py create mode 100755 capicmon.py diff --git a/camon.py b/camon.py new file mode 100755 index 0000000..a7629ee --- /dev/null +++ b/camon.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python + +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument("pvname") +clargs = parser.parse_args() + + +from time import sleep +from epics import PV + + +pvname = clargs.pvname +pv = PV(pvname) + +def update(value=None, **kwargs): + print(value) + +pv.add_callback(update) + + +while True: + sleep(1) + + + diff --git a/capicget.py b/capicget.py new file mode 100644 index 0000000..29b1c62 --- /dev/null +++ b/capicget.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python + +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument("pvname") +parser.add_argument("height", type=int) +parser.add_argument("width", type=int) +clargs = parser.parse_args() + + +from matplotlib import pyplot as plt +from matplotlib.animation import FuncAnimation +from epics import PV + + +pvname = clargs.pvname +height = clargs.height +width = clargs.width + + +pv = PV(pvname) +img = pv.value.reshape(height, width) + +fig, ax = plt.subplots() +isp = plt.imshow(img) + +def update(*args): + img = pv.value.reshape(height, width) + isp.set_array(img) + return isp, + +ani = FuncAnimation(fig, update, blit=True) + +plt.show() + + + diff --git a/capicmon.py b/capicmon.py new file mode 100755 index 0000000..7b5c30f --- /dev/null +++ b/capicmon.py @@ -0,0 +1,37 @@ +#!/usr/bin/env python + +import argparse + +parser = argparse.ArgumentParser() +parser.add_argument("pvname") +parser.add_argument("height", type=int) +parser.add_argument("width", type=int) +clargs = parser.parse_args() + + +from matplotlib import pyplot as plt +from epics import PV + + +pvname = clargs.pvname +height = clargs.height +width = clargs.width + + +pv = PV(pvname) +img = pv.value.reshape(height, width) + +fig, ax = plt.subplots() +isp = plt.imshow(img) + +def update(value=None, **kwargs): + img = value.reshape(height, width) + isp.set_array(img) + plt.draw() + +pv.add_callback(update) + +plt.show() + + +