That's already suspicious. Try separating the module from the cape and measure the DC voltage on the 4 pins of J9 on the cape. That should be about 1.2V when writing 0 to the output, then 0.3V when writing -1 and 2.1V when writing +1 on the + and the opposite on the -. If you don't have a scope to visualise these signals, plug them back into the Bela analog inputs and visualise them using the Bela scope, or if you are doing measurements with a voltmeter, ensure you send constant values in your software (e.g.:
#include <Bela.h>
bool setup(BelaContext* context, void*)
{
return true;
}
void render(BelaContext* context, void*)
{
float value = 0; // run multiple times, each with different values: 0, -1, 1
for(unsigned int n = 0; n < context->audioFrames; ++n)
for (unsigned int c = 0; c < context->audioOutChannels; ++c)
audioWrite(context, n, c, value);
}
void cleanup(BelaContext* context, void*)
{}
or in Pd
[sig~ 0] |run multiple times, each with different values: 0, -1, 1
/\
/ \
[dac~ 1 2]
verify that in all these cases the pins on the Bela cape for left+ and right+ (pins 1 and 3 of the J9 header on the cape) behave the same, and that left- and right- (pins 2 and 4) also behave the same. This will tell us if there are any issues on the cape itself, then we can go back to troubleshoot Pepper.