From b8a85a0e0707bd75fa4968b2d4f37fd82bc541b2 Mon Sep 17 00:00:00 2001 From: Aryan0826 <165449842+Aryan0826@users.noreply.github.com> Date: Sat, 20 Dec 2025 21:57:25 -0600 Subject: [PATCH] add ack option to parse_send function --- soti/umsats_soti/parser/parser.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/soti/umsats_soti/parser/parser.py b/soti/umsats_soti/parser/parser.py index 9ec647c..18d8f57 100644 --- a/soti/umsats_soti/parser/parser.py +++ b/soti/umsats_soti/parser/parser.py @@ -104,6 +104,7 @@ def parse_send(args: str, default_sender: NodeID) -> Message: priority: int = 255 sender_id: NodeID = default_sender recipient_id: NodeID | None = get_implied_recipient(cmd_id) + is_ack: bool = False # represents the bytes that will be sent in the data section of the message data = bytearray() @@ -128,6 +129,13 @@ def parse_send(args: str, default_sender: NodeID) -> Message: recipient_id = NodeID(parse_int(value)) except ValueError as exc: raise ArgumentException(f"Invalid node ID '{value}'") from exc + elif key == "ack": + if value.lower() == "true": + is_ack = True + elif value.lower() == "false": + is_ack = False + else: + raise ArgumentException(f"Invalid value for ack '{value}'. Expected true or false") else: raise ArgumentException(f"Unknown option '{key}'") @@ -183,5 +191,5 @@ def parse_send(args: str, default_sender: NodeID) -> Message: priority, sender_id, recipient_id, - False + is_ack )