To the TimerOne developers

Now I can pass as pointer only a function outside a class.

Not true. You can pass a pointer to a member of your class, IF the member is static.

Given that there is only one timer 1, it is unlikely that there will be multiple instances of the class, but the fact that there can be multiple instances of a class is why callback functions can not be non-static member functions. How would the function that is calling the callback know which instance of the class to call the method for?