単純波形だろ。
正弦波だと V=sin(t) とか 鋸波だと V=(t%2)-1 とか、
全然チョロいだろ。

というか、
あとあと拡張したいというレベルであればなおさらのこと
こんなところで質問してちゃダメ。
手順を踏んで設計してみることだね。

ちなみに俺は昔作ったことがあるぞ。
デューティ比とかどんどん機能追加したんだけど、
コマンドラインプログラムではかなり空しくなる。
もう面倒で面倒で。