/*******************************************************************************
 *	Comedi_test2.c		Simple COMEDI tests
 *				T.Barnaby,	Beam Ltd,	2006-01-17
 *******************************************************************************
 *
 *	This test program reads a single value from a single channel under
 *	program control.
 */ 
#include <stdio.h>
#include <stdlib.h>
#include <comedilib.h>

void test1(comedi_t* dev){
}

int main(int argc,char *argv[])
{
	comedi_t*	dev;
	lsampl_t	data = 0;
	double		dataf;
	int		ret;
	int		subdevice = 0;
	int		channel = 0;
	int		aref = AREF_GROUND;
	int		range = 0;
	
	dev = comedi_open("/dev/comedi0");
	if(!dev){
		fprintf(stderr,"cannot open %s\n", "/dev/comedi0");
		exit(0);
	}

	printf("Info:\n");
	printf("Version code: 0x%06x\n", comedi_get_version_code(dev));
	printf("Driver name: %s\n", comedi_get_driver_name(dev));
	printf("Board name: %s\n", comedi_get_board_name(dev));
	printf("Number of subdevices: %d\n", comedi_get_n_subdevices(dev));

	ret = comedi_data_read(dev, subdevice, channel, range, aref, &data);
	if(ret < 0){
		comedi_perror("/dev/comedi0");
		exit(0);
	}

	dataf = (5.0 * (data - 32768.0)) / 32768.0;
	printf("%x %f\n", data, dataf);

	return 0;
}
