2025-11-18 11:19:21 +01:00

20 lines
498 B
C

#include "system/task_add.h"
#include "system/data_channel.h"
#include "system/float_word.h"
int task_add_run( void * task ) {
add_config * config = (add_config *) task;
for (uint32_t i = 0; i < DATA_CHANNEL_DEPTH; ++i){
float a, b;
data_channel_read(config->sources[0], (uint32_t *) &a);
data_channel_read(config->sources[1], (uint32_t *) &b);
float_word c;
c.value = a + b;
data_channel_write( config->sink, c.word);
}
return 0;
}