Beispiel #1
0
int main(int argc, char **argv) {

    int ipid = 0;
    WINDOW *mainWin;
    int i;
    long digitalInput = 0;
    long analogInputs[2];


    // Open USB device
    if(OpenDevice(ipid) < 0) {
        printf("Could not open the k8055 (port:%d)\nPlease ensure that the device is correctly connected.\n", ipid);
        return EXIT_FAILURE;
    }

    // Init ncurses
    mainWin = initscr();
    if(mainWin == NULL) {
        fprintf(stderr, "Error initialising ncurses.\n");
        return EXIT_FAILURE;
    }

    // Hide cursor
    curs_set(0);

    for(;;) {
        // Clear window
        clear();

        // Digital inputs
        digitalInput = ReadAllDigital();

        if(digitalInput == K8055_ERROR) {
            printw("ReadAllDigital() ERROR\n");
        }
        else {
            // Heading
            printw("- Digital inputs\n");

            // Digital inputs
            for (i = 0; i < 5; i++) {
                printw("\t%d: %s\n", (i + 1), (digitalInput & (1 << i)) ? "on" : "off");
            }
        }

        if(ReadAllAnalog(&analogInputs[0], &analogInputs[1]) == K8055_ERROR) {
            printw("ReadAllAnalog() ERROR\n");
        }
        else {
            printw("Analog 1: 0x%08x\n", analogInputs[0]);
            printw("Analog 2: 0x%08x\n", analogInputs[1]);
        }

        OutputAnalogChannel(1, 0xff);

        refresh();
        usleep(1000); // 1 millisecond
    }

    return EXIT_SUCCESS;
}
Beispiel #2
0
int main (int argc,char *params[]) 
{
	int i,result[3];
	unsigned char d=0;
	int a1=0,a2=0;
	unsigned short c1=0, c2=0;
	unsigned long int start,mstart=0,lastcall=0;

	start = time_msec();

	/*
		Load parameters
		If parameters are valid continue
	*/
	
	if (read_param(argc,params)) 
	{
		/*
			Initialise USB system
			and enable debug mode
		
		if ( debug ) 
			usb_set_debug(2);
		*/
		/*
			Search the device
		*/
		if ( OpenDevice(ipid)<0 ) {
			printf("Could not open the k8055 (port:%d)\nPlease ensure that the device is correctly connected.\n",ipid);
			return (-1);
			
		} else {

			if ( resetcnt1 )
				ResetCounter(1);
			if ( resetcnt2 )
				ResetCounter(2);	
			if ( dbt1 != -1 )
				SetCounterDebounceTime(1,dbt1);
				
			if ( dbt2 != -1 )
				SetCounterDebounceTime(2,dbt1);
				
			mstart = time_msec(); // Measure start
			for (i=0; i<numread; i++) {
				
				if ( delay ) {
					// Wait until next measure
					while ( time_msec()-mstart < i*delay );
				} 
				ReadAllAnalog(&a1,&a2);
				d=ReadAllDigital();
				c1=ReadCounter(1);
				c2=ReadCounter(2);
				lastcall = time_msec();
				printf("%d;%d;%d;%d;%d;%d\n", (int)(lastcall-start),d, (int)a1, (int)a2,c1,c2 );
			}
			
			if (debug && ((ia1!=-1)||(ia2!=-1)||(id8!=-1))) printf("Set ");
			if (ia1!=-1){ result[0]=OutputAnalogChannel(1,ia1);
			if (debug) printf("analog1:%d ",result[0]);}
			if (ia2!=-1){ result[1]=OutputAnalogChannel(2,ia2);
			if (debug) printf("analog2:%d ",result[1]);}
			if (id8!=-1){ result[2]=WriteAllDigital((long)id8);
			if (debug) printf("digital:%d",result[2]);}
			if (debug) printf("\n");		

			CloseDevice();
		}
	}
	return 0;
}