@@ -70,6 +70,7 @@ COBJS-$(CONFIG_CMD_BEDBUG) += bedbug.o cmd_bedbug.o
COBJS-$(CONFIG_CMD_BMP) += cmd_bmp.o
COBJS-$(CONFIG_CMD_BOOTLDR) += cmd_bootldr.o
COBJS-$(CONFIG_CMD_CACHE) += cmd_cache.o
+COBJS-$(CONFIG_CMD_CLEAR) += cmd_clear.o
COBJS-$(CONFIG_CMD_CONSOLE) += cmd_console.o
COBJS-$(CONFIG_CMD_CPLBINFO) += cmd_cplbinfo.o
COBJS-$(CONFIG_DATAFLASH_MMC_SELECT) += cmd_dataflash_mmc_mux.o
new file mode 100644
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2011
+ * Marcel Mol, MESA Consulting, marcel@mesa.nl
+ *
+ * Copyright 2011
+ * Pali Rohár, pali.rohar@gmail.com
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#include <common.h>
+#include <command.h>
+
+static int do_clear(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+ puts(ANSI_CLEAR_CONSOLE);
+ printf(ANSI_CURSOR_POSITION, 1, 1);
+ return 0;
+}
+
+U_BOOT_CMD(
+ clear, CONFIG_SYS_MAXARGS, 1, do_clear,
+ "clear",
+ "\n"
+ " - clear screen and move cursor to top of screen"
+);
@@ -743,6 +743,13 @@ void clear_ctrlc (void); /* clear the Control-C condition */
int disable_ctrlc (int); /* 1 to disable, 0 to enable Control-C detect */
/*
+ * ANSI terminal
+ */
+
+#define ANSI_CURSOR_POSITION "\e[%d;%dH"
+#define ANSI_CLEAR_CONSOLE "\e[2J"
+
+/*
* STDIO based functions (can always be used)
*/
/* serial stuff */
@@ -24,6 +24,7 @@
#define CONFIG_CMD_BSP /* Board Specific functions */
#define CONFIG_CMD_CACHE /* icache, dcache */
#define CONFIG_CMD_CDP /* Cisco Discovery Protocol */
+#define CONFIG_CMD_CLEAR /* ANSI clear screen command */
#define CONFIG_CMD_CONSOLE /* coninfo */
#define CONFIG_CMD_DATE /* support for RTC, date/time...*/
#define CONFIG_CMD_DHCP /* DHCP Support */
* Command can be enabled by CONFIG_CMD_CLEAR * Added some ANSI escape codes definitions in common.h Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Cc: Marcel Mol <marcel@mesa.nl> --- Changes since original version: - Renamed command clr to clear - Use puts instead printf - Move cursor to pos1,1 - Merged parts of patch "Add some ANSI escape codes definitions in common.h" common/Makefile | 1 + common/cmd_clear.c | 42 ++++++++++++++++++++++++++++++++++++++++++ include/common.h | 7 +++++++ include/config_cmd_all.h | 1 + 4 files changed, 51 insertions(+) create mode 100644 common/cmd_clear.c