/////////////////////////////////////////////////////////////////
//
//  初始化配置文件，也就是启动时第一个被加载的脚本文件
//
/////////////////////////////////////////////////////////////////
 
//设置环境变量

//脚本文件扫描目录
_SCRIPTDIR = "script\\src\\";
//函数库加载扫描目录
_LIBDIR = "script\\lib\\";

/////////////////////////////////////////////////////////////////

//加载基本函数库
loaddll("BasicLib.dll");


//接下来的部分可以写脚本代码，可以在下面定义一些脚本函数或者其它的。如：

{
    /*
	function hello()
	{
		print("hello world !");
	}

	function func_test(a)
	{
		local temp = 3;
		print(temp+a);
	}
   */

    //截波信号函数
    signal for_AD0()
    {
        local volts = 2.0;
        local offset = 0.2;
        local duration = 8.0;
        local val;
        local i,end,steps = 100;

        end = (duration * 10000);
        for(i = 0; i < end ;)
        {
            val = (i % steps) * 1.0 / steps;
            AD0((val * volts) + offset);
            i = i+1;
            uswatch(50);
        }
    }
    //正弦波信号函数
    signal for_AD1()
    {
        local volts;        // peak-to-peak volatage
        local frequency;    // output frequency in Hz
        local offset;       // volatge offset
        local duration;     // duration in Seconds
        local val;
        local i, end;  

        volts     = 1.4;
        offset    = 1.6;
        frequency = 180;
        duration  = 5.0;

        end = (duration * 10000);
        for (i = 0 ; i < end;)
        {
            val = __sin(frequency * (GetCurState() * 1.0 / GetClock()) * 2 * 3.1415926);
            AD1((val * volts) + offset);
            uswatch (100);                // in 100 uSec steps
            i = i+1;
        }
    }
    //杂波信号函数
    signal for_AD2()
    {
        local volts;        // peak-to-peak volatage
        local offset;       // volatge offset
        local duration;     // duration in Seconds
        local val;
        local i, end;  

        volts     = 1.4;
        offset    = 1.6;
        duration  = 0.5;

        //__srand();
        end = (duration * 100000);
        for (i = 0; i < end;)
        {
            val =  rand(0) / 32767.0;
            AD2((val * volts) + offset);
            uswatch(10);
            i = i+1;
        }
    }
    //方波信号函数
    signal for_AD3()
    {
        local i;
        local flag = 1;
        local duration = 8.0;
        local end;
        end = (duration * 10000);

        for(i = 0; i < end ;)
        {
            if(flag == 1)
            {
                flag = 0;
            }
            else
            {
                flag = 1;
            }
            AD3(flag);
            i = i+1;
            uswatch(100);
        }
    }
}
