(P+2 1 bl.ARG_O R KQDBLucida Console'T2 (3 arg_tmrEnd(arg_T_Impuls) R KQDBLucida Console(2 *2 bm.ARG_GRA_O bo.M_ARG_O= 1; R KQDBLucida Console* w2 &3 bl.ARG_F bo.M_ARG_F= 1; R KQDBLucida Console+Un2 *4 bm.ARG_GRA_F bo.M_ARG_F= 1; R KQDBLucida Console,~22 (5 bm.S_ARG_O bo.M_ARG_O= 1; R KQDBLucida Console-z 2 :1 bi.A_ARG_END || arg_tmrEnd(arg_T_Protec) R KQDBLucida Console.?2 2 bl.ARG_O R KQDBLucida Console/A2 4 bo.M_ARG_O = 0; R KQDBLucida Console0G2 d1 bl.ARG_O || bi.A_ARG_END || bm.ARG_GRA_F || bl.ARG_F || arg_tmrEnd(arg_T_Protec) R KQDBLucida Console1P^2 2 bm.ARG_GRA_O R KQDBLucida Console2?Uy2 e1 !bm.ARG_GRA_O || bl.ARG_O || bi.A_ARG_END || bl.ARG_F || arg_tmrEnd(arg_T_Protec) R KQDBLucida Console3U2 s1 bl.ARG_O || bl.ARG_F || bi.A_ARG_END || arg_tmrEnd(arg_T_Protec) bm.ARG_GRA_F= 0; bm.S_ARG_O= 0; R KQDBLucida Console4d?X2 -1 !bi.PR_ARG_O && !bi.PR_ARG_F R KQDBLucida Console5KBd2 F1 (!bl.ARG_O && !bl.ARG_F)|| bi.PR_ARG_O || bi.PR_ARG_F R KQDBLucida Console6 2 51 arg_tmrEnd(arg_T_Pulse) bo.M_ARG_F= 0; R KQDBLucida Console7#2 1 !bm.ARG_GRA_F R KQDBLucida Console8Y";2 62 arg_tmrEnd(arg_T_Impuls) bo.M_ARG_F= 1; R KQDBLucida Console9}0DT2 Y1 bi.A_ARG_END || arg_tmrEnd(arg_T_Protec)|| (!bl.ARG_F && !bm.ARG_GRA_F) R KQDBLucida Console:2 1 !bl.ARG_F R KQDBLucida Console<@o QEsperando bo.M_ARG_O= 0; bo.M_ARG_F= 0; arg_tmrStart(); 1 @R KQDBLucida Console=} $Abre_Manual 2 R KQDBLucida Console>vL &AbreImpulsMan 3 R KQDBLucida Console?5mY FParaDeAbrir_A bo.M_ARG_O= 0; bm.ARG_GRA_O= 0; 4 R KQDBLucida Console@*8 %AbreImpGrand 5 R KQDBLucida ConsoleA$h2 &ParaDeAbrir_B 6 R KQDBLucida ConsoleB7 &AbreImpSerial 7 R KQDBLucida ConsoleC3Wue  PulsGAC 8 R KQDBLucida ConsoleD/q  InitGAC 9 R KQDBLucida ConsoleE?ZM &CierraManual 10 R KQDBLucida ConsoleF1# FParaDeCerrar bo.M_ARG_F= 0; bm.ARG_GRA_F= 0; 11 R KQDBLucida ConsoleG3 FSM V0.4a f_arg #include "mapa_bit.h" #include "tipos.h" // Tiempo de espera para entrar en el modo impulsional y Tiempo de seguridad #define TIMEms(t) ((t)/5) #define DELAYms(t) (arg_DELAY_MAX - TIMEms((t))) #define arg_DELAY_MAX TIMEms(10000) // 10s #define arg_tmrStart() {arg_timer = arg_DELAY_MAX;} #define arg_T_Impuls DELAYms(400) #define arg_T_Pulse DELAYms(30) #define arg_T_Protec 0 // DELAYms(arg_DELAY_MAX) #define arg_tmrEnd(t) (arg_timer <= (t)) #define arg_tmrStep() {if(arg_timer > 0){ arg_timer--;}} // Variables del mdulo static tipoTimer16 arg_timer; // Preprocesos bl.ARG_O = bi.PR_ARG_O || (bi.PL_ARG_O && bi.I_CONDA && (!bi.PR_ARG_F)); bl.ARG_F = bi.PR_ARG_F || (bi.PL_ARG_F && bi.I_CONDA && (!bi.PR_ARG_O)); // Avanza el reloj arg_tmrStep(); [&Switch Case...][AS_Y][FO_Y][HC_N][FI_N][FE_N][DI_N][AC_N][PT_N][HF_Y][BF_N R KQDBLucida ConsoleR KQDB Courier NewR KQDB Courier New0#R KQDB Courier New4MT]gTR KQDB Courier New;?R KQDB Courier NewNJ Rp"R KQDB Courier New9oR KQDB Courier NewlR KQDB Courier New[Q R KQDB Courier NewTe\ R KQDB Courier NewWW R KQDB Courier New,1 D OK R KQDB Courier News?H2 R KQDB Courier NewHI R KQDB Courier New'Y R KQDB Courier New R KQDB Courier Newx-:25 R KQDB Courier New*?#? R KQDB Courier NewP8 R KQDB Courier New v^ R KQDB Courier New%4 R KQDB Courier New&W R KQDB Courier News\@ R KQDB Courier NewToR KQDB Courier New 9R KQDB Courier NewLGD?R KQDB Courier NewS 7R KQDB Courier NewuR KQDB Courier New+UjR KQDB Courier Newh~R KQDB Courier New_u^R KQDB Courier New[] R KQDB Courier New=(?!R KQDB Courier NewNnB"R KQDB Courier Newl7#R KQDB Courier NewH<$R KQDB Courier New]%R KQDB Courier New>@-+&R KQDB Courier New#$@)R KQDB Courier New;R KQDB Courier Newbn