Pocher, no sé si es que estoy espeso, pero no acabo de entenderte.
Veamos. Dices que para frecuencias distintas, la ecuación de las rectas de subida y bajada es distinta, o sea, el coeficiente "a" cambia, puesto que podemos considerar que "b" es 0.
y=ax+b
Puesto que en el ejemplo que nos ocupa, la variable x es el tiempo transcurrido, su modificador no es otro que la Frecuencia, y esto es precisamente lo que ppalou ha considerado variable con su Delay.
Tal y como yo lo veo, debería funcionar correctamente.
Aunque tengo una duda, delay_us(3.90625), ¿esto funciona con decimales?