@@ -14,15 +14,16 @@ class AudioBoard {
14
14
public:
15
15
16
16
AudioBoard (AudioDriver *driver, DriverPins* pins) {
17
- this -> p_pins = pins;
18
- this -> p_driver = driver;
17
+ setPins (* pins) ;
18
+ setDriver (* driver) ;
19
19
}
20
20
21
21
AudioBoard (AudioDriver &driver, DriverPins& pins) {
22
- this -> p_pins = & pins;
23
- this -> p_driver = & driver;
22
+ setPins ( pins) ;
23
+ setDriver ( driver) ;
24
24
}
25
25
26
+
26
27
bool begin (){
27
28
AD_LOGD (" AudioBoard::begin" );
28
29
if (p_pins==nullptr ){
@@ -73,13 +74,16 @@ class AudioBoard {
73
74
#else
74
75
return volume >= 0 ? volume : p_driver->getVolume (); }
75
76
#endif
77
+
78
+ void setPins (DriverPins&pins){
79
+ this ->p_pins = &pins;
80
+ }
76
81
DriverPins& getPins () { return *p_pins; }
77
82
DriverPins& pins () { return *p_pins; }
78
83
79
- bool setPAPower (bool enable) { return is_active ? p_driver->setPAPower (enable) : false ; }
80
-
81
- // / set volume for adc: this is only supported on some defined codecs
82
- bool setInputVolume (int volume) {return p_driver->setInputVolume (volume);}
84
+ void setDriver (AudioDriver& driver){
85
+ this ->p_driver = &driver;
86
+ }
83
87
84
88
AudioDriver* getDriver (){
85
89
return p_driver;
@@ -88,6 +92,11 @@ class AudioBoard {
88
92
return *p_driver;
89
93
}
90
94
95
+ bool setPAPower (bool enable) { return is_active ? p_driver->setPAPower (enable) : false ; }
96
+
97
+ // / set volume for adc: this is only supported on some defined codecs
98
+ bool setInputVolume (int volume) {return p_driver->setInputVolume (volume);}
99
+
91
100
// platform specific logic to determine if key is pressed
92
101
bool isKeyPressed (uint8_t key) { return p_pins->isKeyPressed (key); }
93
102
0 commit comments