Re: [comedi] Comedi Driver with LPCIe-7250 problem
Der Alte <[email protected]> Wed, 28 May 2025 05:03:56 -0700 (PDT)
| Newsgroups | gmane.linux.comedi |
|---|---|
| Message-ID | <[email protected]> |
------=_Part_382826_1629271000.1748433836789
Content-Type: multipart/alternative;
boundary="----=_Part_382827_1089635431.1748433836789"
------=_Part_382827_1089635431.1748433836789
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Hi Folks, in my 6.4.0 openSuse kernel tree there is a file named=20
adl_pci_7x3x.c but no adl_pci7230.c, adl_pci7432.c and no adl_pci7250.c=20
like in the github Linux-CoMeDI repo.
I remember addint Interupt functionality "once" in adl_pci_7x3x.c and=20
adv_pci_dio.c but can't remember the year in the moment.
Was the splitting done after that or before the IRQ add-on?
Seems like I missed someting.
Which concept is the more modern one? One driver for each card type or the=
=20
collecting driver for a family of cards?
Ciao, Bernd
Gus Cerda schrieb am Mittwoch, 28. Mai 2025 um 12:36:50 UTC+2:
> Hi again,
> In a fresh boot state, the output for the test program you send me is:
> =20
> *Input bits: 0x000000C0*
>
> Only when I try to activate a relay on subdevice 0, the state of the=20
> inputs change to:
>
> *Input bits: 0x000000C1*
>
> But the relay is not working, I can't hear the sound of the relay=20
> commuting.=20
> The initial relay values on a fresh boot are the following:
>
> *Relay values: 0x00000000*=20
> *Input bits: 0x000000C0*
>
> When you write to all the outputs you can see this:
>
> *Relay values: 0x000000FF*
> *Input bits: 0x000000C1*
>
> But no relays change is noticed, no sound and tester doesn't show=20
> continuity between NO and COM pins.=20
> If you change relay values to 0 another time I realized that the input=20
> bits maintain the values until reboot, this is the result:
>
> *Relay values: 0x00000000*
> *Input bits: 0x000000C1*
>
> Could be that the register offsets have changed on a revision of the card=
?
> Is there any method to check it?
>
> Thank you.
>
>
>
>
> El martes, 27 de mayo de 2025 a las 15:26:17 UTC+2, Ian Abbott escribi=C3=
=B3:
>
>> On 27/05/2025 13:37, Gus Cerda wrote:
>>
>> Hi Ian,=20
>>
>> This is the output without any input signals:
>>
>> Input bits: 0x000000C1
>>
>> Exciting some inputs doesn't make a difference. Any further test that I=
=20
>> can make to check any incompatibility with current Kernels?
>>
>> I do sometimes have to update the comedi module sources in the Git=20
>> repository to get them to build properly when new versions of the kernel=
=20
>> are released, but that is normal for out-of-tree Linux kernel module=20
>> development, and I don't think that's the problem here. Some distros=20
>> include pre-built comedi modules in their kernel packages, in which case=
it=20
>> is important not to mix and match the comedi modules from the Linux kern=
el=20
>> image with the comedi modules built from Comedi's git repository, due to=
=20
>> kernel API differences between the two sets of modules. The usual sympto=
m=20
>> in that case is that the low-level comedi driver module fails to load, b=
ut=20
>> it could also result in kernel OOPS messages.
>>
>> It's interesting that some of the inputs are reading low, and some of=20
>> them are reading high, which is normal for floating inputs. But it does=
=20
>> suggest that its reading something.
>>
>> Are the relay channels on subdevice 0 working? The relay channels are=20
>> both readable and writeable. Assuming all the relays are de-energized on=
=20
>> power up, I would expect the relay channels to read back as 0 until they=
=20
>> written, and turning single relay channels on or off should not affect t=
he=20
>> other relays.
>>
>> Ian
>>
>>
>> Thank you so much!!
>>
>> El martes, 27 de mayo de 2025 a las 14:23:18 UTC+2, Ian Abbott escribi=
=C3=B3:
>>
>>> Hi Gus,
>>>
>>> On 27/05/2025 08:01, Gus Cerda wrote:
>>>
>>> Hi all,=20
>>> I'm working with ADlink LPCIe-7250 and comedi drivers, the driver loads=
=20
>>> correctly:
>>>
>>> *root@tramuntana:~# lspci | grep -i adlink*
>>>
>>> *41:00.0 DPIO module: Adlink Technology PCI-7250 (rev 01)*
>>>
>>>
>>> *root@tramuntana:~# dmesg | grep comedi*
>>>
>>> *[ 3.136992] comedi: loading out-of-tree module taints kernel.*
>>>
>>> *[ 3.143073] comedi: version 0.7.76.1 - http://www.comedi.org=20
>>> <https://cas5-0-urlprotect.trendmicro.com:443/wis/clicktime/v1/query?ur=
l=3Dhttp%3a%2f%2fwww.comedi.org&umid=3Dee5ef60d-3a1f-11f0-90ed-0022487ef3e8=
&rct=3D1748256931&auth=3D84fd7b44f3c6e5843978f04d97647fc72161b300-d6755bb34=
c5622b9b70ff2815b8ad8e134942afc>*
>>>
>>> *[ 3.162617] comedi0: adl_pci7250*
>>>
>>> *[ 3.162799] comedi: base addr 92001000*
>>>
>>> *[ 3.162804] comedi: attached*
>>>
>>> But when I try to capture channel 0 with this sample code:
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> *#include <comedilib.h> #include <stdio.h> int main() { comedi_=
t=20
>>> *dev =3D comedi_open("/dev/comedi0"); if (!dev) {=20
>>> perror("comedi_open"); return 1; } int value; =
=20
>>> comedi_dio_read(dev, 1, 0, &value); // Read subdevice 1, channel 0 =
=20
>>> printf("Input value: %d\n", value); comedi_close(dev); =
=20
>>> return 0; }*
>>>
>>> I'm always receiving a "1", independently of applying voltage or not to=
=20
>>> the input.=20
>>>
>>> The card works fine in windows environment, for this input.
>>>
>>> Could someone give me an advice or something to look in order to make=
=20
>>> the card work under Linux?
>>>
>>> Apparently, I wrote this driver in 2015 (which was a surprise to me as=
=20
>>> I'd forgotten writing it!), based on the fairly simple register layout =
from=20
>>> the user manual, but I didn't test it myself. It was reported working b=
y=20
>>> Emma Peace in this email:
>>>
>>> https://groups.google.com/g/comedi_list/c/RaQGeavOr0U/m/aa-EadJxy8AJ
>>>
>>> She wrote that she had tested input and output fairly heavily without=
=20
>>> any problems.
>>>
>>> I don't know why it is not working for you. It's a fairly simple driver=
.
>>>
>>> Could you try reading all dio inputs at once as a bitmask using the=20
>>> following sample code?
>>>
>>> #include <comedilib.h>
>>> #include <stdio.h>
>>> int main()
>>> {
>>> comedi_t *dev =3D comedi_open("/dev/comedi0");
>>> if (!dev) { perror("comedi_open");
>>> return 1;
>>> }
>>> unsigned int bits;
>>> comedi_dio_bitfield(dev, 1, 0, &bits); // Get bits from subdevi=
ce 1
>>> printf("Input bits: 0x%08X\n", bits);
>>> comedi_close(dev);
>>> return 0;
>>> }
>>>
>>> This will read all 32 digital inputs as a 32-bit value, although only=
=20
>>> channels 0 to 7 will be valid on the LPCIe-7250. (The other 24 channels=
are=20
>>> for the PCI-7250 with PCI-7251 extension cards fitted.) These 32 inputs=
are=20
>>> read from register offsets 1, 3, 5, and 7, 8 bits per register. (Regist=
er=20
>>> offsets 0, 2, 4, and 6, 8 bits per register are used to control the rel=
ays.)
>>>
>>> Looking at the manual, one other thing to check is that the input signa=
l=20
>>> jumpers JP1 to JP8 on the board are set to position 2-3 for Non-AC-Filt=
er=20
>>> (DC signal), although it's probably OK as you already tested the input =
in=20
>>> Windows.
>>>
>>>
>>> I should really port this driver (assuming it is not completely broken)=
=20
>>> for inclusion in the Linux kernel. I probably meant to do that 10 years=
ago!
>>>
>>> Thank you in advance.
>>>
>>> I hope you manage to get it working!
>>>
>>> Ian
>>>
>>> --=20
>>> -=3D( Ian Abbott <[email protected]> || MEV Ltd. is a company )=3D-
>>> -=3D( registered in England & Wales. Regd. number: 02862268. )=3D-
>>> -=3D( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=3D-
>>> -=3D( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=3D-
>>>
>>> --=20
>> You received this message because you are subscribed to the Google Group=
s=20
>> "Comedi: Linux Control and Measurement Device Interface" group.
>> To unsubscribe from this group and stop receiving emails from it, send a=
n=20
>> email to [email protected].
>> To view this discussion visit=20
>> https://groups.google.com/d/msgid/comedi_list/eb9922e1-5c85-4f96-a4d0-19=
72be315604n%40googlegroups.com=20
>> <https://groups.google.com/d/msgid/comedi_list/eb9922e1-5c85-4f96-a4d0-1=
972be315604n%40googlegroups.com?utm_medium=3Demail&utm_source=3Dfooter>
>> .
>>
>>
>> --=20
>> -=3D( Ian Abbott <[email protected]> || MEV Ltd. is a company )=3D-
>> -=3D( registered in England & Wales. Regd. number: 02862268. )=3D-
>> -=3D( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=3D-
>> -=3D( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || www.mev.co.uk )=3D-
>>
>>
--=20
You received this message because you are subscribed to the Google Groups "=
Comedi: Linux Control and Measurement Device Interface" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to [email protected].
To view this discussion visit https://groups.google.com/d/msgid/comedi_list=
/921865ac-596e-4d8f-a99f-0f02e524341cn%40googlegroups.com.
------=_Part_382827_1089635431.1748433836789
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div>Hi Folks, in my 6.4.0 openSuse kernel tree there is a file named adl_p=
ci_7x3x.c but no adl_pci7230.c, adl_pci7432.c and no adl_pci7250.c like in =
the github=C2=A0 Linux-CoMeDI repo.</div><div>I remember addint Interupt fu=
nctionality "once" in adl_pci_7x3x.c and adv_pci_dio.c but can't remember t=
he year in the moment.</div><div><br /></div><div>Was the splitting done af=
ter that or before the IRQ add-on?</div><div>Seems like I missed someting.<=
/div><div>Which concept is the more modern one? One driver for each card ty=
pe or the collecting driver for a family of cards?</div><div><br /></div><d=
iv>Ciao, Bernd<br /></div><div><br /></div><br /><div class=3D"gmail_quote"=
><div dir=3D"auto" class=3D"gmail_attr">Gus Cerda schrieb am Mittwoch, 28. =
Mai 2025 um 12:36:50 UTC+2:<br/></div><blockquote class=3D"gmail_quote" sty=
le=3D"margin: 0 0 0 0.8ex; border-left: 1px solid rgb(204, 204, 204); paddi=
ng-left: 1ex;">Hi again,<div>In a fresh boot state, the output for the test=
program you send me is:</div><div>=C2=A0<br><b><i>Input bits: 0x000000C0</=
i></b></div><div><b><i><br></i></b></div><div>Only when I try to activate a=
relay on subdevice 0, the state of the inputs change to:</div><div><br></d=
iv><div>=C2=A0<b><i>Input bits: 0x000000C1</i></b></div><div><b><i><br></i>=
</b></div><div>But the relay is not working, I can't hear the sound of =
the relay commuting.=C2=A0</div><div>The initial relay values on a fresh bo=
ot are the following:</div><div><br></div><div><b><i>Relay values: 0x000000=
00</i></b>=C2=A0</div><div><b><i>Input bits: 0x000000C0</i></b></div><div><=
br></div><div>When you write to all the outputs you can see this:</div><div=
><br></div><div><b><i>Relay values: 0x000000FF</i></b></div><div><b><i>Inpu=
t bits: 0x000000C1</i></b></div><div><br></div><div>But no relays change is=
noticed, no sound and tester doesn't show continuity between NO and CO=
M pins.=C2=A0</div><div>If you change relay values to 0 another time I real=
ized that the input bits maintain the values until reboot, this is the resu=
lt:</div><div><br></div><div><b><i>Relay values: 0x00000000</i></b></div><d=
iv><b><i>Input bits: 0x000000C1</i></b></div><div><b><i><br></i></b></div><=
div>Could be that the register offsets have changed on a revision of the ca=
rd?</div><div>Is there any method to check it?</div><div><br></div><div>Tha=
nk you.</div><div><br></div><div><br></div><div><b><i><br></i></b></div><di=
v><b><i><br></i></b></div><div class=3D"gmail_quote"><div dir=3D"auto" clas=
s=3D"gmail_attr">El martes, 27 de mayo de 2025 a las 15:26:17 UTC+2, Ian Ab=
bott escribi=C3=B3:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0 0 0 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><d=
iv>
<div>On 27/05/2025 13:37, Gus Cerda wrote:<br>
</div>
<blockquote type=3D"cite">
=20
Hi Ian,
<div><br>
</div>
<div>This is the output without any input signals:</div>
<div><br>
</div>
<div>Input bits: 0x000000C1</div>
<div><br>
</div>
<div>Exciting some inputs doesn't make a difference. Any further
test that I can make to check any incompatibility with current
Kernels?</div>
</blockquote>
</div><div><p> I do sometimes have to update the comedi module sources =
in the
Git repository to get them to build properly when new versions of
the kernel are released, but that is normal for out-of-tree Linux
kernel module development, and I don't think that's the probl=
em
here. Some distros include pre-built comedi modules in their
kernel packages, in which case it is important not to mix and
match the comedi modules from the Linux kernel image with the
comedi modules built from Comedi's git repository, due to kernel
API differences between the two sets of modules. The usual symptom
in that case is that the low-level comedi driver module fails to
load, but it could also result in kernel OOPS messages.</p>
<p>It's interesting that some of the inputs are reading low, and
some of them are reading high, which is normal for floating
inputs. But it does suggest that its reading something.<br>
</p>
<p>Are the relay channels on subdevice 0 working? The relay channels
are both readable and writeable. Assuming all the relays are
de-energized on power up, I would expect the relay channels to
read back as 0 until they written, and turning single relay
channels on or off should not affect the other relays.</p>
<p>Ian<br>
</p>
<blockquote type=3D"cite"></blockquote></div><div><blockquote type=3D"c=
ite">
<div><br>
</div>
<div>Thank you so much!!<br>
<br>
</div>
<div class=3D"gmail_quote">
<div dir=3D"auto" class=3D"gmail_attr">El martes, 27 de mayo de 202=
5
a las 14:23:18 UTC+2, Ian Abbott escribi=C3=B3:<br>
</div>
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 0.8ex;borde=
r-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>Hi Gus,</div>
</div>
<div>
<div><br>
</div>
<div>On 27/05/2025 08:01, Gus Cerda wrote:<br>
</div>
<blockquote type=3D"cite"> Hi all,
<div>I'm working with ADlink LPCIe-7250 and comedi
drivers, the driver loads correctly:</div>
<div>
<p><b><i><span style=3D"font-family:"Courier New"=
">root@tramuntana:~#
lspci | grep -i adlink</span></i></b></p>
<p> </p>
<p><b><i><span style=3D"font-family:"Courier New"=
">41:00.0
DPIO module: Adlink Technology PCI-7250 (rev 01)</s=
pan></i></b></p>
<p><b><i><br>
</i></b></p>
<p><b><i><font face=3D"Courier New">root@tramuntana:~#
dmesg | grep comedi</font></i></b></p>
<p><b><i><font face=3D"Courier New">[=C2=A0=C2=A0=C2=A0 3.1=
36992] comedi:
loading out-of-tree module taints kernel.</font></i=
></b></p>
<p><b><i><font face=3D"Courier New">[=C2=A0=C2=A0=C2=A0 3.1=
43073] comedi:
version 0.7.76.1 - <a href=3D"https://cas5-0-urlpro=
tect.trendmicro.com:443/wis/clicktime/v1/query?url=3Dhttp%3a%2f%2fwww.comed=
i.org&umid=3Dee5ef60d-3a1f-11f0-90ed-0022487ef3e8&rct=3D1748256931&=
amp;auth=3D84fd7b44f3c6e5843978f04d97647fc72161b300-d6755bb34c5622b9b70ff28=
15b8ad8e134942afc" rel=3D"nofollow" target=3D"_blank" data-saferedirecturl=
=3D"https://www.google.com/url?hl=3Dde&q=3Dhttps://cas5-0-urlprotect.tr=
endmicro.com:443/wis/clicktime/v1/query?url%3Dhttp%253a%252f%252fwww.comedi=
.org%26umid%3Dee5ef60d-3a1f-11f0-90ed-0022487ef3e8%26rct%3D1748256931%26aut=
h%3D84fd7b44f3c6e5843978f04d97647fc72161b300-d6755bb34c5622b9b70ff2815b8ad8=
e134942afc&source=3Dgmail&ust=3D1748518637971000&usg=3DAOvVaw1o=
qHCTBwn4l_KhYDQaoMx5">http://www.comedi.org</a></font></i></b></p>
<p><b><i><font face=3D"Courier New">[=C2=A0=C2=A0=C2=A0 3.1=
62617]
comedi0: adl_pci7250</font></i></b></p>
<p><b><i><font face=3D"Courier New">[=C2=A0=C2=A0=C2=A0 3.1=
62799] comedi:
base addr 92001000</font></i></b></p>
<p><b><i><font face=3D"Courier New">[=C2=A0=C2=A0=C2=A0 3.1=
62804] comedi:
attached</font></i></b></p>
<p>But when I try to capture channel 0 with this sample
code:</p>
<p><b><i>#include <comedilib.h><br>
#include <stdio.h><br>
int main()<br>
{<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 comedi_t *dev =3D
comedi_open("/dev/comedi0");<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!dev) { perror("=
comedi_open");<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 return 1;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 int value;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 comedi_dio_read(dev, 1, 0=
, &value); //
Read subdevice 1, channel 0<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 printf("Input value:=
%d\n", value);<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0=C2=A0comedi_close(dev);<b=
r>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 return 0;<br>
}</i></b><br>
</p>
<p>I'm always receiving a "1", independently =
of applying
voltage or not to the input.=C2=A0</p>
<p>The card works fine in windows environment, for this
input.</p>
<p>Could someone give me an advice or something to look
in order to make the card work under Linux?</p>
</div>
</blockquote>
</div>
<div>
<p>Apparently, I wrote this driver in 2015 (which was a
surprise to me as I'd forgotten writing it!), based on th=
e
fairly simple register layout from the user manual, but I
didn't test it myself. It was reported working by Emma
Peace in this email:<br>
</p>
<p><a href=3D"https://groups.google.com/g/comedi_list/c/RaQGeav=
Or0U/m/aa-EadJxy8AJ" rel=3D"nofollow" target=3D"_blank" data-saferedirectur=
l=3D"https://www.google.com/url?hl=3Dde&q=3Dhttps://groups.google.com/g=
/comedi_list/c/RaQGeavOr0U/m/aa-EadJxy8AJ&source=3Dgmail&ust=3D1748=
518637971000&usg=3DAOvVaw10cUrgi-lI3-S_vGWHGFB8">https://groups.google.=
com/g/comedi_list/c/RaQGeavOr0U/m/aa-EadJxy8AJ</a><br>
</p>
<p>She wrote that she had tested input and output fairly
heavily without any problems.</p>
<p>I don't know why it is not working for you. It's a f=
airly
simple driver.</p>
<p>Could you try reading all dio inputs at once as a bitmask
using the following sample code?</p>
<pre>#include <comedilib.h>
#include <stdio.h>
int main()
{
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 comedi_t *dev =3D comedi_open(&q=
uot;/dev/comedi0");
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (!dev) { perror("comedi_=
open");
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 1;
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int bits;
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 comedi_dio_bitfield(dev, 1, 0, &=
amp;bits); // Get bits from subdevice 1
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printf("Input bits: 0x%08X\=
n", bits);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 comedi_close(dev);
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return 0;
}
</pre>
<p>This will read all 32 digital inputs as a 32-bit value,
although only channels 0 to 7 will be valid on the
LPCIe-7250. (The other 24 channels are for the PCI-7250
with PCI-7251 extension cards fitted.) These 32 inputs are
read from register offsets 1, 3, 5, and 7, 8 bits per
register. (Register offsets 0, 2, 4, and 6, 8 bits per
register are used to control the relays.)<br>
</p>
<p>Looking at the manual, one other thing to check is that
the input signal jumpers JP1 to JP8 on the board are set
to position 2-3 for Non-AC-Filter (DC signal), although
it's probably OK as you already tested the input in
Windows.</p>
<p><br>
</p>
<p>I should really port this driver (assuming it is not
completely broken) for inclusion in the Linux kernel. I
probably meant to do that 10 years ago!<br>
</p>
<blockquote type=3D"cite">
<div>
<p>Thank you in advance.</p>
</div>
</blockquote>
<p>I hope you manage to get it working!<br>
</p>
<p>Ian<br>
</p>
<pre cols=3D"72">--=20
-=3D( Ian Abbott <a rel=3D"nofollow"><[email protected]></a> || MEV Lt=
d. is a company )=3D-
-=3D( registered in England & Wales. Regd. number: 02862268. )=3D-
-=3D( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=3D-
-=3D( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || <a href=3D"http://www.mev.=
co.uk" rel=3D"nofollow" target=3D"_blank" data-saferedirecturl=3D"https://w=
ww.google.com/url?hl=3Dde&q=3Dhttp://www.mev.co.uk&source=3Dgmail&a=
mp;ust=3D1748518637971000&usg=3DAOvVaw1JVVaY3Sa1VgrWkkpnxwIV">www.mev.c=
o.uk</a> )=3D-</pre>
</div>
</blockquote>
</div></blockquote></div><div><blockquote type=3D"cite">
-- <br>
You received this message because you are subscribed to the Google
Groups "Comedi: Linux Control and Measurement Device Interface&q=
uot;
group.<br>
To unsubscribe from this group and stop receiving emails from it,
send an email to <a rel=3D"nofollow">[email protected]<=
/a>.<br>
To view this discussion visit <a href=3D"https://groups.google.com/d/=
msgid/comedi_list/eb9922e1-5c85-4f96-a4d0-1972be315604n%40googlegroups.com?=
utm_medium=3Demail&utm_source=3Dfooter" rel=3D"nofollow" target=3D"_bla=
nk" data-saferedirecturl=3D"https://www.google.com/url?hl=3Dde&q=3Dhttp=
s://groups.google.com/d/msgid/comedi_list/eb9922e1-5c85-4f96-a4d0-1972be315=
604n%2540googlegroups.com?utm_medium%3Demail%26utm_source%3Dfooter&sour=
ce=3Dgmail&ust=3D1748518637971000&usg=3DAOvVaw0zGtn-lzpR5r-AkCj8beQ=
Y">https://groups.google.com/d/msgid/comedi_list/eb9922e1-5c85-4f96-a4d0-19=
72be315604n%40googlegroups.com</a>.<br>
</blockquote></div><div>
<p><br>
</p>
<pre cols=3D"72">--=20
-=3D( Ian Abbott <a rel=3D"nofollow"><[email protected]></a> || MEV Lt=
d. is a company )=3D-
-=3D( registered in England & Wales. Regd. number: 02862268. )=3D-
-=3D( Regd. addr.: S11 & 12 Building 67, Europa Business Park, )=3D-
-=3D( Bird Hall Lane, STOCKPORT, SK3 0XA, UK. || <a href=3D"http://www.mev.=
co.uk" rel=3D"nofollow" target=3D"_blank" data-saferedirecturl=3D"https://w=
ww.google.com/url?hl=3Dde&q=3Dhttp://www.mev.co.uk&source=3Dgmail&a=
mp;ust=3D1748518637971000&usg=3DAOvVaw1JVVaY3Sa1VgrWkkpnxwIV">www.mev.c=
o.uk</a> )=3D-</pre>
</div></blockquote></div></blockquote></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;Comedi: Linux Control and Measurement Device Interface" group.<br=
/>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]">comedi_=
[email protected]</a>.<br />
To view this discussion visit <a href=3D"https://groups.google.com/d/msgid/=
comedi_list/921865ac-596e-4d8f-a99f-0f02e524341cn%40googlegroups.com?utm_me=
dium=3Demail&utm_source=3Dfooter">https://groups.google.com/d/msgid/comedi_=
list/921865ac-596e-4d8f-a99f-0f02e524341cn%40googlegroups.com</a>.<br />
------=_Part_382827_1089635431.1748433836789--
------=_Part_382826_1629271000.1748433836789--