digital vor 8 Jahren
Ursprung
Commit
1076cdf123
3 geänderte Dateien mit 50 neuen und 24 gelöschten Zeilen
  1. 15 0
      misc/__init__.py
  2. 9 8
      network/__init__.py
  3. 26 16
      pin/__init__.py

+ 15 - 0
misc/__init__.py

@@ -20,6 +20,7 @@ import random
 import string
 import sys
 import time
+import yaml
 
 log = logging.getLogger(__name__+"")
 
@@ -49,3 +50,17 @@ Nunc cursus arcu et leo vehicula, quis feugiat mi semper.
 class Container():
     # This class should only be used as a storage space for variables.
     pass
+
+config_files = [
+    "config/controllers.yaml",
+    "config/commands.yaml",
+]
+
+def load_files(file_list,call):
+    if not type(file_list) is list:
+        file_list = [file_list]
+    for file_ in file_list:
+        with open(file_,"r") as f:
+            data = f.read()
+        config = yaml.safe_load(data)
+        call(config)

+ 9 - 8
network/__init__.py

@@ -30,7 +30,8 @@ import trio
 
 lclient = logging.getLogger(__name__+".client")
 lserver = logging.getLogger(__name__+".server")
-lchat = logging.getLogger(__name__+".chat")
+lschat = logging.getLogger(__name__+".server.chat")
+lcchat = logging.getLogger(__name__+".client.chat")
 
 class ConnHandlerBase(object):
     def __init__(self, socket, addr, server):
@@ -51,7 +52,7 @@ class ConnHandlerBase(object):
             data_received = self.socket.recv(self.block_size)
             data_decoded = data_received.decode("utf-8")
             if data_decoded:
-                lchat.info(data_decoded.strip())
+                lschat.info("Client:"+data_decoded.strip())
                 self.handle(data_decoded)
                 return True
             else:
@@ -62,7 +63,7 @@ class ConnHandlerBase(object):
         return False
     def send(self, msg):
         msg_encoded = bytes(msg, "utf-8")
-        lchat.info("Server:"+msg)
+        lschat.info("Server:"+msg)
         try:
             self.socket.send(msg_encoded)
             return True
@@ -90,7 +91,7 @@ class ConnHandlerEcho(ConnHandlerBase):
     def welcome_client(self):
         self.send("welcome to the client")
     def handle(self, data_decoded):
-        lchat.info("Client:"+data_decoded)
+        lschat.info("Client:"+data_decoded)
         for h in list(set(self.server.connection_handler)-{self}):
             h.send(data_decoded)
 
@@ -282,7 +283,7 @@ class Client(threading.Thread):
         self.socket = None
     def handle_data(self, data_received):
         data_decoded = data_received.decode("utf-8")
-        lchat.info("Server: "+data_decoded)
+        lcchat.info("Server: "+data_decoded)
         if self.handle_data_func:
             try:
                 self.handle_data_func(data_decoded)
@@ -358,7 +359,7 @@ class Client(threading.Thread):
         msg = msg.rstrip()
         msg_encoded = bytes(msg+"\r\n", "utf-8")
         try:
-            lchat.info("Client: "+msg)
+            lcchat.info("Client: "+msg)
             self.socket.send(msg_encoded)
         except Exception as e:
             self.is_connected = False
@@ -443,7 +444,7 @@ class AsyncClient(object):
         self.socket = None
     def handle_data(self, data_received):
         data_decoded = data_received.decode("utf-8")
-        lchat.info("Server: "+data_decoded)
+        lcchat.info("Server: "+data_decoded)
         if self.handle_data_func:
             try:
                 self.handle_data_func(data_decoded)
@@ -520,7 +521,7 @@ class AsyncClient(object):
         msg = msg.rstrip()
         msg_encoded = bytes(msg+"\r\n", "utf-8")
         try:
-            lchat.info("Client: "+msg)
+            lcchat.info("Client: "+msg)
             self.socket.send(msg_encoded)
         except Exception as e:
             self.is_connected = False

+ 26 - 16
pin/__init__.py

@@ -119,11 +119,6 @@ class PCEngine(PinControllerBase):
         self.pin_analog = self.make_digital_pin(pin_analog)
         self.pins.append(self.pin_on_off)
         self.pins.append(self.pin_analog)
-    def get_text_to_func(self,speed):
-        text_to_func = {
-            "turn": self.turn
-        }
-        return text_to_func
     def set_speed(self,speed):
         self.pin_analog.output(speed)
         self.speed = speed
@@ -147,14 +142,11 @@ class EnginesController(PinAPIBase):
         if self.action_in_process:
             lpin.debug("action already in process, not entering")
             return False
-    def get_text_to_func(self,speed):
-        text_to_func = {
-            "turn": self.turn
-        }
-        return text_to_func
     def make_engine(self,*args):
         return digilib.pin.PCEngine(*args)
-    async def turn(self,direction,*args,respond_method):
+    async def turn(self,direction=None,command=None,respond=None):
+        if not direction:
+            respond("usage: {} <direction>")
         lpin.debug(args)
         lpin.debug(threading.current_thread())
         # with self ad
@@ -182,13 +174,14 @@ class EnginesController(PinAPIBase):
 
 
 class LED(DigitalPin):
-    def __init__(self,pin_number):
-        super(DigitalPin,self).__init__(pin_number)
-    def on(self):
+    def __init__(self,pin):
+        super(DigitalPin,self).__init__(pin)
+    def on(self,command=None,respond=None):
         self.output(True)
-    def off(self):
+    def off(self,command=None,respond=None):
         self.output(False)
-
+    def set(self,state=None,command=None,respond=None):
+        self.output(state)
 
 
 
@@ -203,6 +196,23 @@ if __name__ == "__main__":
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+