Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: AMachine.h
- Revision:
- 0:6477530de2c0
diff -r 000000000000 -r 6477530de2c0 AMachine.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AMachine.h Fri Nov 27 21:43:33 2015 +0000 @@ -0,0 +1,36 @@ +/* AMachine */ +void AMachine(void const *i) +{ + int CurrentState = AMACHINE_INITIAL; + RtosTimer local_timer = RtosTimer(AMachine_timer, osTimerPeriodic,(void *)0); + /*rtos timer can only use static functions as callbacks*/ + local_timer.start(1); + while (true) { + int trn = 0; + switch (CurrentState) { + case AMACHINE_INITIAL: + if(AMachine_clock > CURRENT_LRI - AVI) { + SyncStatus[APACE] = agre_time; + CurrentState = AMACHINE_V; + pc.printf("APace "); + pc.printf("Time: %ld", agre_time); + pc.printf("\n"); + } + } + for(trn=0; trn<=4; 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); + } + } + } + } + } +}