#include "KMotionDef.h"

//
int main() 
{
//KANAL 0 - KOORDINATA X
	ch0->InputMode=ENCODER_MODE;
	ch0->OutputMode=CL_STEP_DIR_MODE;
	ch0->Vel=15000;
	ch0->Accel=50000;
	ch0->Jerk=200000;
	ch0->P=1.3;
	ch0->I=0.008;
	ch0->D=0.01;
	ch0->FFAccel=5e-05;
	ch0->FFVel=0.007;
	ch0->MaxI=2048;
	ch0->MaxErr=1000;
	ch0->MaxOutput=2048;
	ch0->DeadBandGain=0;
	ch0->DeadBandRange=1;
	ch0->InputChan0=0;
	ch0->InputChan1=0;
	ch0->OutputChan0=8;
	ch0->OutputChan1=0;
	ch0->MasterAxis=-1;
	ch0->LimitSwitchOptions=0x12f;
	ch0->LimitSwitchNegBit=27;
	ch0->LimitSwitchPosBit=26;
	ch0->SoftLimitPos=250500;
	ch0->SoftLimitNeg=-99910;
	ch0->InputGain0=0.25;
	ch0->InputGain1=1;
	ch0->InputOffset0=0;
	ch0->InputOffset1=0;
	ch0->OutputGain=1;
	ch0->OutputOffset=0;
	ch0->SlaveGain=1;
	ch0->BacklashMode=BACKLASH_OFF;
	ch0->BacklashAmount=0;
	ch0->BacklashRate=0;
	ch0->invDistPerCycle=1;
	ch0->Lead=0;
	ch0->MaxFollowingError=1000;
	ch0->StepperAmplitude=20;

	ch0->iir[0].B0=1;
	ch0->iir[0].B1=0;
	ch0->iir[0].B2=0;
	ch0->iir[0].A1=0;
	ch0->iir[0].A2=0;

	ch0->iir[1].B0=1;
	ch0->iir[1].B1=0;
	ch0->iir[1].B2=0;
	ch0->iir[1].A1=0;
	ch0->iir[1].A2=0;

	ch0->iir[2].B0=0.361221;
	ch0->iir[2].B1=0.361221;
	ch0->iir[2].B2=0;
	ch0->iir[2].A1=0.277558;
	ch0->iir[2].A2=0;

//KANAL 1 - KOORDINATA X-SLAVE
	ch1->InputMode=ENCODER_MODE;
	ch1->OutputMode=CL_STEP_DIR_MODE;
	ch1->Vel=15000;
	ch1->Accel=50000;
	ch1->Jerk=200000;
	ch1->P=1.3;
	ch1->I=0.008;
	ch1->D=0.01;
	ch1->FFAccel=5e-05;
	ch1->FFVel=0.007;
	ch1->MaxI=2048;
	ch1->MaxErr=1000;
	ch1->MaxOutput=2048;
	ch1->DeadBandGain=0;
	ch1->DeadBandRange=1;
	ch1->InputChan0=1;
	ch1->InputChan1=0;
	ch1->OutputChan0=9;
	ch1->OutputChan1=0;
	ch1->MasterAxis=0;
	ch1->LimitSwitchOptions=0x12f;
	ch1->LimitSwitchNegBit=27;
	ch1->LimitSwitchPosBit=26;
	ch1->SoftLimitPos=250500;
	ch1->SoftLimitNeg=-99910;
	ch1->InputGain0=0.25;
	ch1->InputGain1=1;
	ch1->InputOffset0=0;
	ch1->InputOffset1=0;
	ch1->OutputGain=1;
	ch1->OutputOffset=0;
	ch1->SlaveGain=1;
	ch1->BacklashMode=BACKLASH_OFF;
	ch1->BacklashAmount=0;
	ch1->BacklashRate=0;
	ch1->invDistPerCycle=1;
	ch1->Lead=0;
	ch1->MaxFollowingError=1000;
	ch1->StepperAmplitude=20;

	ch1->iir[0].B0=1;
	ch1->iir[0].B1=0;
	ch1->iir[0].B2=0;
	ch1->iir[0].A1=0;
	ch1->iir[0].A2=0;

	ch1->iir[1].B0=1;
	ch1->iir[1].B1=0;
	ch1->iir[1].B2=0;
	ch1->iir[1].A1=0;
	ch1->iir[1].A2=0;

	ch1->iir[2].B0=0.361221;
	ch1->iir[2].B1=0.361221;
	ch1->iir[2].B2=0;
	ch1->iir[2].A1=0.277558;
	ch1->iir[2].A2=0;
    

//KANAL 2 - KOORDINATA Z
	ch2->InputMode=ENCODER_MODE;
	ch2->OutputMode=CL_STEP_DIR_MODE;
	ch2->Vel=15000;
	ch2->Accel=50000;
	ch2->Jerk=200000;
	ch2->P=1.3;
	ch2->I=0.006;
	ch2->D=0.01;
	ch2->FFAccel=5e-06;
	ch2->FFVel=0.007;
	ch2->MaxI=2048;
	ch2->MaxErr=1000;
	ch2->MaxOutput=2048;
	ch2->DeadBandGain=0;
	ch2->DeadBandRange=1;
	ch2->InputChan0=2;
	ch2->InputChan1=0;
	ch2->OutputChan0=10;
	ch2->OutputChan1=0;
	ch2->MasterAxis=-1;
	ch2->LimitSwitchOptions=0x12f;
	ch2->LimitSwitchNegBit=30;
	ch2->LimitSwitchPosBit=31;
	ch2->SoftLimitPos=999100;
	ch2->SoftLimitNeg=-9.99765e+07;
	ch2->InputGain0=0.25;
	ch2->InputGain1=1;
	ch2->InputOffset0=0;
	ch2->InputOffset1=0;
	ch2->OutputGain=1;
	ch2->OutputOffset=0;
	ch2->SlaveGain=1;
	ch2->BacklashMode=BACKLASH_OFF;
	ch2->BacklashAmount=0;
	ch2->BacklashRate=0;
	ch2->invDistPerCycle=1;
	ch2->Lead=0;
	ch2->MaxFollowingError=1000;
	ch2->StepperAmplitude=20;

	ch2->iir[0].B0=1;
	ch2->iir[0].B1=0;
	ch2->iir[0].B2=0;
	ch2->iir[0].A1=0;
	ch2->iir[0].A2=0;

	ch2->iir[1].B0=1;
	ch2->iir[1].B1=0;
	ch2->iir[1].B2=0;
	ch2->iir[1].A1=0;
	ch2->iir[1].A2=0;

	ch2->iir[2].B0=0.361221;
	ch2->iir[2].B1=0.361221;
	ch2->iir[2].B2=0;
	ch2->iir[2].A1=0.277558;
	ch2->iir[2].A2=0;

//KANAL 3 - KOORDINATA Y
	ch3->InputMode=ENCODER_MODE;
	ch3->OutputMode=CL_STEP_DIR_MODE;
	ch3->Vel=15000;
	ch3->Accel=50000;
	ch3->Jerk=200000;
	ch3->P=1.3;
	ch3->I=0.006;
	ch3->D=0.01;
	ch3->FFAccel=5e-06;
	ch3->FFVel=0.008;
	ch3->MaxI=2048;
	ch3->MaxErr=1000;
	ch3->MaxOutput=2048;
	ch3->DeadBandGain=0;
	ch3->DeadBandRange=1;
	ch3->InputChan0=3;
	ch3->InputChan1=0;
	ch3->OutputChan0=11;
	ch3->OutputChan1=0;
	ch3->MasterAxis=-1;
	ch3->LimitSwitchOptions=0x12f;
	ch3->LimitSwitchNegBit=28;
	ch3->LimitSwitchPosBit=29;
	ch3->SoftLimitPos=161800;
	ch3->SoftLimitNeg=-999100;
	ch3->InputGain0=0.25;
	ch3->InputGain1=1;
	ch3->InputOffset0=0;
	ch3->InputOffset1=0;
	ch3->OutputGain=1;
	ch3->OutputOffset=0;
	ch3->SlaveGain=1;
	ch3->BacklashMode=BACKLASH_OFF;
	ch3->BacklashAmount=0;
	ch3->BacklashRate=0;
	ch3->invDistPerCycle=1;
	ch3->Lead=0;
	ch3->MaxFollowingError=1000;
	ch3->StepperAmplitude=20;

	ch3->iir[0].B0=1;
	ch3->iir[0].B1=0;
	ch3->iir[0].B2=0;
	ch3->iir[0].A1=0;
	ch3->iir[0].A2=0;

	ch3->iir[1].B0=1;
	ch3->iir[1].B1=0;
	ch3->iir[1].B2=0;
	ch3->iir[1].A1=0;
	ch3->iir[1].A2=0;

	ch3->iir[2].B0=0.361221;
	ch3->iir[2].B1=0.361221;
	ch3->iir[2].B2=0;
	ch3->iir[2].A1=0.277558;
	ch3->iir[2].A2=0;



EnableAxisDest(0,0);
EnableAxisDest(1,0);	
EnableAxisDest(2,0);
EnableAxisDest(3,0);

	DefineCoordSystem(0,3,2,-1);

    return 0;
}
