CIS541 / Mbed 2 deprecated Pacemaker_2

Dependencies:   mbed-rtos mbed

VRP.h

Committer:
Huazhi
Date:
2015-11-27
Revision:
0:6477530de2c0

File content as of revision 0:6477530de2c0:

/* VRP */
void VRP(void const *i)
{
    int CurrentState = VRP_INITIAL;
    RtosTimer local_timer = RtosTimer(VRP_timer, osTimerPeriodic,(void *)0);
    local_timer.start(1);
    while (true) {
        switch (CurrentState) {
            case VRP_VSENSE:
                if(VRP_clock >= VSENSE_TIME_UPPER) {
                    SyncStatus[VSENSE] = agre_time;
                    CurrentState = VRP_WAIT;
                    VRP_clock = 0;
                    pc.printf("VSense ");
                    pc.printf("Time: %ld", agre_time);
                    pc.printf("\n");
                }
                break;
        }
        for(int trn=20; trn<=22; trn++) {
            if(TRANS[trn].source == CurrentState){
                TRANS[trn].active = true;
            }else{
                TRANS[trn].active = false;
            }
            if(TRANS[trn].active) {
                if(EVAL_GUARD(trn)) {
                    if(TRANS[trn].syncid == NONE || agre_time - SyncStatus[TRANS[trn].syncid] < Broadcase_delay) {
                        CurrentState = TRANS[trn].dest;
                        ASSIGN(trn);
                    }
                }
            }
        }
    }
}