2025-01-06 11:21:04 +08:00
|
|
|
import zmq
|
|
|
|
|
|
2025-01-13 14:21:01 +08:00
|
|
|
from utils.RfFile import RfFolder
|
|
|
|
|
from utils.Msg import MoveAxisMsg, KillMsg
|
2025-01-06 11:21:04 +08:00
|
|
|
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
|