FreeBSD Bugzilla – Attachment 54991 Details for
Bug 83174
[Maintainer Update] devel/picprog "Werner Almesberger" patch, dev fix
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
devel-picprog.patch
devel-picprog.patch (text/plain), 6.08 KB, created by
Erik Greenwald
on 2005-07-09 03:10:14 UTC
(
hide
)
Description:
devel-picprog.patch
Filename:
MIME Type:
Creator:
Erik Greenwald
Created:
2005-07-09 03:10:14 UTC
Size:
6.08 KB
patch
obsolete
>Index: devel/picprog/Makefile >=================================================================== >RCS file: /home/ncvs/ports/devel/picprog/Makefile,v >retrieving revision 1.12 >diff -u -r1.12 Makefile >--- devel/picprog/Makefile 25 May 2005 09:21:12 -0000 1.12 >+++ devel/picprog/Makefile 9 Jul 2005 02:05:49 -0000 >@@ -7,6 +7,7 @@ > > PORTNAME= picprog > PORTVERSION= 1.7 >+PORTREVISION= 1 > CATEGORIES= devel > MASTER_SITES= http://hyvatti.iki.fi/~jaakko/pic/ > >Index: devel/picprog/files/patch-main.cc >=================================================================== >RCS file: /home/ncvs/ports/devel/picprog/files/patch-main.cc,v >retrieving revision 1.2 >diff -u -r1.2 patch-main.cc >--- devel/picprog/files/patch-main.cc 19 Nov 2002 01:59:27 -0000 1.2 >+++ devel/picprog/files/patch-main.cc 9 Jul 2005 02:05:49 -0000 >@@ -1,10 +1,49 @@ >---- main.cc.orig Tue Nov 19 12:50:51 2002 >-+++ main.cc Tue Nov 19 12:51:11 2002 >-@@ -32,6 +32,7 @@ >+--- main.cc.orig Thu Apr 29 00:41:25 2004 >++++ main.cc Fri Jul 8 22:02:29 2005 >+@@ -31,6 +31,7 @@ > > #include <sysexits.h> > #include <unistd.h> > +#define HAVE_DECL_GETOPT 1 > #include <getopt.h> >+ #include <string.h> > >- #include "hexfile.h" >+@@ -41,7 +42,7 @@ >+ >+ program prog; >+ >+-char short_opts [] = "d:p:i:o:c:qh?"; >++char short_opts [] = "d:p:i:o:c:qsh?"; >+ >+ int >+ main (int argc, char **argv) >+@@ -52,7 +53,7 @@ >+ int opt_usage = 0; >+ >+ int opt_format = hexfile::unknown; >+- char *opt_port = (char *)"/dev/ttyS0"; >++ char *opt_port = (char *)"/dev/cuaa0"; >+ char *opt_input = NULL; >+ char *opt_output = NULL; >+ char *opt_cc = NULL; >+@@ -81,6 +82,7 @@ >+ {"erase", no_argument, &opt_erase, 1}, >+ {"burn", no_argument, &opt_burn, 1}, >+ {"force-calibration", no_argument, &opt_calibration, 1}, >++ {"slow", no_argument, NULL, 's'}, >+ {0, 0, 0, 0} >+ }; >+ >+@@ -113,6 +115,12 @@ >+ case 'q': >+ opt_quiet = 1; >+ break; >++ case 's': >++ // Add extra delays for capacity added by very long cable >++ picport::t_edge = 10; // 10 us >++ picport::t_on = 200000; // 200 ms >++ picport::t_off = 700000; // 700 ms - I'm not kidding ! >++ break; >+ default: // -? -h --help unknown flag >+ opt_usage = 1; >+ } >Index: devel/picprog/files/patch-picport.cc >=================================================================== >RCS file: /home/ncvs/ports/devel/picprog/files/patch-picport.cc,v >retrieving revision 1.4 >diff -u -r1.4 patch-picport.cc >--- devel/picprog/files/patch-picport.cc 25 May 2005 09:21:12 -0000 1.4 >+++ devel/picprog/files/patch-picport.cc 9 Jul 2005 02:05:49 -0000 >@@ -1,5 +1,5 @@ >---- picport.cc.orig Thu Apr 29 06:08:10 2004 >-+++ picport.cc Wed May 25 11:09:06 2005 >+--- picport.cc.orig Thu Apr 29 00:08:10 2004 >++++ picport.cc Fri Jul 8 21:46:07 2005 > @@ -40,7 +40,7 @@ > #include <unistd.h> > #include <termios.h> >@@ -9,3 +9,81 @@ > #include <sched.h> > > #include "picport.h" >+@@ -54,6 +54,11 @@ >+ unsigned int picport::tsc_1000ns = 0; >+ int picport::use_nanosleep = -1; >+ >++// Extra delays for long cables, in us >++int picport::t_on = 0; >++int picport::t_off = 0; >++int picport::t_edge = 0; >++ >+ void >+ picport::set_clock_data (int rts, int dtr) >+ { >+@@ -102,7 +107,7 @@ >+ // Before first call to set_clock_data, read the modem status. >+ ioctl (fd, TIOCMGET, &modembits); >+ set_clock_data (0, 0); >+- usleep (50); >++ usleep (50+t_edge); >+ // Check the CTS. If it is up, even when we just lowered DTR, >+ // we probably are not talking to a JDM type programmer. >+ int i; >+@@ -200,13 +205,13 @@ >+ cerr << "Unable to start break on tty " << tty << ":" << strerror (e) << endl; >+ exit (EX_IOERR); >+ } >+- usleep (10); >++ usleep (10+t_off); >+ } >+ >+ picport::~picport () >+ { >+ ioctl (fd, TIOCCBRK, 0); >+- usleep (1); >++ usleep (1+t_off); >+ tcsetattr (fd, TCSANOW, &saved); >+ close (fd); >+ delete [] portname; >+@@ -216,15 +221,15 @@ >+ { >+ set_clock_data (0, 0); >+ ioctl (fd, TIOCCBRK, 0); >+- usleep (50); >++ usleep (50+t_off); >+ ioctl (fd, TIOCSBRK, 0); >+- usleep (10); >++ usleep (10+t_on); >+ addr = 0; >+ } >+ >+ void picport::delay (long ns) >+ { >+- if (1 == use_nanosleep) { >++ if (1 == use_nanosleep && !t_edge) { >+ timespec ts = {ns / 1000000000, ns % 1000000000}, ts2; >+ while (nanosleep (&ts, &ts2) && EINTR == errno) >+ ts = ts2; >+@@ -232,7 +237,7 @@ >+ } >+ >+ #ifdef RDTSC_WORKS >+- if (tsc_1000ns > 1) { >++ if (tsc_1000ns > 1 && !t_edge) { >+ unsigned long a1, d1, a2, d2; >+ asm volatile("rdtsc":"=a" (a1), "=d" (d1)); >+ d2 = d1; >+@@ -259,10 +264,10 @@ >+ volatile int i; >+ gettimeofday (&tv1, 0); >+ tv2.tv_sec = tv1.tv_sec; >+- tv2.tv_usec = 0xffffffff & (tv1.tv_usec + 1 + (ns + 999)/1000); >++ tv2.tv_usec = 0xffffffff & (tv1.tv_usec + 1 + (ns + 999)/1000+t_edge); >+ if (tv2.tv_usec < tv1.tv_usec) >+ tv2.tv_sec++; >+- for (i = 0; i < 10000; i++) { >++ for (i = 0; i < 10000 || t_edge; i++) { >+ gettimeofday (&tv1, 0); >+ if (tv1.tv_sec > tv2.tv_sec >+ || tv1.tv_sec == tv2.tv_sec && tv1.tv_usec >= tv2.tv_usec) >Index: devel/picprog/files/patch-picport.h >=================================================================== >RCS file: devel/picprog/files/patch-picport.h >diff -N devel/picprog/files/patch-picport.h >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ devel/picprog/files/patch-picport.h 9 Jul 2005 02:05:49 -0000 >@@ -0,0 +1,13 @@ >+--- picport.h.orig Thu Apr 29 00:09:38 2004 >++++ picport.h Fri Jul 8 21:46:07 2005 >+@@ -59,6 +59,10 @@ >+ >+ public: >+ >++ static int t_on; >++ static int t_off; >++ static int t_edge; >++ >+ static void delay (long ns); >+ >+ enum commands { >Index: devel/picprog/files/patch-program.h >=================================================================== >RCS file: /home/ncvs/ports/devel/picprog/files/patch-program.h,v >retrieving revision 1.2 >diff -u -r1.2 patch-program.h >--- devel/picprog/files/patch-program.h 19 Nov 2002 01:59:27 -0000 1.2 >+++ devel/picprog/files/patch-program.h 9 Jul 2005 02:05:49 -0000 >@@ -1,6 +1,6 @@ >---- program.h.orig Tue Nov 19 12:53:12 2002 >-+++ program.h Tue Nov 19 12:53:20 2002 >-@@ -31,6 +31,7 @@ >+--- program.h.orig Thu Jan 1 20:35:09 2004 >++++ program.h Fri Jul 8 21:44:23 2005 >+@@ -30,6 +30,7 @@ > #ifndef H_PROGRAM > #define H_PROGRAM
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 83174
: 54991