drivers/ec_types.c
branchkernel2.6
changeset 35 ed834aa98f89
parent 24 d417dd9bdc2f
child 39 6965c23a6826
equal deleted inserted replaced
34:c1e8d61fa395 35:ed834aa98f89
    24 unsigned char sm0_2004[] = {0x00, 0x0F, 0x01, 0x00, 0x46, 0x00, 0x01, 0x00};
    24 unsigned char sm0_2004[] = {0x00, 0x0F, 0x01, 0x00, 0x46, 0x00, 0x01, 0x00};
    25 
    25 
    26 unsigned char sm2_31xx[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00};
    26 unsigned char sm2_31xx[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x00, 0x00};
    27 unsigned char sm3_31xx[] = {0x00, 0x11, 0x06, 0x00, 0x20, 0x00, 0x01, 0x00};
    27 unsigned char sm3_31xx[] = {0x00, 0x11, 0x06, 0x00, 0x20, 0x00, 0x01, 0x00};
    28 
    28 
    29 unsigned char sm2_4102[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x01, 0x00};
    29 unsigned char sm2_41xx[] = {0x00, 0x10, 0x04, 0x00, 0x24, 0x00, 0x01, 0x00};
    30 
    30 
    31 
    31 
    32 unsigned char fmmu0_1014[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07,
    32 unsigned char fmmu0_1014[] = {0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x07,
    33                               0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00};
    33                               0x00, 0x10, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00};
    34 
    34 
    36                               0x00, 0x0F, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00};
    36                               0x00, 0x0F, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00};
    37 
    37 
    38 unsigned char fmmu0_31xx[] = {0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x07,
    38 unsigned char fmmu0_31xx[] = {0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x07,
    39                               0x00, 0x11, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00};
    39                               0x00, 0x11, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00};
    40 
    40 
    41 unsigned char fmmu0_4102[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07,
    41 unsigned char fmmu0_41xx[] = {0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x07,
    42                               0x00, 0x10, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00};
    42                               0x00, 0x10, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00};
    43 
    43 
    44 int read_1014(unsigned char *data, unsigned int channel)
    44 int read_1014(unsigned char *data, unsigned int channel)
    45 {
    45 {
    46   return (data[0] >> channel) & 0x01;
    46   return (data[0] >> channel) & 0x01;
    61 int read_31xx(unsigned char *data, unsigned int channel)
    61 int read_31xx(unsigned char *data, unsigned int channel)
    62 {
    62 {
    63   return (short int) ((data[channel * 3 + 2] << 8) | data[channel * 3 + 1]);
    63   return (short int) ((data[channel * 3 + 2] << 8) | data[channel * 3 + 1]);
    64 }
    64 }
    65 
    65 
    66 void write_4102(unsigned char *data, unsigned int channel, int value)
    66 void write_41xx(unsigned char *data, unsigned int channel, int value)
    67 {
    67 {
    68   data[channel * 3 + 1] = (value & 0xFF00) >> 8;
    68   data[channel * 3 + 1] = (value & 0xFF00) >> 8;
    69   data[channel * 3 + 2] = value & 0xFF;
    69   data[channel * 3 + 2] = value & 0xFF;
    70 }
    70 }
    71 
    71 
   101   NULL, write_2004
   101   NULL, write_2004
   102 }};
   102 }};
   103 
   103 
   104 EtherCAT_slave_desc_t Beckhoff_EL3102[] =
   104 EtherCAT_slave_desc_t Beckhoff_EL3102[] =
   105 {{
   105 {{
   106   "Beckhoff", "EL3102", "2x Analog Input Diff",
   106   "Beckhoff", "EL3102", "2x Analog Input diff.",
   107   ECAT_ST_MAILBOX,
   107   ECAT_ST_MAILBOX,
   108   sm0_multi, sm1_multi, sm2_31xx, sm3_31xx,
   108   sm0_multi, sm1_multi, sm2_31xx, sm3_31xx,
   109   fmmu0_31xx,
   109   fmmu0_31xx,
   110   6, 2,
   110   6, 2,
   111   read_31xx, NULL
   111   read_31xx, NULL
   123 
   123 
   124 EtherCAT_slave_desc_t Beckhoff_EL4102[] =
   124 EtherCAT_slave_desc_t Beckhoff_EL4102[] =
   125 {{
   125 {{
   126   "Beckhoff", "EL4102", "2x Analog Output",
   126   "Beckhoff", "EL4102", "2x Analog Output",
   127   ECAT_ST_MAILBOX,
   127   ECAT_ST_MAILBOX,
   128   sm0_multi, sm1_multi, sm2_4102, NULL,
   128   sm0_multi, sm1_multi, sm2_41xx, NULL,
   129   fmmu0_4102,
   129   fmmu0_41xx,
   130   4, 2,
   130   4, 2,
   131   NULL, write_4102
   131   NULL, write_41xx
       
   132 }};
       
   133 
       
   134 EtherCAT_slave_desc_t Beckhoff_EL4132[] =
       
   135 {{
       
   136   "Beckhoff", "EL4132", "2x Analog Output diff.",
       
   137   ECAT_ST_MAILBOX,
       
   138   sm0_multi, sm1_multi, sm2_41xx, NULL,
       
   139   fmmu0_41xx,
       
   140   4, 2,
       
   141   NULL, write_41xx
   132 }};
   142 }};
   133 
   143 
   134 EtherCAT_slave_desc_t Beckhoff_EL5001[] =
   144 EtherCAT_slave_desc_t Beckhoff_EL5001[] =
   135 {{
   145 {{
   136   "Beckhoff", "EL5001", "SSI-Interface",
   146   "Beckhoff", "EL5001", "SSI-Interface",
   151   {0x00000002, 0x044C2C52, Beckhoff_EK1100},
   161   {0x00000002, 0x044C2C52, Beckhoff_EK1100},
   152   {0x00000002, 0x07D43052, Beckhoff_EL2004},
   162   {0x00000002, 0x07D43052, Beckhoff_EL2004},
   153   {0x00000002, 0x0C1E3052, Beckhoff_EL3102},
   163   {0x00000002, 0x0C1E3052, Beckhoff_EL3102},
   154   {0x00000002, 0x0C5A3052, Beckhoff_EL3162},
   164   {0x00000002, 0x0C5A3052, Beckhoff_EL3162},
   155   {0x00000002, 0x10063052, Beckhoff_EL4102},
   165   {0x00000002, 0x10063052, Beckhoff_EL4102},
       
   166   {0x00000002, 0x10243052, Beckhoff_EL4132},
   156   {0x00000002, 0x13893052, Beckhoff_EL5001}
   167   {0x00000002, 0x13893052, Beckhoff_EL5001}
   157 };
   168 };
   158 
   169 
   159 /***************************************************************/
   170 /***************************************************************/
   160 
   171 
   162 EXPORT_SYMBOL(Beckhoff_EL1014);
   173 EXPORT_SYMBOL(Beckhoff_EL1014);
   163 EXPORT_SYMBOL(Beckhoff_EL2004);
   174 EXPORT_SYMBOL(Beckhoff_EL2004);
   164 EXPORT_SYMBOL(Beckhoff_EL3102);
   175 EXPORT_SYMBOL(Beckhoff_EL3102);
   165 EXPORT_SYMBOL(Beckhoff_EL3162);
   176 EXPORT_SYMBOL(Beckhoff_EL3162);
   166 EXPORT_SYMBOL(Beckhoff_EL4102);
   177 EXPORT_SYMBOL(Beckhoff_EL4102);
       
   178 EXPORT_SYMBOL(Beckhoff_EL4132);
   167 EXPORT_SYMBOL(Beckhoff_EL5001);
   179 EXPORT_SYMBOL(Beckhoff_EL5001);