Как получить данные из АЦП в Python

Имеется вектор a Numpy постоянно изменяющихся в реальном времени чисел в формате np.float64. Данные необходимо передать на ЦАП, затем с него на АЦП и обратно в вектор b в программу python. Есть советы как это сделать (желательно с минимально возможной задержкой)? В каком направлении двигаться? Буду благодарен любому совету.


Ответы (1 шт):

Автор решения: CrazyElf

Неизвестно, какие данные принимает API на входе и какие отдаёт на выход, возможно ваш ЦАП/АЦП будет принимать на вход прямо данные Numpy. Но если нет, то Numpy легко преобразует данные в байты и обратно:

import numpy as np

numbers_float = np.random.rand(10000)
numbers_bytes = numbers_float.tobytes()
numbers_back = np.frombuffer(numbers_bytes)
print((numbers_float == numbers_back).all())
# True

У меня в системе тип получился numpy.float64, но не везде может быть так, возможно нужно будет приводить к/указывать конкретный тип при преобразованиях.

→ Ссылка