Rotary encoder controls volume. Can change volume with with any speed and precision. With the button switch, the control is more limited. Earlier I though it would be good to utilize a hardware decoder, but the is very simple: An interrupt routine detects the motion and updates a variable. Inside a loop, the volume is adjusted every time the variable is set. At first I put the code to change the volume inside the interrupt service routine, but inside the routine interrupts are disabled and therefore I2C does not work. So the code to update the DAC registers has to be outside of the interrupt routine.
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
- 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
Wednesday, April 15, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment