Ging das an mich oder BigBearRN?

Nochmal zu deinem Code,
Du machst zwar so ne Berechnung in Delay, aber freq= 1/delay bringt garnichts, weil es nirgendwo genutzt wird und die Delay-Funktion nur mit dem Parameter Delay gestartet wird, wo dann eben deine 123 drinstehen.
Wenn du noch ein -> delay=1/delay einfügst, DANN hast du ne Periodendauer in delay stehen. Diese noch /2 wegen des Pegelwechsels und damit kannst du dann die Delay-Funktion beschicken. Aber wie gesagt, ich bezweifel, dass diese floats verarbeiten kann.