- From: Frank Mori Hess <fmhess_at_users.sourceforge.net>
- Date: Thu, 30 Jan 2003 10:26:20 -0600
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thursday 30 January 2003 08:14 am, Herman Bruyninckx wrote: > > So, this is my summary of our findings. > Comedi has "commands" and "instructions". A command programs the > hardware of the bord to _autonomously_ do acquisition; i.e., the > software can go and do other things while a command is executing, > interrupted from time to time by DMA or an ISR. > In an instruction however, the software is doing acquisition _in busy > waiting_. (At least in the current implementation of the NI driver where > is see a polling on the buffer-not-empty flag.) There are several types of insn, specified by the value of comedi_insn.insn. The possible values are defined in comedi.h: #define INSN_READ ( 0 | INSN_MASK_READ) #define INSN_WRITE ( 1 | INSN_MASK_WRITE) #define INSN_BITS ( 2 | INSN_MASK_READ|INSN_MASK_WRITE) #define INSN_CONFIG ( 3 | INSN_MASK_READ|INSN_MASK_WRITE) #define INSN_GTOD ( 4 | INSN_MASK_READ|INSN_MASK_SPECIAL) #define INSN_WAIT ( 5 | INSN_MASK_WRITE|INSN_MASK_SPECIAL) #define INSN_INTTRIG ( 6 | INSN_MASK_WRITE|INSN_MASK_SPECIAL) Above you describe the behaviour of INSN_READ and INSN_WRITE. What you want to be doing is using a INSN_CONFIG to modify the behaviour of commands. > And the API is indeed available to program a sequence of say 6 > measurements in one instruction (or instruction list). But, one looses > the real-time determinism when doing this with instructions, and/or the > performance. No, I'm not suggesting you use INSN_READ, you still get the data using commands. - -- Frank -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE+OVIs5vihyNWuA4URAp6oAKDbM2+sikZj+Ti45jJ2GblVphpBUwCfYA4J gDckdJ2lFfMP4j/Gr6bTSaQ= =goOZ -----END PGP SIGNATURE-----
Received on 2003-01-30Z16:26:20