I strongly advise you against using macros where a function seems more appropriate. The compiler will probably inline it for you anyway. And it is more readable, and doesn't have this issue with the formatter.
No, the preprocessor will simply change the call to calcNP() with the desired macro code. If a use a methode calcNP() the compiler generates subroutine calls. (You can see this in the resulting code size. Using the marco, the code is slightly bigger.) I need this methode in a ISR, so i want to save as much clock cycles as i can.
it's a complete Sketchbook with the test project. The original project (http://wkla.dyndns.org/ArduinoWiki/doku.php?id=arduino:modellbau:projekte:flugesc) is not ready... i just working on a new Servo/RCReciver lib for the ATTinyx5, because the one that i use, always let my servos jitter.
(I use the latest WinAVR version, because i get the all known "R_AVR_13_PCREL against symbol" error)