[etherlab-users] RTDM patch 2117 -> 2124 plus changes

Graeme Foot GraemeF at touchcut.com
Mon Oct 31 22:40:04 CET 2011


Hi,

I have attached two patches:

1) The extracted RTDM code from devel 2117, for stable 2124
   (etherlabmaster-1.5-2124-a_rtdm_from_2117.patch)
2) In addition to the above, some bug fixes and changes to allow
   multiple domains 
   (etherlabmaster-1.5-2124-c_rtdm_full.patch)


A summary of the changes I have made:
- added a EC_RTDM_MAX_DOMAINS define to specify the maximum domains per
    rtdm connection
- changed CstructMstrAttach by changing the domainIndex to a domainCnt 
    and domainIndices array
- previously the CstructMstrAttach.masterIndex parameter was ignored,
    this is now used
- the following methods now also take an index parameter:
    ecrt_rtdm_domain_process
    ecrt_rtdm_domain_queue
    ecrt_rtdm_domain
- added methods:
    ecrt_rtdm_domain_process_all
    ecrt_rtdm_domain_queue_all
    ecrt_rtdm_domain_states
- I have corrected the typo queque -> queue
- There are a few fixes to remove compiler warnings
- I have updated both the RTAI and Xenomi examples (but have not
compiled
    the Xenomi examples)


Andreas, 

I have not had any problems with locking issues at the moment.
My system is RTAI 3.8.1 on Linux 2.6.29.5.
(please also ignore my previous email, I created the patch against the
wrong directory.)


Regards,
Graeme.


-----Original Message-----
From: Andreas Stewering-Bone [mailto:ab at igh-essen.com] 
Sent: Friday, 28 October 2011 19:51
To: Graeme Foot
Subject: Re: RTDM patch 2117 -> 2124

Hello Graeme,

Am 28.10.2011 00:49, schrieb Graeme Foot:
> Hi,
>
> I have attached the patch that extracts the RTDM (RTAI&  Xenomai) code
from devel branch (2117) for stable branch 2124.
>
> This patch does not include any of my changes as I am still working on
them.
>
> I have also come across a few bugs which I will fix:
>
> ec_rtdm.h
> - A couple of incorrectly named constants in rt_dev_ioctl calls:
>     EC_RTDM_MASTER_MONITOR_QUEQUE  ->
EC_RTDM_MASTER_SYNC_MONITOR_QUEUE
>     EC_RTDM_MASTER_MONITOR_PROCESS ->
EC_RTDM_MASTER_SYNC_MONITOR_PROCESS
>
> rtdm/module.c
> - The MasterAttach function does not use the masterindex parameter.
Instead it just uses the internal masterno value (which is the device
name postfix number).
>
>
> Once I've made my changes would you prefer a delta to the above patch
or a complete RTDM patch?
>    
A complete patch would be better.
>
> I'm using RTAI and yes I will develop against the stable branch.
>
>    
On my system 2.6.32.11 and RTAI 3.8.1 I noticed some locking problems. 
What is your experience under RTAI?
Under Xenomai it runs fine.
> One question about code requirements, do you allow gcc compound
statement macros?  eg:
>    
I think you can use it because Linux Kernel compilation will happen 
under gcc.
> #define fn(idx, arg)     \
> ({  data_t data;         \
>      data.idx = idx;      \
>      int ret = fn2(data); \
>      arg = data.arg;      \
>      ret;  })
>
> The reason I ask is the ecrt_rtdm_domain_state function will require
two parameters, domainIndex (in) and domainState (out) which I will need
to combine into one data structure.
>
> If I can't use a compound statement I will need to use an inline
function, but this will require ecrt.h to be included.  Or I could just
require the user to fill in the data structure.
>
>
>
> Do you want me to post these to the forum as well?
>
>
>    
It is your decision.
But we would prefer it.


Best regards


Andreas


> Regards,
> Graeme.
>
>
>
>




-------------- next part --------------
A non-text attachment was scrubbed...
Name: etherlabmaster-1.5-2124-c_rtdm_full.patch
Type: application/octet-stream
Size: 132189 bytes
Desc: etherlabmaster-1.5-2124-c_rtdm_full.patch
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20111101/55472137/attachment-0010.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: etherlabmaster-1.5-2124-a_rtdm_from_2117.patch
Type: application/octet-stream
Size: 125600 bytes
Desc: etherlabmaster-1.5-2124-a_rtdm_from_2117.patch
URL: <http://lists.etherlab.org/pipermail/etherlab-users/attachments/20111101/55472137/attachment-0011.obj>


More information about the Etherlab-users mailing list