Ejemplo n.º 1
0
void WorkTick(void)
{
    TMR0IF = 0;
 
    if((Status.State == 'W') && (++Status.HashCount == WorkTicks)) {
        WorkNow = (WorkNow+1) & WORKMASK;
        if(--Status.WorkQC > 0) {
            Status.State = 'P'; // set state to push data and do asap
            return;
        }
        else
            Status.State = 'R';
    }
    else
        TMR0 = HashTime;

   if(++SlowTick == 0) {
        LED_Off();
        Status.Temp = ADRESH;
        // todo: adjust fan speed for target temperature
        ADCON0bits.GO_nDONE = 1;
        CheckFanSpeed();
    }
   //if((SlowTick & 3) == 0)
    I2CPoll();
}
Ejemplo n.º 2
0
void WorkTick(void)
{
    TMR0IF = 0;
    TMR0 = HashTime;
    if(RCSTAbits.SPEN == 0) {
    RCSTAbits.SPEN = 1; // renable Rx
    ResultQC = 0;       // resync Rx
    }
    if((Status.State == 'W') && (++Status.HashCount == Status.MaxCount)) {
        if(Status.WorkQC > 0) {
            Status.State = 'P'; // set state to push data and do asap
            return;
        }
        else
            Status.State = 'R';
    }

   if(++SlowTick == 0) {
        LED_Off();
        Status.Temp = ADRESH;
        // todo: adjust fan speed for target temperature
        ADCON0bits.GO_nDONE = 1;
        CheckFanSpeed();
    }
   //if((SlowTick & 3) == 0)
    I2CPoll();
}