master/slave.h
changeset 618 e4b89c862c43
parent 613 bf28ede88c70
child 619 15becb1879fd
equal deleted inserted replaced
617:3c628bb7f68b 618:e4b89c862c43
   114    Sync manager configuration (EEPROM).
   114    Sync manager configuration (EEPROM).
   115 */
   115 */
   116 
   116 
   117 typedef struct
   117 typedef struct
   118 {
   118 {
   119     struct list_head list; /**< list item */
       
   120     unsigned int index; /**< sync manager index */
   119     unsigned int index; /**< sync manager index */
   121     uint16_t physical_start_address; /**< physical start address */
   120     uint16_t physical_start_address; /**< physical start address */
   122     uint16_t length; /**< data length in bytes */
   121     uint16_t length; /**< data length in bytes */
   123     uint8_t control_register; /**< control register value */
   122     uint8_t control_register; /**< control register value */
   124     uint8_t enable; /**< enable bit */
   123     uint8_t enable; /**< enable bit */
   217     // base data
   216     // base data
   218     uint8_t base_type; /**< slave type */
   217     uint8_t base_type; /**< slave type */
   219     uint8_t base_revision; /**< revision */
   218     uint8_t base_revision; /**< revision */
   220     uint16_t base_build; /**< build number */
   219     uint16_t base_build; /**< build number */
   221     uint16_t base_fmmu_count; /**< number of supported FMMUs */
   220     uint16_t base_fmmu_count; /**< number of supported FMMUs */
   222     uint16_t base_sync_count; /**< number of supported sync managers */
       
   223 
   221 
   224     // data link status
   222     // data link status
   225     uint8_t dl_link[4]; /**< link detected */
   223     uint8_t dl_link[4]; /**< link detected */
   226     uint8_t dl_loop[4]; /**< loop closed */
   224     uint8_t dl_loop[4]; /**< loop closed */
   227     uint8_t dl_signal[4]; /**< detected signal on RX port */
   225     uint8_t dl_signal[4]; /**< detected signal on RX port */
   241     uint16_t sii_tx_mailbox_offset; /**< mailbox address (slave to master) */
   239     uint16_t sii_tx_mailbox_offset; /**< mailbox address (slave to master) */
   242     uint16_t sii_tx_mailbox_size; /**< mailbox size (slave to master) */
   240     uint16_t sii_tx_mailbox_size; /**< mailbox size (slave to master) */
   243     uint16_t sii_mailbox_protocols; /**< supported mailbox protocols */
   241     uint16_t sii_mailbox_protocols; /**< supported mailbox protocols */
   244     uint8_t sii_physical_layer[4]; /**< port media */
   242     uint8_t sii_physical_layer[4]; /**< port media */
   245     struct list_head sii_strings; /**< EEPROM STRING categories */
   243     struct list_head sii_strings; /**< EEPROM STRING categories */
   246     struct list_head sii_syncs; /**< EEPROM SYNC MANAGER categories */
   244     ec_sii_sync_t *sii_syncs; /**< EEPROM SYNC MANAGER categories */
       
   245     unsigned int sii_sync_count; /**< number of sync managers in EEPROM */
   247     struct list_head sii_pdos; /**< EEPROM [RT]XPDO categories */
   246     struct list_head sii_pdos; /**< EEPROM [RT]XPDO categories */
   248     char *sii_group; /**< slave group acc. to EEPROM */
   247     char *sii_group; /**< slave group acc. to EEPROM */
   249     char *sii_image; /**< slave image name acc. to EEPROM */
   248     char *sii_image; /**< slave image name acc. to EEPROM */
   250     char *sii_order; /**< slave order number acc. to EEPROM */
   249     char *sii_order; /**< slave order number acc. to EEPROM */
   251     char *sii_name; /**< slave name acc. to EEPROM */
   250     char *sii_name; /**< slave name acc. to EEPROM */