I am not sure if this is the right place to post my question, but my question is about planing and documenting the software on an AVR you are working on - or going to work on.
I find that the larger the project gets, the more nested the routines the more difficult it gets to keep a general view on what is going on.
I think that the C++ and its objects help to keep well organized but it is not THE solution.
And then you all know that felling get looking at your code a couple of months later and thinking what did I intend here?
So I have come to a conclusion that i need to start documenting better, apart of the remarks in the code. I think I need a general flowchart for the broad picture of my software but also some way to document other routines. What is a good way to do it? What are your experiences? How do you do bigger projects or in cases where you are not the only one coding - or if you want to be able to understand your code months or years in future?
The reason that I am asking myself this question is that I am working on a project with a touchscreen, menu, CAN bus and some kind of multitasking.
Your comments are appreciated.