[Rtai] UNSUBSCIBE

vince vince vincekoskesh at hotmail.com
Fri May 8 18:33:21 CEST 2009




> Date: Fri, 8 May 2009 18:24:16 +0200
> From: mantegazza at aero.polimi.it
> To: robertperez67 at hotmail.com
> CC: rtai at rtai.org
> Subject: Re: [Rtai] Small control system proyect.
> 
> Paolo Mantegazza wrote:
> > Robert Perez wrote:
> >> Apart from shm functions I believe that no more lib functions are 
> >> called (but perhaps I will need some later).
> >>
> >> If I understood well the docs of RTAI I must not call linux functions 
> >> from control programs to maintain real time.
> >>
> >>  
> >>
> >> The idea I have is: master program set a flag in shm of control_prog1 
> >> to start an execution cycle and then master goes to sleep for 20ms.
> >>
> >> control_prog1 awakes, executes a cycle then awakes the master to tell 
> >> it that it has finished and then goes to sleep.
> >>
> >> Master awakes, takes out the permissor from control_prog1 and gives it 
> >> to control_prog2 and wakes up that process and then goes to sleep again.
> >>
> >> That is the main loop of the processes involved unles a control_prog 
> >> don't finish the cycle in 20ms, then the master awakes and send the 
> >> overruned
> >> control_prog to sleep even if it didn't finish the cycle.
> >>
> >> When the turn comes again for that cprog the master wakes it up and 
> >> the cprog continues from the same place it was inside the cycle.
> >>
> >>  
> >>
> >> I think that to wake up the master module I could use some semaphore 
> >> or futex (I'm reading docs on how to use them), but I don't
> >>
> >> know if I can from the master, wake another RT_TASK.
> >>
> >> I have seen that we could use names for RT processes and then access 
> >> them by name.
> >>
> >> Do you think this is a good way ?
> >>
> > 
> > All of what you want to do can be done in strict real timer under RTAI. 
> > I see some kind of sequential states driven execution. For it I'd use 
> > just intertask messages. Since the master wait for an answer from 
> > control progs the latter and the master could use rt_receive, the master 
> > does it with a timeout. When the ctask finishes it rt_send the master 
> > and rt_receive for the next cycle. An overrun condition can than be 
> > handled with RTAI real time signals or simply using rt_task_suspend. In 
> > the latter case when it is time to resume the overruner again the master 
> > uses rt_task_resume and goes to rt_receive with timout again, and so on 
> > and so on. Notice there is no need of shm and it can be done between 
> > processes and threads alike.
> > 
> > Paolo.
> > 
> 
> BTW, I forgot to mention that all of what above can be done both locally 
> and remotely, UDP at the moment. Since I saw at your links that you are 
> talking about distributed controllers such a feature might turn out to 
> be quite useful. The same code can work in whatever way and needs just a 
> configuration launch scripts, while with shm you are bound to work locally.
> 
> Paolo
> 
> >>
> >> Thanks in advance.
> >>
> >>  
> >>
> >>  
> >>> Date: Fri, 8 May 2009 08:58:57 +0200
> >>> From: mantegazza at aero.polimi.it
> >>> To: robertperez67 at hotmail.com
> >>> CC: rtai at rtai.org
> >>> Subject: Re: [Rtai] Small control system proyect.
> >>>
> >>> Robert Perez wrote:
> >>>> Hi all.
> >>>>
> >>>>
> >>>>
> >>>> I want to ask if it's possible to use linux + RTAI for the following 
> >>>> scenario:
> >>>>
> >>>>
> >>>>
> >>>> I want one (master) process to allow other (child) processes to run 
> >>>> in an ordered fashion (by writing an enable bit in shm)
> >>>>
> >>>> In addition this (master) process should be able to put a child 
> >>>> running process to sleep if a
> >>>> certain condition is true and then awake the next one and so on.
> >>>>
> >>>>
> >>>>
> >>>> Of course all of these should be RT processes.
> >>>>
> >>>> This is for a hobby control system proyect I'm planning.
> >>>>
> >>>> Also the child processes should be able to talk through shm.
> >>>>
> >>>>
> >>>>
> >>>> I got it working part of it in linux but I will need real time to 
> >>>> make it a serious project.
> >>>>
> >>>> I am considering moving to RTAI but I want to know if its possible 
> >>>> before reading lots of documentation.
> >>>>
> >>>> BTW it is coded in C++ and I don't know if C++ is supported in RTAI.
> >>>>
> >>>>
> >>> A few things you can see here: 
> >>> http://www.aero.polimi.it/mbdyn/mbdyn-rt/index.html, is in C++. It is 
> >>> just a matter of initializing and staticalize everything in advance 
> >>> or through a server process.
> >>>
> >>>> Could somebody please tell me what functions should I use, or an 
> >>>> idea on how to implement it ?
> >>>>
> >>> SHM a part what function calls do you use to have it work with Linux?
> >>>
> >>> Paolo
> >>>
> >>>>
> >>>> Thank you all and keep the good work!.
> >>>>
> >>>>
> >>>>
> >>>> Robert Perez.
> >>>>
> >>>> PD: for those interested, the humble proyect is here 
> >>>> http://sourceforge.net/projects/freedcs/ and website 
> >>>> http://freedcs.sourceforge.net/
> >>>>
> >>>> _________________________________________________________________
> >>>> ¡Invita a todos tus amigos de una sola vez! Pruébalo ahora
> >>>> http://www.microsoft.com/latam/windows/windowslive/products/social-network-connector.aspx 
> >>>>
> >>>>
> >>>>
> >>>> ------------------------------------------------------------------------ 
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Rtai mailing list
> >>>> Rtai at rtai.org
> >>>> https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
> >>>
> >>
> >> _________________________________________________________________
> >> ¡Invita a todos tus amigos de una sola vez! Pruébalo ahora
> >> http://www.microsoft.com/latam/windows/windowslive/products/social-network-connector.aspx 
> >>
> > 
> > 
> > _______________________________________________
> > Rtai mailing list
> > Rtai at rtai.org
> > https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai
> > 
> 
> 
> _______________________________________________
> Rtai mailing list
> Rtai at rtai.org
> https://mail.rtai.org/cgi-bin/mailman/listinfo/rtai

_________________________________________________________________
Create a cool, new character for your Windows Live™ Messenger. 
http://go.microsoft.com/?linkid=9656621
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.rtai.org/pipermail/rtai/attachments/20090508/4d539826/attachment-0001.htm>


More information about the Rtai mailing list