Hi, Jan,
the first flame in 2005-:)

Today, i made the eth1394 integrated in RTnet-0.8.0 source tree, so now we
can configure the RTnet with --enable-firewire, and get the firewire stack
for RTnet: rt_ohci1394.o, rt_ieee1394.o, rt_eth1394.o,
rtos_tasklet_scheduler.o. The rtos_tasklet_scheduler is made a seperate
module, so other fieldbus can also use it to get a realtime DSR. 
Some slight change in the RTnet core:
--- rtnet-0.8.0/stack/include/rtnet_internal.h  2004-12-13
05:04:26.000000000 -0500
+++ RTNetwork/rtnet-0.8.0/stack/include/rtnet_internal.h        2005-01-11
20:36:46.000000000 -0500
@@ -40,7 +40,7 @@
 
 /* some configurables */
 
-#define RTNET_STACK_PRIORITY    RTOS_HIGHEST_RT_PRIORITY +
RTOS_LOWER_PRIORITY
+#define RTNET_STACK_PRIORITY    RTOS_HIGHEST_RT_PRIORITY +
RTOS_LOWER_PRIORITY+1
 /*#define RTNET_RTDEV_PRIORITY    5*/
 #define DROPPING_RTSKB          20

--- rtnet-0.8.0/tools/rtifconfig.c      2004-12-20 05:08:51.000000000 -0500
+++ RTNetwork/rtnet-0.8.0/tools/rtifconfig.c    2005-01-11
06:54:49.000000000 -0500
@@ -40,6 +40,7 @@
 
 #define PRINT_FLAG_ALL          1
 #define PRINT_FLAG_INACTIVE     2
+#define ARPHRD_IEEE1394 24
 
 
 int                     f;
@@ -92,6 +93,15 @@ void print_dev(void)
                cmd.args.info.dev_addr[0], cmd.args.info.dev_addr[1],
                cmd.args.info.dev_addr[2], cmd.args.info.dev_addr[3],
                cmd.args.info.dev_addr[4], cmd.args.info.dev_addr[5]);
+    //*************for 1394 ***********
+    else if (cmd.args.info.type == ARPHRD_IEEE1394)
+       printf("IP over 1394   Hardware address: "
+               "%02X:%02X:%02X:%02X:%02X:%02X:%02X:%02X\n",
+               cmd.args.info.dev_addr[0], cmd.args.info.dev_addr[1],
+               cmd.args.info.dev_addr[2], cmd.args.info.dev_addr[3],
+               cmd.args.info.dev_addr[4], cmd.args.info.dev_addr[5],
+              cmd.args.info.dev_addr[6], cmd.args.info.dev_addr[7]);
+    //************for 1394 ************
     else
         printf("unknown (%X)\n", cmd.args.info.type);

I orignially planned to add extra MAC on Firewire, like what you have on
ethernet, but I have decided not to. The reason is that isochronous of
Firewire is already time triggered, with a fixed interval = 125us for each
channel. Totally, there can be 64 channels. Besides isochronous transaction,
the asynchronou transaction can be used for event triggered communication.


As we have discussed for contributing current Firewire extension to RTnet
main development, maybe it is good to have a development branch for RTnet
with Firewire, because I am planning to add the pure Firewrie protocol to
RTnet, bypassing the ethernet emulation, so there will some change and a lot
of extension to the RTnet core code. But of coz, I also need your advice:). 

Regards,
Zhang Yuchen
MSc Student
Control Engineering Group
University of Twente
The Netherlands
 



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
RTnet-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rtnet-developers

Reply via email to