mini/mini.c
changeset 147 a355b587b4bc
parent 140 b09658e50d6f
child 156 43d7d714679f
equal deleted inserted replaced
146:73a5f7dd3024 147:a355b587b4bc
     1 /******************************************************************************
     1 /******************************************************************************
     2  *
     2  *
     3  * m i n i . c
     3  *  m i n i . c
     4  *
     4  *
     5  * Minimalmodul für EtherCAT
     5  *  Minimalmodul für EtherCAT
     6  *
     6  *
     7  * $Id$
     7  *  $Id$
     8  *
     8  *
     9  *****************************************************************************/
     9  *****************************************************************************/
    10 
    10 
    11 #include <linux/module.h>
    11 #include <linux/module.h>
    12 #include <linux/delay.h>
    12 #include <linux/delay.h>
    34 // Kanäle
    34 // Kanäle
    35 uint32_t k_pos;
    35 uint32_t k_pos;
    36 uint8_t k_stat;
    36 uint8_t k_stat;
    37 
    37 
    38 ec_field_init_t domain1_fields[] = {
    38 ec_field_init_t domain1_fields[] = {
    39     {NULL, "1", "Beckhoff", "EL1014", "InputValue",  0},
    39     {NULL, "1", "Beckhoff", "EL5001", "InputValue", 0},
    40     {NULL, "2", "Beckhoff", "EL2004", "OutputValue", 0},
    40     {NULL, "2", "Beckhoff", "EL4132", "OutputValue",  0},
    41     //{NULL, "3", "Beckhoff", "EL3162", "InputValue",  0},
       
    42     {NULL, "4", "Beckhoff", "EL4132", "OutputValue",  0},
       
    43     {NULL, "6", "Beckhoff", "EL5001", "InputValue", 0},
       
    44     {}
    41     {}
    45 };
    42 };
    46 
    43 
    47 /*****************************************************************************/
    44 /*****************************************************************************/
    48 
    45 
    59     //k_pos   = EC_READ_U32(r_ssi_input);
    56     //k_pos   = EC_READ_U32(r_ssi_input);
    60     //k_stat  = EC_READ_U8(r_ssi_status);
    57     //k_stat  = EC_READ_U8(r_ssi_status);
    61 
    58 
    62     // Prozessdaten senden
    59     // Prozessdaten senden
    63     ecrt_domain_queue(domain1);
    60     ecrt_domain_queue(domain1);
       
    61     ecrt_master_run(master);
    64     ecrt_master_async_send(master);
    62     ecrt_master_async_send(master);
    65 #else
    63 #else
    66     // Prozessdaten senden und empfangen
    64     // Prozessdaten senden und empfangen
    67     ecrt_domain_queue(domain1);
    65     ecrt_domain_queue(domain1);
       
    66     ecrt_master_run(master);
    68     ecrt_master_sync_io(master);
    67     ecrt_master_sync_io(master);
    69     ecrt_domain_process(domain1);
    68     ecrt_domain_process(domain1);
    70 
    69 
    71     // Prozessdaten verarbeiten
    70     // Prozessdaten verarbeiten
    72     //k_pos   = EC_READ_U32(r_ssi_input);
    71     //k_pos   = EC_READ_U32(r_ssi_input);
   168     add_timer(&timer);
   167     add_timer(&timer);
   169 
   168 
   170     printk(KERN_INFO "=== Minimal EtherCAT environment started. ===\n");
   169     printk(KERN_INFO "=== Minimal EtherCAT environment started. ===\n");
   171     return 0;
   170     return 0;
   172 
   171 
       
   172 #if 0
   173  out_deactivate:
   173  out_deactivate:
   174     ecrt_master_deactivate(master);
   174     ecrt_master_deactivate(master);
       
   175 #endif
   175  out_release_master:
   176  out_release_master:
   176     ecrt_release_master(master);
   177     ecrt_release_master(master);
   177  out_return:
   178  out_return:
   178     return -1;
   179     return -1;
   179 }
   180 }