Skip to content

(Re)implement process differentiation in the process console #41

Description

@eva-cosma

Currently, when the user does tockloader listen all messages from all apps are sent to tockloader, without a way to differentiate one app from another or an app from the kernel. This can be cumbersome, especially when it comes to sending logging information to the process console.

CAmi307 has implemented a protocol here that adds a few bytes before and after each message to solve this issue, but the main tock code has developed so much it cannot be easily re-integrated. A CLI for this protocol using ratatui can be found in the tockloader-rs project

Your task is:

  • Recreate CAmi307's code using the latest version of tock. Ideally it should work with the already existing version of the CLI tool, but you may make modifications or use another dummy app to ensure communication works. Up to you.
  • Afterwards, we need to take into account that this new protocol should only be used if specifically requested. This means that the default behavior should be the normal no-extra-bytes protocol, and if tockloader-rs negotiates an upgrade (at runtime), or if tock is compiled with a feature flag (at buildtime), only then should the new protocol be used

A lot of things have changed since Cami307 made her code. Use your own intuition as to what is useful, and if her approach is still viable or we need to change course. Her code seems to work with the microbit-v2, but not with STM, so keep that in mind also.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status
In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions