FX2LIBDIR ?= ../../fx2lib
BUILDDIR ?= build
-DEBUG ?= 0
-ifeq ($(DEBUG), 1)
- SDCCFLAGS += -DDEBUG
-else
- SDCCFLAGS += -DNDEBUG
-endif
-
SDCCFLAGS += -I../../include/
$(BUILDDIR)/$(BASENAME).fw: $(BUILDDIR)/$(BASENAME).ihx
+++ /dev/null
-/*
- * This file is part of the fx2lafw project.
- *
- * Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifdef DEBUG
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <delay.h>
-#include <fx2regs.h>
-#include <fx2macros.h>
-#include "debug.h"
-
-#define MESSAGE_LENGTH_MAX 64
-
-void debugf(const char *format, ...)
-{
- va_list arg;
- int count;
-
- /* Format the string. */
- va_start(arg, format);
- count = vsprintf(EP6FIFOBUF, format, arg);
- va_end(arg);
-
- /* Zero out the rest of the buffer. */
- while (count < MESSAGE_LENGTH_MAX)
- EP6FIFOBUF[count++] = '\0';
-
- /* Send the buffer. */
- count = 32;
- EP6BCH = MSB(count);
- SYNCDELAY4;
- EP6BCL = LSB(count);
- SYNCDELAY4;
-}
-
-void _assert(char *expr, const char *filename, unsigned int linenumber)
-{
- debugf("Assert(%s) failed at line %u in file %s.\n",
- expr, linenumber, filename);
- while (1);
-}
-
-#endif
(0 << 1) | (0 << 0); /* EP buffering: quad buffering */
SYNCDELAY();
- /* Setup EP6 (IN) in the debug build. */
-#ifdef DEBUG
- EP6CFG = (1 << 7) | /* EP is valid/activated */
- (1 << 6) | /* EP direction: IN */
- (1 << 5) | (0 << 4) | /* EP Type: bulk */
- (0 << 3) | /* EP buffer size: 512 */
- (0 << 2) | /* Reserved */
- (1 << 1) | (0 << 0); /* EP buffering: double buffering */
-#else
- EP6CFG &= ~bmVALID;
-#endif
- SYNCDELAY();
-
- /* Disable all other EPs (EP1, EP4, and EP8). */
+ /* Disable all other EPs (EP1, EP4, EP6, and EP8). */
EP1INCFG &= ~bmVALID;
SYNCDELAY();
EP1OUTCFG &= ~bmVALID;
SYNCDELAY();
EP4CFG &= ~bmVALID;
SYNCDELAY();
+ EP6CFG &= ~bmVALID;
+ SYNCDELAY();
EP8CFG &= ~bmVALID;
SYNCDELAY();
/* Note: RESETFIFO() gets the EP number WITHOUT bit 7 set/cleared. */
RESETFIFO(0x02)
-#ifdef DEBUG
- /* Reset the FIFOs of EP6 when in debug mode. */
- RESETFIFO(0x06)
-#endif
-
/* EP2: Enable AUTOIN mode. Set FIFO width to 8bits. */
EP2FIFOCFG = bmAUTOIN;
SYNCDELAY();
SOURCES = \
main.c \
../../fx2lafw.c \
- ../../gpif-acquisition.c \
- ../../debug.c
+ ../../gpif-acquisition.c
A51_SOURCES = dscr.a51
BASENAME = fx2lafw-cwav-usbeeax
.db DSCR_INTERFACE_TYPE
.db 0 ; Interface index
.db 0 ; Alternate setting index
- .db 2 ; Number of endpoints
+ .db 1 ; Number of endpoints
.db 0xff ; Class (vendor specific)
.db 0xff ; Subclass (vendor specific)
.db 0xff ; Protocol (vendor specific)
.db 0x02 ; Max. packet size, MSB (512 bytes)
.db 0x00 ; Polling interval
- ; Endpoint 6 (IN)
- .db DSCR_ENDPOINT_LEN
- .db DSCR_ENDPOINT_TYPE
- .db 0x86 ; EP number (6), direction (IN)
- .db ENDPOINT_TYPE_BULK ; Endpoint type (bulk)
- .db 0x00 ; Max. packet size, LSB (512 bytes)
- .db 0x02 ; Max. packet size, MSB (512 bytes)
- .db 0x00 ; Polling interval
-
highspd_dscr_realend:
.even
.db DSCR_INTERFACE_TYPE
.db 0 ; Interface index
.db 0 ; Alternate setting index
- .db 2 ; Number of endpoints
+ .db 1 ; Number of endpoints
.db 0xff ; Class (vendor specific)
.db 0xff ; Subclass (vendor specific)
.db 0xff ; Protocol (vendor specific)
.db 0x00 ; Max. packet size, MSB (64 bytes)
.db 0x00 ; Polling interval
- ; Endpoint 6 (IN)
- .db DSCR_ENDPOINT_LEN
- .db DSCR_ENDPOINT_TYPE
- .db 0x86 ; EP number (6), direction (IN)
- .db ENDPOINT_TYPE_BULK ; Endpoint type (bulk)
- .db 0x40 ; Max. packet size, LSB (64 bytes)
- .db 0x00 ; Max. packet size, MSB (64 bytes)
- .db 0x00 ; Polling interval
-
fullspd_dscr_realend:
.even
SOURCES = \
main.c \
../../fx2lafw.c \
- ../../gpif-acquisition.c \
- ../../debug.c
+ ../../gpif-acquisition.c
A51_SOURCES = dscr.a51
BASENAME = fx2lafw-cwav-usbeesx
.db DSCR_INTERFACE_TYPE
.db 0 ; Interface index
.db 0 ; Alternate setting index
- .db 2 ; Number of endpoints
+ .db 1 ; Number of endpoints
.db 0xff ; Class (vendor specific)
.db 0xff ; Subclass (vendor specific)
.db 0xff ; Protocol (vendor specific)
.db 0x02 ; Max. packet size, MSB (512 bytes)
.db 0x00 ; Polling interval
- ; Endpoint 6 (IN)
- .db DSCR_ENDPOINT_LEN
- .db DSCR_ENDPOINT_TYPE
- .db 0x86 ; EP number (6), direction (IN)
- .db ENDPOINT_TYPE_BULK ; Endpoint type (bulk)
- .db 0x00 ; Max. packet size, LSB (512 bytes)
- .db 0x02 ; Max. packet size, MSB (512 bytes)
- .db 0x00 ; Polling interval
-
highspd_dscr_realend:
.even
.db DSCR_INTERFACE_TYPE
.db 0 ; Interface index
.db 0 ; Alternate setting index
- .db 2 ; Number of endpoints
+ .db 1 ; Number of endpoints
.db 0xff ; Class (vendor specific)
.db 0xff ; Subclass (vendor specific)
.db 0xff ; Protocol (vendor specific)
.db 0x00 ; Max. packet size, MSB (64 bytes)
.db 0x00 ; Polling interval
- ; Endpoint 6 (IN)
- .db DSCR_ENDPOINT_LEN
- .db DSCR_ENDPOINT_TYPE
- .db 0x86 ; EP number (6), direction (IN)
- .db ENDPOINT_TYPE_BULK ; Endpoint type (bulk)
- .db 0x40 ; Max. packet size, LSB (64 bytes)
- .db 0x00 ; Max. packet size, MSB (64 bytes)
- .db 0x00 ; Polling interval
-
fullspd_dscr_realend:
.even
SOURCES = \
main.c \
../../fx2lafw.c \
- ../../gpif-acquisition.c \
- ../../debug.c
+ ../../gpif-acquisition.c
A51_SOURCES = dscr.a51
BASENAME = fx2lafw-saleae-logic
.db DSCR_INTERFACE_TYPE
.db 0 ; Interface index
.db 0 ; Alternate setting index
- .db 2 ; Number of endpoints
+ .db 1 ; Number of endpoints
.db 0xff ; Class (vendor specific)
.db 0xff ; Subclass (vendor specific)
.db 0xff ; Protocol (vendor specific)
.db 0x02 ; Max. packet size, MSB (512 bytes)
.db 0x00 ; Polling interval
- ; Endpoint 6 (IN)
- .db DSCR_ENDPOINT_LEN
- .db DSCR_ENDPOINT_TYPE
- .db 0x86 ; EP number (6), direction (IN)
- .db ENDPOINT_TYPE_BULK ; Endpoint type (bulk)
- .db 0x00 ; Max. packet size, LSB (512 bytes)
- .db 0x02 ; Max. packet size, MSB (512 bytes)
- .db 0x00 ; Polling interval
-
highspd_dscr_realend:
.even
.db DSCR_INTERFACE_TYPE
.db 0 ; Interface index
.db 0 ; Alternate setting index
- .db 2 ; Number of endpoints
+ .db 1 ; Number of endpoints
.db 0xff ; Class (vendor specific)
.db 0xff ; Subclass (vendor specific)
.db 0xff ; Protocol (vendor specific)
.db 0x00 ; Max. packet size, MSB (64 bytes)
.db 0x00 ; Polling interval
- ; Endpoint 6 (IN)
- .db DSCR_ENDPOINT_LEN
- .db DSCR_ENDPOINT_TYPE
- .db 0x86 ; EP number (6), direction (IN)
- .db ENDPOINT_TYPE_BULK ; Endpoint type (bulk)
- .db 0x40 ; Max. packet size, LSB (64 bytes)
- .db 0x00 ; Max. packet size, MSB (64 bytes)
- .db 0x00 ; Polling interval
-
fullspd_dscr_realend:
.even
+++ /dev/null
-/*
- * This file is part of the fx2lafw project.
- *
- * Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifdef DEBUG
-
-#define ERRF(fmt, ...) do { debugf("E " fmt, __VA_ARGS__); \
- while(1); } while(0)
-#define ERR(msg) ERRF("%s", msg)
-
-#define WARNF(fmt, ...) debugf("W " fmt, __VA_ARGS__)
-#define WARN(msg) WARNF("%s", msg)
-
-#define INFOF(fmt, ...) debugf("I " fmt, __VA_ARGS__)
-#define INFO(msg) INFOF("%s", msg)
-
-/**
- * A printf that prints messages through EP6.
- */
-void debugf(const char *format, ...);
-
-#else
-
-#define ERRF(fmt, ...) ((void)0)
-#define ERR(msg) ((void)0)
-
-#define WARNF(fmt, ...) ((void)0)
-#define WARN(msg) ((void)0)
-
-#define INFOF(fmt, ...) ((void)0)
-#define INFO(msg) ((void)0)
-
-#endif