Whoops, meant to include the link to the datasheet.
http://datasheets.maximintegrated.com/en/ds/DS1881.pdfI had the changeVolume looking like this
void changeVolume()
{
digitalWrite(CEVolume, LOW);
Wire.beginTransmission(0x28);
Wire.write(B01010000); //slave address byte
Wire.write(vol); //Command Byte - Pot 0
Wire.write(vol); //Command Byte - Pot 1
Wire.write(0x87); //Command Byte - Config Reg
Wire.endTransmission();
digitalWrite(CEVolume, HIGH);
}
I was letting the vol variable go from 34 to negative numbers and it wasn't until vol reached -1 that any sound would come out of the speaker and it was loud. I couldn't get different levels out of it and once I reset vol back to 34, would it be silent again.
So with that not working, I was manually adjusting the volume. From what I understand from the datasheet, there were 4 commands to adjust the pots.
The first one is the slave address, then pot0, pot1, and then the command bytes. I left the command byte to the default setting which should be Configuration Option 2 table so the steps are from 0-33 and 34 is mute. The first two bytes are for the pot address (00 for pot0, 01 for pot1).
That is where I am at right now.
I was manually adjusting the pot0 to see if it was the code that was the issue, I was trying B00100001, which should be mute (34). Hardly any sound came out of the speaker at this point, so I tried B00001111 (15) and still hardly any sound came out of the speaker.