@@ -485,16 +485,6 @@ bool AD1938::begin(codec_config_t configVal, int clatchPin, int resetPin,
485
485
delay (400 ); // wait for 300ms to load the code
486
486
487
487
// setup basic information from codec_config_t
488
- bool ok;
489
- i2sMode = getI2SClockMode (ok);
490
- if (!ok) return false ;
491
- wordLen = getWordLen (ok);
492
- if (!ok) return false ;
493
- numChannels = getNumChannels (ok);
494
- if (!ok) return false ;
495
- samplingRate = getSamplingRate (ok);
496
- if (!ok) return false ;
497
-
498
488
config ();
499
489
500
490
return true ;
@@ -554,22 +544,22 @@ bool AD1938::spi_write_reg(unsigned char reg, unsigned char val) {
554
544
}
555
545
556
546
bool AD1938::config () {
557
- switch (samplingRate ) {
558
- case SamplingRate::FS_32000 :
559
- case SamplingRate::FS_44100 :
560
- case SamplingRate::FS_48000 : {
547
+ switch (cfg. i2s . rate ) {
548
+ case RATE_32K :
549
+ case RATE_44K :
550
+ case RATE_48K : {
561
551
dac_fs = DAC_SR_48K;
562
552
adc_fs = ADC_SR_48K;
563
553
} break ;
564
- case SamplingRate::FS_64000 :
565
- case SamplingRate::FS_88200 :
566
- case SamplingRate::FS_96000 : {
554
+ case RATE_64K :
555
+ case RATE_88K :
556
+ case RATE_96K : {
567
557
dac_fs = DAC_SR_96K;
568
558
adc_fs = ADC_SR_96K;
569
559
} break ;
570
- case SamplingRate::FS_128000 :
571
- case SamplingRate::FS_176400 :
572
- case SamplingRate::FS_192000 : {
560
+ case RATE_128K :
561
+ case RATE_176K :
562
+ case RATE_192K : {
573
563
dac_fs = DAC_SR_192K;
574
564
adc_fs = ADC_SR_192K;
575
565
} break ;
@@ -579,18 +569,18 @@ bool AD1938::config() {
579
569
}
580
570
}
581
571
582
- switch (wordLen ) {
583
- case BitsPerSample::BITS_16 : {
572
+ switch (cfg. i2s . bits ) {
573
+ case BIT_LENGTH_16BITS : {
584
574
dac_wl = DAC_WIDTH_16;
585
575
adc_wl = ADC_WIDTH_16;
586
576
587
577
} break ;
588
- case BitsPerSample::BITS_20 : {
578
+ case BIT_LENGTH_20BITS : {
589
579
dac_wl = DAC_WIDTH_20;
590
580
adc_wl = ADC_WIDTH_20;
591
581
592
582
} break ;
593
- case BitsPerSample::BITS_24 : {
583
+ case BIT_LENGTH_24BITS : {
594
584
dac_wl = DAC_WIDTH_24;
595
585
adc_wl = ADC_WIDTH_24;
596
586
}
@@ -603,22 +593,22 @@ bool AD1938::config() {
603
593
}
604
594
}
605
595
606
- switch (numChannels ) {
607
- case I2sNumChannels::I2S_STEREO_2CH : {
596
+ switch (cfg. i2s . channels ) {
597
+ case CHANNELS2 : {
608
598
dac_mode = DAC_FMT_I2S;
609
599
adc_mode = ADC_FMT_I2S;
610
600
dac_channels = DAC_CHANNELS_2;
611
601
adc_channels = ADC_CHANNELS_2;
612
602
613
603
} break ;
614
- case I2sNumChannels::I2S_TDM_8CH : {
604
+ case CHANNELS8 : {
615
605
dac_mode = DAC_FMT_TDM;
616
606
adc_mode = ADC_FMT_TDM;
617
607
dac_channels = DAC_CHANNELS_8;
618
608
adc_channels = ADC_CHANNELS_8;
619
609
620
610
} break ;
621
- case I2sNumChannels::I2S_TDM_16CH : {
611
+ case CHANNELS16 : {
622
612
dac_mode = DAC_FMT_TDM;
623
613
adc_mode = ADC_FMT_TDM;
624
614
dac_channels = DAC_CHANNELS_16;
@@ -633,7 +623,7 @@ bool AD1938::config() {
633
623
}
634
624
}
635
625
636
- if (i2sMode == I2sClockMode::AD1938_I2S_SLAVE ) {
626
+ if (cfg. i2s . mode == MODE_SLAVE ) {
637
627
configSlave ();
638
628
} else {
639
629
configMaster ();
@@ -724,7 +714,7 @@ bool AD1938::isPllLocked(void) {
724
714
}
725
715
726
716
bool AD1938::enable (void ) {
727
- if (i2sMode == I2sClockMode::AD1938_I2S_SLAVE ) {
717
+ if (cfg. i2s . mode == MODE_SLAVE ) {
728
718
spi_write_reg (
729
719
AD1938_PLL_CLK_CTRL0,
730
720
(ENA_ADC_DAC | INPUT512 | PLL_IN_DLRCLK | MCLK_OUT_OFF | PLL_PWR_UP));
@@ -784,68 +774,3 @@ bool AD1938::setMuteADC(bool mute) {
784
774
}
785
775
786
776
787
- AD1938::SamplingRate AD1938::getSamplingRate (bool &ok) {
788
- ok = true ;
789
- switch (cfg.i2s .rate ) {
790
- case RATE_32K:
791
- return AD1938::SamplingRate::FS_32000;
792
- case RATE_44K:
793
- return AD1938::SamplingRate::FS_44100;
794
- case RATE_48K:
795
- return AD1938::SamplingRate::FS_48000;
796
- case RATE_88K:
797
- return AD1938::SamplingRate::FS_88200;
798
- case RATE_96K:
799
- return AD1938::SamplingRate::FS_96000;
800
- case RATE_128K:
801
- return AD1938::SamplingRate::FS_128000;
802
- case RATE_176K:
803
- return AD1938::SamplingRate::FS_176400;
804
- case RATE_192K:
805
- return AD1938::SamplingRate::FS_192000;
806
- default :
807
- return AD1938::SamplingRate::FS_48000;
808
- ok = false ;
809
- }
810
- }
811
-
812
- AD1938::I2sClockMode AD1938::getI2SClockMode (bool &ok) {
813
- ok = true ;
814
- switch (cfg.i2s .mode ) {
815
- case MODE_SLAVE:
816
- return AD1938::I2sClockMode::AD1938_I2S_SLAVE;
817
- default :
818
- return AD1938::I2sClockMode::AD1938_I2S_MASTER;
819
- }
820
- }
821
-
822
- AD1938::BitsPerSample AD1938::getWordLen (bool &ok) {
823
- ok = true ;
824
- switch (cfg.i2s .bits ) {
825
- case BIT_LENGTH_16BITS:
826
- return AD1938::BitsPerSample::BITS_16;
827
- case BIT_LENGTH_20BITS:
828
- return AD1938::BitsPerSample::BITS_20;
829
- case BIT_LENGTH_24BITS:
830
- return AD1938::BitsPerSample::BITS_24;
831
- default :
832
- ok = false ;
833
- return AD1938::BitsPerSample::BITS_24;
834
- break ;
835
- }
836
- }
837
-
838
- AD1938::I2sNumChannels AD1938::getNumChannels (bool &ok) {
839
- ok = true ;
840
- switch (cfg.i2s .channels ) {
841
- case CHANNELS2:
842
- return AD1938::I2sNumChannels::I2S_STEREO_2CH;
843
- case CHANNELS8:
844
- return AD1938::I2sNumChannels::I2S_TDM_8CH;
845
- case CHANNELS16:
846
- return AD1938::I2sNumChannels::I2S_TDM_16CH;
847
- default :
848
- ok = false ;
849
- return AD1938::I2sNumChannels::I2S_STEREO_2CH;
850
- }
851
- }
0 commit comments