Dialog DA7212 evaluating project DEVELOP branch

Dependencies:   FXAS21002 TLV320 mbed sinelookup C12832 FXOS8700

Committer:
k4zuki
Date:
Tue Mar 29 18:54:53 2016 +0900
Revision:
11:2fcbac0f72dd
Parent:
10:31c65ba8b7ea
Child:
14:c852e468923e
merged

Who changed what in which revision?

UserRevisionLine numberNew contents of line
k4zuki 1:98b55aeebaa5 1 /** original: p07gbar/code/TLV320_Write_test/
k4zuki 1:98b55aeebaa5 2 * modify by k4zuki
k4zuki 1:98b55aeebaa5 3 * to control Dialog DA7212 codec
k4zuki 1:98b55aeebaa5 4 */
k4zuki 1:98b55aeebaa5 5 #include "mbed.h"
k4zuki 1:98b55aeebaa5 6 #include "sinelookup.h"
K4zuki 5:f1907e4d1147 7 // #include "TLV320.h"
k4zuki 1:98b55aeebaa5 8 // #include "DA7212.h"
k4zuki 9:fe61a56fa5a9 9 #include "I2S.h"
K4zuki 5:f1907e4d1147 10 // #include "C12832.h"
K4zuki 5:f1907e4d1147 11
K4zuki 5:f1907e4d1147 12 // C12832 lcd(PTD2, PTD1, PTD3, PTC3, PTD0);
K4zuki 5:f1907e4d1147 13 // AnalogIn pot1 (PTB2);
K4zuki 5:f1907e4d1147 14 // AnalogIn pot2 (PTB3);
k4zuki 1:98b55aeebaa5 15
k4zuki 1:98b55aeebaa5 16 #define SAMPLERATE 32000
k4zuki 1:98b55aeebaa5 17
K4zuki 2:3e6fb6a1f3ef 18 //DA7212 codec(I2C_SDA, I2C_SCL);
k4zuki 9:fe61a56fa5a9 19 //TLV320 codec(I2C_SDA, I2C_SCL);
k4zuki 10:31c65ba8b7ea 20 I2S i2s(I2S_TRANSMIT, PTC1, PTB19, PTB18);
k4zuki 1:98b55aeebaa5 21
k4zuki 9:fe61a56fa5a9 22 //AnalogIn aIn(p19);
k4zuki 9:fe61a56fa5a9 23 //AnalogIn vol(p20);
k4zuki 9:fe61a56fa5a9 24 //
k4zuki 9:fe61a56fa5a9 25 //float phase_l;
k4zuki 9:fe61a56fa5a9 26 //float phase_r;
k4zuki 9:fe61a56fa5a9 27 //int minibuf[16];
k4zuki 9:fe61a56fa5a9 28 //float skipper;
k4zuki 9:fe61a56fa5a9 29 //float volume;
k4zuki 9:fe61a56fa5a9 30 //float phase_kill;
k4zuki 9:fe61a56fa5a9 31 //
k4zuki 9:fe61a56fa5a9 32 //
k4zuki 9:fe61a56fa5a9 33 //extern "C" void HardFault_Handler()
k4zuki 9:fe61a56fa5a9 34 //{
k4zuki 9:fe61a56fa5a9 35 // error("Hard Fault!\n");
k4zuki 9:fe61a56fa5a9 36 //}
k4zuki 9:fe61a56fa5a9 37 //
k4zuki 9:fe61a56fa5a9 38 //
k4zuki 9:fe61a56fa5a9 39 //void play(void)
k4zuki 9:fe61a56fa5a9 40 //{
k4zuki 9:fe61a56fa5a9 41 // int to_write = i2s.max_fifo_points() - (i2s.fifo_points());
k4zuki 9:fe61a56fa5a9 42 // for(int i = 0; i < to_write; i+=2) {
k4zuki 9:fe61a56fa5a9 43 // minibuf[i] = int(float(sine16lookup[int(phase_l)])*volume);
k4zuki 9:fe61a56fa5a9 44 // //minibuf[i] = int(sine16lookup[int(phase_l)]);
k4zuki 9:fe61a56fa5a9 45 // minibuf[i+1] = int(float(sine16lookup[int(phase_r)])*volume);
k4zuki 9:fe61a56fa5a9 46 // phase_l+=skipper;
k4zuki 9:fe61a56fa5a9 47 // phase_r = phase_l + phase_kill;
k4zuki 9:fe61a56fa5a9 48 // while(phase_l >= SINE16LENGTH) {
k4zuki 9:fe61a56fa5a9 49 // phase_l -= SINE16LENGTH;
k4zuki 9:fe61a56fa5a9 50 // }
k4zuki 9:fe61a56fa5a9 51 //
k4zuki 9:fe61a56fa5a9 52 // while(phase_r >= SINE16LENGTH) {
k4zuki 9:fe61a56fa5a9 53 // phase_r -= SINE16LENGTH;
k4zuki 9:fe61a56fa5a9 54 // }
k4zuki 9:fe61a56fa5a9 55 // while(phase_r< 0) phase_r += SINE16LENGTH;
k4zuki 9:fe61a56fa5a9 56 // }
k4zuki 9:fe61a56fa5a9 57 // i2s.write(minibuf, to_write);
k4zuki 9:fe61a56fa5a9 58 //}
k4zuki 9:fe61a56fa5a9 59 Serial pc(USBTX,USBRX);
k4zuki 1:98b55aeebaa5 60 /* main */
k4zuki 1:98b55aeebaa5 61 int main()
k4zuki 1:98b55aeebaa5 62 {
k4zuki 9:fe61a56fa5a9 63 pc.baud(115200);
k4zuki 9:fe61a56fa5a9 64 pc.printf("printf\n\r");
k4zuki 8:42093f0e5d9e 65 // skipper = (aIn*49)+1;
k4zuki 11:2fcbac0f72dd 66
k4zuki 8:42093f0e5d9e 67 // codec.power(true);
k4zuki 8:42093f0e5d9e 68 // codec.frequency(SAMPLERATE);
k4zuki 8:42093f0e5d9e 69 // codec.wordsize(16);
k4zuki 8:42093f0e5d9e 70 // codec.master(false);
k4zuki 8:42093f0e5d9e 71 // codec.headphone_volume(0.5);
k4zuki 8:42093f0e5d9e 72 // codec.start();
k4zuki 11:2fcbac0f72dd 73
k4zuki 11:2fcbac0f72dd 74 // i2s.frequency(SAMPLERATE);
k4zuki 11:2fcbac0f72dd 75 // i2s.wordsize(16);
k4zuki 11:2fcbac0f72dd 76 // i2s.stereomono(I2S_STEREO);
k4zuki 11:2fcbac0f72dd 77 // i2s.masterslave(I2S_MASTER);
k4zuki 11:2fcbac0f72dd 78 // i2s.attach(&play);
k4zuki 11:2fcbac0f72dd 79 // i2s.start();
k4zuki 1:98b55aeebaa5 80 while(1)
k4zuki 9:fe61a56fa5a9 81 {
k4zuki 9:fe61a56fa5a9 82 pc.printf(".");
k4zuki 9:fe61a56fa5a9 83 wait_ms(500);
k4zuki 8:42093f0e5d9e 84 // skipper = (aIn*30)+1;
k4zuki 11:2fcbac0f72dd 85
k4zuki 8:42093f0e5d9e 86 // volume = 1;
k4zuki 11:2fcbac0f72dd 87 // phase_kill = (vol - 0.5) * 400;
k4zuki 11:2fcbac0f72dd 88
k4zuki 11:2fcbac0f72dd 89 // printf("Skipper:%f, %i, %i\n\r",skipper, to_write,i2s.fifo_level());
k4zuki 1:98b55aeebaa5 90 /*if(flag)
k4zuki 1:98b55aeebaa5 91 {
k4zuki 1:98b55aeebaa5 92 printf(".");
k4zuki 1:98b55aeebaa5 93 flag = false;
k4zuki 1:98b55aeebaa5 94 }*/
k4zuki 1:98b55aeebaa5 95 }
k4zuki 1:98b55aeebaa5 96
k4zuki 1:98b55aeebaa5 97 }
K4zuki 5:f1907e4d1147 98 // #include "C12832.h"
K4zuki 5:f1907e4d1147 99 //
K4zuki 5:f1907e4d1147 100 // C12832 lcd(D11, D13, D12, D7, D10);
K4zuki 5:f1907e4d1147 101 //
K4zuki 5:f1907e4d1147 102 // AnalogIn pot1 (A0);
K4zuki 5:f1907e4d1147 103 // AnalogIn pot2 (A1);
K4zuki 5:f1907e4d1147 104 //
K4zuki 5:f1907e4d1147 105 // int main()
K4zuki 5:f1907e4d1147 106 // {
K4zuki 5:f1907e4d1147 107 // while(1) {
K4zuki 5:f1907e4d1147 108 // lcd.cls();
K4zuki 5:f1907e4d1147 109 // lcd.locate(0,3);
K4zuki 5:f1907e4d1147 110 // lcd.printf("Pot 1 = %.2f", (float)pot1);
K4zuki 5:f1907e4d1147 111 // lcd.locate(0,14);
K4zuki 5:f1907e4d1147 112 // lcd.printf("Pot 2 = %.2f", (float)pot2);
K4zuki 5:f1907e4d1147 113 // wait(0.1);
K4zuki 5:f1907e4d1147 114 // }
K4zuki 5:f1907e4d1147 115 // }