Browse Source

display use

main
gsd 6 months ago
parent
commit
9b0939f511
  1. 42
      pipboyIO/next/serialAX.py

42
pipboyIO/next/serialAX.py

@ -3,6 +3,7 @@ import serial_asyncio
import os, subprocess
import argparse
import traceback
import psutil
#5 - 101 - a d
#4 - xxx
@ -113,13 +114,54 @@ class Listener(asyncio.Protocol):
def __init__(self):
super().__init__()
self.is_connected = False
self.buffer = b""
self.store = {}
self.tasks = []
def connection_made(self, transport):
self.transport = transport
self.is_connected = True
self.tasks.append(asyncio.create_task(self.cpuCheck()))
self.tasks.append(asyncio.create_task(self.memCheck()))
print("Connected")
def connection_lost(self, exc):
self.is_connected = False
while self.tasks.__len__() != 0:
print("Try kill tasks")
self.tasks.pop().cancel()
async def cpuCheck(self):
DISPLAY_ID = 10001
try:
while self.is_connected:
cpu_percent = psutil.cpu_percent(interval=None)
if self.transport and not self.transport.is_closing():
msg = f"{DISPLAY_ID} {cpu_percent:5.1f} 0\n"
self.transport.write(msg.encode())
await asyncio.sleep(1)
except:
traceback.print_exc()
async def memCheck(self):
DISPLAY_ID = 10002
try:
while self.is_connected:
mem = psutil.virtual_memory()
mem_percent = mem.percent / 10
if self.transport and not self.transport.is_closing():
msg = f"{DISPLAY_ID} {mem_percent:5.1f} 0\n"
self.transport.write(msg.encode())
await asyncio.sleep(1)
except:
traceback.print_exc()
def data_received(self, data):
self.buffer += data
lines = self.buffer.split(b'\n')

Loading…
Cancel
Save