Hi again,
I am still learning about the EtherCAT subdevice API. I am aware of the documentation here: software-dl.ti.com/.../group___e_c___a_p_i___s_l_v___o_b_d.html
However, I am still missing some info. I am wondering what is the preferred way to store data in the object dictionary?
As far as I get it I have two possibilities:
1) Storing data in the internal / hidden object dictionary of the stack
- If in my application the data of a SDO object changes I will write the changes with EC_API_SLV_CoE_setObjectData(..) to the stack
2) Registering a callback when generating the object
- the `.._odAdd...()` functions allow to register a write and a read callback, access to the variables can then be directly forwarded to application
Questions:
- if I decide to go for 2) is there still some memory acquired/reserved for this entry in the internal object dictonary?
- Where is the data of the internal object dictonary stored? Heap? Can I configure the size of this OD?
- If I have a Read-Write Variable and use the internal storage of the stack how could I check boundaries etc. or get informed about changes the EtherCAT master issues? Will I always need to register a write-callback?
- When do I need to call EC_API_SLV_CoE_generateObjectDict(), I couldn't find it somewhere in the examples but the documentation states it "Generates Object Dictionary"
Thanks!