Переглянути джерело

ref: restructure project for better clarity

Silas Gruen 8 місяців тому
батько
коміт
b2334a5f29

+ 1 - 1
.gitignore

@@ -1,7 +1,7 @@
 .cpython-39.pyc
 .VSCodeCounter/
 .pyc
-robot-control/src/robot_control.egg-info/
+robot_control/src/robot_control.egg-info/
 __pycache__
 .coverage
 .python-version

+ 1 - 1
.vscode/launch.json

@@ -15,7 +15,7 @@
             "name": "Python Debugger: Main",
             "type": "debugpy",
             "request": "launch",
-            "program": "${workspaceFolder}/robot-control/src/main.py",
+            "program": "${workspaceFolder}/robot_control/src/main.py",
             "console": "integratedTerminal"
         }
     ]

+ 1 - 1
.vscode/settings.json

@@ -1,6 +1,6 @@
 {
     "python.testing.pytestArgs": [
-        "robot-control"
+        "tests/"
     ],
     "python.testing.unittestEnabled": false,
     "python.testing.pytestEnabled": true

+ 0 - 0
experiments/mqtt-test.py → playgrounds/mqtt-test.py


+ 0 - 0
robot-control/README.md → robot_control/README.md


+ 0 - 0
robot-control/src/api/__init__.py → robot_control/__init__.py


+ 2 - 2
robot-control/config/config.yaml → robot_control/config/config.yaml

@@ -45,8 +45,8 @@ mqtt:
   keepalive: 60
 
 grbl:
-  port: /dev/ttyACM0 # or debug
-  # port: debug
+  # port: /dev/ttyACM0 # or debug
+  port: debug
   baudrate: 115200
 
 system_settings:

+ 0 - 0
robot-control/requirements.txt → robot_control/requirements.txt


+ 1 - 1
robot-control/setup.py → robot_control/setup.py

@@ -1,7 +1,7 @@
 from setuptools import setup, find_packages
 
 setup(
-    name="robot-control",
+    name="robot_control",
     version="0.1",
     package_dir={"": "src"},
     packages=find_packages(where="src"),

+ 0 - 0
robot-control/src/robot/__init__.py → robot_control/src/__init__.py


+ 0 - 0
robot-control/src/utils/__init__.py → robot_control/src/api/__init__.py


+ 1 - 1
robot-control/src/api/grbl_handler.py → robot_control/src/api/grbl_handler.py

@@ -1,7 +1,7 @@
 import asyncio
 import serial_asyncio
 from typing import List
-from utils.logging import LoggerSingleton
+from robot_control.src.utils.logging import LoggerSingleton
 import datetime
 import collections
 

+ 1 - 1
robot-control/src/api/mqtt_handler.py → robot_control/src/api/mqtt_handler.py

@@ -2,7 +2,7 @@ import paho.mqtt.client as mqtt
 from typing import Callable
 from pydantic import BaseModel
 import json
-from utils.logging import LoggerSingleton
+from robot_control.src.utils.logging import LoggerSingleton
 
 logger = LoggerSingleton.get_logger()
 

+ 4 - 4
robot-control/src/main.py → robot_control/src/main.py

@@ -1,9 +1,9 @@
 import asyncio
-from utils.logging import LoggerSingleton
 from fastapi import FastAPI
-from robot.controller import RobotController
-from utils.config import ConfigParser
-from vision.datamatrix import DataMatrixReader
+from robot_control.src.utils.logging import LoggerSingleton
+from robot_control.src.robot.controller import RobotController
+from robot_control.src.utils.config import ConfigParser
+from robot_control.src.vision.datamatrix import DataMatrixReader
 
 class LoaderSystem:
     def __init__(self):

+ 0 - 0
robot-control/src/vision/__init__.py → robot_control/src/robot/__init__.py


+ 5 - 5
robot-control/src/robot/controller.py → robot_control/src/robot/controller.py

@@ -1,11 +1,11 @@
 from dataclasses import dataclass
 from enum import Enum
 from typing import List, Tuple
-from utils.config import ConfigParser, SlotConfig, DeviceConfig
-from robot.movement import RobotMovement
-from utils.logging import LoggerSingleton
-from api.mqtt_handler import MQTTHandler, MeasurementResult
-from api.grbl_handler import GRBLHandler
+from robot_control.src.utils.config import ConfigParser, SlotConfig, DeviceConfig
+from robot_control.src.robot.movement import RobotMovement
+from robot_control.src.utils.logging import LoggerSingleton
+from robot_control.src.api.mqtt_handler import MQTTHandler, MeasurementResult
+from robot_control.src.api.grbl_handler import GRBLHandler
 
 logger = LoggerSingleton.get_logger()
 

+ 2 - 2
robot-control/src/robot/movement.py → robot_control/src/robot/movement.py

@@ -1,8 +1,8 @@
 from typing import Optional
 import time
 import asyncio
-from api.grbl_handler import GRBLHandler
-from utils.logging import LoggerSingleton
+from robot_control.src.api.grbl_handler import GRBLHandler
+from robot_control.src.utils.logging import LoggerSingleton
 
 
 logger = LoggerSingleton.get_logger()

+ 0 - 0
robot-control/tests/__init__.py → robot_control/src/utils/__init__.py


+ 1 - 1
robot-control/src/utils/config.py → robot_control/src/utils/config.py

@@ -38,7 +38,7 @@ class SystemConfig:
     safe_height: float
 
 class ConfigParser:
-    def __init__(self, config_path: str = "robot-control/config/config.yaml"):
+    def __init__(self, config_path: str = "robot_control/config/config.yaml"):
         self.config_path = Path(config_path)
         self.config = self._load_config()
 

+ 1 - 1
robot-control/src/utils/logging.py → robot_control/src/utils/logging.py

@@ -2,7 +2,7 @@ import logging
 from logging.handlers import RotatingFileHandler
 import os
 from typing import Optional
-from utils.config import ConfigParser
+from .config import ConfigParser
 import time
 
 THROTTLING_FILTER_ENABLED = False

+ 0 - 0
robot_control/src/vision/__init__.py


+ 2 - 2
robot-control/src/vision/datamatrix.py → robot_control/src/vision/datamatrix.py

@@ -1,6 +1,6 @@
 import cv2
 from pylibdmtx.pylibdmtx import decode
-from utils.logging import LoggerSingleton
+from robot_control.src.utils.logging import LoggerSingleton
 from pathlib import Path
 
 logger = LoggerSingleton.get_logger()
@@ -47,7 +47,7 @@ class DataMatrixReader:
 
     def initialize(self):
         if self.camera_id < 0:
-            test_path = "robot-control/tests/files/"
+            test_path = "./tests/files/"
             self.camera = TestCamera(test_path)
         else:
             self.camera = cv2.VideoCapture(self.camera_id)

+ 0 - 0
tests/__init__.py


+ 0 - 0
robot-control/tests/files/test_matrix.jpg → tests/files/test_matrix.jpg


+ 0 - 0
robot-control/tests/files/test_matrix_fail.jpg → tests/files/test_matrix_fail.jpg


+ 1 - 1
robot-control/tests/test_api.py → tests/test_api.py

@@ -1,6 +1,6 @@
 import pytest
 from fastapi.testclient import TestClient
-from api.mqtt_handler import MQTTHandler, MQTTDevice, MeasurementResult, mqtt
+from robot_control.src.api.mqtt_handler import MQTTHandler, MeasurementResult, mqtt
 from unittest.mock import Mock, patch
 
 @pytest.fixture

+ 5 - 5
robot-control/tests/test_robot.py → tests/test_robot.py

@@ -1,10 +1,10 @@
 import pytest
-from robot.movement import RobotMovement
-from robot.controller import RobotController, Cell, CellStatus
-from utils.config import ConfigParser
+from robot_control.src.robot.movement import RobotMovement
+from robot_control.src.robot.controller import RobotController, Cell, CellStatus
+from robot_control.src.utils.config import ConfigParser
 
-from api.grbl_handler import GRBLHandler
-from utils.config import ConfigParser
+from robot_control.src.api.grbl_handler import GRBLHandler
+from robot_control.src.utils.config import ConfigParser
 
 @pytest.fixture
 def robot_movement():

+ 1 - 2
robot-control/tests/test_vision.py → tests/test_vision.py

@@ -1,6 +1,5 @@
 import pytest
-from vision.datamatrix import DataMatrixReader
-import numpy as np
+from robot_control.src.vision.datamatrix import DataMatrixReader
 
 @pytest.fixture
 def datamatrix_reader():