/*
 * comp_s.h
 *
 *  Created on: 01-04-2022
 *      Author: Pawel
 */

#ifndef COMP_S_H_
#define COMP_S_H_

#include "tdefs.h"
//#include "pawel_usun_to.h"

struct nastawy_przeliczone_comp_s
{
    float limit1_; ///< wartosc rozruchowa
	short l_powt_pob;
};

struct comp_s_logic
{
	u16 *buf_ptr;
	struct analog_in_params *an_params;
	
	u8 *P;
	u8 P_bit_no;

	struct nastawy_przeliczone_comp_s nast_;
   	u8 pob;
};

struct comp_s_io
{
    u32 buf_u16_ptr_in;
	u32 param_an_ptr_in;
    u32 P_out;

}__attribute__((__packed__));

struct comp_s_params
{
    double Wr_; ///< wartosc nastawy rozruchowej przekaznika w krotnosciach wartosci znamionowej
    //double kp_; ///< wartosc nastawy wspolczynnika powrotu
    double mnoz_; ///< mnoznik wart_roz
    u32 l_powt_pob;
    //u32 l_powt_odp;
}__attribute__((__packed__));

struct comp_s_args
{
	struct comp_s_io io;
	struct comp_s_params params;
//	u16 crc;
}__attribute__((__packed__));

extern void comp_s(void *args, void *logic);
extern int comp_s_initlog(void *arguments, void *logic);

#endif /* COMP_S_H_ */
