1/*
2 * Copyright 2017, Data61, CSIRO (ABN 41 687 119 230)
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#include <camkes.h>
8#include <stdio.h>
9#include <camkes/dataport.h>
10#include "payload.h"
11
12dataport_ptr_t a_calculate(dataport_ptr_t ptr) {
13    struct payload *p1, *p2;
14    p1 = (struct payload*)dataport_unwrap_ptr(ptr);
15    p2 = (struct payload*)((void*)d + 2048);
16    const char *name = get_instance_name();
17    p2->result = 0;
18    for (int i = 0; i < p1->sz; i++) {
19        printf("%s: Adding %d\n", name, p1->operands[i]);
20        p2->result += p1->operands[i];
21    }
22    return dataport_wrap_ptr((void*)p2);
23}
24