blob: d5d5d8c31d73854b2aa054582f482804abc550d9 [file] [log] [blame]
Wolfgang Denk9f96ae42005-08-30 13:04:12 +02001/*
2 * (C) Copyright 2005
3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23
24#include <common.h>
25#include <command.h>
Ilya Yanok7f0d2412010-09-09 23:03:32 +020026#include <led-display.h>
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020027
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020028#undef DEBUG_DISP
29
Wolfgang Denk54841ab2010-06-28 22:00:46 +020030int do_display (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020031{
32 int i;
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020033
34 /* Clear display */
Ilya Yanok7f0d2412010-09-09 23:03:32 +020035 display_set(DISPLAY_CLEAR | DISPLAY_HOME);
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020036
37 if (argc < 2)
38 return (0);
39
Ilya Yanok7f0d2412010-09-09 23:03:32 +020040 for (i = 1; i < argc; i++) {
41 char *p = argv[i];
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020042
Ilya Yanok7f0d2412010-09-09 23:03:32 +020043 if (i > 1) { /* Insert a space between strings */
44 display_putc(' ');
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020045 }
46
Ilya Yanok7f0d2412010-09-09 23:03:32 +020047 while ((*p)) {
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020048#ifdef DEBUG_DISP
Ilya Yanok7f0d2412010-09-09 23:03:32 +020049 putc(*p);
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020050#endif
Ilya Yanok7f0d2412010-09-09 23:03:32 +020051 display_putc(*p++);
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020052 }
53 }
54
55#ifdef DEBUG_DISP
56 putc('\n');
57#endif
58
59 return (0);
60}
61
62/***************************************************/
63
64U_BOOT_CMD(
Jean-Christophe PLAGNIOL-VILLARD6d0f6bc2008-10-16 15:01:15 +020065 display, CONFIG_SYS_MAXARGS, 1, do_display,
Peter Tyser2fb26042009-01-27 18:03:12 -060066 "display string on dot matrix display",
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020067 "[<string>]\n"
68 " - with <string> argument: display <string> on dot matrix display\n"
Wolfgang Denka89c33d2009-05-24 17:06:54 +020069 " - without arguments: clear dot matrix display"
Wolfgang Denk9f96ae42005-08-30 13:04:12 +020070);