Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: amakusa mbed-dsp mbed shimabara ukifune unzen_nucleo_f746
Fork of skeleton_unzen_nucleo_f746 by
Diff: main.cpp
- Revision:
- 1:98ddcbbe10ba
- Parent:
- 0:a837eeab3ca6
- Child:
- 2:d5028a37f17b
--- a/main.cpp Sun Jun 19 05:47:06 2016 +0000
+++ b/main.cpp Sun Dec 11 21:05:20 2016 +0000
@@ -1,11 +1,15 @@
+#include "mbed.h"
+
+
#include "unzen.h" // audio framework include file
-#include "umb_adau1361a.h" // audio codec contoler include file
-#include "mbed.h"
+#include "umb_adau1361a.h" // audio codec contoler include file
+#include "amakusa.h" // audio signal processing class library.
-#define CODEC_I2C_ADDR 0x38
+#define CODEC_I2C_ADDR 0x38 // Address of the ADAU-1361A
DigitalOut myled1(LED1);
+amakusa::OSCSinCos osc( 440.0, 48000 ); // freq=440Hz, Fs=48kHz.
// customer signal processing initialization call back.
void init_callback(
@@ -25,11 +29,13 @@
unsigned int block_size // block size [sample]
)
{
- // Sample processing
+ // generate tone.
+ osc.run( tx_left_buffer, block_size );
+
+ // copy left to right
for ( int i=0; i<block_size; i++) // for all sample
{
- tx_left_buffer[i] = rx_left_buffer[i]; // copy from input to output
- tx_right_buffer[i] = rx_right_buffer[i];
+ tx_right_buffer[i] = tx_left_buffer[i] *= 0.5F;
}
}
@@ -42,10 +48,7 @@
I2C i2c(D14, D15);
// create an audio codec contoler
- shimabara::UMB_ADAU1361A codec(shimabara::Fs_32, i2c, CODEC_I2C_ADDR ); // Default Fs is 48kHz
-// shimabara::UMB_ADAU1361A codec(shimabara::Fs_441, i2c, CODEC_I2C_ADDR );
-// shimabara::UMB_ADAU1361A codec(shimabara::Fs_48, i2c, CODEC_I2C_ADDR );
-// shimabara::UMB_ADAU1361A codec(shimabara::Fs_96, i2c, CODEC_I2C_ADDR );
+ shimabara::UMB_ADAU1361A codec(shimabara::Fs_48, i2c, CODEC_I2C_ADDR ); // Fs can be Fs_32, Fs_441, Fs_48, Fs_96
// create an audio framework by singlton pattern
unzen::Framework audio;
@@ -64,18 +67,17 @@
// Start the audio framework on ARM processor.
audio.start( init_callback, process_callback); // path the initializaiton and process call back to framework
+ codec.set_hp_output_gain( -3, -3 );
+ codec.set_line_output_gain( -3, -3 );
// periodically changing gain for test
while(1)
{
- for ( int i=-15; i<4; i++ )
- {
- codec.set_hp_output_gain( i, i );
- codec.set_line_output_gain( i, i );
- myled1 = 1;
- wait(0.2);
- myled1 = 0;
- wait(0.2);
- }
+ /*
+ myled1 = 1;
+ wait(0.2);
+ myled1 = 0;
+ wait(0.2);
+ */
}
}
\ No newline at end of file
