Commit 3f0014e9 authored by Maxime Perrotin's avatar Maxime Perrotin
Browse files

Fix position saving and rendering issues

1) translate_to_origin was using symbol coordinates instead of scene
coordinates so there could still be negative coordinates
2) render_everything was badly testing the input ast coordinates
parent 3a135200
......@@ -39,7 +39,6 @@ class Indent(deque):
def parse_scene(scene, full_model=False):
''' Return the PR string for a complete scene
Optionally, also generate the SYSTEM structure, with channels, etc. '''
#pr_data = deque()
pr_data = Indent()
if full_model:
# Generate a complete SDL system - to have everything in a single file
......
......@@ -550,7 +550,8 @@ class SDL_Scene(QtGui.QGraphicsScene, object):
# slightly altered by the reshaping functions)
def fix_pos_from_ast(symbol):
try:
if symbol.ast.pos_x and symbol.ast.pos_y:
if(symbol.ast.pos_x is not None
and symbol.ast.pos_y is not None):
relpos = symbol.mapFromScene(symbol.ast.pos_x,
symbol.ast.pos_y)
#symbol.pos_x += relpos.x()
......@@ -694,8 +695,8 @@ class SDL_Scene(QtGui.QGraphicsScene, object):
in order to avoid negative coordinates
'''
try:
min_x = min(item.x() for item in self.visible_symb)
min_y = min(item.y() for item in self.visible_symb)
min_x = min(item.scenePos().x() for item in self.visible_symb)
min_y = min(item.scenePos().y() for item in self.visible_symb)
except ValueError:
# No item in the scene
return 0, 0
......
/* CIF PROCESS (214, 144), (150, 75) */
PROCESS fce;
/* CIF TEXT (0, 5), (442, 584) */
/* CIF TEXT (3821, 508), (320, 142) */
-- The task of the FCE is to serve as a backup
-- for S/C attitude control
-- The FCE SW is designed to be independent
-- from the OBC CSW to prevent any failure
-- propagation from OBC to FCE
/* CIF ENDTEXT */
/* CIF TEXT (3766, 688), (442, 584) */
-- Declaration of variables stored in RAM
DCL eeprom FCE_SGM_EEPROM;
......@@ -39,77 +47,69 @@ DCL FCE_Stop_Control Bool_ty := false;
-- As defined in Figure 6-6
TIMER mmo_sep_check_delay;
/* CIF ENDTEXT */
/* CIF TEXT (0, 597), (320, 142) */
-- The task of the FCE is to serve as a backup
-- for S/C attitude control
-- The FCE SW is designed to be independent
-- from the OBC CSW to prevent any failure
-- propagation from OBC to FCE
/* CIF ENDTEXT */
/* CIF PROCEDURE (8, 823), (135, 64) */
/* CIF PROCEDURE (5705, 4), (135, 64) */
PROCEDURE Bootup_actions;
/* CIF TEXT (0, 0), (387, 130) */
/* CIF TEXT (5305, 144), (387, 130) */
fpar in/out
eeprom FCE_SGM_EEPROM;
/* CIF ENDTEXT */
/* CIF START (495, 3), (100, 50) */
/* CIF START (4406, 147), (100, 50) */
START;
/* CIF TASK (403, 68), (283, 50) */
/* CIF TASK (4314, 212), (283, 50) */
TASK eeprom!sit_4!ground_cmd_reset := false;
/* CIF PROCEDURECALL (423, 133), (243, 50) */
/* CIF PROCEDURECALL (4334, 277), (243, 50) */
CALL set_fce_sgm_eeprom(eeprom);
/* CIF PROCEDURECALL (409, 198), (271, 50) */
/* CIF PROCEDURECALL (4320, 342), (271, 50) */
CALL get_fce_status_register(fce_stat_reg);
/* CIF DECISION (469, 263), (151, 70) */
/* CIF DECISION (4380, 407), (151, 70) */
DECISION fce_stat_reg!l3rec
/* CIF COMMENT (638, 264), (244, 68) */
/* CIF COMMENT (4549, 408), (244, 68) */
COMMENT 'determine:
- the FDIR trigger level
- the new value of the RC New_RC
- the cause of the boot-up';
/* CIF ANSWER (806, 353), (100, 35) */
/* CIF ANSWER (4717, 497), (100, 35) */
(false):
/* CIF DECISION (777, 403), (158, 70) */
/* CIF DECISION (4688, 547), (158, 70) */
DECISION fce_stat_reg!l2rec;
/* CIF ANSWER (1069, 493), (100, 35) */
/* CIF ANSWER (4980, 637), (100, 35) */
(false):
/* CIF TASK (1013, 543), (212, 50) */
/* CIF TASK (4924, 687), (212, 50) */
TASK new_rc := eeprom!sit_4!rc
/* CIF COMMENT (1241, 551), (124, 33) */
/* CIF COMMENT (5152, 695), (124, 33) */
COMMENT 'FCE Switch-on';
/* CIF TASK (1040, 608), (158, 50) */
/* CIF TASK (4951, 752), (158, 50) */
TASK 'Write in data pool'
/* CIF COMMENT (1218, 608), (176, 50) */
/* CIF COMMENT (5129, 752), (176, 50) */
COMMENT 'TODO - these
actions are in table 6-1';
/* CIF ANSWER (651, 493), (100, 35) */
/* CIF ANSWER (4562, 637), (100, 35) */
(true):
/* CIF TASK (595, 543), (212, 50) */
/* CIF TASK (4506, 687), (212, 50) */
TASK new_rc := eeprom!sit_4!rc
/* CIF COMMENT (823, 551), (180, 33) */
/* CIF COMMENT (4734, 695), (180, 33) */
COMMENT 'First Level2 Emergency';
/* CIF TASK (586, 608), (229, 98) */
/* CIF TASK (4497, 752), (229, 98) */
TASK 'Write in data pool',
'clear registers l2rec and
r3rec by use of the recovery
control register',
'generate event to store these
data in SKEL'
/* CIF COMMENT (831, 632), (176, 50) */
/* CIF COMMENT (4742, 776), (176, 50) */
COMMENT 'TODO - these
actions are in table 6-1';
ENDDECISION;
/* CIF ANSWER (225, 353), (100, 35) */
/* CIF ANSWER (4136, 497), (100, 35) */
(true):
/* CIF TASK (169, 403), (212, 50) */
/* CIF TASK (4080, 547), (212, 50) */
TASK new_rc := eeprom!sit_4!rc + 1
/* CIF COMMENT (396, 394), (158, 68) */
/* CIF COMMENT (4307, 538), (158, 68) */
COMMENT 'Level 3 emergency
May have also been
a second Level 2
triggering';
/* CIF TASK (160, 468), (229, 113) */
/* CIF TASK (4071, 612), (229, 113) */
TASK 'Add to data pool:
status register, new_rc',
'clear registers l2rec and
......@@ -117,344 +117,344 @@ r3rec by use of the recovery
control register',
'generate event to store these
data in SKEL'
/* CIF COMMENT (410, 499), (176, 50) */
/* CIF COMMENT (4321, 643), (176, 50) */
COMMENT 'TODO - these
actions are in table 6-1';
/* CIF TASK (158, 596), (233, 50) */
/* CIF TASK (4069, 740), (233, 50) */
TASK eeprom!sit_4!rc := new_rc mod 5;
/* CIF JOIN (257, 661), (35, 35) */
/* CIF JOIN (4168, 805), (35, 35) */
JOIN bootup_label;
ENDDECISION;
/* CIF LABEL (484, 736), (121, 35) */
/* CIF LABEL (4395, 880), (121, 35) */
bootup_label:
/* CIF PROCEDURECALL (403, 786), (283, 50) */
/* CIF PROCEDURECALL (4314, 930), (283, 50) */
CALL get_fce_ctrl_stat_register(fce_ctrl_reg);
/* CIF DECISION (426, 851), (238, 70) */
/* CIF DECISION (4337, 995), (238, 70) */
DECISION fce_ctrl_reg!reference_pattern;
/* CIF ANSWER (379, 941), (100, 35) */
/* CIF ANSWER (4290, 1085), (100, 35) */
(ok):
/* CIF DECISION (332, 991), (194, 70) */
/* CIF DECISION (4243, 1135), (194, 70) */
DECISION fce_ctrl_reg!arr_dep_flag;
/* CIF ANSWER (266, 1081), (100, 35) */
/* CIF ANSWER (4177, 1225), (100, 35) */
(majority):
/* CIF TASK (213, 1131), (205, 50) */
/* CIF TASK (4124, 1275), (205, 50) */
TASK areArraysDeployed :=TRUE;
/* CIF ANSWER (481, 1081), (100, 35) */
/* CIF ANSWER (4392, 1225), (100, 35) */
ELSE:
/* CIF TASK (427, 1131), (208, 50) */
/* CIF TASK (4338, 1275), (208, 50) */
TASK areArraysDeployed :=FALSE;
ENDDECISION;
/* CIF ANSWER (700, 941), (100, 35) */
/* CIF ANSWER (4611, 1085), (100, 35) */
(nok):
/* CIF TASK (645, 991), (210, 50) */
/* CIF TASK (4556, 1135), (210, 50) */
TASK 'Evaluate arr_dep_flag
from the other RM register'
/* CIF COMMENT (875, 989), (180, 53) */
/* CIF COMMENT (4786, 1133), (180, 53) */
COMMENT 'XXX
Not clear what register
we have to read';
/* CIF JOIN (732, 1056), (35, 35) */
/* CIF JOIN (4643, 1200), (35, 35) */
JOIN another_label;
ENDDECISION;
/* CIF TASK (428, 1211), (233, 50) */
/* CIF TASK (4339, 1355), (233, 50) */
TASK 'Provide all results to data pool'
/* CIF COMMENT (681, 1211), (251, 50) */
/* CIF COMMENT (4592, 1355), (251, 50) */
COMMENT 'XXX Check Data pool specification';
/* CIF RETURN (520, 1276), (50, 50) */
/* CIF RETURN (4431, 1420), (50, 50) */
RETURN ;
/* CIF LABEL (1183, 847), (125, 35) */
/* CIF LABEL (5094, 991), (125, 35) */
CONNECTION another_label:
/* CIF RETURN (1228, 897), (35, 35) */
/* CIF RETURN (5139, 1041), (35, 35) */
RETURN ;
/* CIF End Label */
ENDCONNECTION;
ENDPROCEDURE;
/* CIF START (727, 0), (100, 50) */
/* CIF START (276, 108), (100, 50) */
START;
/* CIF LABEL (727, 76), (100, 50) */
/* CIF LABEL (276, 184), (100, 50) */
FCE_INIT:
/* CIF TASK (666, 141), (221, 53) */
/* CIF TASK (216, 249), (221, 53) */
TASK 'FCE internal reconfiguration
according to pointer position',
'Boot-up selected PM';
/* CIF TASK (678, 209), (197, 50) */
/* CIF TASK (228, 317), (197, 50) */
TASK 'Disable TM/TC reception';
/* CIF TASK (636, 274), (281, 83) */
/* CIF TASK (186, 382), (281, 83) */
TASK 'Start WD refreshing',
'Validity check of SGM RAM',
'Save last boot report to SGM-RAM',
'OBT validity check/restore with LLOBT',
'Enable_HW_Sync_to_PPS_for_2_sec'
/* CIF COMMENT (941, 292), (238, 48) */
/* CIF COMMENT (542, 393), (238, 48) */
COMMENT 'What to do if validity check fails?';
/* CIF PROCEDURECALL (691, 372), (171, 50) */
/* CIF PROCEDURECALL (241, 480), (171, 50) */
CALL get_fce_sgm_eeprom
(eeprom)
/* CIF COMMENT (891, 372), (187, 50) */
/* CIF COMMENT (514, 467), (187, 50) */
COMMENT 'If read fails for all 4 SGM,
use default SIT';
/* CIF PROCEDURECALL (707, 437), (140, 50) */
/* CIF PROCEDURECALL (256, 545), (140, 50) */
CALL Bootup_actions
(eeprom)
/* CIF COMMENT (861, 430), (304, 63) */
/* CIF COMMENT (486, 536), (304, 63) */
COMMENT 'Retrieve RSR, determine FDIR trigger level,
NEW_RC, cause of the boot-up, and perform
the corresponding actions (table 6-1)';
/* CIF DECISION (723, 502), (107, 70) */
/* CIF DECISION (273, 610), (107, 70) */
DECISION new_rc >= 5;
/* CIF ANSWER (1130, 592), (100, 35) */
/* CIF ANSWER (491, 746), (100, 35) */
(TRUE):
/* CIF TASK (1103, 642), (154, 50) */
/* CIF TASK (464, 796), (154, 50) */
TASK fdir_enable := false
/* CIF COMMENT (1283, 636), (112, 61) */
/* CIF COMMENT (644, 790), (112, 61) */
COMMENT 'FDIR Level 4';
/* CIF PROCEDURECALL (1076, 707), (208, 50) */
/* CIF PROCEDURECALL (437, 861), (208, 50) */
CALL get_fce_sgm_ram(sgm_ram)
/* CIF COMMENT (1306, 705), (163, 53) */
/* CIF COMMENT (667, 859), (163, 53) */
COMMENT 'According to FI-0011
Use default values if
SGM reads fail';
/* CIF ANSWER (510, 592), (93, 35) */
/* CIF ANSWER (57, 700), (93, 35) */
(FALSE):
/* CIF TASK (481, 647), (151, 50) */
/* CIF TASK (28, 755), (151, 50) */
TASK fdir_enable := true
/* CIF COMMENT (651, 647), (132, 50) */
/* CIF COMMENT (198, 755), (132, 50) */
COMMENT 'No FDIR Level 4';
/* CIF PROCEDURECALL (452, 712), (208, 50) */
/* CIF PROCEDURECALL (0, 820), (208, 50) */
CALL get_fce_sgm_ram(sgm_ram)
/* CIF COMMENT (680, 712), (136, 50) */
/* CIF COMMENT (227, 820), (136, 50) */
COMMENT 'Get LLAT, LLARE';
ENDDECISION;
/* CIF TASK (602, 777), (350, 50) */
/* CIF TASK (151, 927), (350, 50) */
TASK 'Start nominal SpW link acc. SIT1',
'Start normal HK TM generation and routing to OBC';
/* CIF TASK (657, 842), (239, 50) */
/* CIF TASK (207, 992), (239, 50) */
TASK 'further FCESW startup activities'
/* CIF COMMENT (956, 842), (149, 50) */
/* CIF COMMENT (501, 999), (149, 50) */
COMMENT 'details tbd by asf
see 1.2';
/* CIF TASK (677, 907), (200, 50) */
/* CIF TASK (226, 1057), (200, 50) */
TASK 'Enable_TC_TM_Reception';
/* CIF JOIN (752, 972), (50, 50) */
/* CIF JOIN (301, 1122), (50, 50) */
JOIN to_sbm;
/* CIF LABEL (4070, 760), (144, 50) */
CONNECTION control_to_ready:
/* CIF TASK (4074, 825), (136, 50) */
TASK 'huge transition'
/* CIF COMMENT (4230, 825), (147, 50) */
COMMENT 'TODO (Figure 6-7)';
/* CIF NEXTSTATE (4092, 890), (100, 50) */
NEXTSTATE Ready;
/* CIF End Label */
ENDCONNECTION;
/* CIF LABEL (3602, 753), (152, 50) */
CONNECTION ready_to_control:
/* CIF TASK (3536, 818), (284, 53) */
TASK 'stop sending packets to OBC, but
continue generation of normal HK+AOCS
packets'
/* CIF COMMENT (3834, 787), (223, 93) */
COMMENT '(in Figure 6-5)
This seems inconsistent
normal HK are sent to OBC
so where should we "continue"
sending them? XXX';
/* CIF TASK (3588, 886), (180, 50) */
TASK 'Stop TM-TC Reception'
/* CIF COMMENT (3786, 886), (177, 50) */
COMMENT 'what command is that?
(To whom?) XXX';
/* CIF TASK (3601, 951), (154, 50) */
TASK fdir_enable := false;
/* CIF TASK (3577, 1016), (201, 50) */
TASK areArraysDeployed := true;
/* CIF TASK (3596, 1081), (163, 50) */
TASK fce_selected := true;
/* CIF NEXTSTATE (3628, 1146), (100, 50) */
NEXTSTATE Control;
/* CIF End Label */
ENDCONNECTION;
/* CIF LABEL (1560, 106), (100, 50) */
CONNECTION to_sbm:
/* CIF TASK (1517, 171), (186, 50) */
TASK 'FCE_AOCS_SBM_CMD'
/* CIF COMMENT (1720, 169), (197, 53) */
COMMENT 'In 1.2, but what exactly
has to be done here is not
clearly stated XXX';
/* CIF DECISION (1478, 236), (263, 70) */
DECISION eeprom!sit_4!test_mode_counter = 0;
/* CIF ANSWER (1640, 326), (100, 35) */
(TRUE):
/* CIF NEXTSTATE (1623, 381), (134, 50) */
NEXTSTATE FCE_Test_Mode;
/* CIF ANSWER (1485, 326), (110, 35) */
(FALSE):
/* CIF JOIN (1515, 376), (50, 50) */
JOIN sbm_to_ready;
ENDDECISION;
/* CIF End Label */
ENDCONNECTION;
/* CIF LABEL (2048, 111), (124, 50) */
/* CIF LABEL (2056, 122), (124, 50) */
CONNECTION sbm_to_ready:
/* CIF TASK (1977, 176), (265, 50) */
/* CIF TASK (1986, 187), (265, 50) */
TASK 'fce dms initialisation to READY mode'
/* CIF COMMENT (2260, 174), (206, 53) */
/* CIF COMMENT (2285, 186), (206, 53) */
COMMENT 'stop both RIU functions ;
stop SpW links to RIUs
XXX check what to do here';
/* CIF TASK (2034, 241), (151, 50) */
/* CIF TASK (2043, 252), (151, 50) */
TASK fdir_enable := true
/* CIF COMMENT (2199, 241), (242, 50) */
/* CIF COMMENT (2217, 250), (242, 50) */
COMMENT 'Even if it was set to false before?!';
/* CIF DECISION (1971, 306), (277, 70) */
/* CIF DECISION (1980, 317), (277, 70) */
DECISION eeprom!sit_4!ground_cmd_reset = true
and
fce_stat_reg!l3rec = false;
/* CIF ANSWER (1966, 396), (76, 35) */
/* CIF ANSWER (1877, 407), (62, 28) */
(FALSE):
/* CIF NEXTSTATE (1927, 451), (155, 50) */
/* CIF NEXTSTATE (1831, 455), (155, 50) */
NEXTSTATE Wait_Attitude_Msg;
/* CIF ANSWER (2248, 396), (100, 35) */
/* CIF ANSWER (2287, 407), (100, 35) */
(TRUE):
/* CIF LABEL (2205, 446), (185, 82) */
/* CIF LABEL (2245, 457), (185, 82) */
cmd_fce_aocs_to_ready:
/* CIF TASK (2202, 543), (191, 53) */
/* CIF TASK (2242, 554), (191, 53) */
TASK 'FCE_AOCS_READY_CMD',
'Start FCE_SELECTED
Determination'
/* CIF COMMENT (2407, 543), (344, 53) */
/* CIF COMMENT (2446, 554), (344, 53) */
COMMENT 'Not sure what to do here (Figure 6-4)
Do we need to execute the FCE AOCS branch too?';
/* CIF TASK (2200, 611), (196, 50) */
/* CIF TASK (2239, 622), (196, 50) */
TASK fce_selected_counter := 0
/* CIF COMMENT (2416, 611), (260, 53) */
/* CIF COMMENT (2455, 622), (260, 53) */
COMMENT 'Used to count 2 consecutive checks
of FCE Selected and Arr_Dep=true
(cf. Fig 6-5)';
/* CIF NEXTSTATE (2235, 676), (127, 50) */
/* CIF NEXTSTATE (2274, 687), (127, 50) */
NEXTSTATE Ready;
ENDDECISION;
/* CIF End Label */
ENDCONNECTION;
/* CIF STATE (5053, 167), (100, 50) */
STATE Control
/* CIF COMMENT (5209, 172), (120, 50) */
COMMENT 'As per Fig 6-6';
/* CIF INPUT (5262, 237), (136, 50) */
INPUT Cyclic_Essential;
/* CIF OUTPUT (5256, 302), (147, 50) */
OUTPUT Essential_Packets;
/* CIF NEXTSTATE (5280, 367), (100, 50) */
NEXTSTATE Control;
/* CIF INPUT (4995, 237), (100, 50) */
INPUT Cyclic_HK;
/* CIF OUTPUT (4980, 302), (129, 50) */
OUTPUT Normal_HK_TM
/* CIF COMMENT (5144, 301), (100, 50) */
COMMENT 'To OBC';
/* CIF NEXTSTATE (4995, 367), (100, 50) */
NEXTSTATE Control;
/* CIF INPUT (4652, 237), (104, 50) */
INPUT Cyclic_FCE;
/* CIF TASK (4598, 302), (211, 50) */
TASK 'Stop control determination';
/* CIF DECISION (4612, 367), (183, 70) */
DECISION FCE_Stop_Control;
/* CIF ANSWER (4461, 457), (100, 35) */
(true):
/* CIF TASK (4423, 507), (176, 50) */
TASK 'FCE_AOCS_STOP_CTR';
/* CIF JOIN (4486, 572), (50, 50) */
JOIN control_to_ready;
/* CIF ANSWER (4829, 457), (100, 35) */
(false):
/* CIF NEXTSTATE (4829, 507), (100, 50) */
NEXTSTATE Control;
ENDDECISION;
/* CIF LABEL (4842, 0), (100, 50) */
CONNECTION to_sbm:
/* CIF TASK (4799, 65), (186, 50) */
TASK 'FCE_AOCS_SBM_CMD'
/* CIF COMMENT (5070, 66), (197, 53) */
COMMENT 'In 1.2, but what exactly
has to be done here is not
clearly stated XXX';
/* CIF DECISION (4760, 130), (263, 70) */
DECISION eeprom!sit_4!test_mode_counter = 0;
/* CIF ANSWER (4928, 220), (100, 35) */
(TRUE):
/* CIF NEXTSTATE (4911, 275), (134, 50) */
NEXTSTATE FCE_Test_Mode;
/* CIF ANSWER (4697, 220), (110, 35) */
(FALSE):
/* CIF JOIN (4727, 270), (50, 50) */
JOIN sbm_to_ready;
ENDDECISION;
/* CIF End Label */
ENDCONNECTION;
/* CIF LABEL (5889, 181), (152, 50) */
CONNECTION ready_to_control:
/* CIF TASK (5823, 246), (284, 53) */
TASK 'stop sending packets to OBC, but
continue generation of normal HK+AOCS
packets'
/* CIF COMMENT (6121, 215), (223, 93) */
COMMENT '(in Figure 6-5)
This seems inconsistent
normal HK are sent to OBC
so where should we "continue"
sending them? XXX';
/* CIF TASK (5875, 314), (180, 50) */
TASK 'Stop TM-TC Reception'
/* CIF COMMENT (6073, 314), (177, 50) */
COMMENT 'what command is that?
(To whom?) XXX';
/* CIF TASK (5888, 379), (154, 50) */
TASK fdir_enable := false;
/* CIF TASK (5865, 444), (201, 50) */
TASK areArraysDeployed := true;
/* CIF TASK (5884, 509), (163, 50) */
TASK fce_selected := true;
/* CIF NEXTSTATE (5915, 574), (100, 50) */
NEXTSTATE Control;
/* CIF End Label */
ENDCONNECTION;
/* CIF LABEL (5363, 104), (144, 50) */
CONNECTION control_to_ready:
/* CIF TASK (5367, 169), (136, 50) */
TASK 'huge transition'
/* CIF COMMENT (5523, 169), (147, 50) */
COMMENT 'TODO (Figure 6-7)';
/* CIF NEXTSTATE (5385, 234), (100, 50) */
NEXTSTATE Ready;
/* CIF End Label */
ENDCONNECTION;
/* CIF STATE (5402, 414), (134, 50) */
STATE FCE_Test_Mode;
/* CIF INPUT (5410, 484), (117, 50) */
INPUT Upload_Data
(op_param)
/* CIF COMMENT (5544, 470), (165, 78) */
COMMENT 'From operator
in SGM EEPROM/RAM
or PM EEPROM/RAM
TBD';
/* CIF NEXTSTATE (5401, 549), (134, 50) */
NEXTSTATE FCE_Test_Mode;
ENDSTATE;
/* CIF STATE (3592, 124), (100, 50) */
/* CIF STATE (3762, 123), (100, 50) */
STATE Ready;
/* CIF INPUT (4182, 205), (100, 50) */
/* CIF INPUT (4233, 193), (100, 50) */
INPUT Cyclic_HK
/* CIF COMMENT (4302, 205), (100, 50) */
/* CIF COMMENT (4353, 193), (100, 50) */
COMMENT 'Fig 6-4';
/* CIF OUTPUT (4167, 270), (129, 50) */
/* CIF OUTPUT (4218, 258), (129, 50) */
OUTPUT Normal_HK_TM
/* CIF COMMENT (4329, 270), (100, 50) */
/* CIF COMMENT (4380, 258), (100, 50) */
COMMENT 'To OBC';
/* CIF NEXTSTATE (4182, 335), (100, 50) */
/* CIF NEXTSTATE (4233, 323), (100, 50) */
NEXTSTATE Ready;
/* CIF INPUT (3590, 194), (104, 50) */
/* CIF INPUT (3177, 193), (104, 50) */
INPUT Cyclic_FCE;
/* CIF TASK (3575, 259), (133, 50) */
/* CIF TASK (3162, 258), (133, 50) */
TASK 'FCE_SELECTED'
/* CIF COMMENT (3725, 257), (164, 53) */
/* CIF COMMENT (3308, 256), (164, 53) */
COMMENT 'As required in Fig 6-4
but no details given';
/* CIF DECISION (3527, 324), (230, 70) */
/* CIF DECISION (3114, 323), (230, 70) */
DECISION fce_selected and
areArraysDeployed
/* CIF COMMENT (3769, 317), (247, 83) */
/* CIF COMMENT (3352, 316), (247, 83) */
COMMENT 'ambiguity in fig 6-5: ARR_DEP
or areArraysDeployed flag?
(ARR_DEP is a set of flags used
to determine areArraysDeployed,
cf fig 6-1)';
/* CIF ANSWER (3423, 414), (100, 35) */
/* CIF ANSWER (3344, 413), (100, 35) */
(false):
/* CIF TASK (3375, 464), (196, 50) */
/* CIF TASK (3296, 463), (196, 50) */
TASK fce_selected_counter := 0;
/* CIF NEXTSTATE (3423, 529), (100, 50) */
/* CIF NEXTSTATE (3344, 528), (100, 50) */
NEXTSTATE Ready;
/* CIF ANSWER (3780, 414), (100, 35) */
/* CIF ANSWER (2975, 413), (100, 35) */
(true):
/* CIF TASK (3693, 464), (273, 50) */
/* CIF TASK (2889, 463), (273, 50) */
TASK fce_selected_counter :=
(fce_selected_counter + 1) mod 65535;
/* CIF DECISION (3742, 529), (176, 70) */
/* CIF DECISION (2937, 528), (176, 70) */
DECISION fce_selected_counter
= 2;
/* CIF ANSWER (3610, 619), (100, 35) */
/* CIF ANSWER (2805, 618), (100, 35) */
(true):
/* CIF JOIN (3635, 669), (50, 50) */
/* CIF JOIN (2830, 668), (50, 50) */
JOIN ready_to_control;
/* CIF ANSWER (3993, 619), (100, 35) */
/* CIF ANSWER (3188, 618), (100, 35) */
(false):
/* CIF NEXTSTATE (3993, 669), (100, 50) */
/* CIF NEXTSTATE (3188, 668), (100, 50) */
NEXTSTATE Ready;
ENDDECISION;
ENDDECISION;
/* CIF INPUT (3076, 194), (100, 50) */
/* CIF INPUT (3802, 193), (100, 50) */
INPUT FDIR
/* CIF COMMENT (3192, 189), (173, 78) */
/* CIF COMMENT (3948, 188), (173, 76) */
COMMENT 'FDIR Processing
(Figure 6-4)
No details given, not
clear what to do? XXX';
/* CIF NEXTSTATE (3076, 259), (100, 50) */
/* CIF NEXTSTATE (3802, 258), (100, 50) */
NEXTSTATE -;
ENDSTATE;
/* CIF STATE (4106, 428), (134, 50) */
STATE FCE_Test_Mode;
/* CIF INPUT (4114, 498), (117, 50) */
INPUT Upload_Data
(op_param)
/* CIF COMMENT (4248, 484), (165, 78) */
COMMENT 'From operator
in SGM EEPROM/RAM
or PM EEPROM/RAM
TBD';
/* CIF NEXTSTATE (4106, 563), (134, 50) */
NEXTSTATE FCE_Test_Mode;
/* CIF STATE (1470, 133), (100, 50) */
STATE Control