|
|
|
|
@ -10,19 +10,31 @@ int print_raw_out(int bars, int fp, int is_bin, int bit_format, int ascii_range, |
|
|
|
|
if (bit_format == 16 ){//16bit:
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < bars; i++) { |
|
|
|
|
uint16_t f16 = ((float)f[i] / 10000) * 65535;
|
|
|
|
|
uint16_t f16; |
|
|
|
|
if (f[i] > 10000) { |
|
|
|
|
f16 = 65535; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
f16 = ((float)f[i] / 10000) * 65535; |
|
|
|
|
} |
|
|
|
|
write(fp, &f16,sizeof(uint16_t)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} else {//8bit:
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < bars; i++) { |
|
|
|
|
uint8_t f8 = ((float)f[i] / 10000) * 255; |
|
|
|
|
uint8_t f8; |
|
|
|
|
if (f[i] > 10000) { |
|
|
|
|
f8 = 255; |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
f8 = ((float)f[i] / 10000) * 255; |
|
|
|
|
} |
|
|
|
|
write(fp, &f8,sizeof(uint8_t)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} else {//ascii:
|
|
|
|
|
} else {//ascii:
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < bars; i++) { |
|
|
|
|
int f_ranged = ((float)f[i] / 10000) * ascii_range; |
|
|
|
|
@ -30,7 +42,7 @@ int print_raw_out(int bars, int fp, int is_bin, int bit_format, int ascii_range, |
|
|
|
|
|
|
|
|
|
//finding size of number-string in byte
|
|
|
|
|
int size; |
|
|
|
|
if (f_ranged != 0) size = floor (log10 (abs (f_ranged))) + 1;
|
|
|
|
|
if (f_ranged != 0) size = floor (log10 (abs (f_ranged))) + 1; |
|
|
|
|
else size = 1; |
|
|
|
|
char barheight[size]; |
|
|
|
|
|
|
|
|
|
@ -42,7 +54,7 @@ int print_raw_out(int bars, int fp, int is_bin, int bit_format, int ascii_range, |
|
|
|
|
|
|
|
|
|
write(fp, &frame_delim, sizeof(frame_delim)); |
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
}
|
|
|
|
|
} |
|
|
|
|
|