allow the choice of automatic (hardware) control of leds
authormatt <matt@221aa14e-8319-0410-a670-987f0aec2ac5>
Fri, 19 Jun 2009 19:18:42 +0000 (19:18 +0000)
committermatt <matt@221aa14e-8319-0410-a670-987f0aec2ac5>
Fri, 19 Jun 2009 19:18:42 +0000 (19:18 +0000)
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@11239 221aa14e-8319-0410-a670-987f0aec2ac5

usrp2/firmware/lib/hal_io.c
usrp2/firmware/lib/hal_io.h

index 5419068254cbdd18da6f0f158d33a3ffb0ba7133..6cb7649f3e23a06cae59fd879690c8904eba774d 100644 (file)
@@ -160,6 +160,7 @@ hal_gpio_read(int bank)
  */
 
 static unsigned long leds_shadow = 0;
+static unsigned long led_src_shadow = 0;
 
 void 
 hal_set_leds(int value, int mask)
@@ -170,6 +171,16 @@ hal_set_leds(int value, int mask)
   hal_restore_ints(ei);
 }
 
+// Allow hardware control over leds
+void 
+hal_set_led_src(int value, int mask)
+{
+  int ei = hal_disable_ints();
+  led_src_shadow = (led_src_shadow & ~mask) | (value & mask);
+  output_regs->led_src = led_src_shadow;
+  hal_restore_ints(ei);
+}
+
 void 
 hal_toggle_leds(int mask)
 {
index a49750a6dd4a57c8bdefc8afaf8b34b060aa5ce6..b6ae35b73b00a0bf1bb1f5c1b45eec019f85463a 100644 (file)
@@ -92,6 +92,7 @@ int  hal_gpio_read(int bank);
  */
 
 void hal_set_leds(int value, int mask);
+void hal_set_led_src(int value, int mask);
 void hal_toggle_leds(int mask);
 
 /*