Change of state interrupts

Hi everyone,

I've just started using comedi and I am using a adlink pci7348 card 
(which is not supported) so i hacked up the PCI-7296 driver go get it 
working, which it does :-) (Infact no modification for basic DIO, just 
swap all "adl_pci7296" for "adl_pci7348" and its a go (infact this 
should also work perfectly with the adl_pci7396).

Anyway the 7348 supports a change of state (COS) interrupt. I have 
implemented the IQR handler but I am unsure what to do next. I have read 
the documentation other examples but I do not fully understand the 
(comedi) driver level concepts still. How should i handle the COS event. 
Ideally when this happens the event needs to trigger a call back ASAP to 
minimise latency. I see mention of callbacks but can't see exactly what 
I want. Can someone give me some pointers on the correct way to handle 
this and pass the event back through comedi. Should i be using the 
s->events->async stuff?

One final problem is that I seem to be getting continuous interrupts 
from the card, I believe I am setting the interrupt masks correctly and 
I am ACKing the interrupt correctly but it fires of at a enormous rate. 
Probably something I have done but if anyone as seen something like this 
and has a clue what it could be that would be great!. The DIO lines all 
have built in pullups so its not noise triggering due to floating IO and 
infact I dumped the ports states to see if it is changing and it is not.

Infact the 7348 has a 8254 timer on board, i was about to ask if the 
generic 8253 module can be used, but i have just spotted the 8254 
functions in that driver so I assume its yes!

So if someone can point me in the correct direction for COS interrupt 
handing we might have 2 new drivers :-)

Robin




-- 
Dr Robin Cornelius
Design Engineer
Hirst Magnetic Instruments Ltd
(UK Magnetics Society management committee member)

Tel: +44 (0) 1326 372734      www.hirst-magnetics.com
Fax: +44 (0) 1326 378069      www.gaussmeter.co.uk

Tesla House, Tregoniggie Industrial Estate
Falmouth, Cornwall, TR11 4SN, U.K.

Reg No: 1564814 England
VAT Registered: GB730 0277 74 

Received on 2007-10-10Z07:23:30