// reset operation state | INPUT : eRotaryEncoderMode newMode, int newPosition, int newMaxPosition, int newMinPosition, int newSingleStep, int newMultiStep
// reset operation state | INPUT : eRotaryEncoderMode newMode, int newPosition, int newMaxPosition, int newMinPosition, int newSingleStep, int newMultiStep
// reset operation state | INPUT : eRotaryEncoderMode newMode, int newPosition, int newMaxPosition, int newMinPosition, int newSingleStep, int newMultiStep
// reset operation state | INPUT : eRotaryEncoderMode newMode, int newPosition, int newMaxPosition, int newMinPosition, int newSingleStep, int newMultiStep
// Update the recorded time for the begining of the window, if the previous window has passed
while((millis()-windowStartTime)>iWindowSize){// Check if it's time to vary the pulse width modulation and if so do it by shifting the "Relay in ON" Window
while((millis()-windowStartTime)>iWindowSize){// Check if it's time to vary the pulse width modulation and if so do it by shifting the "Relay in ON" Window
// reset operation state | INPUT : eRotaryEncoderMode newMode, int newPosition, int newMaxPosition, int newMinPosition, int newSingleStep, int newMultiStep