summaryrefslogtreecommitdiff
path: root/ao-tools/lib
diff options
context:
space:
mode:
Diffstat (limited to 'ao-tools/lib')
-rw-r--r--ao-tools/lib/ccdbg-io.c19
-rw-r--r--ao-tools/lib/ccdbg.h2
-rw-r--r--ao-tools/lib/cp-usb-async.c1
3 files changed, 15 insertions, 7 deletions
diff --git a/ao-tools/lib/ccdbg-io.c b/ao-tools/lib/ccdbg-io.c
index 9c6693cd..d3f87274 100644
--- a/ao-tools/lib/ccdbg-io.c
+++ b/ao-tools/lib/ccdbg-io.c
@@ -22,25 +22,32 @@
#include "cc-bitbang.h"
struct ccdbg *
-ccdbg_open(void)
+ccdbg_open(char *tty)
{
struct ccdbg *dbg;
- char *tty;
dbg = calloc(sizeof (struct ccdbg), 1);
if (!dbg) {
perror("calloc");
return NULL;
}
- tty = getenv("CCDBG_TTY");
- if (!tty || tty[0] == '/')
- dbg->usb = cc_usb_open(tty);
- if (!dbg->usb) {
+ if (!tty)
+ tty = getenv("ALTOS_TTY");
+ if (!tty)
+ tty="/dev/ttyACM0";
+
+ if (!strcmp(tty, "BITBANG")) {
dbg->bb = cc_bitbang_open();
if (!dbg->bb) {
free(dbg);
return NULL;
}
+ } else {
+ dbg->usb = cc_usb_open(tty);
+ if (!dbg->usb) {
+ free(dbg);
+ return NULL;
+ }
}
return dbg;
}
diff --git a/ao-tools/lib/ccdbg.h b/ao-tools/lib/ccdbg.h
index 4a2e3b9f..ca596143 100644
--- a/ao-tools/lib/ccdbg.h
+++ b/ao-tools/lib/ccdbg.h
@@ -258,7 +258,7 @@ ccdbg_hex_image_equal(struct hex_image *a, struct hex_image *b);
/* ccdbg-io.c */
struct ccdbg *
-ccdbg_open(void);
+ccdbg_open(char *tty);
void
ccdbg_close(struct ccdbg *dbg);
diff --git a/ao-tools/lib/cp-usb-async.c b/ao-tools/lib/cp-usb-async.c
index 6539394b..3e75b507 100644
--- a/ao-tools/lib/cp-usb-async.c
+++ b/ao-tools/lib/cp-usb-async.c
@@ -60,6 +60,7 @@ cp_usb_async_open(void)
0x10c4, 0xea60);
cp->ack = -1;
if (!cp->handle) {
+ fprintf(stderr, "Cannot find USB device 10c4:ea60\n");
libusb_exit(cp->ctx);
free(cp);
return NULL;