/*
 * e_mulcon.h
 *
 *  Created on: 10-06-2016
 *      Author: Krzysztof Jakubczyk
 */

#ifndef E_MULCON_H_
#define E_MULCON_H_

#include "tdefs.h"

struct e_mulcon_logic
{
	float *orta_in_ptr;
	float *ortb_in_ptr;
	float *orta_out_ptr;
	float *ortb_out_ptr;
	float *esk_ptr;
	float orta_;
	float ortb_;
};

struct e_mulcon_io
{
	u32 orta_float_in;
	u32 ortb_float_in;
	u32 orta_float_out;
	u32 ortb_float_out;
	u32 esk_float_out;
}__attribute__((__packed__));

struct e_mulcon_params
{
	double value;
	double phase;
}__attribute__((__packed__));

struct e_mulcon_args
{
	struct e_mulcon_io io;
	struct e_mulcon_params params;
//	u16 crc;
}__attribute__((__packed__));

extern void e_mulcon(void *args, void *logic);
extern int e_mulcon_initlog(void *arguments, void *logic);

#endif /* E_MULCON_H_ */
