- From: Calin A. Culianu <calin_at_ajvar.org>
- Date: Tue, 10 Jan 2006 14:01:25 -0500 (EST)
Oh yeah I noticed this driver and am using it as an example. What about selecting edge polarity (falling versus rising edge)? I guess I can somehow hack that into a insn_config feature for the subdevice. Awkward for sure. I guess it works though.. -Calin On Tue, 10 Jan 2006, Ian Abbott wrote: > On 10/01/06 16:55, Calin A. Culianu wrote: >> On Mon, 9 Jan 2006, Frank Mori Hess wrote: >> >> > On Monday 09 January 2006 12:18 pm, Calin A. Culianu wrote: >> > >> > > Hi, >> > > >> > > I am developing a comedi driver for a winsystems PC-104 based DIO >> > > board. >> > > The neat thing about this DIO board is that it supports edge-triggered >> > > interrupts on 24 individual DIO lines. >> > > >> > > Since I am too lazy to research this myself, could someone just tell >> > > me >> > > how edge-triggered interrupts are modeled using the comedi driver >> > > framework? >> > > >> > > Basically how can I give this functionality to the user of the driver >> > > using the comedi API and framework? It's not exactly a comedi command >> > > and it's not exactly a comedi_sv thingamajig. Or is it? >> > >> > >> > The existing drivers implement a read command that generates a bogus >> > sample >> > every time the interrupt is triggered. >> > >> >> Hmm, ok I see there are some drivers that do this (grepped for 'edge' in >> comedi/drivers). >> >> Weird. OK.. so the bogus sample doesn't contain packed bitfield data or >> anything? Instead people are supposed to just call comedi_dio_bitfield in >> their callback? >> >> I'll grep the sourced summore. > > Have a look at my amplc_dio200 driver; it might be something like what you > want to do. It implements a 6-channel subdevice to handle its edge-triggered > interrupts. The read command's channel list indicates which edge-triggered > interrupt sources you are interested in (the others are disabled). The bogus > dio value constructed in the interrupt routine indirectly indicates which > channels have fired (the bit positions in the dio value correspond to indices > in the read command's channel list, not to the actual channel numbers). > > -- > -=( Ian Abbott _at_ MEV Ltd. E-mail: <abbotti_at_mev.co.uk> )=- > -=( Tel: +44 (0)161 477 1898 FAX: +44 (0)161 718 3587 )=- > > _______________________________________________ > comedi mailing list > comedi_at_comedi.org > https://cvs.comedi.org/cgi-bin/mailman/listinfo/comedi >
Received on 2006-01-10Z19:01:25