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

[FR] Better CLI over Serial #319

Open
FalcoGer opened this issue Aug 29, 2023 · 1 comment
Open

[FR] Better CLI over Serial #319

FalcoGer opened this issue Aug 29, 2023 · 1 comment

Comments

@FalcoGer
Copy link

FalcoGer commented Aug 29, 2023

Is your feature request related to a problem? Please describe.
When using the marauder firmware for the flipper wifi dev board, I often find myself typing part of a command to prepare it, and then copy some data from earlier in the terminal or another application. But because the CLI accepts commands not when I hit enter, but instead when a small time delay has passed, this becomes impossible, causing the command to fail, or not do what I intended.

The fact that commands are automatically executed after a period of inactivity, as well as there being no feedback for whatever you typed, and backspace not working at all, makes using the interface very unfriendly. It also misses other, common conveniences, such as a command history or tab completion. The fact that it uses a time delay also makes the interface feel sluggish, waiting for nearly a second every time I type a command for the output to be printed.

Describe the solution you'd like
I would like a better CLI for the serial interface. In order of preference, I like these things implemented:

  • Command execution only when LF, CR, or CR+LF is sent
  • Echo back typed characters for feedback, making sure that backspace, and other special characters are handled correctly.
  • Limited history, even 1 entry would be nice, usable with the arrow up/down keys, to easily repeat commands
  • Smart tab completion for command names, command flags, SSIDs, MAC addresses and so forth, preferably with some context information. For example list -[TAB] should provide a list of options that are valid for the list command, and a description of each. select -a [TAB] should provide a list of access points, their ESSIDs and BSSIDs.

Describe alternatives you've considered
N/A

Additional context
N/A

@paulvantuyl
Copy link

I would also like these improvements. I'm using macOS and it's pretty frustrating to use CLI because the delay is so short it's sending commands before I can finish typing them.

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

No branches or pull requests

2 participants