/*
 * Diff_2.h
 *
 *  Created on: 08-05-2017
 *      Author: Krzysztof Jakubczyk
 */

#ifndef DIFF_2_H_
#define DIFF_2_H_

#include "Diff.h"

#include "tdefs.h"

struct diff_2_params
{
	u32 bity; ///< nastawy bitowe;

	u32 Tr_zas;///<strona zasilania ukladu zabezpieczenia rożnicowego
	u32 GrP1; ///<fabryczna grupa polaczen uzwojen transformatora dla uzwojenia GN (1)
	u32 GrP2; ///<fabryczna grupa polaczen uzwojen transformatora dla uzwojenia SN (2)
	u32 GrP3; ///<fabryczna grupa polaczen uzwojen transformatora dla uzwojenia SN (3)

	double Iro;///< poczatkowy prad rozruchowy
	double Ir;///< graniczny prad rozruchowy
	double Ihg; ///< graniczny prad stabilizacji
	double Ihd;///< prad rozruchowy blokady czasowej pradu stabilizujacego
	double tbld; ///< czas blokady dzialania po opuszczeniu strefy blokady czasowej
	double rd; ///< przesuniecie strefy blokady czasowej od strefy dzialania
	double kh1;///< wspolczynnik stabilizacji prosta 2
	double t;///< czas opoznienia dzialania
	double kp;///< wspolczynnik powrotu
	double k_2h;///< wspolczynnik blokowania druga harmoniczna
	double k_5h;///< wspolczynnik blokowania piata harmoniczna
	double PT12;///<przekladnia uzwojen 1-2 transformatora
	double PT13;///<przekladnia uzwojen 1-3 transformatora
}__attribute__((__packed__));

struct diff_2_args
{
	struct diff_io io;
	struct diff_2_params params;
//	u16 crc;
}__attribute__((__packed__));

extern void diff_2(void *args, void *logic);
extern int diff_2_initlog(void *arguments, void *logic);

#endif /* DIFF_1_H_ */
