v0.1.8 fix cli
This commit is contained in:
parent
63e6ed4ffd
commit
5f40847b81
|
|
@ -5,7 +5,7 @@
|
||||||
- 📡 **`carbus_async`** – низкоуровневая работа с железкой (CAN/LIN, фильтры, терминаторы и т.д.)
|
- 📡 **`carbus_async`** – низкоуровневая работа с железкой (CAN/LIN, фильтры, терминаторы и т.д.)
|
||||||
- 📦 **`isotp_async`** – ISO-TP (ISO 15765-2) поверх CAN (single + multi-frame)
|
- 📦 **`isotp_async`** – ISO-TP (ISO 15765-2) поверх CAN (single + multi-frame)
|
||||||
- 🩺 **`uds_async`** – UDS (ISO 14229) клиент и сервер (диагностика, чтение VIN и т.п.)
|
- 🩺 **`uds_async`** – UDS (ISO 14229) клиент и сервер (диагностика, чтение VIN и т.п.)
|
||||||
- 🌐 **`TCP-bridge`** – удалённое подключение к адаптеру через сеть (как будто он воткнут локально)
|
- 🌐 **`Remote/TCP-bridge`** – удалённое подключение к адаптеру через сеть (как будто он воткнут локально)
|
||||||
|
|
||||||
> Python 3.10 и выше
|
> Python 3.10 и выше
|
||||||
> Никаких «магических» зависимостей — всё на `asyncio`.
|
> Никаких «магических» зависимостей — всё на `asyncio`.
|
||||||
|
|
|
||||||
|
|
@ -181,7 +181,23 @@ async def agent_run(
|
||||||
log.info("Agent stopped.")
|
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 = argparse.ArgumentParser()
|
||||||
ap.add_argument("--port", required=True, help="COM port, e.g. COM6")
|
ap.add_argument("--port", required=True, help="COM port, e.g. COM6")
|
||||||
ap.add_argument("--baudrate", type=int, default=115200)
|
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")
|
ap.add_argument("--password", required=True, help="shared password for this serial")
|
||||||
args = ap.parse_args()
|
args = ap.parse_args()
|
||||||
|
|
||||||
await agent_run(
|
logging.basicConfig(
|
||||||
|
level=logging.INFO,
|
||||||
|
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
||||||
|
)
|
||||||
|
|
||||||
|
asyncio.run(
|
||||||
|
main_async(
|
||||||
port=args.port,
|
port=args.port,
|
||||||
baudrate=args.baudrate,
|
baudrate=args.baudrate,
|
||||||
server=args.server,
|
server=args.server,
|
||||||
serial=str(args.serial),
|
serial=str(args.serial),
|
||||||
password=str(args.password),
|
password=str(args.password),
|
||||||
)
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
logging.basicConfig(
|
cli()
|
||||||
level=logging.INFO,
|
|
||||||
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
|
|
||||||
)
|
|
||||||
asyncio.run(main())
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import argparse
|
||||||
import asyncio
|
import asyncio
|
||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
|
|
@ -232,6 +233,18 @@ async def main(host: str = "0.0.0.0", port: int = 9000) -> None:
|
||||||
await srv.serve_forever()
|
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__":
|
if __name__ == "__main__":
|
||||||
logging.basicConfig(level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s: %(message)s")
|
cli()
|
||||||
asyncio.run(main())
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ async def main(is_debug=False):
|
||||||
channel=1,
|
channel=1,
|
||||||
can_id=0x100,
|
can_id=0x100,
|
||||||
data=b"\x00" * 8,
|
data=b"\x00" * 8,
|
||||||
period_s=0.5,
|
period_s=0.2,
|
||||||
modify=mod)
|
modify=mod)
|
||||||
|
|
||||||
sender.add(
|
sender.add(
|
||||||
|
|
@ -33,7 +33,7 @@ async def main(is_debug=False):
|
||||||
channel=1,
|
channel=1,
|
||||||
can_id=0x123,
|
can_id=0x123,
|
||||||
data=b"\x01\x02\x03\x04\x05\x06\x07\x08",
|
data=b"\x01\x02\x03\x04\x05\x06\x07\x08",
|
||||||
period_s=0.05,
|
period_s=0.03,
|
||||||
)
|
)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "carbus-lib"
|
name = "carbus-lib"
|
||||||
version = "0.1.7"
|
version = "0.1.8"
|
||||||
description = "Async CAN / ISO-TP / UDS library for Car Bus Analyzer"
|
description = "Async CAN / ISO-TP / UDS library for Car Bus Analyzer"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
|
|
@ -27,5 +27,5 @@ where = ["."]
|
||||||
include = ["carbus_async*", "isotp_async*", "uds_async*"]
|
include = ["carbus_async*", "isotp_async*", "uds_async*"]
|
||||||
|
|
||||||
[project.scripts]
|
[project.scripts]
|
||||||
carbus-relay-server = "carbus_async.remote.server:main"
|
carbus-relay-server = "carbus_async.remote.server:cli"
|
||||||
carbus-relay-agent = "carbus_async.remote.agent:main"
|
carbus-relay-agent = "carbus_async.remote.agent:cli"
|
||||||
Loading…
Reference in New Issue