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.)
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.
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
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 ?
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!
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.