@@ -64,10 +64,6 @@ bool WM8960_Setup(void);
6464static int ES8960_Write_Reg (uint8_t reg , uint16_t dat );
6565static void setVol (int vol );
6666static void hp_spk (void );
67- #if 0
68- static void dacToHp (void );
69- static void ES8960_Init2 (void );
70- #endif
7167static uint16_t WM8960_ReadRegU16 (uint8_t reg );
7268static uint8_t WM8960_ReadReg (uint8_t reg );
7369
@@ -97,7 +93,6 @@ bool WM8960_Setup(void)
9793 Serial .print (address , HEX );
9894 Serial .println (" !" );
9995
100- //nDevices++;
10196 }
10297 else if (r_error == 4 )
10398 {
@@ -121,16 +116,13 @@ bool WM8960_Setup(void)
121116 }
122117
123118
124- //ES8960_Init2();
125119 hp_spk ();
126120 Serial .println ("1 SPK" );
127121 delay (1000 );
128122 setVol (6 );
129123 Serial .println ("1 vol" );
130124 Serial .println (digitalRead (0 ));
131125
132- //Wire.setSDA(I2C_SDA);
133- //Wire.setSCL(I2C_SCL);
134126
135127
136128 Serial .printf ("%02x: %02x\n" , 0x19 , WM8960_ReadReg (0x19 ));
@@ -140,7 +132,6 @@ bool WM8960_Setup(void)
140132}
141133
142134
143-
144135static int ES8960_Write_Reg (uint8_t reg , uint16_t dat )
145136{
146137 uint8_t res , I2C_Data [2 ];
@@ -149,7 +140,6 @@ static int ES8960_Write_Reg(uint8_t reg, uint16_t dat)
149140 I2C_Data [1 ] = (uint8_t )(dat & 0x00FF ); //RegValue
150141
151142
152- //Wire.setClock(10000);
153143 Wire .beginTransmission (WM8960_ADDRESS ); // transmit to device lsb=0 => write
154144 Wire .write (I2C_Data , 2 ); // buffer 1 byte lsb of val1
155145 res = Wire .endTransmission (true); // transmit buffer and then stop
@@ -163,10 +153,6 @@ static int ES8960_Write_Reg(uint8_t reg, uint16_t dat)
163153}
164154
165155
166- ////////////////////////////////////////////////////////////////////////////////////////
167- // setVol
168- // vol 0=>10
169- ////////////////////////////////////////////////////////////////////////////////////////
170156static void setVol (int vol )
171157{
172158 int val ;
@@ -217,14 +203,12 @@ static void hp_spk(void)
217203
218204 st += ES8960_Write_Reg (15 , 0x00 );
219205 usleep (10000 );
220- //Power
221206 st += ES8960_Write_Reg (25 , 0x1FC );
222207 usleep (500 );
223208 st += ES8960_Write_Reg (26 , 0x1F9 );
224209 usleep (500 );
225210 st += ES8960_Write_Reg (47 , 0x03C );
226211 usleep (10000 );
227- //Clock PLL
228212 st += ES8960_Write_Reg (4 , 0x001 );
229213 usleep (10000 );
230214 st += ES8960_Write_Reg (52 , 0x027 );
@@ -235,26 +219,20 @@ static void hp_spk(void)
235219 usleep (10000 );
236220 st += ES8960_Write_Reg (55 , 0x026 );
237221 usleep (10000 );
238- //ADC/DAC
239222 st += ES8960_Write_Reg (5 , 0x000 );
240223 usleep (10000 );
241224 st += ES8960_Write_Reg (7 , 0x002 );
242225 usleep (10000 );
243- //Noise control
244226 st += ES8960_Write_Reg (20 , 0x0F9 );
245227 usleep (10000 );
246- //OUT1 volume
247228 st += ES8960_Write_Reg (2 , 0x16F );
248229 usleep (500 );
249230 st += ES8960_Write_Reg (3 , 0x16F );
250231 usleep (500 );
251- //SPK volume
252232 st += ES8960_Write_Reg (40 , 0x17F );
253233 usleep (500 );
254234 st += ES8960_Write_Reg (41 , 0x17F );
255235 usleep (500 );
256- // OUTPUTS 0 XX11 0111 class D amp
257- // XX = 00 off , 11 speaker on R and L
258236 st += ES8960_Write_Reg (49 , 0x0FF );
259237
260238
@@ -277,7 +255,6 @@ static void hp_spk(void)
277255 }
278256 else
279257 {
280- // printf(st);
281258 printf ("init WS8960 failed...\n" );
282259 delay (1000 );
283260 }
@@ -288,135 +265,6 @@ static void hp_spk(void)
288265
289266}
290267
291- #if 0
292- static void dacToHp (void )
293- {
294- int st ;
295- do
296- {
297- st = 0 ;
298- st += ES8960_Write_Reg (15 , 0x00 ); //RESET
299- delay (10 );
300- //ADC/DAC
301- st += ES8960_Write_Reg (5 , 0x004 ); //DAC att=0dB, ADC pol. not inverted, DAC mute, no de-emphasis
302- delay (10 );
303- st += ES8960_Write_Reg (7 , 0x002 ); //ADC ch normal, BCLK nrmal, slave mode, DAC ch normal,LRCK not inverted, 16bits, I2S
304- delay (10 );
305-
306-
307- st += ES8960_Write_Reg (25 , 0x0C0 ); // VMID = 50k VREF enabled
308- delay (10 );
309- st += ES8960_Write_Reg (26 , 0x1E0 ); // enable DAC L/R LOUT1 ROUT1
310- delay (10 );
311- st += ES8960_Write_Reg (47 , 0x00C ); // enable output mixer L/R
312- delay (10 );
313- st += ES8960_Write_Reg (34 , 0x100 ); // L DAC to L output mixer
314- delay (10 );
315- st += ES8960_Write_Reg (37 , 0x100 ); // R DAC to R output mixer
316- delay (10 );
317- st += ES8960_Write_Reg (2 , 0x179 ); // LOUT1 volume
318- delay (10 );
319- st += ES8960_Write_Reg (3 , 0x179 ); // ROUT1 volume
320- delay (10 );
321- st += ES8960_Write_Reg (5 , 0x000 ); // unmute DAC
322- delay (10 );
323-
324- if (st == 0 )
325- {
326- printf ("init WS8960 OK....\n" );
327- }
328- else
329- {
330- printf ("init WS8960 failed...\n" );
331- delay (1000 );
332- }
333- }
334- while (st != 0 );
335- }
336- #endif
337-
338- #if 0
339- static void ES8960_Init2 (void )
340- {
341-
342-
343- int st ;
344-
345- do
346- {
347- st = 0 ;
348-
349- st += ES8960_Write_Reg (15 , 0x00 );
350- usleep (10000 );
351- //Power
352- st += ES8960_Write_Reg (25 , 0x1FC );
353- usleep (500 );
354- st += ES8960_Write_Reg (26 , 0x1F9 );
355- usleep (500 );
356- st += ES8960_Write_Reg (47 , 0x03C );
357- usleep (10000 );
358- //Clock PLL
359- st += ES8960_Write_Reg (4 , 0x001 );
360- usleep (10000 );
361- st += ES8960_Write_Reg (52 , 0x027 );
362- usleep (10000 );
363- st += ES8960_Write_Reg (53 , 0x086 );
364- usleep (10000 );
365- st += ES8960_Write_Reg (54 , 0x0C2 );
366- usleep (10000 );
367- st += ES8960_Write_Reg (55 , 0x026 );
368- usleep (10000 );
369- //ADC/DAC
370- st += ES8960_Write_Reg (5 , 0x000 );
371- usleep (10000 );
372- st += ES8960_Write_Reg (7 , 0x002 );
373- usleep (10000 );
374- //Noise control
375- st += ES8960_Write_Reg (20 , 0x0F9 );
376- usleep (10000 );
377- //OUT1 volume
378- st += ES8960_Write_Reg (2 , 0x16F );
379- usleep (500 );
380- st += ES8960_Write_Reg (3 , 0x16F );
381- usleep (500 );
382- //SPK volume
383- st += ES8960_Write_Reg (40 , 0x17F );
384- usleep (500 );
385- st += ES8960_Write_Reg (41 , 0x17F );
386- usleep (500 );
387- // OUTPUTS
388- // st += ES8960_Write_Reg(49, 0x0F7);
389- usleep (10000 );
390- st += ES8960_Write_Reg (10 , 0x1FF );
391- usleep (10000 );
392- st += ES8960_Write_Reg (11 , 0x1FF );
393- usleep (10000 );
394-
395- st += ES8960_Write_Reg (34 , 0x100 );
396- usleep (10000 );
397-
398- st += ES8960_Write_Reg (37 , 0x100 );
399- usleep (10000 );
400-
401-
402- if (st == 0 )
403- {
404- printf ("init WS8960 OK....\n" );
405- }
406- else
407- {
408- // printf(st);
409- printf ("init WS8960 failed...\n" );
410- delay (1000 );
411- }
412-
413- }
414- while (st != 0 );
415-
416-
417- }
418- #endif
419-
420268static uint16_t WM8960_ReadRegU16 (uint8_t reg )
421269{
422270 Wire .beginTransmission (WM8960_ADDR );
@@ -456,6 +304,5 @@ static uint8_t WM8960_ReadReg(uint8_t reg)
456304}
457305
458306
459-
460307#endif // WM8960_ENABLED
461308#endif // ML_SYNTH_INLINE_DEFINITION
0 commit comments