From 29280a548c793755bb2d21833c863f21b4d097b4 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Mon, 21 Nov 2011 15:25:43 +0000 Subject: [PATCH] xpp: astribank_hexload: we need more lines * Newer firmwares may have more lines. * While we're at it, add better debug printing. * Remove some unused debugging code. Signed-off-by: Tzafrir Cohen git-svn-id: http://svn.astersk.org/svn/dahdi/tools/trunk@10343 17933a7a-c749-41c5-a318-cba88f637d49 --- xpp/astribank_hexload.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/xpp/astribank_hexload.c b/xpp/astribank_hexload.c index 0e9fb69..0fa9010 100644 --- a/xpp/astribank_hexload.c +++ b/xpp/astribank_hexload.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -36,7 +37,7 @@ #include "../autoconfig.h" #define DBG_MASK 0x80 -#define MAX_HEX_LINES 10000 +#define MAX_HEX_LINES 64000 #define HAVE_OCTASIC 1 static char *progname; @@ -81,15 +82,27 @@ int handle_hexline(struct astribank_device *astribank, struct hexline *hexline) return 0; } +void print_parse_errors(int level, const char *msg, ...) +{ + va_list ap; + + if (verbose > level) { + va_start (ap, msg); + vfprintf (stderr, msg, ap); + va_end (ap); + } +} + static int load_hexfile(struct astribank_device *astribank, const char *hexfile, enum dev_dest dest) { struct hexdata *hexdata = NULL; int finished = 0; int ret; - int i; + unsigned i; char star[] = "+\\+|+/+-"; const char *devstr; + parse_hexfile_set_reporting(print_parse_errors); if((hexdata = parse_hexfile(hexfile, MAX_HEX_LINES)) == NULL) { perror(hexfile); return -errno; @@ -100,13 +113,6 @@ static int load_hexfile(struct astribank_device *astribank, const char *hexfile, xusb_serial(astribank->xusb), dev_dest2str(dest), hexdata->fname, hexdata->version_info); -#if 0 - FILE *fp; - if((fp = fopen("fpga_dump_new.txt", "w")) == NULL) { - perror("dump"); - exit(1); - } -#endif if((ret = mpp_send_start(astribank, dest, hexdata->version_info)) < 0) { ERR("%s: Failed hexfile send start: %d\n", devstr, ret); return ret;