include/EtherCAT_si.h
changeset 67 56964b20c15d
parent 66 cab9cc6a2721
child 71 79d7b9cfdeb9
equal deleted inserted replaced
66:cab9cc6a2721 67:56964b20c15d
    15 #define EC_READ_EL10XX(SLAVE, CHANNEL) \
    15 #define EC_READ_EL10XX(SLAVE, CHANNEL) \
    16     ((EC_PROC_DATA(SLAVE)[0] >> (CHANNEL)) & 0x01)
    16     ((EC_PROC_DATA(SLAVE)[0] >> (CHANNEL)) & 0x01)
    17 
    17 
    18 /*****************************************************************************/
    18 /*****************************************************************************/
    19 
    19 
    20 #define EC_READ_EL31XX(SLAVE, CHANNEL) \
       
    21     ((short int) ((EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] << 8) | \
       
    22                    EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1]))
       
    23 
       
    24 /*****************************************************************************/
       
    25 
       
    26 #define EC_WRITE_EL20XX(SLAVE, CHANNEL, VALUE) \
    20 #define EC_WRITE_EL20XX(SLAVE, CHANNEL, VALUE) \
    27     do { \
    21     do { \
    28         if (VALUE) EC_PROC_DATA(SLAVE)[0] |=  (1 << (CHANNEL)); \
    22         if (VALUE) EC_PROC_DATA(SLAVE)[0] |=  (1 << (CHANNEL)); \
    29         else       EC_PROC_DATA(SLAVE)[0] &= ~(1 << (CHANNEL)); \
    23         else       EC_PROC_DATA(SLAVE)[0] &= ~(1 << (CHANNEL)); \
    30     } while (0)
    24     } while (0)
       
    25 
       
    26 /*****************************************************************************/
       
    27 
       
    28 #define EC_READ_EL31XX(SLAVE, CHANNEL) \
       
    29     ((short int) ((EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] << 8) | \
       
    30                    EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 1]))
    31 
    31 
    32 /*****************************************************************************/
    32 /*****************************************************************************/
    33 
    33 
    34 #define EC_WRITE_EL41XX(SLAVE, CHANNEL, VALUE) \
    34 #define EC_WRITE_EL41XX(SLAVE, CHANNEL, VALUE) \
    35     do { \
    35     do { \
    37         EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] =  (VALUE) & 0xFF; \
    37         EC_PROC_DATA(SLAVE)[(CHANNEL) * 3 + 2] =  (VALUE) & 0xFF; \
    38     } while (0)
    38     } while (0)
    39 
    39 
    40 /*****************************************************************************/
    40 /*****************************************************************************/
    41 
    41 
    42 #define EC_READ_EL5001(SLAVE) \
    42 #define EC_CONF_EL5001_BAUD (0x4067)
       
    43 
       
    44 #define EC_READ_EL5001_STATE(SLAVE) \
       
    45     ((unsigned char) EC_PROC_DATA(SLAVE)[0])
       
    46 
       
    47 #define EC_READ_EL5001_VALUE(SLAVE) \
    43     ((unsigned int) (EC_PROC_DATA(SLAVE)[1] | \
    48     ((unsigned int) (EC_PROC_DATA(SLAVE)[1] | \
    44                      (EC_PROC_DATA(SLAVE)[2] << 8) | \
    49                      (EC_PROC_DATA(SLAVE)[2] << 8) | \
    45                      (EC_PROC_DATA(SLAVE)[3] << 16) | \
    50                      (EC_PROC_DATA(SLAVE)[3] << 16) | \
    46                      (EC_PROC_DATA(SLAVE)[4] << 24)))
    51                      (EC_PROC_DATA(SLAVE)[4] << 24)))
    47 
    52 
    48 #define EC_READ_EL5001_STATE(SLAVE) \
    53 /*****************************************************************************/
       
    54 
       
    55 #define EC_READ_EL5101_STATE(SLAVE) \
    49     ((unsigned char) EC_PROC_DATA(SLAVE)[0])
    56     ((unsigned char) EC_PROC_DATA(SLAVE)[0])
       
    57 
       
    58 #define EC_READ_EL5101_VALUE(SLAVE) \
       
    59     ((unsigned int) (EC_PROC_DATA(SLAVE)[1] | \
       
    60                      (EC_PROC_DATA(SLAVE)[2] << 8)))
       
    61 
       
    62 #define EC_READ_EL5101_LATCH(SLAVE) \
       
    63     ((unsigned int) (EC_PROC_DATA(SLAVE)[3] | \
       
    64                      (EC_PROC_DATA(SLAVE)[4] << 8)))
    50 
    65 
    51 /*****************************************************************************/
    66 /*****************************************************************************/
    52 
    67 
    53 /* Emacs-Konfiguration
    68 /* Emacs-Konfiguration
    54 ;;; Local Variables: ***
    69 ;;; Local Variables: ***