Skip to content

Display ACK Messages Differently From Regular MessagesΒ #43

Closed

Description

@Koloss0

πŸ—’οΈ Task Description

Summary
Display regular messages with the format A β†’ B and ACK messages with the format A ← B so they're distinguishable in the interface.

Details
Here's a screenshot of what it normally looks like in the interface as messages are being sent and received:

Image

As you can see, they all have a sender and a receiver in the "Transaction" column, and they're formatted as sender β†’ receiver.

However, so far the interface only handles regular messages. Sometimes (and by that I mean ALMOST ALWAYS), sending a message will prompt the subsystem on the receiving end to send a response called an acknowledgement. We call these messages ACK messages.

Currently, the interface does not display ACK messages any differently from normal messages, which means you CAN'T EVEN TELL if a message is just an acknowledgement of something that had previously been sent.

For this task, you will fix that by swapping the sender and receiver and pointing the arrow in reverse (signifying something returning to where it came from).

To fully complete this task, you will only need to change a few lines in _on_message_received() of main_screen.py.

βœ… Completion Criteria

  • In _on_message_received:
    • Check if the received message is an ACK or not. Do this by checking the .is_ack field of the message object.
    • If it is an ACK, set the transaction format to be receiver ← sender (ACK) instead.
  • The code has been tested with a NUCLEO board and it works with both ACK and non-ACK messages. No bugs or errors have been introduced.

πŸ“‚ Affected Components

Activity

  1. added theissue type on Oct 5, 2025
  2. Loopy178 commented on Oct 18, 2025

    @Loopy178

    i might have finished this tast, but needs to be tested to be sure.

  3. Koloss0 commented on Oct 18, 2025

    @Koloss0
    MemberAuthor

    Hi Brijesh, awesome stuff! I'll bring my NUCLEO on Tuesday and we'll see your code in action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions