uint16_t bufa; // 4 buffers of 256 readings uint16_t bufb; // 4 buffers of 256 readings bool firstrun = 0; int t; //time since last event float maxcount; float slowfreq; //second frequency measure, //int f; int evt; //event void setup() { Serial.begin(115200); Serial.println("Cosmic Pi Status: Alive"); int t = analogRead(0); pinMode(13, OUTPUT); //int evt; //events ADC->ADC_MR |= 0x80; // these lines set free running mode on adc 4 and adc 6 (pin A0 and A1 - see Due Pinout Diagram thread) ADC->ADC_CR = 2; ADC->ADC_CHER = 0x50; // this is (1<<7) | (1<<6) for adc 3 and adc 6 evt=0; //f = 1; maxcount = 0; } void loop() { int q0 = 0, q1 = 0; int a1, a3; //for (int i = 0; i < 5000; i++) { while ((ADC->ADC_ISR & 0x50) != 0x50); // wait for two conversions (pin A3[4] and A1[6]) a1 = ADC->ADC_CDR[4]; // read data on A3 pin a3 = ADC->ADC_CDR[6]; // read data on A1 pin bufa = a1; bufb = a3; if (bufb > 600) { //software trigger threshold if (bufa > 600) { //software trigger threshold t=millis()-t; if (t > 0) { //f =((f+(1000/t))/2); Serial.print("Cosmic Pi coincidence trigger event. Potential cosmic rays caught so far: "); Serial.print(evt); Serial.print(". Time since last event in ms: "); Serial.print(t); Serial.print(" Frequency: "); //Serial.println(f); maxcount = maxcount + (t/1000); slowfreq = (1/(maxcount/evt)); //Serial.println(maxcount); Serial.print(slowfreq); Serial.println(" Hz"); evt++; t=millis(); digitalWrite(13,HIGH); delay(5); digitalWrite(13,LOW); } } } //q0+=a1; //q1+=a3; //} //t = micros() - t; //Serial.print("5000 pairs of conversions in ");Serial.print(t);Serial.println(" micros"); //Serial.print("A0 total:");Serial.println(q0); //Serial.print("A1 total:");Serial.println(q1); //Serial.print("A0:");Serial.println("A1:"); /*if (firstrun) { for (int i = 0; i < 5000; i++) { if (bufb[i] > 920) { //software trigger if (bufa[i] > 920) { //software trigger //evt++; Serial.print(evt);Serial.print(" Time since last trigger ");Serial.print(t);Serial.println(" micros"); //for (int j = i - 10; j < i + 40; j++) { // Serial.print(j); Serial.print("; "); Serial.print(bufa[j]); Serial.print("; "); Serial.print(bufb[j]); Serial.println(";"); //} } } } t=micros(); } firstrun = 1; */ }