12 virtual void end() = 0;
13 virtual size_t write(
const uint8_t *src,
size_t size_bytes) {
return 0;}
24 if (adc_bits <= 0 || adc_bits >= 16)
return;
25 const int32_t factor = 1 << (16 - adc_bits);
26 const int32_t offset = is_centered ? 0 : 1 << (adc_bits - 1);
28 size_t sample_count = size_bytes /
sizeof(
int16_t);
29 for (
size_t i = 0; i < sample_count; i++) {
30 int32_t value = (
static_cast<int32_t>(samples[i]) - offset) * factor;
31 if (value > 32767) value = 32767;
32 if (value < -32768) value = -32768;
33 samples[i] =
static_cast<int16_t>(value);
#define DEFAULT_BUFFER_SIZE
Definition avr.h:20