void setup() { Serial.begin(2000000); } void doApfelmannFloat() { const int radius = 16 * 1000 * 10; const float pmin = -2.25; const float pmax = 0.75; const float qmin = -1.5; const float qmax = 1.5; const int anzahl = 100; const float pdiff = pmax-pmin; const float qdiff = qmax-qmin; float xneu, yneu; float p, q, x, y; float xsq, ysq; int k; int hit = 0; //GDP_CLS(); for (int xkoor=0; xkoor < 511; xkoor++ ) { for (int ykoor=0; ykoor < 255; ykoor++) { p = pdiff*xkoor/511+pmin; q = qdiff*ykoor/255+qmin; x = 0; y = 0; k = 0; do { xneu = x*x-y*y + p; yneu = 2*x*y + q; k++; x = xneu; y = yneu; } while (((x*x+y*y) < radius) && (k < anzahl)); if ((k % 2) == 1) { delay(0); //for ESP8266 WiFi Wemos D1, see https://github.com/esp8266/Arduino/issues/3680 //GDP_MOVETO(xkoor, ykoor); //GDP_CMD(0xFFFFFF70, 0b10100000); } } } } // the loop function runs over and over again forever void loop() { unsigned long t, t1, t2; Serial.println("Los"); t1 = millis(); doApfelmannFloat(); t2 = millis(); t = t2 - t1; Serial.print("Time: ");Serial.print(t/1000);Serial.println(" s"); Serial.println("done"); delay(2000); }