flandre/test/legacy/testdevicegui.py

39 lines
1.2 KiB
Python
Raw Normal View History

2025-04-15 21:18:04 +08:00
import struct
import time
import cv2
import numpy as np
import zmq
2025-05-11 17:35:37 +08:00
from flandre import C
2025-04-15 21:18:04 +08:00
from flandre.nodes.Device import Device, DeviceCmd
from flandre.nodes.Mi import Mi
2025-04-19 21:59:25 +08:00
def t1():
2025-04-15 21:18:04 +08:00
context = zmq.Context()
req_driver_socket = context.socket(zmq.REQ)
req_driver_socket.connect(C.live_rep_socket)
magic = 7355608
cmd = DeviceCmd.GetData
cv2.namedWindow("test", cv2.WINDOW_AUTOSIZE)
while True:
req_driver_socket.send(struct.pack('i', magic) + struct.pack('i', cmd.value))
b = req_driver_socket.recv()
2025-04-16 00:46:47 +08:00
print(b[4:12])
print(struct.unpack('<I', b[8:12]))
offset = 4 + 8 + 4
# offset = 0
arr = np.frombuffer(b, dtype=np.int16, offset=offset).reshape((256, 5002))
2025-04-15 21:18:04 +08:00
cv2.imshow('test', arr)
2025-04-16 00:46:47 +08:00
cv2.waitKey(1)
2025-04-15 21:18:04 +08:00
# print(b.__len__())
2025-04-19 21:59:25 +08:00
if __name__ == '__main__':
context = zmq.Context()
req_driver_socket = context.socket(zmq.REQ)
req_driver_socket.connect(C.live_rep_socket)
magic = 7355608
cmd = DeviceCmd.GetEncoder
while True:
req_driver_socket.send(struct.pack('i', magic) + struct.pack('i', cmd.value))
print(req_driver_socket.recv())
time.sleep(0.2)