From c41114195b6e7d4ac720b35684e0b1328d544928 Mon Sep 17 00:00:00 2001
From: Michael DM Dryden <mdryden@chem.utoronto.ca>
Date: Tue, 16 May 2017 20:21:13 -0400
Subject: [PATCH] Set LED2 to follow RTS signal on USB.

---
 src/config/conf_usb.h |  5 ++++-
 src/leds.c            | 19 +++++++++++++++++++
 src/leds.h            | 17 +++++++++++++++++
 3 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 src/leds.c
 create mode 100644 src/leds.h

diff --git a/src/config/conf_usb.h b/src/config/conf_usb.h
index 1d927a0..89a3885 100644
--- a/src/config/conf_usb.h
+++ b/src/config/conf_usb.h
@@ -125,7 +125,7 @@
 #define  UDI_CDC_RX_NOTIFY(port)
 #define  UDI_CDC_SET_CODING_EXT(port,cfg)
 #define  UDI_CDC_SET_DTR_EXT(port,set)
-#define  UDI_CDC_SET_RTS_EXT(port,set)
+//#define  UDI_CDC_SET_RTS_EXT(port,set)
 /*
  * #define UDI_CDC_ENABLE_EXT(port) my_callback_cdc_enable()
  * extern bool my_callback_cdc_enable(void);
@@ -140,6 +140,8 @@
  * #define  UDI_CDC_SET_RTS_EXT(port,set) my_callback_cdc_set_rts(port,set)
  * extern void my_callback_cdc_set_rts(uint8_t port, bool b_enable); 
  */
+#define  UDI_CDC_SET_RTS_EXT(port,set) my_callback_cdc_set_rts(port,set)
+extern void my_callback_cdc_set_rts(uint8_t port, uint8_t b_enable);
 
 //! Define it when the transfer CDC Device to Host is a low rate (<512000 bauds)
 //! to reduce CDC buffers size
@@ -162,5 +164,6 @@
 
 //! The includes of classes and other headers must be done at the end of this file to avoid compile error
 #include "udi_cdc_conf.h"
+#include "leds.h"
 
 #endif // _CONF_USB_H_
diff --git a/src/leds.c b/src/leds.c
new file mode 100644
index 0000000..163ad70
--- /dev/null
+++ b/src/leds.c
@@ -0,0 +1,19 @@
+//
+//  leds.c
+//  dstat-firmware
+//
+//  Created by Michael Dryden on 2017-05-04.
+//  Copyright © 2017 Michael Dryden. All rights reserved.
+//
+
+#include "leds.h"
+#include "config/conf_board.h"
+#include <ioport.h>
+
+void my_callback_cdc_set_rts(uint8_t port, uint8_t b_enable){
+    #if BOARD_VER_MAJOR >= 1 && BOARD_VER_MINOR >= 2 && BOARD_VER_MICRO >=3
+        ioport_set_pin_level(LED2, b_enable);
+    #endif
+}
+
+
diff --git a/src/leds.h b/src/leds.h
new file mode 100644
index 0000000..7eae012
--- /dev/null
+++ b/src/leds.h
@@ -0,0 +1,17 @@
+//
+//  leds.h
+//  dstat-firmware
+//
+//  Created by Michael Dryden on 2017-05-04.
+//  Copyright © 2017 Michael Dryden. All rights reserved.
+//
+
+#ifndef leds_h
+#define leds_h
+
+#include <stdio.h>
+
+void my_callback_cdc_set_rts(uint8_t port, uint8_t b_enable);
+
+
+#endif /* leds_h */
-- 
GitLab