CIS541 / Mbed 2 deprecated Pacemaker_2

Dependencies:   mbed-rtos mbed

Committer:
Huazhi
Date:
Fri Nov 27 21:43:33 2015 +0000
Revision:
0:6477530de2c0
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Huazhi 0:6477530de2c0 1 /* VRP */
Huazhi 0:6477530de2c0 2 void VRP(void const *i)
Huazhi 0:6477530de2c0 3 {
Huazhi 0:6477530de2c0 4 int CurrentState = VRP_INITIAL;
Huazhi 0:6477530de2c0 5 RtosTimer local_timer = RtosTimer(VRP_timer, osTimerPeriodic,(void *)0);
Huazhi 0:6477530de2c0 6 local_timer.start(1);
Huazhi 0:6477530de2c0 7 while (true) {
Huazhi 0:6477530de2c0 8 switch (CurrentState) {
Huazhi 0:6477530de2c0 9 case VRP_VSENSE:
Huazhi 0:6477530de2c0 10 if(VRP_clock >= VSENSE_TIME_UPPER) {
Huazhi 0:6477530de2c0 11 SyncStatus[VSENSE] = agre_time;
Huazhi 0:6477530de2c0 12 CurrentState = VRP_WAIT;
Huazhi 0:6477530de2c0 13 VRP_clock = 0;
Huazhi 0:6477530de2c0 14 pc.printf("VSense ");
Huazhi 0:6477530de2c0 15 pc.printf("Time: %ld", agre_time);
Huazhi 0:6477530de2c0 16 pc.printf("\n");
Huazhi 0:6477530de2c0 17 }
Huazhi 0:6477530de2c0 18 break;
Huazhi 0:6477530de2c0 19 }
Huazhi 0:6477530de2c0 20 for(int trn=20; trn<=22; trn++) {
Huazhi 0:6477530de2c0 21 if(TRANS[trn].source == CurrentState){
Huazhi 0:6477530de2c0 22 TRANS[trn].active = true;
Huazhi 0:6477530de2c0 23 }else{
Huazhi 0:6477530de2c0 24 TRANS[trn].active = false;
Huazhi 0:6477530de2c0 25 }
Huazhi 0:6477530de2c0 26 if(TRANS[trn].active) {
Huazhi 0:6477530de2c0 27 if(EVAL_GUARD(trn)) {
Huazhi 0:6477530de2c0 28 if(TRANS[trn].syncid == NONE || agre_time - SyncStatus[TRANS[trn].syncid] < Broadcase_delay) {
Huazhi 0:6477530de2c0 29 CurrentState = TRANS[trn].dest;
Huazhi 0:6477530de2c0 30 ASSIGN(trn);
Huazhi 0:6477530de2c0 31 }
Huazhi 0:6477530de2c0 32 }
Huazhi 0:6477530de2c0 33 }
Huazhi 0:6477530de2c0 34 }
Huazhi 0:6477530de2c0 35 }
Huazhi 0:6477530de2c0 36 }