Index: /fact/FPG/FPG1/FPG1.pde
===================================================================
--- /fact/FPG/FPG1/FPG1.pde	(revision 12573)
+++ /fact/FPG/FPG1/FPG1.pde	(revision 12573)
@@ -0,0 +1,38 @@
+int triggerPin = 2;
+double uRandom;
+long expect = 40000; // expectation value of randomnumbers --> trigger delay in microsecs  
+long trigger_delay;
+
+void setup() {
+  pinMode(triggerPin, OUTPUT);
+  randomSeed(1234);
+}
+
+void loop() {
+  digitalWrite(triggerPin, LOW);
+ digitalWrite(triggerPin, HIGH);
+
+
+  // the next two lines take around 250us....   
+  uRandom = 2147483647. / random(2147483647L) ;
+  trigger_delay = (long)(expect * log(uRandom));
+
+  // ... here these 250us are substracted...  
+  if (trigger_delay > 250)
+    trigger_delay -= 250;
+  else
+    trigger_delay = 1;
+
+
+  while (trigger_delay > 0){
+   if (trigger_delay > 16383) {
+     delayMicroseconds(16383);
+     trigger_delay -= 16383;
+   }
+   else
+   {
+     delayMicroseconds((unsigned int)trigger_delay);
+     trigger_delay = 0;
+   }
+  }
+}
