[U-Boot] [PATCH 02/21] common/lcd: Add command for setting cursor within lcd-framework

Hannes Petermaier
2015-02-02T07:32:52Z

"U-Boot" <u-boot-bounces@lists.denx.de> schrieb am 01.02.2015 15:48:51:

> From: Nikita Kiryanov <nikita@compulab.co.il>
> To: Hannes Petermaier <oe5hpm@oevsv.at>, u-boot at lists.denx.de
> Date: 01.02.2015 15:49
> Subject: Re: [U-Boot] [PATCH 02/21] common/lcd: Add command for setting
cursor
> within lcd-framework
> Sent by: "U-Boot" <u-boot-bounces@lists.denx.de>
>
> Hi Hannes,
Hi Nikita,

>
> On 01/30/2015 03:25 PM, Hannes Petermaier wrote:
> > We need this function if we want to make some outputs i.e position the
writing
> > cursor out of u-boot scripts.
>
> This commit message is inaccurate. Positioning the writing cursor is not
in
> itself output.
> Also, what is the use case for such a command?
>
I want to set the "cursor" on the screen to a specific position and write
there something
with "puts".

For example:

setcurs 1 9; sets the cursor to first column and 9th row
puts "Hello World!" writes the text to the cursor.

> >
> > Signed-off-by: Hannes Petermaier <oe5hpm@oevsv.at>
> > ---
> > common/lcd.c | 21 +++++++++++++++++++++
> > 1 file changed, 21 insertions(+)
> >
> > diff --git a/common/lcd.c b/common/lcd.c
> > index cc34b8a..f418da9 100644
> > --- a/common/lcd.c
> > +++ b/common/lcd.c
> > @@ -279,12 +279,33 @@ static int do_lcd_clear(cmd_tbl_t *cmdtp, int
flag, int argc,
> > return 0;
> > }
> >
> > +static int do_lcd_setcursor(cmd_tbl_t *cmdtp, int flag, int argc,
> > + char *const argv[])
> > +{
> > + unsigned int col, row;
> > +
> > + if (argc != 3)
> > + return CMD_RET_USAGE;
> > +
> > + col = simple_strtoul(argv[1], NULL, 10);
> > + row = simple_strtoul(argv[2], NULL, 10);
> > + lcd_position_cursor(col, row);
> > +
> > + return 0;
> > +}
> > +
> > U_BOOT_CMD(
> > cls, 1, 1, do_lcd_clear,
> > "clear screen",
> > ""
> > );
> >
> > +U_BOOT_CMD(
> > + setcurs, 3, 1, do_lcd_setcursor,
> > + "sets cursor for 'puts'",
> > + " <row> in character"
> > +);
> > +
>
> I think it would be better if the U_BOOT_CMD macros were adjacent to the
functions they
> use. Also, I think this command is better suited for the lcd_console.c
file.

You're maybe right. Only thing for decission was, that existing commands
are allready defined within
lcd.c. But i've no problem to move it. What do you say? let's move?

>
> >
/*----------------------------------------------------------------------*/
> >
> > static int lcd_init(void *lcdbase)
> >
>
> --
> Regards,
> Nikita Kiryanov

best regards,
Hannes