From 875a368c60e9ea0a79dc4a119dbc42c8694609eb Mon Sep 17 00:00:00 2001
From: Akira <akirajlane@googlemail.com>
Date: Sat, 30 Apr 2022 20:31:43 +0100
Subject: [PATCH] removed unnecessary callback

---
 oscilloscope.c            | 24 +++++-------------------
 oscilloscope.h            |  3 ---
 oscilloscope_incomplete.c | 20 +++++---------------
 3 files changed, 10 insertions(+), 37 deletions(-)

diff --git a/oscilloscope.c b/oscilloscope.c
index 4f54617..78c2378 100644
--- a/oscilloscope.c
+++ b/oscilloscope.c
@@ -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[]) {
diff --git a/oscilloscope.h b/oscilloscope.h
index c946184..2f81663 100644
--- a/oscilloscope.h
+++ b/oscilloscope.h
@@ -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();
 
diff --git a/oscilloscope_incomplete.c b/oscilloscope_incomplete.c
index ab14e4a..e6c5ae5 100644
--- a/oscilloscope_incomplete.c
+++ b/oscilloscope_incomplete.c
@@ -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[]) {
-- 
GitLab