IMPLEMENTED SO FAR

- Support for 4x20 LCD Display and large number display
- Brightness and contrast adjustment with remote
- (OPUS/Wolfson WM8741) DAC volume control: remote and rotary encoder
- (OPUS/Wolfson WM8741) DAC random filter selection 1 to 5 with remote
- (OPUS/Wolfson WM8741) DAC upsampling selection (L, M, H -this is the OSR setting)
- I2C level shifting (5V to 3.3V)
- Optimized power-up sequence

Monday, October 15, 2012

Register Address Values for OPUS code

(I have corrected this post as to give the wrong impression)
Having done further programming with the Buffalo DAC, I realized that the register address values I used for the OPUS code are pehaps wrongly coded in 8-bit format where the I2C protocol of the Arduino Wire library is based on 7-bit register addresses.

The code as it is works with volume, oversampling filter selection and even filter choice, even though I can't tell the filters apart (but a high frequency test tone with young people proved that they can tell filters apart)

This means that the OPUS DAC code for the WM8741, should be reviewed for the address value.

2 comments:

rade95 said...

Hi glt, I think the register addresses (and values) are correct since 7 vs 8 bit only makes difference for characters >= 129-256. Since no values in that range are being used I think the code is still fine. Do you agree?

The Lazy Engineer said...

I'll have to review the code when I get a chance...