From 91dc81b26c1b95e5366315775decfd9778356079 Mon Sep 17 00:00:00 2001
From: Ali Lown <ali@lown.me.uk>
Date: Sat, 2 Apr 2011 21:42:57 +0100
Subject: [PATCH 2/2] Add LED support to USB Blaster.

Also updates from direct usage of usb_blaster_write_databuffer to
usb_blaster_addtowritebuffer
Also corrects various compile errors from the previous commit.
---
 src/jtag/drivers/usb_blaster.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/jtag/drivers/usb_blaster.c b/src/jtag/drivers/usb_blaster.c
index ae18ba2..e7d045b 100644
--- a/src/jtag/drivers/usb_blaster.c
+++ b/src/jtag/drivers/usb_blaster.c
@@ -268,7 +268,7 @@ static int usb_blaster_read_data(void)
 		usb_blaster_write_databuffer(out_buffer, out_count);
 
 	out_value |= READ;
-	usb_blaster_write_databuffer(&out_value,1);
+	usb_blaster_addtowritebuffer(out_value,true);
 	out_value &= ~READ;
 
 	status = usb_blaster_buf_read(buf, 1, &bytes_read);
@@ -302,6 +302,14 @@ static void usb_blaster_write(int tck, int tms, int tdi)
 	usb_blaster_addtowritebuffer(out_value, false);
 }
 
+static void usb_blaster_blink(int state)
+{
+	out_value = 0x00;
+	if(state)
+		out_value |= LED;
+	usb_blaster_addtowritebuffer(out_value,true);
+}
+
 static int usb_blaster_speed(int speed)
 {
 #if BUILD_USB_BLASTER_FTD2XX == 1
@@ -333,6 +341,7 @@ static struct bitbang_interface usb_blaster_bitbang = {
 	.read = usb_blaster_read_data,
 	.write = usb_blaster_write,
 	.reset = usb_blaster_reset,
+	.blink = usb_blaster_blink,
 };
 
 static int usb_blaster_init(void)
@@ -559,12 +568,12 @@ COMMAND_HANDLER(usb_blaster_handle_pin_command)
 		if (state == 0)
 		{
 			out_value &= ~mask;
-			usb_blaster_write_databuffer(&out_value,1);
+			usb_blaster_addtowritebuffer(out_value,true);
 		}
 		else if (state == 1)
 		{
 			out_value |= mask;
-			usb_blaster_write_databuffer(&out_value,1);
+			usb_blaster_addtowritebuffer(out_value,true);
 		}
 		else
 		{
-- 
1.7.3.4

