summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2013-02-17 19:27:05 +0100
committerNicolas Schodet2013-02-17 19:27:33 +0100
commitd0f845bca2bc9d2fc48330520e40c8535243737e (patch)
treeb037497821948747f8f1c136ad6a32fdeaa2fd84
parent63ec1262ed3384dfda67b70bec9d5f077a7ba8f9 (diff)
WIP dev2 shared pinsdev2-shared
-rw-r--r--digital/dev2/src/common/usb_isp.c7
-rw-r--r--digital/dev2/src/usb_serial_isp/avrconfig.h4
2 files changed, 11 insertions, 0 deletions
diff --git a/digital/dev2/src/common/usb_isp.c b/digital/dev2/src/common/usb_isp.c
index 8494fcab..4527eb37 100644
--- a/digital/dev2/src/common/usb_isp.c
+++ b/digital/dev2/src/common/usb_isp.c
@@ -28,6 +28,7 @@
#include "usb_isp.h"
#include "descriptors.h"
+#include "serial.h"
#include "modules/isp/isp.h"
#include "modules/isp/isp_frame.h"
@@ -61,6 +62,9 @@ usb_isp_send_char (uint8_t c)
void
usb_isp_spi_enable (void)
{
+ /* May have to disable serial. */
+ if (AC_DEV2_SERIAL_ISP_SHARED)
+ serial_uninit ();
/* Reset slave AVR. */
IO_DDR (RESET) |= IO_BV (RESET);
/* Set SCK to low. */
@@ -80,6 +84,9 @@ usb_isp_spi_disable (void)
spi_uninit ();
/* Release reset, SCK is handled by SPI driver. */
IO_DDR (RESET) &= ~IO_BV (RESET);
+ /* May have to enable serial. */
+ if (AC_DEV2_SERIAL_ISP_SHARED)
+ serial_init ();
}
void
diff --git a/digital/dev2/src/usb_serial_isp/avrconfig.h b/digital/dev2/src/usb_serial_isp/avrconfig.h
index 60ddf99b..45a8f8d4 100644
--- a/digital/dev2/src/usb_serial_isp/avrconfig.h
+++ b/digital/dev2/src/usb_serial_isp/avrconfig.h
@@ -123,4 +123,8 @@
/* usb */
#include "modules/usb/lufaconfig.h"
+/* dev2 */
+/** Set to 1 if ISP and serial pins are connected together. */
+#define AC_DEV2_SERIAL_ISP_SHARED 0
+
#endif /* avrconfig_h */