equal
deleted
inserted
replaced
501 ec_print_data(data, rec_size); |
501 ec_print_data(data, rec_size); |
502 fsm->state = ec_fsm_coe_error; |
502 fsm->state = ec_fsm_coe_error; |
503 return; |
503 return; |
504 } |
504 } |
505 |
505 |
506 sdo_count = (rec_size - 8) / 2; |
506 bool first_segment = list_empty(&slave->sdo_dictionary) ? true : false; |
|
507 size_t index_list_offset = first_segment ? 8 : 6; |
|
508 |
|
509 sdo_count = (rec_size - index_list_offset) / 2; |
507 |
510 |
508 for (i = 0; i < sdo_count; i++) { |
511 for (i = 0; i < sdo_count; i++) { |
509 sdo_index = EC_READ_U16(data + 8 + i * 2); |
512 sdo_index = EC_READ_U16(data + index_list_offset + i * 2); |
510 if (!sdo_index) { |
513 if (!sdo_index) { |
511 EC_SLAVE_DBG(slave, 1, "SDO dictionary contains index 0x0000.\n"); |
514 EC_SLAVE_DBG(slave, 1, "SDO dictionary contains index 0x0000.\n"); |
512 continue; |
515 continue; |
513 } |
516 } |
514 |
517 |