fixed comedi_nanosleep(), which did nothing before
This commit is contained in:
parent
28cbcb99d8
commit
9e713197bb
1 changed files with 9 additions and 4 deletions
|
@ -18,19 +18,24 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|||
|
||||
|
||||
#include <comedilib.h>
|
||||
|
||||
|
||||
/* Note that this silently fails if delay >= 100000 */
|
||||
#include <unistd.h>
|
||||
|
||||
void comedi_nanodelay(comedi_t *dev, unsigned int delay)
|
||||
{
|
||||
comedi_insn insn;
|
||||
lsampl_t data = delay;
|
||||
int retval;
|
||||
|
||||
memset(&insn, 0, sizeof(insn));
|
||||
insn.insn = INSN_WAIT;
|
||||
insn.n = 1;
|
||||
insn.data = &delay;
|
||||
insn.data = &data;
|
||||
retval = comedi_do_insn( dev, &insn );
|
||||
// fall back on usleep for long delays
|
||||
if( retval < 0 )
|
||||
usleep( delay / 1000 );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue