Add duty_cycle, extra checks in set functions, generator update.

Phase no longer depends on 2pi multiplier for fractional axis period.