[Bug 542] New: Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit
Summary: Comedi layer is lagging behind comedi releases
Product: OCL
Version: 1.4.0
Platform: All
OS/Version: All
Status: NEW
Severity: major
Priority: P2
Component: Hardware
AssignedTo: orocos-dev [..] ...
ReportedBy: peter [dot] soetens [..] ...
CC: orocos-dev [..] ...
Estimated Hours: 0.0

Since comedilib 0.8, the GPCT (counter/timer) interface has been changed and
the Orocos ComediEncoder and ComediPulseTrainGenerator are not wWe orking with
these releases. As users will want bugfixes from new Comedi releases, they can
no longer use our classes. In the mean time, we are being stuck with legacy
code and have to maintain our own patches for comedi.

The comedi debian packages are out of sync as well and do not contain the
latest driver updates.

It seems most logical to switch to comedilib 0.8 as soon as possible. Both
comedi and comedilib are being maintained and packaged for Debian Sid by
Gudjon I. Gudjonsson. We should adapt the comedi layer to these packages asap.

[Bug 542] Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit

Peter Soetens

<peter [dot] soetens [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED

--- Comment #8 from Peter Soetens

<peter [dot] soetens [..] ...> 2008-10-15 17:11:01 ---
(In reply to comment #7)
> I have the following compile error for trunk/ocl, and it has probably something
> to do with this report:
>
> i use comedi 0.7.74, do i have to upgrade to comedi 0.8 or is this a bug in the
> PulseTrainGenerator code?

Yes. You need to upgrade to comedi 0.8. The patch did make it into 1.6.0. and
so were also the Debian packages upgraded to libcomedi 0.8.

The 'comedi' interface for this card changed such that now each counter is a
subdevice (counter 0 starts at subdev 2). The channels of the subdev are only
used to store the counter value (up time, down time and current value).

Peter

--
Configure bugmail: https://www.fmtc.be/bugzilla/orocos/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
You are the assignee for the bug.
--
Orocos-Dev mailing list
Orocos-Dev [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

Ruben Smits's picture

[Bug 542] Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit

Ruben Smits <ruben [dot] smits [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
CC| |ruben [dot] smits [..] ...

--- Comment #7 from Ruben Smits <ruben [dot] smits [..] ...> 2008-10-15 13:57:46 ---
I have the following compile error for trunk/ocl, and it has probably something
to do with this report:

i use comedi 0.7.74, do i have to upgrade to comedi 0.8 or is this a bug in the
PulseTrainGenerator code?

[ 19%] Building CXX object
hardware/comedi/CMakeFiles/orocos-comedi-lxrt.dir/dev/ComediPulseTrainGenerator.o
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp: In
member function ‘void OCL::ComediPulseTrainGenerator::init()’:
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:93:
error: ‘NI_GPCT_TIMEBASE_3_CLOCK_SRC_BITS’ was not declared in this scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:102:
error: ‘NI_GPCT_TIMEBASE_1_CLOCK_SRC_BITS’ was not declared in this scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:110:
error: ‘NI_GPCT_COUNTING_MODE_NORMAL_BITS’ was not declared in this scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:112:
error: ‘NI_GPCT_OUTPUT_TC_TOGGLE_BITS’ was not declared in this scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:114:
error: ‘NI_GPCT_LOADING_ON_TC_BIT’ was not declared in this scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:116:
error: ‘NI_GPCT_RELOAD_SOURCE_SWITCHING_BITS’ was not declared in this
scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:118:
error: ‘NI_GPCT_COUNTING_DIRECTION_DOWN_BITS’ was not declared in this
scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:120:
error: ‘NI_GPCT_LOAD_B_SELECT_BIT’ was not declared in this scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:122:
error: ‘NI_GPCT_STOP_ON_GATE_BITS’ was not declared in this scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:124:
error: ‘NI_GPCT_NO_HARDWARE_DISARM_BITS’ was not declared in this scope
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp: In
member function ‘virtual bool OCL::ComediPulseTrainGenerator::start()’:
/home/common/orocos/ocl/hardware/comedi/dev/ComediPulseTrainGenerator.cpp:235:
error: ‘NI_GPCT_ARM_IMMEDIATE’ was not declared in this scope
make[2]: ***
[hardware/comedi/CMakeFiles/orocos-comedi-lxrt.dir/dev/ComediPulseTrainGenerator.o]
Error 1

Ruben

--
Configure bugmail: https://www.fmtc.be/bugzilla/orocos/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
You are the assignee for the bug.--
Orocos-Dev mailing list
Orocos-Dev [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

[Bug 542] Comedi layer is lagging behind comedi releases

On Wed, 15 Oct 2008, Ruben Smits wrote:
[...]
> I have the following compile error for trunk/ocl, and it has probably something
> to do with this report:
>
> i use comedi 0.7.74, do i have to upgrade to comedi 0.8 or is this a bug in the
> PulseTrainGenerator code?

You have to upgrade: the comedi API has changed between those two versions.

Klaas
--
Orocos-Dev mailing list
Orocos-Dev [..] ...
http://lists.mech.kuleuven.be/mailman/listinfo/orocos-dev

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

[Bug 542] Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit

--- Comment #6 from Peter Soetens

<peter [dot] soetens [..] ...> 2008-08-13 11:31:28 ---
(In reply to comment #5)
> Are either of the last two patches liable to make it into Orocos v1.6?

Yes. Since the current encoder/counter interface works with *no* official
Comedi version, the patch will be applied to add support in v1.6.

>
> Also note that both of these patches are now out-of-date with respect to the
> current trunk, as you'd expect.

I'm maintaining and testing them.

Peter

[Bug 542] Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit

S Roderick <kiwi [dot] net [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
CC| |kiwi [dot] net [..] ...

--- Comment #5 from S Roderick <kiwi [dot] net [..] ...> 2008-08-12 13:51:37 ---
Are either of the last two patches liable to make it into Orocos v1.6?

Also note that both of these patches are now out-of-date with respect to the
current trunk, as you'd expect.

Cheers
S

[Bug 542] Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit

--- Comment #4 from Peter Soetens

<peter [dot] soetens [..] ...> 2008-07-08 11:45:36 ---
Created an attachment (id=330)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=330)
Backports the comedilib 0.8 OCL 1.6 patch to OCL 1.4

Same as attachment #329, but backported to branches/ocl/ocl-1.4.

Unfortunately, this patch is not binary-backwards compatible. Also, that would
mean that OCL 1.4.2 depends on comedilib 0.8 while OCL 1.4.1 depended on older
comedi libraries. So this patch can't make it in an official release and is
here for reference.

Peter

[Bug 542] Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit

Peter Soetens

<peter [dot] soetens [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
Attachment #328 is|0 |1
obsolete| |

--- Comment #3 from Peter Soetens

<peter [dot] soetens [..] ...> 2008-07-08 11:39:27 ---
Created an attachment (id=329)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=329)
Tested patch for new comedi 0.8 api

This patch for trunk/ocl/hardware/comedi upgrades the OCL Comedi libraries to
comedilib 0.8 / comedi 0.7.76.

The pulse train generator has been tested. The encoder code (ComediEncoder.cpp)
has been copy/pasted from the comedi 'gpct' examples, but not tested. The first
one to spot a bug in that file wins a 'free' beer ('free' as in freedom).

Peter

[Bug 542] Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit

Peter Soetens

<peter [dot] soetens [..] ...> changed:

What |Removed |Added
--------------------------------------------------------------------------
Attachment #293 is|0 |1
obsolete| |

--- Comment #2 from Peter Soetens

<peter [dot] soetens [..] ...> 2008-06-30 17:32:49 ---
Created an attachment (id=328)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=328)
This patch fixes various compile/link bugs from the previous patch

The previous patch did not compile nor link cleanly. This version fixes these
issues. Unfortunately, I could not get my Linux 2.6.19-rtai-ipipe kernel
working with the comedi 0.7.76 version... so this remains untested code for
now. I'll have to test on plain Debian kernels...

Peter

[Bug 542] Comedi layer is lagging behind comedi releases

For more infomation about this bug, visit

--- Comment #1 from Peter Soetens

<peter [dot] soetens [..] ...> 2008-05-16 23:10:09 ---
Created an attachment (id=293)
--> (https://www.fmtc.be/bugzilla/orocos/attachment.cgi?id=293)
Compiles again against the new GPCT API of comedi 0.8

This patch ports ComediEncoder and ComediPulseTrainGenerator and is just
compile tested and not tested on actual hardware. It is a copy/past effort from
the gpct examples of the comedilib.

One thing that is unsure is if pulsePeriodSet and pulseWidthSet will work with
both armed and unarmed generators. Also, it is not clear if the counter
must/can be reset when the generator is armed or when a new pulse period/width
is set.

The basic comedi examples only configure the counter when it's not armed.