Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FL-3928] CLI rewrite #4023

Closed
wants to merge 55 commits into from
Closed

Conversation

portasynthinca3
Copy link
Member

@portasynthinca3 portasynthinca3 commented Nov 29, 2024

What's new

  • Rewrote the CLI subsystem, which resulted in:
    • A nicer architecture
    • Reduced idle stack usage (4 KiB -> 0.75 KiB); reduced stack usage with a shell and a command running (4 KiB -> 3.75 KiB)
    • Support for commands stored in fal files as opposed to the flash
      • Reduced flash usage by ~20 KB
    • Better UX thanks to a real history and ANSI escape support in both directions (text formatting and keyboard shortcuts)
    • Semmingly better stability in companion apps even while using ANSI codes
    • About a 9% file transfer speed loss compared to the legacy implementation

Verification

  • Test the CLI shell
  • Test all the CLI commands
  • Test all the tools that depend on the CLI (companion apps, fbt, production line tooling, etc.)

Remarks

This PR depends on #3996, please review it before reviewing this one.

Checklist (For Reviewer)

  • PR has description of feature/bug or link to Confluence/Jira task
  • Description contains actions to verify feature/bugfix
  • I've built this code, uploaded it to the device and verified feature/bugfix

Copy link

github-actions bot commented Nov 29, 2024

PVS-Studio report for commit 687bbe71:

@portasynthinca3 portasynthinca3 marked this pull request as draft February 10, 2025 11:26
@portasynthinca3 portasynthinca3 marked this pull request as ready for review February 10, 2025 22:49
@skotopes skotopes marked this pull request as draft February 12, 2025 18:51
@skotopes
Copy link
Member

Still issues with companion apps

@portasynthinca3
Copy link
Member Author

portasynthinca3 commented Feb 13, 2025

Splitting this into smaller PRs. Please don't delete the remote branch for now.

@portasynthinca3 portasynthinca3 deleted the portasynthinca3/3928-cli-threads branch March 13, 2025 08:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants