Hello. In my application I need to read data from an ADC card in blocks of a given number of samples. For efficiency I'm using an mmapped buffer to exchange data with the ADC driver. I'm setting up the acquisition, and then calling a loop like this:
unsigned int required = <compute required number of bytes>; unsigned int read = 0; while (1) { while (read < required) { read = a4l_pool(...); } process(buffer, ...); } However if I run this loop in a real time thread the tight while loop is an obvious cpu hog: the watchdog kicks in and kills the thread. There is not an analogy API that can be used to require a certain amount of data to the ADC driver. How can I code this loop to let other processes to run? Thanks. Cheers, -- Daniele _______________________________________________ Xenomai-help mailing list Xenomai-help@gna.org https://mail.gna.org/listinfo/xenomai-help