diff -r 2d2b120ba734 -r cd014255f94f mini/mini.c --- a/mini/mini.c Thu Jan 26 11:06:56 2006 +0000 +++ b/mini/mini.c Thu Jan 26 13:41:47 2006 +0000 @@ -12,8 +12,8 @@ #include #include -#include "../include/EtherCAT_rt.h" -#include "../include/EtherCAT_si.h" +#include "../include/EtherCAT_rt.h" // Echtzeitschnittstelle +#include "../include/EtherCAT_si.h" // Slave-Interface-Makros /*****************************************************************************/ @@ -26,15 +26,13 @@ struct timer_list timer; unsigned long last_start_jiffies; -/*****************************************************************************/ +ec_slave_init_t slaves[] = { + // Zeiger, Index, Herstellername, Produktname, Domäne + { &s_out, 9, "Beckhoff", "EL2004", 1 }, + { &s_in, 1, "Beckhoff", "EL3102", 1 } +}; -int __init check_slaves(void) -{ - s_in = EtherCAT_rt_register_slave(master, 1, "Beckhoff", "EL3102", 1); - s_out = EtherCAT_rt_register_slave(master, 9, "Beckhoff", "EL2004", 1); - - return s_in && s_out; -} +#define SLAVE_COUNT (sizeof(slaves) / sizeof(ec_slave_init_t)) /*****************************************************************************/ @@ -69,14 +67,16 @@ goto out_return; } - if (!check_slaves()) { + //EtherCAT_rt_debug_level(master, 2); + + if (EtherCAT_rt_register_slave_list(master, slaves, SLAVE_COUNT)) { printk(KERN_ERR "Could not register slaves!\n"); goto out_release_master; } printk("Activating all EtherCAT slaves.\n"); - if (EtherCAT_rt_activate_slaves(master) != 0) { + if (EtherCAT_rt_activate_slaves(master)) { printk(KERN_ERR "EtherCAT: Could not activate slaves!\n"); goto out_release_master; }