-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathWM8741.h
More file actions
49 lines (38 loc) · 1.16 KB
/
WM8741.h
File metadata and controls
49 lines (38 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
Arduino library for Wolfson Microelectronics WM8741 using I2C bus.
Done to manage PCM data using I2S bus
Do not manage DSD or 8FS
Version 1.0 Aug 2012
Version 1.0.1 March 2015
Tested on Arduino Mega 2560
Uses Arduino 1.0.1 IDE
/!\ Use an I2C level converter as WM8741 supports 3.3v only on the bus - example part http://dsscircuits.com/i2c-level-converter.html
*/
#ifndef WM8741_H
#define WM8741_H
#include <Arduino.h>
#include <wire.h>
/*
WM8741 Class
*/
class WM8741 {
public:
WM8741(bool monomode, char unsigned VolMax, char unsigned VolMin, char unsigned VolCurr);
void SetupStereoMode();
void SetupMonoMode();
void setReg (uint8_t ChipAddress, uint8_t RegAddress, uint8_t RegValue);
void SetVolume(int unsigned volume, bool changeMute);
void SetFilter(int filter);
void NextFilter();
void PrevFilter();
void VolumeUp();
void VolumeDown();
void Mute();
void ZeroSound();
void SoftReset();
uint8_t getReg(uint8_t ChipAddress, uint8_t RegAddress);
void CheckMuteStatus();
bool isMuted();
//Todo : add mute status feedback, current volume feedback
};
#endif