Documentation on additional functions?

Hi. Yes, new guy. So, going through the tutorials I've seen a few functions that are not to be found in the reference documentation. I've found some of it on the web, but the real issue is I don't know what all the additional capabilities are until I see them in a tutorial or some such. (stko, aito) for example.

Is there something somewhere that basically shows us ALL the C functions the IDE will support? And I am aware of the libraries... the functions I've come across aren't in there (as best as I can tell.)

Is this what you mean?

The Arduino is actually programmed in C++ not C, but that aside, there are very few C++ functions that you cannot use with an Arduino

Any C++ text book will give you a list and there are, of course, online resources such as https://cplusplus.com/reference/

Unless, perhaps OP is seeing user-defined functions - yet to realise you can write your own for any requirement you have.

Here you can find the AVR libc documentation.

Ciao, Ale.

Welcome to the forum
Post an example of a function you are unfamiliar with so we can understand your concerns.

Use code tags <|> button at top :point_up_2:when you post code

1 Like

I am not familiar with either of those names and Google didn't turn up anything that looked informative for 'stko Arduino' or 'aito Arduino'. That's usually a good way to find documentation for Arduino-related functions.

In what context did you see them?

1 Like

They sound like mispellings of strtok() and atoi() to me but I would be interested to see where where they were used

2 Likes

I sympathize with the OP here. Yes we can use a c++ reference to expand our knowledge beyond the material in the Arudino reference pages - as a newbie I have learned much that way. But I have been unable to find a simple list of what is NOT supported in the Arudino environment. Trial and error is frustrating :unamused:

One of the problems with creating a list of which functions are not supported in the Arduino environment is that it is different depending on which board you are using and even then it can depend on which libraries you have installed

Even if a function is supported then not all of its functionality may be supported. A classic case is the sprintf() function which, on a 328 based system cannot be used with the %f (floating point) parameter, whereas the %f parameter can be used with an ESP32 board.

To further complicate matters, using an ESP32 you can use Serial.printf() but not with a 328 based system. However, if you install the LibPrintf library you can use printf() on a 328 and it default to outputting to Serial without it being explicitly specified

Can you see why creating a simple list of supported functions is difficult ?

1 Like

I see your point. Thanks. Trial and error combined with this forum does eventually help!

I have trouble identifying methods & vars in drivers. When you #include how do you know what the available options and such. I read the github docs but they're often vague.
Do you have to reverse engineer by reading the actual code or what? I like a nice function summary at least. Some have .begin others .start, or .main (just a made up example), how do you know?
Ditto with multiple libraries for the same device. I swap out a driver and 15 method references all error out because the method name is different. Arrrgh!

You get what you pay for.

1 Like

WTF does THAT mean? Arduino is obscure because its free?

Mostly it means writing code is fun while writing documentation is not. If someone is writing code for your own purposes but making it available to the Open Source community free of charge, where do you think they will spend most of their effort?

The code written by folks to support hardware they sell (Adafruit, PJRC) tends to be better documented / supported.

For libraries found in the Library Manager (Tools -> Manage Libraries...), the "More Info" link in the library entry will usually lead to some form of 'official' documentation.

Beyond that, the included library examples are usually a good place to find out how to use the library.

Close enough. I was not aware. I thought the limited scope of the documentation indicated a limited implementation of C++.

Knowing that I can go well beyond the doc is actually good news. Thank you for clearing this up for me.

Hi John. strtok is what I meant -- for parsing character arrays.

Thank you all for your helpful comments. I can see this is a community that has a strong culture of helping new users.

Surely you could find details of the strtok() function and examples of its use

https://cplusplus.com/reference/cstring/strtok/

and the atoi() function
https://cplusplus.com/reference/cstdlib/atoi/?kw=atoi