master/fsm_pdo_config.c
changeset 858 69122084d066
parent 854 f4f53be425ac
child 859 233e32f428e1
equal deleted inserted replaced
857:7874c884dc2b 858:69122084d066
   212 
   212 
   213     // set mapped Pdo count to zero
   213     // set mapped Pdo count to zero
   214     EC_WRITE_U8(&fsm->request.data, 0);
   214     EC_WRITE_U8(&fsm->request.data, 0);
   215     fsm->request.data_size = 1;
   215     fsm->request.data_size = 1;
   216     ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0);
   216     ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0);
   217     ec_sdo_request_write(&fsm->request);
   217     ecrt_sdo_request_write(&fsm->request);
   218     if (fsm->slave->master->debug_level)
   218     if (fsm->slave->master->debug_level)
   219         EC_DBG("Setting entry count to zero for Pdo 0x%04X.\n",
   219         EC_DBG("Setting entry count to zero for Pdo 0x%04X.\n",
   220                 fsm->pdo->index);
   220                 fsm->pdo->index);
   221 
   221 
   222     fsm->state = ec_fsm_pdo_config_state_zero_count;
   222     fsm->state = ec_fsm_pdo_config_state_zero_count;
   252     value = fsm->entry->index << 16
   252     value = fsm->entry->index << 16
   253         | fsm->entry->subindex << 8 | fsm->entry->bit_length;
   253         | fsm->entry->subindex << 8 | fsm->entry->bit_length;
   254     EC_WRITE_U32(&fsm->request.data, value);
   254     EC_WRITE_U32(&fsm->request.data, value);
   255     fsm->request.data_size = 4;
   255     fsm->request.data_size = 4;
   256     ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->entry_count);
   256     ec_sdo_request_address(&fsm->request, fsm->pdo->index, fsm->entry_count);
   257     ec_sdo_request_write(&fsm->request);
   257     ecrt_sdo_request_write(&fsm->request);
   258     if (fsm->slave->master->debug_level)
   258     if (fsm->slave->master->debug_level)
   259         EC_DBG("Configuring Pdo entry %08X at position %u.\n",
   259         EC_DBG("Configuring Pdo entry %08X at position %u.\n",
   260                 value, fsm->entry_count);
   260                 value, fsm->entry_count);
   261     
   261     
   262     fsm->state = ec_fsm_pdo_config_state_add_entry;
   262     fsm->state = ec_fsm_pdo_config_state_add_entry;
   318     if (!(fsm->entry = ec_fsm_pdo_config_next_entry(fsm, &fsm->entry->list))) {
   318     if (!(fsm->entry = ec_fsm_pdo_config_next_entry(fsm, &fsm->entry->list))) {
   319         // No more entries to add. Write entry count.
   319         // No more entries to add. Write entry count.
   320         EC_WRITE_U8(&fsm->request.data, fsm->entry_count);
   320         EC_WRITE_U8(&fsm->request.data, fsm->entry_count);
   321         fsm->request.data_size = 1;
   321         fsm->request.data_size = 1;
   322         ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0);
   322         ec_sdo_request_address(&fsm->request, fsm->pdo->index, 0);
   323         ec_sdo_request_write(&fsm->request);
   323         ecrt_sdo_request_write(&fsm->request);
   324         if (fsm->slave->master->debug_level)
   324         if (fsm->slave->master->debug_level)
   325             EC_DBG("Setting number of Pdo entries to %u.\n",
   325             EC_DBG("Setting number of Pdo entries to %u.\n",
   326                     fsm->entry_count);
   326                     fsm->entry_count);
   327         
   327         
   328         fsm->state = ec_fsm_pdo_config_state_entry_count;
   328         fsm->state = ec_fsm_pdo_config_state_entry_count;