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

Draft
wants to merge 34 commits into
base: dev
Choose a base branch
from
Draft

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)
    • 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

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 b0b73c0e:

Copy link

github-actions bot commented Dec 3, 2024

Compiled f7 firmware for commit 7a69500d:

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.

2 participants