From 6fad6f054c618c0b4f8caeba20b5dfa7536df157 Mon Sep 17 00:00:00 2001 From: dan1b8 Date: Wed, 6 Nov 2024 09:05:45 +0100 Subject: [PATCH] sine.c --- software/signal_processing/sine.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/software/signal_processing/sine.c b/software/signal_processing/sine.c index 3eb3ce5..8eea50d 100644 --- a/software/signal_processing/sine.c +++ b/software/signal_processing/sine.c @@ -2,9 +2,24 @@ #include "system/data_channel.h" #include "system/float_word.h" +#include + +#define PI 3.14 + int task_sine_run( void * data ) { - // TODO + sine_config *task = (sine_config*)data; + + uint32_t data_channel_base = task->base.sink; + data_channel_clear(data_channel_base); + + for (uint32_t i = 0; i < DATA_CHANNEL_DEPTH; ++i) + { + float_word res; + res.value = task->amplitude * sin( (2*PI*task->samples_per_periode) * i + task->phase); + + data_channel_write(data_channel_base, res.word); + } return 0; }