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