-debug
[lptgpib.git] / lptgpib.c
index 2a9f244..e5e2eea 100644 (file)
--- a/lptgpib.c
+++ b/lptgpib.c
@@ -11,7 +11,7 @@
 #include <sys/mman.h>
 #include <time.h>
 
-#define DEBUG 3 /* 4 - all, 3 - data, */
+#define DEBUG 2 /* 4 - all, 3 - data, */
 
 #if DEBUG > 3
        #define DBG_low(...) { fprintf(stderr,__VA_ARGS__); fflush(stderr); }
@@ -84,7 +84,10 @@ void sig_handler(int sig){
 
 void lptgpib_init(int base){
         lpt_base = base;
-        ioperm(lpt_base, 4, 1);
+        if (ioperm(lpt_base, 4, 1) != 0) {
+         fprintf(stderr,"Nejsou prava na port - musis byt root: %m\n");
+         exit(1);
+       }
         
        /* set realtime priority and lock us in memory */
        struct sched_param scp;
@@ -143,7 +146,7 @@ void lptgpib_write_byte(char value, char flags){
        BUSYWAIT(( tmp = get_control(), !(tmp & NDAC) || (tmp & NRFD) )) 
        
        DBG_low("rfd+ndac, ");
-        put_data(value & ~(flags & EOI) );    /* put data */
+        put_data(value | (flags & EOI) );     /* put data */
         put_control( (flags & ATN) );         /* clear TRI */
        put_control( DAV | (flags & ATN) );   /* set DAV*/
         DBG_low("dav, ");