/* @(#)SNC Version 1.9.5: Wed Mar 15 14:23:56 PST 2000: Bic_Scroll.i */ /* Event flags */ #define state_event 1 #define goal_event 2 /* Program "Bic_Scroll" */ #define ANSI #include "seqCom.h" #define NUM_SS 1 #define NUM_CHANNELS 41 #define NUM_EVENTS 2 #define NUM_QUEUES 0 #define MAX_STRING_SIZE 40 #define ASYNC_OPT FALSE #define CONN_OPT TRUE #define DEBUG_OPT FALSE #define REENT_OPT TRUE extern struct seqProgram Bic_Scroll; /* Variable declarations */ struct UserVar { char ascii_time[MAX_STRING_SIZE]; char state_msg[MAX_STRING_SIZE]; char goal_msg[MAX_STRING_SIZE]; char new_msg[MAX_STRING_SIZE]; short i; char scroll_msg[19][MAX_STRING_SIZE]; char hh_mm[19][MAX_STRING_SIZE]; }; /* C code definitions */ # line 7 "../Bic_Scroll.st" #include "vxWorks.h" # line 8 "../Bic_Scroll.st" #include "ctype.h" # line 9 "../Bic_Scroll.st" #include "stdio.h" # line 10 "../Bic_Scroll.st" #include "string.h" # line 11 "../Bic_Scroll.st" #include "taskLib.h" /* Code for state "matsu" in state set "ss_scroll" */ /* Delay function for state "matsu" in state set "ss_scroll" */ static void D_ss_scroll_matsu(ssId, pVar) SS_ID ssId; struct UserVar *pVar; { # line 60 "../Bic_Scroll.st" # line 63 "../Bic_Scroll.st" } /* Event function for state "matsu" in state set "ss_scroll" */ static long E_ss_scroll_matsu(ssId, pVar, pTransNum, pNextState) SS_ID ssId; struct UserVar *pVar; short *pTransNum, *pNextState; { # line 60 "../Bic_Scroll.st" if (seq_efTestAndClear(ssId, state_event)) { *pNextState = 1; *pTransNum = 0; return TRUE; } # line 63 "../Bic_Scroll.st" if (seq_efTestAndClear(ssId, goal_event)) { *pNextState = 1; *pTransNum = 1; return TRUE; } return FALSE; } /* Action function for state "matsu" in state set "ss_scroll" */ static void A_ss_scroll_matsu(ssId, pVar, transNum) SS_ID ssId; struct UserVar *pVar; short transNum; { switch(transNum) { case 0: # line 60 "../Bic_Scroll.st" strcpy((pVar->new_msg) ,(pVar->state_msg)) ; return; case 1: # line 63 "../Bic_Scroll.st" strcpy((pVar->new_msg) ,(pVar->goal_msg)) ; return; } } /* Code for state "kaku" in state set "ss_scroll" */ /* Entry function for state "kaku" in state set "ss_scroll" */ static void I_ss_scroll_kaku(ssId, pVar) SS_ID ssId; struct UserVar *pVar; {/* Entry 1: */ # line 73 "../Bic_Scroll.st" seq_pvGet(ssId, 0) ; # line 74 "../Bic_Scroll.st" memset(((pVar->ascii_time) + 21) ,0 ,1) ; } /* Exit function for state "kaku" in state set "ss_scroll" */ static void O_ss_scroll_kaku(ssId, pVar) SS_ID ssId; struct UserVar *pVar; {/* Exit 1: */ # line 83 "../Bic_Scroll.st" strcpy((pVar->hh_mm)[19 - 1] ,((pVar->ascii_time) + 13)) ; # line 84 "../Bic_Scroll.st" seq_pvPut(ssId, 22 + (19 - 1)) ; # line 86 "../Bic_Scroll.st" strcpy((pVar->scroll_msg)[19 - 1] ,(pVar->new_msg)) ; # line 87 "../Bic_Scroll.st" seq_pvPut(ssId, 3 + (19 - 1)) ; } /* Delay function for state "kaku" in state set "ss_scroll" */ static void D_ss_scroll_kaku(ssId, pVar) SS_ID ssId; struct UserVar *pVar; { # line 80 "../Bic_Scroll.st" seq_delayInit(ssId, 0, (.05)); } /* Event function for state "kaku" in state set "ss_scroll" */ static long E_ss_scroll_kaku(ssId, pVar, pTransNum, pNextState) SS_ID ssId; struct UserVar *pVar; short *pTransNum, *pNextState; { # line 80 "../Bic_Scroll.st" if (seq_delay(ssId, 0)) { *pNextState = 0; *pTransNum = 0; return TRUE; } return FALSE; } /* Action function for state "kaku" in state set "ss_scroll" */ static void A_ss_scroll_kaku(ssId, pVar, transNum) SS_ID ssId; struct UserVar *pVar; short transNum; { switch(transNum) { case 0: # line 79 "../Bic_Scroll.st" for ((pVar->i) = 0; (pVar->i) < 19 - 1; (pVar->i)++) { strcpy((pVar->scroll_msg)[(pVar->i)] ,(pVar->scroll_msg)[(pVar->i) + 1]) ; seq_pvPut(ssId, 3 + ((pVar->i))) ; strcpy((pVar->hh_mm)[(pVar->i)] ,(pVar->hh_mm)[(pVar->i) + 1]) ; seq_pvPut(ssId, 22 + ((pVar->i))) ; } return; } } /* Exit handler */ static void exit_handler(ssId, pVar) int ssId; struct UserVar *pVar; { } /************************ Tables ***********************/ /* Database Blocks */ static struct seqChan seqChan[NUM_CHANNELS] = { {"{STN}:DCCT:RAWTIME", (void *)OFFSET(struct UserVar, ascii_time[0]), "ascii_time", "string", 1, 3, 0, 0, 0, 0, 0}, {"{STN}:STATE:MSG1", (void *)OFFSET(struct UserVar, state_msg[0]), "state_msg", "string", 1, 4, 1, 1, 0, 0, 0}, {"{STN}:FILL:GOAL:MSG", (void *)OFFSET(struct UserVar, goal_msg[0]), "goal_msg", "string", 1, 5, 2, 1, 0, 0, 0}, {"{STN}:SCROLL:MSG1", (void *)OFFSET(struct UserVar, scroll_msg[0][0]), "scroll_msg[0]", "string", 1, 6, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG2", (void *)OFFSET(struct UserVar, scroll_msg[1][0]), "scroll_msg[1]", "string", 1, 7, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG3", (void *)OFFSET(struct UserVar, scroll_msg[2][0]), "scroll_msg[2]", "string", 1, 8, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG4", (void *)OFFSET(struct UserVar, scroll_msg[3][0]), "scroll_msg[3]", "string", 1, 9, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG5", (void *)OFFSET(struct UserVar, scroll_msg[4][0]), "scroll_msg[4]", "string", 1, 10, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG6", (void *)OFFSET(struct UserVar, scroll_msg[5][0]), "scroll_msg[5]", "string", 1, 11, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG7", (void *)OFFSET(struct UserVar, scroll_msg[6][0]), "scroll_msg[6]", "string", 1, 12, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG8", (void *)OFFSET(struct UserVar, scroll_msg[7][0]), "scroll_msg[7]", "string", 1, 13, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG9", (void *)OFFSET(struct UserVar, scroll_msg[8][0]), "scroll_msg[8]", "string", 1, 14, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG10", (void *)OFFSET(struct UserVar, scroll_msg[9][0]), "scroll_msg[9]", "string", 1, 15, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG11", (void *)OFFSET(struct UserVar, scroll_msg[10][0]), "scroll_msg[10]", "string", 1, 16, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG12", (void *)OFFSET(struct UserVar, scroll_msg[11][0]), "scroll_msg[11]", "string", 1, 17, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG13", (void *)OFFSET(struct UserVar, scroll_msg[12][0]), "scroll_msg[12]", "string", 1, 18, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG14", (void *)OFFSET(struct UserVar, scroll_msg[13][0]), "scroll_msg[13]", "string", 1, 19, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG15", (void *)OFFSET(struct UserVar, scroll_msg[14][0]), "scroll_msg[14]", "string", 1, 20, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG16", (void *)OFFSET(struct UserVar, scroll_msg[15][0]), "scroll_msg[15]", "string", 1, 21, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG17", (void *)OFFSET(struct UserVar, scroll_msg[16][0]), "scroll_msg[16]", "string", 1, 22, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG18", (void *)OFFSET(struct UserVar, scroll_msg[17][0]), "scroll_msg[17]", "string", 1, 23, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:MSG19", (void *)OFFSET(struct UserVar, scroll_msg[18][0]), "scroll_msg[18]", "string", 1, 24, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS1", (void *)OFFSET(struct UserVar, hh_mm[0][0]), "hh_mm[0]", "string", 1, 25, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS2", (void *)OFFSET(struct UserVar, hh_mm[1][0]), "hh_mm[1]", "string", 1, 26, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS3", (void *)OFFSET(struct UserVar, hh_mm[2][0]), "hh_mm[2]", "string", 1, 27, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS4", (void *)OFFSET(struct UserVar, hh_mm[3][0]), "hh_mm[3]", "string", 1, 28, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS5", (void *)OFFSET(struct UserVar, hh_mm[4][0]), "hh_mm[4]", "string", 1, 29, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS6", (void *)OFFSET(struct UserVar, hh_mm[5][0]), "hh_mm[5]", "string", 1, 30, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS7", (void *)OFFSET(struct UserVar, hh_mm[6][0]), "hh_mm[6]", "string", 1, 31, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS8", (void *)OFFSET(struct UserVar, hh_mm[7][0]), "hh_mm[7]", "string", 1, 32, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS9", (void *)OFFSET(struct UserVar, hh_mm[8][0]), "hh_mm[8]", "string", 1, 33, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS10", (void *)OFFSET(struct UserVar, hh_mm[9][0]), "hh_mm[9]", "string", 1, 34, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS11", (void *)OFFSET(struct UserVar, hh_mm[10][0]), "hh_mm[10]", "string", 1, 35, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS12", (void *)OFFSET(struct UserVar, hh_mm[11][0]), "hh_mm[11]", "string", 1, 36, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS13", (void *)OFFSET(struct UserVar, hh_mm[12][0]), "hh_mm[12]", "string", 1, 37, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS14", (void *)OFFSET(struct UserVar, hh_mm[13][0]), "hh_mm[13]", "string", 1, 38, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS15", (void *)OFFSET(struct UserVar, hh_mm[14][0]), "hh_mm[14]", "string", 1, 39, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS16", (void *)OFFSET(struct UserVar, hh_mm[15][0]), "hh_mm[15]", "string", 1, 40, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS17", (void *)OFFSET(struct UserVar, hh_mm[16][0]), "hh_mm[16]", "string", 1, 41, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS18", (void *)OFFSET(struct UserVar, hh_mm[17][0]), "hh_mm[17]", "string", 1, 42, 0, 0, 0, 0, 0}, {"{STN}:SCROLL:TS19", (void *)OFFSET(struct UserVar, hh_mm[18][0]), "hh_mm[18]", "string", 1, 43, 0, 0, 0, 0, 0}, }; /* Event masks for state set ss_scroll */ /* Event mask for state matsu: */ static bitMask EM_ss_scroll_matsu[] = { 0x00000006, 0x00000000, }; /* Event mask for state kaku: */ static bitMask EM_ss_scroll_kaku[] = { 0x00000000, 0x00000000, }; /* State Blocks */ static struct seqState state_ss_scroll[] = { /* State "matsu" */ { /* state name */ "matsu", /* action function */ (ACTION_FUNC) A_ss_scroll_matsu, /* event function */ (EVENT_FUNC) E_ss_scroll_matsu, /* delay function */ (DELAY_FUNC) D_ss_scroll_matsu, /* entry function */ (ENTRY_FUNC) 0, /* exit function */ (EXIT_FUNC) 0, /* event mask array */ EM_ss_scroll_matsu, /* state options */ (0)}, /* State "kaku" */ { /* state name */ "kaku", /* action function */ (ACTION_FUNC) A_ss_scroll_kaku, /* event function */ (EVENT_FUNC) E_ss_scroll_kaku, /* delay function */ (DELAY_FUNC) D_ss_scroll_kaku, /* entry function */ (ENTRY_FUNC) I_ss_scroll_kaku, /* exit function */ (EXIT_FUNC) O_ss_scroll_kaku, /* event mask array */ EM_ss_scroll_kaku, /* state options */ (0)}, }; /* State Set Blocks */ static struct seqSS seqSS[NUM_SS] = { /* State set "ss_scroll" */ { /* ss name */ "ss_scroll", /* ptr to state block */ state_ss_scroll, /* number of states */ 2, /* error state */ -1}, }; /* Program parameter list */ static char prog_param[] = ""; /* State Program table (global) */ struct seqProgram Bic_Scroll = { /* magic number */ 141, /* *name */ "Bic_Scroll", /* *pChannels */ seqChan, /* numChans */ NUM_CHANNELS, /* *pSS */ seqSS, /* numSS */ NUM_SS, /* user variable size */ sizeof(struct UserVar), /* *pParams */ prog_param, /* numEvents */ NUM_EVENTS, /* encoded options */ (0 | OPT_CONN | OPT_NEWEF | OPT_REENT | OPT_VXWORKS), /* exit handler */ (EXIT_FUNC) exit_handler, /* numQueues */ NUM_QUEUES, };