master/fsm_slave_scan.c
changeset 834 0791aac03180
parent 831 ded9519c8d6e
child 841 6f0cf00d7107
equal deleted inserted replaced
833:5dca670ae4dd 834:0791aac03180
   463         return;
   463         return;
   464     }
   464     }
   465 
   465 
   466     // Evaluate EEPROM contents
   466     // Evaluate EEPROM contents
   467 
   467 
   468     slave->sii_alias =
   468     slave->sii.alias =
   469         EC_READ_U16(slave->eeprom_data + 2 * 0x0004);
   469         EC_READ_U16(slave->eeprom_data + 2 * 0x0004);
   470     slave->sii_vendor_id =
   470     slave->sii.vendor_id =
   471         EC_READ_U32(slave->eeprom_data + 2 * 0x0008);
   471         EC_READ_U32(slave->eeprom_data + 2 * 0x0008);
   472     slave->sii_product_code =
   472     slave->sii.product_code =
   473         EC_READ_U32(slave->eeprom_data + 2 * 0x000A);
   473         EC_READ_U32(slave->eeprom_data + 2 * 0x000A);
   474     slave->sii_revision_number =
   474     slave->sii.revision_number =
   475         EC_READ_U32(slave->eeprom_data + 2 * 0x000C);
   475         EC_READ_U32(slave->eeprom_data + 2 * 0x000C);
   476     slave->sii_serial_number =
   476     slave->sii.serial_number =
   477         EC_READ_U32(slave->eeprom_data + 2 * 0x000E);
   477         EC_READ_U32(slave->eeprom_data + 2 * 0x000E);
   478     slave->sii_rx_mailbox_offset =
   478     slave->sii.rx_mailbox_offset =
   479         EC_READ_U16(slave->eeprom_data + 2 * 0x0018);
   479         EC_READ_U16(slave->eeprom_data + 2 * 0x0018);
   480     slave->sii_rx_mailbox_size =
   480     slave->sii.rx_mailbox_size =
   481         EC_READ_U16(slave->eeprom_data + 2 * 0x0019);
   481         EC_READ_U16(slave->eeprom_data + 2 * 0x0019);
   482     slave->sii_tx_mailbox_offset =
   482     slave->sii.tx_mailbox_offset =
   483         EC_READ_U16(slave->eeprom_data + 2 * 0x001A);
   483         EC_READ_U16(slave->eeprom_data + 2 * 0x001A);
   484     slave->sii_tx_mailbox_size =
   484     slave->sii.tx_mailbox_size =
   485         EC_READ_U16(slave->eeprom_data + 2 * 0x001B);
   485         EC_READ_U16(slave->eeprom_data + 2 * 0x001B);
   486     slave->sii_mailbox_protocols =
   486     slave->sii.mailbox_protocols =
   487         EC_READ_U16(slave->eeprom_data + 2 * 0x001C);
   487         EC_READ_U16(slave->eeprom_data + 2 * 0x001C);
   488 
   488 
   489     if (eeprom_word_size == EC_FIRST_EEPROM_CATEGORY_OFFSET) {
   489     if (eeprom_word_size == EC_FIRST_EEPROM_CATEGORY_OFFSET) {
   490         // eeprom does not contain category data
   490         // eeprom does not contain category data
   491         fsm->state = ec_fsm_slave_scan_state_end;
   491         fsm->state = ec_fsm_slave_scan_state_end;
   566                     slave->ring_position);
   566                     slave->ring_position);
   567             goto end;
   567             goto end;
   568         }
   568         }
   569     }
   569     }
   570 
   570 
   571     if (slave->sii_mailbox_protocols & EC_MBOX_COE) {
   571     if (slave->sii.mailbox_protocols & EC_MBOX_COE) {
   572         ec_fsm_slave_scan_enter_preop(fsm);
   572         ec_fsm_slave_scan_enter_preop(fsm);
   573     } else {
   573     } else {
   574         fsm->state = ec_fsm_slave_scan_state_end;
   574         fsm->state = ec_fsm_slave_scan_state_end;
   575     }
   575     }
   576     return;
   576     return;