FreeCalypso > hg > freecalypso-sw
diff target-utils/c139explore/lcd.c @ 951:eb27543ce18e
c139explore: elementary operation commands lcdcmd and lcdpix added
author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
---|---|
date | Wed, 04 Nov 2015 03:03:38 +0000 |
parents | cd34e0d534b9 |
children | 9e1be763b626 |
line wrap: on
line diff
--- a/target-utils/c139explore/lcd.c Wed Nov 04 01:43:44 2015 +0000 +++ b/target-utils/c139explore/lcd.c Wed Nov 04 03:03:38 2015 +0000 @@ -9,6 +9,49 @@ } void +cmd_lcdcmd(argbulk) + char *argbulk; +{ + char *argv[3]; + u_long cmd, data; + + if (parse_args(argbulk, 2, 2, argv, 0) < 0) + return; + if (parse_hexarg(argv[0], 2, &cmd) < 0) { + printf("ERROR: arg1 must be a valid 8-bit hex value\n"); + return; + } + if (parse_hexarg(argv[1], 2, &data) < 0) { + printf("ERROR: arg2 must be a valid 8-bit hex value\n"); + return; + } + send_cmd_data(cmd, data); +} + +static void +send_pixel_value(pix) +{ + send_via_uwire((pix >> 8) | 0x100); + send_via_uwire((pix & 0xFF) | 0x100); +} + +void +cmd_lcdpix(argbulk) + char *argbulk; +{ + char *argv[2]; + u_long pixval; + + if (parse_args(argbulk, 1, 1, argv, 0) < 0) + return; + if (parse_hexarg(argv[0], 4, &pixval) < 0) { + printf("ERROR: arg1 must be a valid 16-bit hex value\n"); + return; + } + send_pixel_value(pixval); +} + +void cmd_lcdinit() { /* from OsmocomBB */ @@ -28,13 +71,6 @@ send_cmd_data(0x15, ystart); } -static void -send_pixel_value(pix) -{ - send_via_uwire((pix >> 8) | 0x100); - send_via_uwire((pix & 0xFF) | 0x100); -} - void cmd_lcdfill(argbulk) char *argbulk;