Need help with an idea

RayLivingston:
There is not a reason in the world setup cannot, or even should not, be called by the main program, as long as it is not doing anything that would cause incorrect operation of that program. And that is entirely within the control of the programmer. There is nothing at all special or different about setup - it's just another function that happens to get called by init(), but in many cases could also be called from anywhere else within the program if it makes sense to do so.
Regards,
Ray L.

I disagree. The purpose of setup() is to establish the operation environment for the program. If you stay with the intended use of setup(), there is no reason to call it a second time. If you want to play games with setup() and use it for something beyond, or instead of, what it's intended for, that's your prerogative. However, I do not think that calling it a second time, if it's already accomplished its intended purpose, is good coding practice. Indeed, I don't think I've ever seen someone explicitly call setup().