v0.1.8 fix cli

This commit is contained in:
controllerzz 2025-12-24 20:32:26 +03:00
parent 63e6ed4ffd
commit 5f40847b81
5 changed files with 53 additions and 20 deletions

View File

@ -5,7 +5,7 @@
- 📡 **`carbus_async`** низкоуровневая работа с железкой (CAN/LIN, фильтры, терминаторы и т.д.)
- 📦 **`isotp_async`** ISO-TP (ISO 15765-2) поверх CAN (single + multi-frame)
- 🩺 **`uds_async`** UDS (ISO 14229) клиент и сервер (диагностика, чтение VIN и т.п.)
- 🌐 **`TCP-bridge`** удалённое подключение к адаптеру через сеть (как будто он воткнут локально)
- 🌐 **`Remote/TCP-bridge`** удалённое подключение к адаптеру через сеть (как будто он воткнут локально)
> Python 3.10 и выше
> Никаких «магических» зависимостей — всё на `asyncio`.

View File

@ -181,7 +181,23 @@ async def agent_run(
log.info("Agent stopped.")
async def main() -> None:
async def main_async(
port: str,
baudrate: int,
server: str,
serial: str,
password: str,
) -> None:
await agent_run(
port=port,
baudrate=baudrate,
server=server,
serial=serial,
password=password,
)
def cli() -> None:
ap = argparse.ArgumentParser()
ap.add_argument("--port", required=True, help="COM port, e.g. COM6")
ap.add_argument("--baudrate", type=int, default=115200)
@ -190,18 +206,22 @@ async def main() -> None:
ap.add_argument("--password", required=True, help="shared password for this serial")
args = ap.parse_args()
await agent_run(
port=args.port,
baudrate=args.baudrate,
server=args.server,
serial=str(args.serial),
password=str(args.password),
)
if __name__ == "__main__":
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
)
asyncio.run(main())
asyncio.run(
main_async(
port=args.port,
baudrate=args.baudrate,
server=args.server,
serial=str(args.serial),
password=str(args.password),
)
)
if __name__ == "__main__":
cli()

View File

@ -1,5 +1,6 @@
from __future__ import annotations
import argparse
import asyncio
import json
import logging
@ -232,6 +233,18 @@ async def main(host: str = "0.0.0.0", port: int = 9000) -> None:
await srv.serve_forever()
def cli() -> None:
ap = argparse.ArgumentParser()
ap.add_argument("--host", default="0.0.0.0")
ap.add_argument("--port", type=int, default=9000)
args = ap.parse_args()
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
)
asyncio.run(main(host=args.host, port=args.port))
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s")
asyncio.run(main())
cli()

View File

@ -25,7 +25,7 @@ async def main(is_debug=False):
channel=1,
can_id=0x100,
data=b"\x00" * 8,
period_s=0.5,
period_s=0.2,
modify=mod)
sender.add(
@ -33,7 +33,7 @@ async def main(is_debug=False):
channel=1,
can_id=0x123,
data=b"\x01\x02\x03\x04\x05\x06\x07\x08",
period_s=0.05,
period_s=0.03,
)
try:

View File

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "carbus-lib"
version = "0.1.7"
version = "0.1.8"
description = "Async CAN / ISO-TP / UDS library for Car Bus Analyzer"
readme = "README.md"
requires-python = ">=3.10"
@ -27,5 +27,5 @@ where = ["."]
include = ["carbus_async*", "isotp_async*", "uds_async*"]
[project.scripts]
carbus-relay-server = "carbus_async.remote.server:main"
carbus-relay-agent = "carbus_async.remote.agent:main"
carbus-relay-server = "carbus_async.remote.server:cli"
carbus-relay-agent = "carbus_async.remote.agent:cli"