Why are you calling ecrt_slave_config_pdos *OR* 
ecrt_slave_config_reg_pdo_entry?  You need to do both things.  (Although you 
can replace the latter with ecrt_domain_reg_pdo_entry_list to avoid a loop in 
your own code.)


Gavin Lambert
Senior Software Developer TOMRA Fresh Food

 


COMPAC SORTING EQUIPMENT LTD | 4 Henderson Pl | Onehunga | Auckland 1061 | New 
Zealand
Switchboard: +49 2630 96520 | https://www.tomra.com

The information contained in this communication and any attachment is 
confidential and may be legally privileged. It should only be read by the 
person(s) to whom it is addressed. If you have received this communication in 
error, please notify the sender and delete the communication.
-----Original Message-----
From: Fontana Nicola
Sent: Sunday, 1 August 2021 8:38 am
To: Graeme Foot <graeme.f...@touchcut.com>; etherlab-users@etherlab.org
Subject: Re: [Etherlab-users] Configuring EL7047 stepper driver

Il giorno lun, 26/07/2021 alle 07.00 +0200, Fontana Nicola ha scritto:
> ...
> I will do my homeworks and report back for future reference.
> ...

I can confirm that, by moving the PDO handling into the application, things 
started working as expected. Here is the updated snippet:

    
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2F-%2Fsnippets%2F2155802&amp;data=04%7C01%7Cgavin.lambert%40tomra.com%7C020593bd03294f1d6ccf08d954631658%7C4308d118edd143008a37cfeba8ad5898%7C0%7C1%7C637633606834855034%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=nLGnNTU%2F52J5y71UJ%2FPsKMsrAv8ASYVFE5HQos8cBxE%3D&amp;reserved=0

The shell script is now used only for bootstrapping the EL7047. All 0x8nnn:nn 
entries in the object dictionary seem to be stored in some non-volatile memory 
(no idea this is customary or mandated by some standard), so that script should 
be called only on new devices.

The manual handling of PDOs on the C side is really tedious and error-prone, so 
I can understand Gavin's suggestion of trying to configure as much as possible 
before `ethercat cstruct`, but I'm confident some kind of abstraction is 
possible (see e.g. the `SlaveLayout` struct in `el7047.c` for details).

Thank you again for your help.

Ciao.
--
Nicola


--
Etherlab-users mailing list
Etherlab-users@etherlab.org
https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.etherlab.org%2Fmailman%2Flistinfo%2Fetherlab-users&amp;data=04%7C01%7Cgavin.lambert%40tomra.com%7C020593bd03294f1d6ccf08d954631658%7C4308d118edd143008a37cfeba8ad5898%7C0%7C1%7C637633606834855034%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=09hYJykWoNSbxHGWss%2Brmww8iycr42NTxi1XytKecVw%3D&amp;reserved=0
-- 
Etherlab-users mailing list
Etherlab-users@etherlab.org
https://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to