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)
|