-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
bluetooth: shell: refactor shell print for Bluetooth-specific context #74652
base: main
Are you sure you want to change the base?
Conversation
1f6268c
to
204e867
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is the right direction (but please do convince me if you believe so).
Some of the changes are welcome, but the idea of a bt_shell
is IMO not.
In your commit message you mention that you want to remove the code footprint, but you also mention an increase cost of this new bt_shell. Aren't those two sentences conflicting?
The BT shell definitely needs improvement. I created a issue #70945 related to this, that requests the removed of the ctx_shell
. The removal of the ctx_shell
would directly conflict with the majority of this PR, as all the bt_shell
functions you've defined will simply call the shell functions directly (as they would need the shell pointer again).
Could you provide some data on the codesize that you've increase/decreased?
@Thalley Thank you for your feedback. It's good to hear that you're addressing
At first glance, this might seem controversial.
By picking up
|
To stretch further, I think the functions that should be improved are
Since in reality the same message printed out inside the shell is always fixed to a specific color, and if we prioritize the code size, this should make sense. Otherwise, every time, for example in Cortex-M, |
Just tried your PR with the BT shell test application for the With PR
Without PR
So while I do not agree with the direction of this PR, as we really need to get rid of I'm not at a point where I'll approve, but I'm also not going to reject this change. I'd like to get input from the other BT collaborators on this. |
@Thalley, thank you for the additional information. It seems we should start by getting rid of |
@Thalley Just a reminder that this stretch was merged in this PR: #75340. 👀 |
This pull request has been marked as stale because it has been open (more than) 60 days with no activity. Remove the stale label or add a comment saying that you would like to have the label removed otherwise this pull request will automatically be closed in 14 days. Note, that you can always re-open a closed pull request at any time. |
This commit aims to reduce the Bluetooth shell code footprint with the following changes: - Introduced `bt_shell_private.c` and `bt_shell_private.h` to provide common functions for the Bluetooth shell. - For now, equivalent function to `shell_info`, `shell_print`, `shell_warn ` and `shell_error`, but without `sh` as Bluetooth shell relies on `ctx_shell` when there is no `sh` from outside. The cost of newly added `bt_shell_info_impl` ... `bt_shell_error_impl` will be insignificant if we have many individual calls that need to pass both `sh` and `color` parameter each time. Signed-off-by: Pisit Sawangvonganan <[email protected]>
204e867
to
45075db
Compare
This commit aims to reduce the Bluetooth shell code footprint with the following changes:
bt_shell_private.c
andbt_shell_private.h
to provide common functions for the Bluetooth shell.shell_info
,shell_print
,shell_warn
andshell_error
, but withoutsh
as Bluetooth shell relies onctx_shell
when there is nosh
from outside.The cost of newly added
bt_shell_info_impl
...bt_shell_error_impl
will be insignificant if we have many individual calls that need to pass bothsh
andcolor
parameter each time.