Skip to content
Snippets Groups Projects
Commit 875a368c authored by Akira's avatar Akira
Browse files

removed unnecessary callback

parent becb19d4
No related branches found
No related tags found
No related merge requests found
......@@ -13,7 +13,6 @@ int16_t *raw_buffer_b;
bool active_buffer; // 0 for a, 1 for b
unsigned int dma_channel;
samples_ready_handler_t samples_ready_handler;
volatile int samples_read;
int16_t sample_buffer[SAMPLE_BUFFER_SIZE];
......@@ -37,7 +36,6 @@ int main()
// microphone setup
setup_adc();
setup_dma();
set_samples_ready_handler(on_samples_ready);
start_listening();
unsigned int num_samples = 0;
......@@ -58,7 +56,6 @@ int main()
sleep_ms(50);
ST7735_FillScreen(ST7735_BLACK); // clean
}
}
......@@ -136,31 +133,20 @@ void dma_handler()
// swap buffers
active_buffer = !active_buffer;
samples_ready_handler();
}
void set_samples_ready_handler(samples_ready_handler_t handler)
{
samples_ready_handler = handler;
on_samples_ready();
}
int read_samples(int16_t* buffer, size_t samples)
void on_samples_ready()
{
uint16_t* in = active_buffer ? raw_buffer_a : raw_buffer_b;
int16_t* out = buffer;
int16_t* out = sample_buffer;
for (size_t i = 0; i < samples; i++)
for (size_t i = 0; i < SAMPLE_BUFFER_SIZE; i++)
{
*out++ = *in++ - bias;
}
return samples;
}
void on_samples_ready()
{
samples_read = read_samples(sample_buffer, SAMPLE_BUFFER_SIZE);
samples_read = SAMPLE_BUFFER_SIZE;
}
void debug_write_to_screen(char debug_string[]) {
......
......@@ -14,15 +14,12 @@
#include "lib/st7735.h"
#include "lib/ICM20948.h"
typedef void (*samples_ready_handler_t)(void);
void setup_adc();
void setup_dma();
void start_listening();
void dma_handler();
void set_samples_ready_handler(samples_ready_handler_t handler);
int read_samples(int16_t* buffer, size_t samples);
void on_samples_ready();
......
......@@ -62,7 +62,7 @@ void start_listening()
void dma_handler()
{
// TODO: get the samples from DMA into main()
// hint: call samples_ready_handler at the end
// hint: call on_samples_ready at the end
}
void setup_adc()
......@@ -112,27 +112,17 @@ void setup_dma()
}
void set_samples_ready_handler(samples_ready_handler_t handler)
{
samples_ready_handler = handler;
}
int read_samples(int16_t* buffer, size_t samples)
void on_samples_ready()
{
uint16_t* in = active_buffer ? raw_buffer_a : raw_buffer_b;
int16_t* out = buffer;
int16_t* out = sample_buffer;
for (size_t i = 0; i < samples; i++)
for (size_t i = 0; i < SAMPLE_BUFFER_SIZE; i++)
{
*out++ = *in++ - bias;
}
return samples;
}
void on_samples_ready()
{
samples_read = read_samples(sample_buffer, SAMPLE_BUFFER_SIZE);
samples_read = SAMPLE_BUFFER_SIZE;
}
void debug_write_to_screen(char debug_string[]) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment