All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: juanba romance <juanba.romance@domain.hid>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] RTDM 82527 Xenomai driver
Date: Mon, 13 Aug 2007 10:40:41 +0200	[thread overview]
Message-ID: <46C01909.5020308@domain.hid> (raw)
In-Reply-To: <e39c9190708121709u765ab036w242c0c846c9c82f5@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 3594 bytes --]

juanba romance wrote:
> Hello, all,
> I am currently developing a RTDM/xenomai driver for the CANbus chipset 82527
> that i think it could have some interest
> it has the next features:

Thanks for moving our private thread here! See, now we know that
Wolfgang is already working on 82527 support for RT-Socket-CAN -
something I wasn't aware of as well.

> 
>    1. Specific management for the remote frames CANbus feasibility, it
>    couple the real-time data bus flow with a user software feedback to
>    handshake remote frames and update mailbox callback for the auto-replied
>    messages

Mind to elaborate what you precisely gain here compared to "open-coded"
designs (loop closed over the application)? Can you quantify the
improvements?

>    2. Transparent use to push/suck data from the driver using a common
>    data format
>    3. Capability to push a bunch of CANbus messages in a single system
>    call. The bunch is copied to a kernel domain ring buffer to guarantee low
>    latencies at the user side. A specific kernel thread  sucks the ring pushing
>    the user request into the chipset

That was discussed before in the context of Socket-CAN. My feeling is
that it /could/ be useful in case you have to issue longer streams of
CAN frames at high rates, and specifically if your CAN hardware can
handle these streams autonomously. Is the 82527 able to do so?

In any case, this would complicate the existing stack and driver and
would first require careful evaluation of the achievable improvement
(lower latency, lower system load?).

>    4. Driver readout using a native RT message queue where the control
>    and data flow is published

And this way you make your driver unportable, e.g. to move it over the
RTDM layer Wolfgang wrote for the -rt kernel. RTDM drivers are ought to
use RTDM services (or Linux ones), not other skins. If a generally
useful service is lacking, we need to think about adding it - to RTDM.

>    5. Multichipset capabilities, right now a commercial PC104 board with
>    two devices is used. The on board CPU is a SBC VIA C3 1GHz processor
>    softwared with the stack xenomai-2.3,1/vanilla-2.6.20-15/Adeos-
>    ipipe-1.7-03
>    6. board monitoring through the /proc file system entry
>    7. Local Data Transfers controlled with RT-alarms

Another violation - but this one is easily avoidable with RTDM timers
that come with API revision 6 (upcoming Xenomai 2.4).

>    8. Virtual support to check applications/driver usage/design, right
>    now only the chipset is virtualised, but plans to have network transactions
>    are on going
>    9. ISR hardware optimizations focused on the network readout to
>    gurantee low latencies

Any numbers?

>    10. Easy porting to other i82527 based on boards
>    11. Full transmission operation handling the 16 message object set
> 
> We have in plan also
> 
>    1. Capabilities to filtering/masking the incoming flow at the driver
>    stage allowing that the same context, using the "xenomai nomenclature" feed
>    specific threads using some kind of binding/configuration process. This is
>    an open issue cause i don't have a clear approach to follow..
>    2. can-festival coupling

Look, with Socket-CAN, you would now already have CAN-Festival binding. :)

But maybe this library scenario can be used to explain why you need to
do things in a special way and what you can gain that way. Looking forward!

> 
> I think this is the full picture, i look forward..
> 
> Best regards..
> 

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

  parent reply	other threads:[~2007-08-13  8:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-13  0:09 [Xenomai-core] RTDM 82527 Xenomai driver juanba romance
2007-08-13  4:50 ` Wolfgang Grandegger
2007-08-13  8:40 ` Jan Kiszka [this message]
2007-08-13  9:54   ` juanba romance
2007-08-13 10:36     ` Jan Kiszka
     [not found]       ` <e39c9190708130425j4aebe52aq2aa746fb7ed0f174@domain.hid>
2007-08-13 11:27         ` juanba romance
2007-08-13 10:46     ` Wolfgang Grandegger
2007-08-13 12:57       ` juanba romance
2007-08-13 11:24     ` Wolfgang Grandegger
2007-08-13 12:08       ` juanba romance

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46C01909.5020308@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=juanba.romance@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.