PaulStoffregen
Well-known member
I made another attempt to test ICS-52000 with the notwired.co board with Teensy 3.6.
In every test I tried, all 4 microphones appear to be transmitting only a worthless static. It seems to never respond to actual sound, even directly touching the PCB right at the bottom side holes where the microphones supposedly "hear".
I even tried an experiment to extract the 32 bits and apply digital gain to hear some the low bits which are received by TDM channel 1.
I don't know why the ICS-52000 mics are transmitting worthless noise and don't seem to hear any real sound.
In every test I tried, all 4 microphones appear to be transmitting only a worthless static. It seems to never respond to actual sound, even directly touching the PCB right at the bottom side holes where the microphones supposedly "hear".
I even tried an experiment to extract the 32 bits and apply digital gain to hear some the low bits which are received by TDM channel 1.
Code:
#include <Audio.h>
class micgain : public AudioStream {
public:
micgain() : AudioStream(2, inputQueueArray) { }
virtual void update(void);
audio_block_t *inputQueueArray[2];
};
void micgain::update() {
audio_block_t *a = receiveWritable(0);
audio_block_t *b = receiveReadOnly(1);
if (a && b) {
for (int i = 0; i < AUDIO_BLOCK_SAMPLES; i++) {
int32_t n = (a->data[i] << 16) | (b->data[i] & 0xFFFF);
a->data[i] = n / 1000; // gain is 65536 / 1000
}
transmit(a);
release(a);
release(b);
} else {
if (a == nullptr) release(a);
if (b == nullptr) release(b);
}
}
AudioInputTDM tdm1;
AudioOutputTDM tdm2;
micgain test1;
AudioOutputAnalogStereo out1;
AudioConnection p1(tdm1, 0, test1, 0);
AudioConnection p2(tdm1, 1, test1, 1);
AudioConnection p3(test1, 0, out1, 0);
AudioConnection p4(test1, 0, out1, 1);
AudioConnection p5(test1, 0, tdm2, 0);
void setup() {
AudioMemory(40);
}
void loop() {
}
I don't know why the ICS-52000 mics are transmitting worthless noise and don't seem to hear any real sound.