On 10/26/22 01:35, Simon Glass wrote:
Hi Heinrich,

On Sat, 22 Oct 2022 at 03:21, Heinrich Schuchardt
<heinrich.schucha...@canonical.com> wrote:

We may enter the command line interface in a state where on the remote
console the cursor is not shown. Send an escape sequence to enable it.

Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
---
  common/main.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/common/main.c b/common/main.c
index 682f3359ea..4e7e7b17d6 100644
--- a/common/main.c
+++ b/common/main.c
@@ -7,6 +7,7 @@
  /* #define     DEBUG   */

  #include <common.h>
+#include <ansi.h>
  #include <autoboot.h>
  #include <bootstage.h>
  #include <cli.h>
@@ -66,6 +67,9 @@ void main_loop(void)

         autoboot_command(s);

+       if (!CONFIG_IS_ENABLED(DM_VIDEO) || CONFIG_IS_ENABLED(VIDEO_ANSI))
+               printf(ANSI_CURSOR_SHOW "\n");

Could we create a library which emits these codes? Like ansi_cursor_show() ?

The question is not if we could but if we should.

Up to now we tried to call printf() only once where ANSI_* is only one part of the output string.

E.g. cmd/eficonfig.c:415:
        printf(ANSI_CLEAR_CONSOLE
               ANSI_CURSOR_POSITION
               ANSI_CURSOR_SHOW, 1, 1);

This minimizes the number of call library calls but may not be very elegant.

Creating a library function for ANSI_CURSOR_SHOW alone does not make much sense to me. Should you want to convert our code base from using ANSI_* to library functions this should cover the whole code base.

So I think we should let this patch pass as it solves a current problem and leave creating a ANSI_* function library to a separate exercise.

Best regards

Heinrich


+
         cli_loop();
         panic("No CLI available");
  }
--
2.37.2


Regards,
Simon

Reply via email to