Compare commits

...

8 Commits

Author SHA1 Message Date
trian-gles
f96941cdca basic ws service for health detection 2024-09-10 13:44:19 +02:00
760d43ab8a stupid batch file syntax 2024-08-20 14:51:03 +02:00
21ebb41f3f run max on startup 2024-08-20 14:21:58 +02:00
5e219a57f9 Pull includes HSS repo 2024-08-20 11:59:26 +02:00
134980ad5e pull wrapper 2024-08-19 15:31:30 +02:00
f0182b9fb7 disabling recovery mode 2024-08-19 15:12:52 +02:00
687f156874 attempted githooks 2024-08-16 05:23:08 -07:00
53917f026d disables updates 2024-08-16 04:50:08 -07:00
9 changed files with 115 additions and 4 deletions

2
.githooks/post-merge.cmd Normal file
View File

@@ -0,0 +1,2 @@
call ../config
echo "UPDATED"

View File

@@ -1 +1,3 @@
# HSS win scripts
# HSS win scripts
To configre a LattePanda Delta, run the `init` script

View File

@@ -1,5 +1,12 @@
:: make the startup script run on startup
copy .\startup.cmd "%AppData%\Microsoft\Windows\Start Menu\Programs\Startup\"
:: disable sleep
/hibernate off
:: disable sleep, DOESN'T WORK MUST BE DONE WITH GUI
powercfg.exe /hibernate off
:: disable recovery mode
Reagentc /disable
:: disable updates
sc config wuauserv start= disabled
sc stop wuauserv

2
init.cmd Normal file
View File

@@ -0,0 +1,2 @@
call config.cmd
git config --local core.hooksPath .githooks/

5
pull.cmd Normal file
View File

@@ -0,0 +1,5 @@
:: Pull from git and reconfigure
git pull
config
cd 'C:\Users\LattePanda\Documents\Max 8\Library\healing-soundscapes\'
git pull

View File

@@ -1,2 +1,6 @@
:: Connect to the local network
netsh wlan connect ssid="hsspeakers" name="hsspeakers"
netsh wlan connect ssid="hsspeakers" name="hsspeakers"
:: Run max client patch
cd C:\Users\LattePanda\Documents\Max 8\Library\healing-soundscapes\
hss-distributed-client.maxpat

View File

@@ -0,0 +1,23 @@
import asyncio
from websockets.asyncio.client import connect
import websockets
async def init():
uri = "ws://192.168.6.101:3003"
async with connect(uri) as websocket:
await websocket.send("status")
while True:
try:
msg = await websocket.recv()
print(msg)
except websockets.ConnectionClosed:
print(f"Terminated by server")
break
except asyncio.exceptions.CancelledError:
print("Closed by user")
break
if __name__ == "__main__":
asyncio.run(init())

46
websockets/server.py Normal file
View File

@@ -0,0 +1,46 @@
import asyncio
from websockets.asyncio.server import serve
import websockets as ws
import time
class SpeakerClient:
def __init__(self, connection, instance) -> None:
self.connection = connection
self.instance = instance
self.alive = True
async def check_open(self):
try:
await self.connection.send("")
return True
except ws.ConnectionClosed:
return False
CONNECTIONS = set()
async def handler(websocket):
async for message in websocket:
args = message.split('/')
if (args[0] == "speaker"):
CONNECTIONS.add(SpeakerClient(websocket, int(args[1])))
print(f"New Speaker, instance {args[1]}")
if (args[0] == "status"):
print("Checking system health...")
remove_conns = []
for c in CONNECTIONS:
status = await c.check_open()
if status:
print(f"Instance {c.instance} is alive")
await websocket.send(f"Instance {c.instance} is alive")
else:
remove_conns.append(c)
for c in remove_conns:
CONNECTIONS.remove(c)
async def main():
async with serve(handler, "", 3003):
await asyncio.get_running_loop().create_future() # run forever
asyncio.run(main())

View File

@@ -0,0 +1,20 @@
import asyncio
from websockets.asyncio.client import connect
import websockets
async def init():
uri = "ws://192.168.6.101:3003"
async with connect(uri) as websocket:
await websocket.send("speaker/2")
while True:
try:
await websocket.recv()
except websockets.ConnectionClosed:
print(f"Terminated by server")
break
if __name__ == "__main__":
asyncio.run(init())