27,10 → 27,10 |
const int SDO = 5; // SDO is PD5 |
const int ADSCK = 7; // SCK is PD7 |
|
const int CHANNELS=256; // Number of channels |
const int CHANNELS=512; // Number of channels |
|
//unsigned int channelT[CHANNELS]; // recordig buffer |
unsigned int channelA[CHANNELS]; // recordig buffer |
unsigned char channelA[CHANNELS]; // recordig buffer |
boolean rise=false; // flag fo recording time |
char inChar; // input character from GPS |
String dataString = ""; // concantenated string with NMEA messages and measured values |
176,12 → 176,14 |
} |
|
dataString = ""; // make a string for assembling the data to log |
//!!!ReadGPRMC(); // read NMEA sentences from GPS |
//!!!ReadGPGGA(); |
//* |
ReadGPRMC(); // read NMEA sentences from GPS |
ReadGPGGA(); |
//*/ |
// make a string for assembling the data to log: |
dataString += String(num++); |
//dataString += ","; |
//Serial.print(dataString); |
Serial.print(dataString); |
|
// open the file. note that only one file can be open at a time, |
// so you have to close this one before opening another. |
202,7 → 204,7 |
errorLED(); |
} |
|
for (int i=0; i<(256/32); i++) |
for (int i=0; i<(CHANNELS/32); i++) |
{ |
dataString = ""; |
for (int n=0; n<32; n++) |
239,14 → 241,15 |
|
digitalWrite(chipSelect, LOW); |
|
//!!! control print |
//*!!! control print |
//TODO print to I2C display |
Serial.print(":"); |
Serial.print(count); |
Serial.print("*"); |
for(int j=0;j<256;j++) {Serial.print(channelA[j]); Serial.print(' ');} |
for(int j=0;j<36;j++) {Serial.print(channelA[j]); Serial.print(' ');} |
Serial.println(); |
//*/ |
|
|
for (int n=0; n<CHANNELS; n++) // clear recording buffer |
{ |
channelA[n]=0; |
307,7 → 310,6 |
|
void loop() |
{ |
//byte msb=0,lsb=0; |
unsigned int val; |
unsigned int treshold = 1; |
|
314,7 → 316,7 |
count = 0; |
while (true) |
{ |
//count++; |
count++; |
digitalWrite(ADSCK, HIGH); |
digitalWrite(CONV, HIGH); // start AD conversion |
digitalWrite(ADreset, HIGH); // reset Peack Detector |
321,7 → 323,7 |
digitalWrite(CONV, LOW); // start SPI |
digitalWrite(ADreset, LOW); // start Peack Detector |
val=0; |
for (int p=0;p<16;p++) |
for (int p=0;p<9;p++) |
{ |
digitalWrite(ADSCK, LOW); // 1 CLK |
digitalWrite(ADSCK, HIGH); |
328,16 → 330,12 |
val= (val<<1)|digitalRead(SDO); |
} |
digitalWrite(ADSCK, LOW); // 1 CLK |
|
if (channelA[val] < 255) channelA[val]++; |
|
if ((val > treshold) && (count < (CHANNELS-1))) channelA[count++] = val; |
|
if (rise) // recording time is now |
{ |
record(); // make record |
if ((count == 255) && (treshold < 0x8000)) treshold <<= 1; |
if ((count == 0) && (treshold > 1)) treshold >>= 1; |
Serial.println(count); |
Serial.println(treshold); |
digitalWrite(ADreset, HIGH); // reset Peack Detector |
rise = false; |
count = 0; |