diff --git a/main.py b/main.py index 41ae2b5..e39093a 100644 --- a/main.py +++ b/main.py @@ -21,6 +21,7 @@ import numpy as np import aiohttp import httpx import time +from patient_skid_functions import handle_patient_skid_for_idle, set_patient_skid_users from serial_manager import SerialConfig, SerialStore, SerialReader from protocol_decoder import decode_frames @@ -288,20 +289,6 @@ def expand_pu_number(pu_number: int) -> list[int]: return [pu_number] if pu_number != 3 else [1, 2] -def handle_patient_skid_for_idle() -> None: - """Send the special commands to patient skid when entering IDLE.""" - try: - url = "http://192.168.1.28:8000/stop_test" - response = httpx.get(url, timeout=1.0) - logging.info(f"Stopping test on Patient Skid: {response.status_code}") - - url = "http://192.168.1.28:8000/close_valves" - response = httpx.get(url, timeout=1.0) - logging.info(f"Closing valves on Patient Skid: {response.status_code}") - except Exception as e: - logging.error(f"Error handling patient skid for IDLE: {e}") - raise - def send_command_to_pu( pu: int, state: str, ploop_setpoint: float, qperm_setpoint: float @@ -623,32 +610,6 @@ async def update_latest_flow(): logging.error(f"Error fetching flow: {e}") await asyncio.sleep(1.0) -def stop_patient_skid(): - try: - url = f"http://192.168.1.28:8000/stop_test" - response = httpx.get(url, timeout=5.0) - - if response.status_code == 200: - return {"status": "success", "detail": response.json()} - else: - raise HTTPException(status_code=502, detail=f"Remote server error: {response.text}") - except httpx.RequestError as e: - raise HTTPException(status_code=500, detail=f"Request to external server failed: {str(e)}") - -def set_patient_skid_users(count: int = 0): - try: - url = f"http://192.168.1.28:8000/set_users/{count}" - response = httpx.get(url, timeout=5.0) - - response_2 = httpx.get("http://192.168.1.28:8000/start_defined_test", timeout=5.0) - - if response.status_code == 200: - return {"status": "success", "detail": response.json()} - else: - raise HTTPException(status_code=502, detail=f"Remote server error: {response.text}") - except httpx.RequestError as e: - raise HTTPException(status_code=500, detail=f"Request to external server failed: {str(e)}") - app.include_router(router) if __name__ == "__main__": diff --git a/patient_skid_functions.py b/patient_skid_functions.py new file mode 100644 index 0000000..64486af --- /dev/null +++ b/patient_skid_functions.py @@ -0,0 +1,30 @@ +import httpx +import logging + +def handle_patient_skid_for_idle() -> None: + """Send the special commands to patient skid when entering IDLE.""" + try: + url = "http://192.168.1.28:8000/stop_test" + response = httpx.get(url, timeout=1.0) + logging.info(f"Stopping test on Patient Skid: {response.status_code}") + + url = "http://192.168.1.28:8000/close_valves" + response = httpx.get(url, timeout=1.0) + logging.info(f"Closing valves on Patient Skid: {response.status_code}") + except Exception as e: + logging.error(f"Error handling patient skid for IDLE: {e}") + raise + +def set_patient_skid_users(count: int = 0): + try: + url = f"http://192.168.1.28:8000/set_users/{count}" + response = httpx.get(url, timeout=5.0) + + response_2 = httpx.get("http://192.168.1.28:8000/start_defined_test", timeout=5.0) + + if response.status_code == 200: + return {"status": "success", "detail": response.json()} + else: + raise HTTPException(status_code=502, detail=f"Remote server error: {response.text}") + except httpx.RequestError as e: + raise HTTPException(status_code=500, detail=f"Request to external server failed: {str(e)}")