Esempio n. 1
0
/*****************************************************************************
 * Name :
 * Input:
 * Output:
 * Description :
 *	Comments :
 *****************************************************************************/
bool TestStep(u8 testCaseNbr)
{
    bool result = false;

    // nastavim 1 output na vystup
    OUT1_DDR = OUT_group1_BASE |OUT_group1_mask[testCaseNbr];
    OUT2_DDR = OUT_group2_BASE |OUT_group2_mask[testCaseNbr];

    //nastavim 1 na jednom vystupu
    OUT1_ODR = OUT_group1_BASE |OUT_group1_mask[testCaseNbr];
    OUT2_ODR = OUT_group2_BASE |OUT_group2_mask[testCaseNbr];

    SetTimeoutTime(10);
    while (!IsTimeoutExpired());
    // test pruchodnosti - jeden vstup(maskovany podle zvoleneho vystupu musi byt nastaveny
    if (! ((IN1_IDR & IN_group1_BASE &  IN_group1_mask[testCaseNbr]) ||
            (IN2_IDR & IN_group2_BASE &  IN_group2_mask[testCaseNbr]))) {
        return false; //- neprochazi
    }
    // test zkratu na zadnem vstupu (ostatnich) nesmi byt 1 krome testovaneho
    if ((IN1_IDR & IN_group1_BASE &  ~IN_group1_mask[testCaseNbr]) ||
            (IN2_IDR & IN_group2_BASE &  ~IN_group2_mask[testCaseNbr])) {
        return false;// - zkrat
    }
    // test zkratu 2 - take na zadnem z ostatnich vystupu nesmi byt 1 ( v IN modu)
    if ((OUT1_IDR & OUT_group1_BASE_Mask &  ~OUT_group1_mask[testCaseNbr]) ||
            (OUT2_IDR & OUT_group2_BASE_Mask &  ~OUT_group2_mask[testCaseNbr])) {
        return false;// - zkrat
    }

    // test na nulovy stav - nastaveim 1 na vsechny vystupy krome testovaneho
    OUT1_DDR = OUT_group1_BASE_Mask; // vsechny vystupy jako vystupy
    OUT2_DDR = OUT_group2_BASE_Mask;

    OUT1_ODR = OUT_group1_BASE_Mask & ~OUT_group1_mask[testCaseNbr]; // nastav vsechny vystup krome jednoho
    OUT2_ODR = OUT_group2_BASE_Mask & ~OUT_group2_mask[testCaseNbr];

    SetTimeoutTime(10);
    while (!IsTimeoutExpired());
    // test pruchodnosti  a zkratu - testovany vstup musi byt 0
    if ( ((IN1_IDR & IN_group1_BASE &  IN_group1_mask[testCaseNbr]) ||
            (IN2_IDR & IN_group2_BASE &  IN_group2_mask[testCaseNbr]))) {
        return false;
    }
    return true;

}
Esempio n. 2
0
bool CTeamspeak::ConnectT() {
	if(!IP.length())
		return false;
	
	SocketMutex.Lock();
	struct addrinfo sHints, *sRes;
	
	memset(&sHints, 0, sizeof sHints);
	sHints.ai_family = AF_UNSPEC;
	sHints.ai_socktype = SOCK_STREAM;

	if(getaddrinfo(IP.c_str(), "10011", &sHints, &sRes) != 0)
		return SocketMutex.Unlock(), false;

	SocketID = socket(sRes->ai_family, sRes->ai_socktype, sRes->ai_protocol);
	if(SocketID == -1)
		return SocketMutex.Unlock(), false;
	if(connect(SocketID, sRes->ai_addr, sRes->ai_addrlen) == SOCKET_ERROR)
		return SocketMutex.Unlock(), false;


	SetTimeoutTime(10);
	SLEEP(50);

	string GreetingMsg, TmpRecvBuf;
	while(Recv(&TmpRecvBuf) != SOCKET_ERROR) {
		GreetingMsg.append(TmpRecvBuf);
		TmpRecvBuf.clear();
	}

	char SendCmd[32];
	sprintf(SendCmd, "use port=%s", Port.c_str());
	Send(SendCmd);

	string SendRes;
	if(Recv(&SendRes) == SOCKET_ERROR)
		return SocketMutex.Unlock(), false;

	Connected = true;
	SocketMutex.Unlock();

	return true;
}
Esempio n. 3
0
void main()
{
    u16 tmp;
    u8 tmp8, tmp8_A,i;
    bool result;

    //RC => fcp
    //CLK_Init(CLK_HSI);  // internal RC as a clock source
    CLK->CKDIVR = 0;
    disableInterrupts();
    GPIO_Init();
    TIM4_Init();


    enableInterrupts();
    OK = 0;
    FAIL = 0;

    do {

        if (START == 0) {

            //nastavim 1 vystup do 0
            OUT1_ODR = OUT_group1_BASE;
            OUT2_ODR = OUT_group2_BASE;

            SetTimeoutTime(10);
            while (!IsTimeoutExpired());

            // test zkratu na VCC - na zadnem vstupu nesmi byt 1
            if ((IN1_IDR & IN_group1_BASE ) ||
                    (IN2_IDR & IN_group2_BASE )) {
                FAIL = 1;// - neni klidovy stav
                OK = 1;
            } else	{

                result = true;
                for (i = 0; i < TEST_PAIRS; ++i) {

                    SetTimeoutTime(10);
                    while (!IsTimeoutExpired());

                    result  &= TestStep(i);

                }

                if (result) {
                    OK = 1;
                    FAIL = 0;
                }	else {
                    OK = 0;
                    FAIL = 1;
                }
            }
            //SetTimeoutTime(7000);
            //while (!IsTimeoutExpired());
            while (!START);
            OK = 0;
            FAIL = 0;
            SetTimeoutTime(2000);
            while (!IsTimeoutExpired());
        }



        /** LED Flashing **/
        if (GetLedState()) {
            LED_ON;
            //CAN_Write(&CAN_TxMsg);
        } else {
            LED_OFF;
        }

    } while (1);

}