Re: [Xenomai-core] Fwd: i82527 CANbus RTDM driver

2007-08-13 Thread Wolfgang Grandegger
juanba romance wrote:
 Hello Wolfgang this is the previous mail thread maintained with Jan and 
 i hope it answer your question

Yes, it shows that you are aware of RT-Socket-CAN but it does not answer
yet Jan's question:

 -- Forwarded message --
 From: *Jan Kiszka* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]
 Date: Aug 13, 2007 1:13 AM
 Subject: Re: i82527 CANbus RTDM driver
 To: juanba romance  [EMAIL PROTECTED] 
 mailto:[EMAIL PROTECTED]
 
 juanba romance wrote:
   On 8/12/07, Jan Kiszka [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 
 wrote:
[...]
 If there are technical deficits, specifically compared to pre-existing
 approaches, _that_ would be very interesting to discuss with the aim to
 improve the design wherever feasible. Maybe it turns out that certain
 scenarios simply require different approaches. But as long as deficits
 aren't really discussed and, at best, quantified, we make no progress.

I also ask myself, why RT-Socket-CAN does not fit your needs. 
Nevertheless, I will have the i82527 driver for RT-Socket-CAN ready soon 
  and then you can evaluate it.

Wolfgang.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


[Xenomai-core] Fwd: i82527 CANbus RTDM driver

2007-08-13 Thread juanba romance
Hello Wolfgang this is the previous mail thread maintained with Jan and i
hope it answer your question

-- Forwarded message --
From: Jan Kiszka [EMAIL PROTECTED]
Date: Aug 13, 2007 1:13 AM
Subject: Re: i82527 CANbus RTDM driver
To: juanba romance [EMAIL PROTECTED]

juanba romance wrote:
 On 8/12/07, Jan Kiszka [EMAIL PROTECTED] wrote:
 Hi Juanba,

 I won't go much into technical and design details in this reply, because
 I'm hoping we can continue this discussion on some public list.
 Xenomai-core e.g.?

 I think that right now the sources are not too useful in a first public
 post, may be better to announce in the list that i am developing the stuff
and
 wait if somebody else shows any interest would be better

  Would you like to re-post? With or without code
 (there is likely some size limit, so pushing code to a webserver is
better)?
 Of course, yes..

 Some questions I'm going to ask then:
 - Is your API compatible to any pre-existing one?
 I don't think so, the stuff use specific objects/interfaces of the
Xenomai-framework
 to exchange the control and data flow between the user and kernel address
 spaces.

I was referring to the API the user of the CAN driver sees, not its
internal design. On first sight, I don't see Xenomai specifics in the
interface.

 In fact the objects/system calls were selected having in mind the driver
 capabilities which also income from our previous designs/products around
the 82527
 chipset

  Did you consider the *official* RTDM CAN profile?
 Yes. I study your framework, but to be sincere i think that the
 capabilities/specifications are too far between. In particular all the
stuff
 related with the remote frame data exchange. The expected latencies and
the
 porting to other frameworks/platforms are also important to the
 re-usage-design. I have reviewed the official one as a reference to
 programming with the new symbols set and to check different approaches to
 solve our stuff.

Don't fully get your requirements yet - food for discussion on the
public list I guess.


 If yes and something was missing/insufficient in that profile:
Why was it impossible to extend it (so that at least basic CAN
operations remain portable, tools can be reused)?

 I think that two matters were around my mind, time and optimal design.
 You must consider also the opposite situation. we already have a design
 implemented with the necessary tools to check/verify/validate; the point
is
 that we like/need to add it real time capabilities. This
 implementation/ideas ha/s/ve been ported from things like uclinux-mcf5282,
 linux-i386 including also MC51 micro controllers.

See, Socket-CAN is close to mainline Linux, and RT-Socket-CAN (ie.
RTDM's CAN profile) is compatible with it, just making it deterministic
under the hood. Older CAN frameworks for Linux, including commercial
ones, will more and more become obsolete.

If there are technical deficits, specifically compared to pre-existing
approaches, _that_ would be very interesting to discuss with the aim to
improve the design wherever feasible. Maybe it turns out that certain
scenarios simply require different approaches. But as long as deficits
aren't really discussed and, at best, quantified, we make no progress.

 Other important issue is my time and the required one to write the sources
 following the profile specification, which must be also fully understood.
 i.e. the sources don't consider at any stage the 11 and 29 bits stuff, our
 application is 29 bits focused on, so the stuff is removed
 I mean, we need to have the driver ready to the application purposes ASAP
 and this could be contradictory also with other generalist issues. Of
 course, I assume that i.e. that fix will be easy but i like to clarify
that
 this kind of things are minors from our point of view. The documentation
 that i need to build any case, will present these design issues in terms
of
 functional operation and provided tools.

Looking forward.


 What are your plans with the driver? How/where are you planning to
 maintain it?

 Right now i am worry about it's reliability on stress. This is one of the
 things that we have checked once and again at our company, a design is
 proposed, implemented, verified and validated but not under the worst case
 when all the software is fully weird, then the people cry.

 To be honest i haven't thought about the external issues in terms of
 maintenance, this is new for me. If the Xenomai crew like the stuff of
 course your control version repositories would be the best place. At our

For Xenomai integration, we either need a patch against the existing
stack, enhancing it in favour of creating a second one. Or we need
evidence that only a different approach is adequate for certain CAN
controllers and/or CAN applications.

 company we hold the driver stuff as much as possible, all the changes are
 biased to the application level, we don't add too much functionalities in
 the kernel space from the validation