I did more analysis. The error I get is "Error: too few arguments to function 'int takeAction(int, int)' and it refers only to a block of code where I define the takeAction() function because the compiler complains it isn't in scope. My code is broken down into 3 tabs. The takeAction() function is in one of them. It is invoked by a function in the same tab, and there I've no problem. It was to solve a different issue that I put a call to the takeAction() function in another tab. However, I'd thought the different tabs was just for ease of programming, that everything was all at the same level. I never before had an error caused by invoking a function from one tab to another.
Getting this scope error, I declared takeAction(int, int) outside the code -- before setup and loop(), right after the includes. Because the second parameter (an int) isn't shown to be optional in this declaration, is the reason I got the error. Please note that in the function implementation I specify int, int as in takeAction(int doIt, int waitime=defaultWait);
I think this issue is a quirk that's easily solved by passing a 0 for the second parameter. I will most likely research the issue some more, but at least I have a solution. I think I need educate myself on how to declare an extern function with a default parameter.