diff --git a/master/fsm_sii.c b/master/fsm_sii.c index f1f9d9239f2d45a602e916f562a0ccc29110839f..fb911b38fecf52f30b2f448b8bde0d5ece02d926 100644 --- a/master/fsm_sii.c +++ b/master/fsm_sii.c @@ -184,7 +184,8 @@ void ec_fsm_sii_state_start_reading( EC_WRITE_U16(datagram->data + 2, fsm->word_offset); #ifdef SII_DEBUG - EC_SLAVE_DBG(slave, 0, "reading SII data:\n"); + EC_SLAVE_DBG(fsm->slave, 0, "reading SII data, word %u:\n", + fsm->word_offset); ec_print_data(datagram->data, 4); #endif diff --git a/master/fsm_slave_scan.c b/master/fsm_slave_scan.c index c5aac8a393ee3e112f72a499c7df7ce79c7d82a1..18b4e371e0b8134ab7ab87772ebad0b7aa7a2b32 100644 --- a/master/fsm_slave_scan.c +++ b/master/fsm_slave_scan.c @@ -505,8 +505,10 @@ void ec_fsm_slave_scan_state_sii_size(ec_fsm_slave_scan_t *fsm /**< slave state fsm->slave->error_flag = 1; fsm->state = ec_fsm_slave_scan_state_error; EC_SLAVE_ERR(slave, "Failed to determine SII content size:" - " Reading word offset 0x%04x failed.\n", fsm->sii_offset); - return; + " Reading word offset 0x%04x failed. Assuming %u words.\n", + fsm->sii_offset, EC_FIRST_SII_CATEGORY_OFFSET); + slave->sii_nwords = EC_FIRST_SII_CATEGORY_OFFSET; + goto alloc_sii; } cat_type = EC_READ_U16(fsm->fsm_sii.value);