new user problems & roll-in misunderstandings

PollysCracker
Posts: 5
Joined: Fri Jul 19, 2024 11:08 pm

new user problems & roll-in misunderstandings

Postby PollysCracker » Sun Jul 21, 2024 9:21 pm

Hello,

My apologies if this question has been asked multiple times before, i tried searching the forum but 9/10 i get returned with HTTP ERROR 500, so thats not very usefull.

I'm new to esp32, i'm having some trouble finding the right workflow in searching documentation etc.
Currently im using these documentation sources:
- https://github.com/espressif/arduino-esp32
- https://github.com/espressif/esp-idf
- https://espressif-docs.readthedocs-host ... index.html
- https://readthedocs.com/projects/espres ... downloads/
- https://docs.espressif.com/projects/esp ... index.html
- https://www.espressif.com/sites/default ... eet_en.pdf
I'm also using tutorial websites like https://randomnerdtutorials.com/projects-esp32/ and many others to learn from examples.

But i'm having alot of difficulty in the efficiency of finding my way when i want to look up something, for example, in an example sketch the function timerBegin is called, I want to know the description and function parameters and anything else related to it to keep in mind when using.
Or a function uses a specifik struct or attribute and i want the see what all the options are, is there a place where all attributes and structs, defenitions, etc.. are listed and tells you where to find the source files to look these up?
Its usually a big hassle/many google searches later untill i finally find from what library a function comes and then where to effectively find that specifik library/header, is there a central place where i can search for these esp related things?


Another major thing i'm struggling with in understanding is the diffrence between arduino-esp32 and ESP-IDF versions/framework/core.
Am i correct when i say when coding in arduino IDE for a esp32 board, i cant use the ESP-IDF version/documentation but only the arduino-esp32 and that not all features from esp-idf are availlable such as for example FreeRTOS?
and what about vice versa, say i install platformio with vscode, can i use the documentation from arduino-esp32 or only ESP-IDF documentation?
Another example of the seemingly limited functionality in arduino IDE is the make menuconfig file or kconfig or sdkconfig used for some features of the esp32, these are nowhere to be found when using arduino IDE? how is it done here?

as last, what helped you find your way in the vast ocean of documentation when you first started, any tips, books/audiobooks, podcasts, tutors, anything really is greatly appreciated.

uC_Jon
Posts: 18
Joined: Fri Jan 05, 2024 7:03 pm

Re: new user problems & roll-in misunderstandings

Postby uC_Jon » Tue Jul 23, 2024 11:12 am

Hi there,

In simple terms if you are using Arduino then you must use the Arduino documentation, if you're using the esp-idf then the documentation for that. Arduino kinda/sorta does it own thing even if its functionality copies a lot of the stuff that the espressif idf provides.

PlatfromIO is a development environment on top of the base code environment (be that Arduino or esp-idf or other environments and devices) so things like the IDE, debugging, unit testing, code analysis all "on top" of either Arduino or esp-idf.

I come from an AS/400 background (mainly business accounting software written in RPG (which looked kinda somewhere between assembly and basic but was very simplistic in its over all concepts data in>do sums>data out) with absolutely 0 knowledge of c, cmake, protocols (such as I2C) and so on.

I literally started learning c and everything else for a few months on the raspberry pico, then switched to esp32's of various flavours.

You really can't go far wrong with the https://docs.espressif.com/projects/esp ... index.html starting with the "get started" (to set up your environment and IDE of choice; don't forget to change the device to the one you're programming) and then copying various examples from the https://github.com/espressif/esp-idf/tr ... r/examples and modifying them to your needs.

I started with simple I2C projects to talk to things like a temp sensor then a movement sensor just logging/printing the readings by copying an I2C example and then coding for the specific device I wish to talk to using its datasheet. I then modified some of the examples to be laid out and work more like the espressif components (from the registry: https://components.espressif.com/) for a number of specific devices I wished to use and tried out an SPI display example, and now I'm slowly getting to the point where all my individual tests/examples/components will be added to a single project to read I2C devices, show the results on an SPI LED display with fancy graphics (LVGL) and control a couple of relays switch my heating/cooling on and off at set times.

Honestly the documentation for esp-idf and the code examples supplied are so good that with a slow methodical approach with a design goal in mind the espessif development can not be bettered. The documentation is really top notch and seems to be really complete; if the device can do something - the documentation will tell you how. For things that are a bit more unique or specific then there is this forum, or the github repositories for help (such as my most recent question on vscode and multi-project workspaces).

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 208 guests