From 5b7f00e0241d0f2023e577f1157ad6f5b2386bd0 Mon Sep 17 00:00:00 2001 From: "Theodore A. Roth" Date: Thu, 15 Jul 2004 17:29:35 +0000 Subject: [PATCH] * main.c (main): Don't indent CPP directives. When showing update progress in a no tty situation, use unbuffered IO for all systems, not just win32 native. Update copyright year when printing version. Remove warning about native win32 being experimental. Split a line string. * ppiwin.c: Update copyright year. Add cvs Id keyword. (usleep): Cleanup debug CPP directives to improve readability. * ser_win32.c: Include to fix failing build. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@430 81a1dc3b-b13d-400b-aceb-764788c761c2 --- ChangeLog | 13 +++++++++++++ main.c | 18 ++++++------------ ppiwin.c | 42 +++++++++++++++++++++++++++--------------- ser_win32.c | 1 + 4 files changed, 47 insertions(+), 27 deletions(-) diff --git a/ChangeLog b/ChangeLog index 13f72b15..6963d68e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2004-07-15 Theodore A. Roth + + * main.c (main): Don't indent CPP directives. + When showing update progress in a no tty situation, use unbuffered IO + for all systems, not just win32 native. + Update copyright year when printing version. + Remove warning about native win32 being experimental. + Split a line string. + * ppiwin.c: Update copyright year. + Add cvs Id keyword. + (usleep): Cleanup debug CPP directives to improve readability. + * ser_win32.c: Include to fix failing build. + 2004-07-08 Theodore A. Roth * AUTHORS: Add names of recent major contributors. diff --git a/main.c b/main.c index 5ab23cc7..49b91212 100644 --- a/main.c +++ b/main.c @@ -747,12 +747,12 @@ int main(int argc, char * argv []) baudrate = 0; - #if defined(WIN32NATIVE) +#if defined(WIN32NATIVE) win_sys_config_set(sys_config); win_usr_config_set(usr_config); - #else +#else strcpy(sys_config, CONFIG_DIR); i = strlen(sys_config); @@ -770,7 +770,7 @@ int main(int argc, char * argv []) strcat(usr_config, ".avrduderc"); } - #endif +#endif len = strlen(progname) + 2; for (i=0; idesc, "flash") == 0) && (upd->op == DEVICE_WRITE)) { erase = 1; fprintf(stderr, - "%s: NOTE: FLASH memory has been specified, an erase cycle will be performed\n" + "%s: NOTE: FLASH memory has been specified, an erase cycle " + "will be performed\n" "%sTo disable this feature, specify the -D option.\n", progname, progbuf); break; diff --git a/ppiwin.c b/ppiwin.c index e8a68fb6..7e274331 100644 --- a/ppiwin.c +++ b/ppiwin.c @@ -1,6 +1,6 @@ /* * avrdude - A Downloader/Uploader for AVR device programmers - * Copyright (C) 2003 Eric B. Weddington + * Copyright (C) 2003, 2004 Eric B. Weddington * * 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 @@ -17,6 +17,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +/* $Id$ */ /* This is the parallel port interface for Windows built using Cygwin. @@ -327,13 +328,30 @@ void gettimeofday(struct timeval*tv, void*z){ // #define W32USLEEPDBG +#ifdef W32USLEEPDBG + +# define DEBUG_QueryPerformanceCounter(arg) QueryPerformanceCounter(arg) +# define DEBUG_DisplayTimingInfo(start, stop, freq, us, has_highperf) \ + do { \ + unsigned long dt; \ + dt = (unsigned long)((stop.QuadPart - start.QuadPart) * 1000 * 1000 \ + / freq.QuadPart); \ + fprintf(stderr, \ + "hpt:%i usleep usec:%lu sleep msec:%lu timed usec:%lu\n", \ + has_highperf, us, ((us + 999) / 1000), dt); \ + } while (0) + +#else + +# define DEBUG_QueryPerformanceCounter(arg) +# define DEBUG_DisplayTimingInfo(start, stop, freq, us, has_highperf) + +#endif + void usleep(unsigned long us) { int has_highperf; LARGE_INTEGER freq,start,stop,loopend; - #ifdef W32USLEEPDBG - unsigned long dt; - #endif // workaround: although usleep is very precise if using // high-performance-timers there are sometimes problems with @@ -354,21 +372,15 @@ void usleep(unsigned long us) } while (stop.QuadPart<=loopend.QuadPart); } else { - #ifdef W32USLEEPDBG - QueryPerformanceCounter(&start); - #endif + DEBUG_QueryPerformanceCounter(&start); + Sleep(1); Sleep( (DWORD)((us+999)/1000) ); - #ifdef W32USLEEPDBG - QueryPerformanceCounter(&stop); - #endif + + DEBUG_QueryPerformanceCounter(&stop); } - #ifdef W32USLEEPDBG - dt=(unsigned long)((stop.QuadPart-start.QuadPart)*1000*1000/freq.QuadPart); - fprintf(stderr,"hpt:%i usleep usec:%lu sleep msec:%lu timed usec:%lu\n", - has_highperf,us,((us+999)/1000),dt); - #endif + DEBUG_DisplayTimingInfo(start, stop, freq, us, has_highperf); } #endif diff --git a/ser_win32.c b/ser_win32.c index 19e0dc20..72f0b33f 100644 --- a/ser_win32.c +++ b/ser_win32.c @@ -26,6 +26,7 @@ #if defined(WIN32NATIVE) #include +#include #include /* for isprint */ #include "serial.h"