2023-10-31 07:47:27 +01:00
|
|
|
#include "system/task_add.h"
|
|
|
|
#include "system/data_channel.h"
|
|
|
|
#include "system/float_word.h"
|
|
|
|
|
|
|
|
int task_add_run( void * task ) {
|
|
|
|
|
2025-01-08 08:50:24 +01:00
|
|
|
add_config * config = (add_config *) task;
|
|
|
|
|
|
|
|
float_word f;
|
|
|
|
|
|
|
|
for (uint32_t i = 0; i < DATA_CHANNEL_DEPTH; i++)
|
|
|
|
{
|
|
|
|
float a;
|
|
|
|
data_channel_read(config->sources[0], (uint32_t *) & a);
|
|
|
|
|
|
|
|
float b;
|
|
|
|
data_channel_read(config->sources[1], (uint32_t *) & b);
|
|
|
|
|
|
|
|
float_word c;
|
|
|
|
c.value = a + b;
|
|
|
|
f.value = c.value;
|
|
|
|
data_channel_write(config->sink, c.word);
|
|
|
|
}
|
2023-10-31 07:47:27 +01:00
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|