def pdsl_restart(): global BACKEND global CONFIG global FFT global flag_start global flag_stop global flag_reconfigure global is_streaming logger.debug("PDSL: reconfigure") port = "/dev/ttyS0" baudrate = 115200 CONFIG = CONFIG_TMP if BACKEND != None and is_streaming and (flag_reconfigure or flag_stop): BACKEND.stop() BACKEND.disconnect() is_streaming = False mqttc.publish(TOPIC_STATUS, "1", retain=True) logger.debug("PDSL: stop streaming") if flag_reconfigure: if (CONFIG["in"]["device"] == "mls160a"): BACKEND = stream.MLS160A_stream( sz_block=CONFIG["in"]["frameSize"], channels_to_use=CONFIG["in"]["channels"], frequency=CONFIG["in"]["freq"], port=port, baudrate=baudrate) elif (CONFIG["in"]["device"] == "io5640"): BACKEND = stream.IO5640_stream( sz_block=CONFIG["in"]["frameSize"], channels_to_use=CONFIG["in"]["channels"], frequency=CONFIG["in"]["freq"], port=port, baudrate=baudrate) if (CONFIG["out"]["data"] == "fft"): freq = CONFIG["in"]["freq"] signlen = CONFIG["in"]["frameSize"] period = 1.0 / freq FFT = fft.FFTGenerator(period, signlen, freq) logger.debug("PDSL: create streamer '" + CONFIG["in"]["device"] + "'") if BACKEND != None and not is_streaming and flag_start: BACKEND.connect() BACKEND.start() is_streaming = True mqttc.publish(TOPIC_STATUS, "2", retain=True) logger.debug("PDSL: start streaming") # reset all flags flag_reconfigure = False flag_stop = False flag_start = False
import PyDSlog.stream as stream import matplotlib.pyplot as plt import numpy as np titles = ["Acc X", "Acc Y", "Acc Z", "Ang X", "Ang Y", "Ang Z"] #chan = ["ACCX","ACCY","ACCZ","GYRX","GYRY","GYRZ"] chan = ["ACCX", "ACCY", "ACCZ"] x = stream.MLS160A_stream(sz_block=600, channels_to_use=chan, frequency=1200, port="COM16", baudrate=115200, n_frame=100) print("start") x.connect() x.start() r = x.read(transpose=False) r = np.array(r) x.stop() x.disconnect() print("stop") fig, ax = plt.subplots(nrows=len(chan), ncols=1, figsize=(12, 6)) titles = ["Acc X", "Acc Y", "Acc Z", "Ang X", "Ang Y", "Ang Z"]
import PyDSlog.stream as stream import time p = "COM3" brate = 115200 chan = ["ACCX", "ACCY", "ACCZ"] freq = 1 bl_sz = 10 signal = False x = stream.MLS160A_stream(port=p, channels_to_use=chan, frequency=freq, sz_block=bl_sz, baudrate=brate) x.connect() x.start() t0a = time.time() v = x.read(transpose=True) t0b = time.time() x.stop() x.disconnect() t0 = t0b - t0a print(t0) print(v)
import PyDSlog.stream as stream x = stream.MLS160A_stream( sz_block=500, channels_to_use=["ACCX", "ACCY", "ACCZ", "GYRX", "GYRY", "GYRZ"], frequency=500, port="COM15", baudrate=115200, n_frame=100) try: print("start") x.connect() x.start() for i in range(0, 60): r = x.read() finally: x.stop() x.disconnect() print("stop")
from flask import Flask, render_template, url_for from flask_socketio import SocketIO, emit import PyDSlog.stream as stream import threading import sys import time app = Flask(__name__) app.debug = True #app.host='0.0.0.0' socketio = SocketIO(app) x = stream.MLS160A_stream( sz_block=10, channels_to_use=["ACCX", "ACCY", "ACCZ", "GYRX", "GYRY", "GYRZ"], frequency=100, port="/dev/ttyR1", baudrate=115200) def read_stream(): while True: if is_streaming.is_set(): try: sem.acquire() v = x.read(transpose=False)