❤Thanks a lot tutor🎉... This is exactly, what I want to learn for improvement in my carrier as Embedd Firmware developer ....! Finally, i found a treasure like channel accidentally. 😊 🎉 🎉🎉 🎉🎉🎉 Greetings .....!
Thanks for a clear explanation of the use of constructors and of "this". I wonder if an advantage of using "_" or "m_" before the variable name is that it makes it clear that it is a private variable that we are using, and we should not expect to be able to access it otherwise.
This really is a matter of preference, all options are valid (although if you just add an underscore, maybe better to add it to the end. So you'd have "pin", or "m_pin", or "pin_") One thing is: try to be consistent, and if you join an existing project/job/etc, then use the same convention as they do :)
Im also intetested in learning about using an existing library to make functions to control things, say for instance using a fastled or neopixel library to make some of my own displays and save them, im not sure how to declare libraries inside the cpp and h files. i get multiple definitions sometimes and others its not defined.
What if I already have an object created, using an available library, but I need to make some additional methods for it? May I ask for hints on how to do that, please!
Hi, thanks for the lesson. I tried to try it but I always get the no such file or directory error. I had put the header and the cpp files in the same folder. Could you help?
Ok just have to say it. So to call 3 different functions, you wrote 2 files, both of which with more lines of code than the example. All to replace 3 lines in the example. Also there is more space allocated with the object. This is the problem with "oop" and it only becomes more difficult to follow the code and takes up more space in real programs. This is bad in embedded programming. I used to be very much into oop and all that Clean Code stuff and it can be kind of good to know it in the beginning, but understanding the hardware is better in the long run if you want to make more complex things. Knowing oop clean code principals will not help you understanding why your arduino stops working because of too many spikes in your circuit, why the timing of some thing is off etc etc..
Yes, definitely OOP is not suitable for embedded system programming, especially if you are going deeper with STM32 etc. But here with Arduino, the Arduino library is already a huge overhead, so adding OOP won't make much difference. I use OOP only with Arduino because programming Arduino (using Arduino libraries) is more like accessing the hardware as a software developer, not an embedded system developer. In the course I give more explanations about that. Then, for the example I use, yes I agree it's a lot of code for not much. But in all my tutorials/courses, my way to teach is to remove everything that is not about the concept, so we just focus on the concept. Thus, instead of starting from a 500 lines code, I start from the most basic example. Just so we can focus on OOP and not spend 20 minutes explaining what the code is about :)