rt/msr_module.c
changeset 54 7506e67dd122
parent 51 b3beaa00640f
child 55 059a9e712aa7
--- a/rt/msr_module.c	Fri Jan 13 15:47:44 2006 +0000
+++ b/rt/msr_module.c	Tue Jan 17 18:28:15 2006 +0000
@@ -32,10 +32,7 @@
 #include "msr_jitter.h"
 
 // EtherCAT
-#include "../drivers/ec_master.h"
-#include "../drivers/ec_device.h"
-#include "../drivers/ec_types.h"
-#include "../drivers/ec_module.h"
+#include "../include/EtherCAT_rt.h"
 
 // Defines/Makros
 #define TSC2US(T1, T2) ((T2 - T1) * 1000UL / cpu_khz)
@@ -54,16 +51,18 @@
 
 // EtherCAT
 
-static EtherCAT_master_t *ecat_master = NULL;
+ec_master_t *master = NULL;
 static unsigned int ecat_bus_time = 0;
 static unsigned int ecat_timeouts = 0;
 
-static EtherCAT_slave_t ecat_slaves[] =
+#if 0
+static ec_slave_t slaves[] =
 {
     // Block 1
     ECAT_INIT_SLAVE(Beckhoff_EK1100, 0),
     ECAT_INIT_SLAVE(Beckhoff_EL3102, 0)
 };
+#endif
 
 #define ECAT_SLAVES_COUNT (sizeof(ecat_slaves) / sizeof(EtherCAT_slave_t))
 
@@ -87,20 +86,22 @@
     // Prozessdaten lesen
     msr_jitter_run(MSR_ABTASTFREQUENZ);
 
+#if 0
     if (debug_counter == 0) {
-        ecat_master->debug_level = 2;
-    }
-
-    // Prozessdaten schreiben
-
-    if (EtherCAT_process_data_cycle(ecat_master, 0, 40) < 0)
-        ecat_timeouts++;
-
+        master->debug_level = 2;
+    }
+#endif
+
+    // Prozessdaten lesen und schreiben
+    EtherCAT_rt_domain_cycle(master, 0, 40);
+
+#if 0
     if (debug_counter == 0) {
-        ecat_master->debug_level = 0;
-    }
-
-    value = EtherCAT_read_value(&ecat_slaves[1], 0);
+        master->debug_level = 0;
+    }
+#endif
+
+    //    value = EtherCAT_read_value(&ecat_slaves[1], 0);
 
     debug_counter++;
     if (debug_counter >= MSR_ABTASTFREQUENZ * 5) debug_counter = 0;
@@ -183,9 +184,8 @@
  * the init/clean material
  *****************************************************************************/
 
-int __init init_module()
-{
-    unsigned int i;
+int __init init_rt_module(void)
+{
     struct ipipe_domain_attr attr; //ipipe
 
     // Als allererstes die RT-lib initialisieren
@@ -200,25 +200,24 @@
 
     printk(KERN_INFO "=== Starting EtherCAT environment... ===\n");
 
-    if ((ecat_master = EtherCAT_request(0)) == NULL) {
+    if ((master = EtherCAT_rt_request_master(0)) == NULL) {
         printk(KERN_ERR "EtherCAT master 0 not available!\n");
         goto out_msr_cleanup;
     }
 
+#if 0
     printk("Checking EtherCAT slaves.\n");
-
-    if (EtherCAT_check_slaves(ecat_master, ecat_slaves, ECAT_SLAVES_COUNT) != 0) {
+    if (EtherCAT_check_slaves(master, ecat_slaves, ECAT_SLAVES_COUNT) != 0) {
         printk(KERN_ERR "EtherCAT: Could not init slaves!\n");
         goto out_release_master;
     }
+#endif
 
     printk("Activating all EtherCAT slaves.\n");
 
-    for (i = 0; i < ECAT_SLAVES_COUNT; i++) {
-        if (EtherCAT_activate_slave(ecat_master, ecat_slaves + i) < 0) {
-            printk(KERN_ERR "EtherCAT: Could not activate slave %i!\n", i);
-            goto out_release_master;
-        }
+    if (EtherCAT_rt_activate_slaves(master) < 0) {
+      printk(KERN_ERR "EtherCAT: Could not activate slaves!\n");
+      goto out_release_master;
     }
 
     do_gettimeofday(&process_time);
@@ -234,7 +233,7 @@
     return 0;
 
  out_release_master:
-    EtherCAT_release(ecat_master);
+    EtherCAT_rt_release_master(master);
 
  out_msr_cleanup:
     msr_rtlib_cleanup();
@@ -245,28 +244,24 @@
 
 /*****************************************************************************/
 
-void __exit cleanup_module()
-{
-    unsigned int i;
-
+void __exit cleanup_rt_module(void)
+{
     msr_print_info("msk_modul: unloading...");
 
     ipipe_tune_timer(1000000000UL / HZ, 0); //alten Timertakt wieder herstellen
     ipipe_unregister_domain(&this_domain);
 
-    if (ecat_master)
+    if (master)
     {
         printk(KERN_INFO "=== Stopping EtherCAT environment... ===\n");
 
         printk(KERN_INFO "Deactivating slaves.\n");
 
-        for (i = 0; i < ECAT_SLAVES_COUNT; i++) {
-            if (EtherCAT_deactivate_slave(ecat_master, ecat_slaves + i) < 0) {
-                printk(KERN_WARNING "Warning - Could not deactivate slave!\n");
-            }
+        if (EtherCAT_rt_deactivate_slaves(master) < 0) {
+          printk(KERN_WARNING "Warning - Could not deactivate slaves!\n");
         }
 
-        EtherCAT_release(ecat_master);
+        EtherCAT_rt_release_master(master);
 
         printk(KERN_INFO "=== EtherCAT environment stopped. ===\n");
     }
@@ -282,7 +277,7 @@
 MODULE_AUTHOR ("Wilhelm Hagemeister <hm@igh-essen.com>");
 MODULE_DESCRIPTION ("EtherCAT test environment");
 
-module_init(init_module);
-module_exit(cleanup_module);
-
-/*****************************************************************************/
+module_init(init_rt_module);
+module_exit(cleanup_rt_module);
+
+/*****************************************************************************/