Ejemplo n.º 1
0
void CVechileMgr::run( void *param )
{
	int n = 0 ;
	memcpy( &n , &param, sizeof(int) ) ;

	switch( n )
	{
	case THREAD_TIME:
		TimeWork() ;
		break ;
	case THREAD_NOOP:
		NoopWork() ;
		break ;
	case THREAD_SEND:
		SendWork() ;
		break ;
	}
}
Ejemplo n.º 2
0
void TestASIC(u8 n) {
    u8 nonce[4] = {0, 0, 0, 0};
    u8 work[44];
    u8 i;
    u8 stat;
    u8 case_n = 1;
    u32 tick;
    UARTWriteLine("Test Chip:");
    UARTWriteInt(n,2);
    CloseASIC();
    OpenASIC(n);

    UARTWriteLine("Set Clock To ");
    UARTWriteInt(10 * (CHIP_CLOCK + 1), 3);
    SetPll(CHIP_CLOCK);

    
    UARTWriteLine("Check Status: ");
    stat = GetASIC();
    UARTWriteOneHex(stat);

    UARTWriteLine("Sending  work: ");
    for (i = 0; i < 44; i++) {
        UARTWriteOneHex(cases[case_n].work[i]);
    }
    SendWork(cases[case_n].work);
    UARTWriteLine("Checking work: ");
    ReadWork(work);
    for (i = 0; i < 44; i++) {
        UARTWriteOneHex(work[i]);
    }
    tick=GetTime();
    while(GetTime()-tick<700);
    GetNonce(&nonce, TRUE);
    UARTWriteLine("Get Nonce:");
    UARTWriteHex(nonce);
    UARTWriteLine(" Expected:");
    UARTWriteHex(cases[case_n].nonce);
    UARTGotoNewLine();

}