Delay ohne delay

Ich habe jetzt die aktuelle version der DallasTemperatue-Bibliothek : 372Beta
Ich hatte das programm mit dem code "if (oneWire.read_bit()) {" benutzt.
Mit dem neuen programm geht das auf jedenfall schon deutlich schneller , nur noch 3,6 sek um von 0 auf 51 zu kommen, das ist aber immerboch ziemlich viel.
Verzeihung fals ich etwas noch nicht erwähnt habe.
Ich möchte den knopf als an und ausschalt knopf für das programm1 benutzen. d.h. der knopf soll beim drücken während des proggrammes1 als eine art reset knopf fungieren.
Und wenn das programm1 am ende ist soll das programm1 resetet werden (also auch fade auf 0) und verlassen werden, so das ich es wiederverwenden kann wenn ich den knopf drücke.
Eigentlich wollte ich das programm auch an einer beliebigen stelle pausieren und fortsetzen können, aber das wurde mir als unmöglich erklärt, deswegen habe ich mir das erst mal aus dem kopf geschlagen.