counter.attach_us(&count, 1250); //calls count function every 1.25ms if(int2 == 1){ //if data is ready wait_ms(0.1); ac=0; //fetch x,y,z-data spi.write(0xf2); //setting address byte's second bit means multiple-byte read int x0 = spi.write(0x00); int x1 = spi.write(0x00); int y0 = spi.write(0x00); int y1 = spi.write(0x00); int z0 = spi.write(0x00); int z1 = spi.write(0x00); wait_ms(0.01); ac=1; if (stopPush==1) rec=0; signed int x = ((((x1 << 8) | x0) << 16)/524288); //combine data bytes signed int y = ((((y1 << 8) | y0) << 16)/524288); signed int z = ((((z1 << 8) | z0) << 16)/524288); float xg = (float(x))/256; float yg = (float(y))/256; float zg = (float(z))/256; fprintf(fp, "%u\t%f\t%f\t%f\n", dataSequence, xg, yg, zg); } // int2 if statement end