Sorry to be some kind of hyjacking this discussion, but I guess that I’ve similar problem. Using the following squirrel-code
`
class Sampler {
rawData = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
// reading 40 state-changes analyzing the duration of highs/lows on the wire
function sample() {
for (local i=0; i<40; i++) {
rawData[i] = 0;
while(hardware.pin5.read() == state) {
rawData[i]++;
//imp.sleep(0.000001);
if (rawData[i] > 10000) {
return -2; // timeout
}
}
state = hardware.pin5.read();
}
function dump() {
for (local i=0;i<40;i++) {
server.log(format("bit %d = %d ",i, this.rawData[i]));
}
}
}
sampler = Sampler();
sampler.sample();
sampler.dump();
`
Produces the following output:
Tuesday, December 04, 2012 16:27:47: bit 0 = 2
Tuesday, December 04, 2012 16:27:47: bit 1 = 0
Tuesday, December 04, 2012 16:27:47: bit 2 = 0
Tuesday, December 04, 2012 16:27:47: bit 3 = 2
Tuesday, December 04, 2012 16:27:47: bit 4 = 0
Tuesday, December 04, 2012 16:27:47: bit 5 = 3
Tuesday, December 04, 2012 16:27:47: bit 6 = 0
Tuesday, December 04, 2012 16:27:47: bit 7 = 0
Tuesday, December 04, 2012 16:27:47: bit 8 = 2
Tuesday, December 04, 2012 16:27:47: bit 9 = 0
Tuesday, December 04, 2012 16:27:47: bit 10 = 1
Tuesday, December 04, 2012 16:27:47: bit 11 = 2
Tuesday, December 04, 2012 16:27:47: bit 12 = 1
Tuesday, December 04, 2012 16:27:47: bit 13 = 0
Tuesday, December 04, 2012 16:27:47: bit 14 = 1
Tuesday, December 04, 2012 16:27:47: bit 15 = 0
Tuesday, December 04, 2012 16:27:47: bit 16 = 0
Tuesday, December 04, 2012 16:27:47: bit 17 = 0
Tuesday, December 04, 2012 16:27:47: bit 18 = 0
Tuesday, December 04, 2012 16:27:47: bit 19 = 0
Tuesday, December 04, 2012 16:27:47: bit 20 = 0
Tuesday, December 04, 2012 16:27:47: bit 21 = 0
Tuesday, December 04, 2012 16:27:47: bit 22 = 0
Tuesday, December 04, 2012 16:27:47: bit 23 = 0
Tuesday, December 04, 2012 16:27:47: bit 24 = 0
Tuesday, December 04, 2012 16:27:47: bit 25 = 0
Tuesday, December 04, 2012 16:27:47: bit 26 = 0
Tuesday, December 04, 2012 16:27:47: bit 27 = 0
Tuesday, December 04, 2012 16:27:47: bit 28 = 0
Tuesday, December 04, 2012 16:27:47: bit 29 = 10001
Tuesday, December 04, 2012 16:27:47: bit 30 = 10001
Tuesday, December 04, 2012 16:27:47: bit 31 = 10001
Tuesday, December 04, 2012 16:27:47: bit 32 = 0
Tuesday, December 04, 2012 16:27:47: bit 33 = 0
Tuesday, December 04, 2012 16:27:47: bit 34 = 0
Tuesday, December 04, 2012 16:27:47: bit 35 = 0
Tuesday, December 04, 2012 16:27:47: bit 36 = 0
Tuesday, December 04, 2012 16:27:47: bit 37 = 0
Tuesday, December 04, 2012 16:27:47: bit 38 = 0
Tuesday, December 04, 2012 16:27:47: bit 39 = 0
Expected higher values for each sample (=duration of high/lows) @2MHz