Dear almytom,
Thank you very much for your post! So if I understand you correctly, all the library functions refer to pin numbers of the Arduino board itself, not of the Atmega?
No wonder I was screwed up!!!
But I still don't quite understand how pin A1 is actually D15 or plain 15. My schematic doesn't show these; atmega pin 24 is signal AD1 which connects to pin 2 of the "IOH" 6-pin connector. There are no silkscreen markings showing these pin numbers at the connectors. If I treat the Uno board as a giant IC I'd expect pin A1 to be pin #10 (or #28 if you spin the Uno board around). Please explain further- I feel we are very close to making me understand, finally.
As for the many zeroes with intermittent "real" values, I will figure it out once I am sure of the correct pin numbers to use. In real life there is a servo pulse every 20 msec; thanks to ground_fungus and his references to the millis() command I can get the elapsed time displayed on the monitor by adding this command in my code at salient points which should help me decipher the issue. Maybe I have some sort of aliasing issue.
I'm asking around among my friends for who might have a scope they could lend me. No luck yet. They're kind of pricey to buy, for a project which I may decide not to implement ie. the operating model ship.
Thanks again,
Ian