28 lines
824 B
Python
28 lines
824 B
Python
|
|
import numpy as np
|
||
|
|
import zmq
|
||
|
|
|
||
|
|
from RfFile import RfFolder
|
||
|
|
from Msg import StrMsg, MoveAxisMsg, KillMsg
|
||
|
|
from nodes.Node import Node
|
||
|
|
|
||
|
|
|
||
|
|
class Loader(Node):
|
||
|
|
topics = [MoveAxisMsg]
|
||
|
|
|
||
|
|
def loop(self):
|
||
|
|
s2 = self.context.socket(zmq.PUSH)
|
||
|
|
s2.bind("tcp://*:5003")
|
||
|
|
|
||
|
|
rff = RfFolder.from_path('/run/media/lambda/b86dccdc-f134-464b-a310-6575ee9ae85c/cap4/trim/R1,L=30,C=PAR')
|
||
|
|
all_files = rff.all
|
||
|
|
while True:
|
||
|
|
r = self.recv()
|
||
|
|
if isinstance(r, MoveAxisMsg):
|
||
|
|
for f in all_files:
|
||
|
|
if f.S == r.value:
|
||
|
|
# s2.send(np.zeros((256, 1500), dtype=np.uint16).tobytes())
|
||
|
|
s2.send(f.path.read_bytes())
|
||
|
|
elif isinstance(r, KillMsg):
|
||
|
|
if r.name == '':
|
||
|
|
break
|