0,0 → 1,87 |
/* |
* Project: S.Ha.R.K. |
* |
* Coordinators: |
* Giorgio Buttazzo <giorgio@sssup.it> |
* Paolo Gai <pj@gandalf.sssup.it> |
* |
* Authors : |
* Giacomo Guidi <giacomo@gandalf.sssup.it> |
* |
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy) |
* |
* http://www.sssup.it |
* http://retis.sssup.it |
* http://shark.sssup.it |
*/ |
|
#include <stdio.h> |
#include <unistd.h> |
#include <stdlib.h> |
#include <string.h> |
|
#define READ_BUFFER 2000 |
#define DELTA_BUFFER 100 |
|
int main(int argc, char *argv[]) |
{ |
|
char buffer[READ_BUFFER+DELTA_BUFFER]; |
void *p, *last; |
int n,delta,size; |
|
unsigned long long ev = 0; |
|
FILE *input_file; |
|
if (argc < 2) { |
printf("%s: Enter the input file name [%s filename]\n",argv[0],argv[0]); |
exit(1); |
} |
|
input_file = fopen(argv[1],"rb"); |
|
last = buffer + READ_BUFFER; |
|
while(!feof(input_file)) { |
|
//move remaining byte |
delta = (unsigned int)(buffer) + READ_BUFFER - (unsigned int)(last); |
if (delta > 0) memcpy(buffer,last,delta); |
|
n = fread(buffer+delta,1,READ_BUFFER+10,input_file); |
fseek(input_file,-(delta+10),SEEK_CUR); |
|
p = buffer; |
|
while ((unsigned int)(p) + 16 <= (unsigned int)(buffer + READ_BUFFER) && |
(unsigned int)(p) + 16 <= (unsigned int)(buffer + n + delta)) { |
|
printf("Sensor = %02x ",(*(unsigned int *)(p) & 0xFF)); |
|
printf("Current = %8d ",*(unsigned int *)(p+4)); |
|
printf("TIME = %8d:%8d\n",*(unsigned int *)(p+8),*(unsigned int *)(p+12)); |
|
size = 16; |
|
ev++; |
|
p += 16; |
|
if ((unsigned int)(p) + 10 > (unsigned int)(buffer + n + delta)) break; |
|
last = p; |
|
} |
|
if ((unsigned int)(p) + 10 > (unsigned int)(buffer + n + delta)) break; |
|
} |
|
fclose(input_file); |
|
return 0; |
|
} |
|