Page 1 of 1

What is TOC, what does it do, and how does it come to play?

Posted: Mon Jun 18, 2018 5:11 pm
by aesreal
Hi all,

This term has been around everywhere, and I still do not really understand what it means. Tried googling but I guess my googling skills are bad.

So, what exactly is TOC, what does it do in the crazyflie framework, and is it important? If so, why?

Would appreciate if someone can enlighten me on this!

Re: What is TOC, what does it do, and how does it come to play?

Posted: Mon Jun 18, 2018 6:07 pm
by aesreal
So, I continued to study all the files available and TOC just means Table Of Contents. What this refer to in crazyflie seems to be a holder for all of the various parameters a crazyflie can have, and cfclient uses this to populate its tabs with data.

Re: What is TOC, what does it do, and how does it come to play?

Posted: Tue Jun 19, 2018 3:13 pm
by arnaud
Yes this is right, TOC is table of content.

Crazyflie has been designed as a research and experimentation platform and so we designed two subsystem that helps a lot experimentation:
- Param: to read or write variables remotely. These variables are not modified in runtime by the Crazylfie and can be modified from the ground. This is used a lot for control and configuration.
- Log: to read variable remotely. These variable can be modified by the Crazyflie firmware at runtime and the ground can ask to get update on the variable values at regular interval by setting up log blocks.

To allow for easy development, these variable are declared in the code and a Table of Content (TOC) is requested by the client to get the names, types and handle/id of all the available variables. There is a TOC for log and one for param.

I hope this gives you some more background about how things are organized and why.

Re: What is TOC, what does it do, and how does it come to play?

Posted: Wed Jun 20, 2018 5:19 am
by aesreal
Hi arnaud,

Thanks for the verification! I have a question about TOC's Param subsystem here: viewtopic.php?f=8&t=3045
Would be grateful if you could take a look!