before refactoring
This commit is contained in:
@@ -1,33 +1,50 @@
|
||||
import time
|
||||
import websockets
|
||||
import asyncio
|
||||
import logging
|
||||
import time
|
||||
|
||||
import websockets
|
||||
from pojagi_dsp.channel.ecg.generator.wavetable import ECGWaveTableSynthesizer
|
||||
from pojagi_dsp.channel.ecg.generator.wavetable.sinus import SinusWaveTable, TachycardiaWaveTable
|
||||
from pojagi_dsp.channel.ecg.generator.wavetable.sinus import (
|
||||
SinusWaveTable, TachycardiaWaveTable)
|
||||
|
||||
if __name__ != "__main__":
|
||||
raise ImportWarning("This script is not intended to be imported.")
|
||||
|
||||
logging.basicConfig(
|
||||
level=logging.INFO,
|
||||
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
||||
)
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
PORT = 7890
|
||||
|
||||
async def consumer_handler(websocket):
|
||||
|
||||
async def consumer_handler(websocket: websockets.WebSocketServerProtocol):
|
||||
async for message in websocket:
|
||||
print(f"message received: {message}")
|
||||
|
||||
async def producer_handler(websocket):
|
||||
|
||||
async def producer_handler(websocket: websockets.WebSocketServerProtocol):
|
||||
srate = 50
|
||||
|
||||
ecg = ECGWaveTableSynthesizer(
|
||||
tables={
|
||||
(0,90): SinusWaveTable(),
|
||||
(0, 90): SinusWaveTable(),
|
||||
(70, 300): TachycardiaWaveTable(),
|
||||
},
|
||||
heart_rate=70,
|
||||
srate=50,
|
||||
heart_rate=60,
|
||||
srate=srate,
|
||||
)
|
||||
while True:
|
||||
try:
|
||||
message = next(ecg)
|
||||
await websocket.send(str(message))
|
||||
time.sleep(0.01)
|
||||
await asyncio.sleep(1/srate)
|
||||
except websockets.exceptions.ConnectionClosed as e:
|
||||
print("A client just disconnected")
|
||||
break
|
||||
|
||||
|
||||
async def handler(websocket, path):
|
||||
while True:
|
||||
print(f"New connection. Path: {path}")
|
||||
@@ -43,4 +60,8 @@ async def handler(websocket, path):
|
||||
# Start the server
|
||||
start_server = websockets.serve(handler, "0.0.0.0", PORT)
|
||||
asyncio.get_event_loop().run_until_complete(start_server)
|
||||
asyncio.get_event_loop().run_forever()
|
||||
|
||||
try:
|
||||
asyncio.get_event_loop().run_forever()
|
||||
except KeyboardInterrupt:
|
||||
log.info("exiting...")
|
||||
|
||||
Reference in New Issue
Block a user