Commit dda7396e authored by Maxime Perrotin's avatar Maxime Perrotin
Browse files

Refactore test case

parent ab979250
......@@ -70,7 +70,9 @@ void init_@_LOWER:Name_@(void)
extern void init_@_LOWER:Sync_RIs_Parent_@(void);
init_@_LOWER:Sync_RIs_Parent_@();
@@END_TABLE@@
#ifdef __unix__
puts ("[TASTE] Initialization completed for function @_Name_@");
#endif
}
}
@@-- For blackbox devices, don't generate the PI functions, they will be
......
......@@ -84,6 +84,7 @@ PUBLIC
WITH interfaceview::IV::Controller;
WITH interfaceview::IV::stm32_debug;
WITH interfaceview::IV::watchdog;
WITH ocarina_processors_arm;
WITH deploymentview::DV::Node1;
WITH interfaceview::IV::User;
......@@ -107,6 +108,9 @@ SUBCOMPONENTS
IV_stm32_debug : SYSTEM interfaceview::IV::stm32_debug::stm32_debug.others {
Taste::FunctionName => "stm32_debug";
};
IV_watchdog : SYSTEM interfaceview::IV::watchdog::watchdog.others {
Taste::FunctionName => "watchdog";
};
stm32_controller : PROCESS deploymentview::DV::Node1::stm32_controller.others {
Taste::coordinates => "93490 69482 131385 82832";
Deployment::Port_Number => 0;
......@@ -122,6 +126,7 @@ CONNECTIONS
PROPERTIES
Taste::APLC_Binding => (reference (stm32_controller)) APPLIES TO IV_Controller;
Taste::APLC_Binding => (reference (stm32_controller)) APPLIES TO IV_stm32_debug;
Taste::APLC_Binding => (reference (stm32_controller)) APPLIES TO IV_watchdog;
Actual_Processor_Binding => (reference (stm32f407_discovery_gnat2017)) APPLIES TO stm32_controller;
Actual_Processor_Binding => (reference (stm32f407_discovery_gnat2017)) APPLIES TO STM32F4_serial_pohiada;
END Node1.others;
......@@ -187,6 +192,6 @@ PROPERTIES
Taste::coordinates => "0 0 297000 210000";
Taste::version => "2.3";
Taste::interfaceView => "InterfaceView.aadl";
Taste::HWLibraries => ("/home/taste/tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
Taste::HWLibraries => ("../../../../tool-inst/share/ocarina/AADLv2/ocarina_components.aadl");
END deploymentview::DV;
......@@ -79,18 +79,6 @@ END RI_Red_On;
SUBPROGRAM IMPLEMENTATION RI_Red_On.others
END RI_Red_On.others;
SUBPROGRAM RI_Switch_Leds_OFF
END RI_Switch_Leds_OFF;
SUBPROGRAM IMPLEMENTATION RI_Switch_Leds_OFF.others
END RI_Switch_Leds_OFF.others;
SUBPROGRAM RI_Switch_Leds_ON
END RI_Switch_Leds_ON;
SUBPROGRAM IMPLEMENTATION RI_Switch_Leds_ON.others
END RI_Switch_Leds_ON.others;
SUBPROGRAM RI_Blue_On
END RI_Blue_On;
......@@ -103,108 +91,64 @@ END RI_Blue_Off;
SUBPROGRAM IMPLEMENTATION RI_Blue_Off.others
END RI_Blue_Off.others;
SUBPROGRAM RI_Get_Message
FEATURES
Last_Message : OUT PARAMETER DataView::Debug_PrintableString {
Taste::encoding => NATIVE;
};
END RI_Get_Message;
SUBPROGRAM IMPLEMENTATION RI_Get_Message.others
END RI_Get_Message.others;
SUBPROGRAM RI_Send_to_UART
FEATURES
chars : IN PARAMETER DataView::Debug_PrintableString {
Taste::encoding => NATIVE;
};
END RI_Send_to_UART;
SUBPROGRAM IMPLEMENTATION RI_Send_to_UART.others
END RI_Send_to_UART.others;
SYSTEM Controller
FEATURES
PI_Button : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Controller::PI_Button.others {
Taste::coordinates => "111964 62833";
Taste::coordinates => "111492 62361";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 10 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "Button";
};
PI_Initialize : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::Controller::PI_Initialize.others {
Taste::coordinates => "111964 76537";
Taste::coordinates => "111492 76065";
Taste::RCMoperationKind => sporadic;
Taste::RCMperiod => 0 ms;
Taste::Deadline => 0 ms;
Taste::InterfaceName => "Initialize";
};
RI_Color : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::User::PI_Color.others {
Taste::coordinates => "111964 67558";
Taste::coordinates => "111492 67086";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Color";
Taste::labelInheritance => "true";
};
RI_Info_User : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::User::PI_Info_User.others {
Taste::coordinates => "111964 70709";
Taste::coordinates => "111492 70237";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Info_User";
Taste::labelInheritance => "true";
};
RI_Green_On : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Green_On.others {
Taste::coordinates => "106452 89761";
Taste::coordinates => "105192 89289";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Green_On";
Taste::labelInheritance => "true";
};
RI_Orange_On : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Orange_On.others {
Taste::coordinates => "97476 89761";
Taste::coordinates => "93224 89289";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Orange_On";
Taste::labelInheritance => "true";
};
RI_Red_On : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Red_On.others {
Taste::coordinates => "86768 89761";
Taste::coordinates => "83146 89289";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Red_On";
Taste::labelInheritance => "true";
};
RI_Switch_Leds_OFF : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Switch_Leds_OFF.others {
Taste::coordinates => "111964 88033";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Switch_Leds_OFF";
Taste::labelInheritance => "true";
};
RI_Switch_Leds_ON : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Switch_Leds_ON.others {
Taste::coordinates => "111964 86458";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Switch_Leds_ON";
Taste::labelInheritance => "true";
};
RI_Blue_On : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Blue_On.others {
Taste::coordinates => "111964 84883";
Taste::coordinates => "111492 85355";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Blue_On";
Taste::labelInheritance => "true";
};
RI_Blue_Off : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Blue_Off.others {
Taste::coordinates => "111964 83308";
Taste::coordinates => "111492 82836";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Blue_Off";
Taste::labelInheritance => "true";
};
RI_Get_Message : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Get_Message.others {
Taste::coordinates => "111964 78583";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Get_Message";
Taste::labelInheritance => "true";
};
RI_Send_to_UART : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Send_to_UART.others {
Taste::coordinates => "111964 80158";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Send_to_UART";
Taste::labelInheritance => "true";
};
PROPERTIES
Source_Language => (SDL);
Taste::Active_Interfaces => any;
......@@ -491,12 +435,102 @@ END stm32_debug.others;
END interfaceview::IV::stm32_debug;
PACKAGE interfaceview::IV::watchdog
PUBLIC
WITH interfaceview::IV::stm32_debug;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
SUBPROGRAM PI_pulse
END PI_pulse;
SUBPROGRAM IMPLEMENTATION PI_pulse.others
PROPERTIES
Compute_Execution_Time => 0 ms .. 0 ms;
END PI_pulse.others;
SUBPROGRAM RI_Send_to_UART
FEATURES
chars : IN PARAMETER DataView::Debug_PrintableString {
Taste::encoding => NATIVE;
};
END RI_Send_to_UART;
SUBPROGRAM IMPLEMENTATION RI_Send_to_UART.others
END RI_Send_to_UART.others;
SUBPROGRAM RI_Get_Message
FEATURES
Last_Message : OUT PARAMETER DataView::Debug_PrintableString {
Taste::encoding => NATIVE;
};
END RI_Get_Message;
SUBPROGRAM IMPLEMENTATION RI_Get_Message.others
END RI_Get_Message.others;
SUBPROGRAM RI_Switch_Leds_OFF
END RI_Switch_Leds_OFF;
SUBPROGRAM IMPLEMENTATION RI_Switch_Leds_OFF.others
END RI_Switch_Leds_OFF.others;
SUBPROGRAM RI_Switch_Leds_ON
END RI_Switch_Leds_ON;
SUBPROGRAM IMPLEMENTATION RI_Switch_Leds_ON.others
END RI_Switch_Leds_ON.others;
SYSTEM watchdog
FEATURES
PI_pulse : PROVIDES SUBPROGRAM ACCESS interfaceview::IV::watchdog::PI_pulse.others {
Taste::coordinates => "96062 123934";
Taste::RCMoperationKind => cyclic;
Taste::RCMperiod => 1000 ms;
Taste::InterfaceName => "pulse";
};
RI_Send_to_UART : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Send_to_UART.others {
Taste::coordinates => "111493 127084";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Send_to_UART";
Taste::labelInheritance => "true";
};
RI_Get_Message : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Get_Message.others {
Taste::coordinates => "111493 124721";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Get_Message";
Taste::labelInheritance => "true";
};
RI_Switch_Leds_OFF : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Switch_Leds_OFF.others {
Taste::coordinates => "111493 129132";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Switch_Leds_OFF";
Taste::labelInheritance => "true";
};
RI_Switch_Leds_ON : REQUIRES SUBPROGRAM ACCESS interfaceview::IV::stm32_debug::PI_Switch_Leds_ON.others {
Taste::coordinates => "111493 133384";
Taste::RCMoperationKind => any;
Taste::InterfaceName => "Switch_Leds_ON";
Taste::labelInheritance => "true";
};
PROPERTIES
Source_Language => (SDL);
Taste::Active_Interfaces => any;
END watchdog;
SYSTEM IMPLEMENTATION watchdog.others
END watchdog.others;
END interfaceview::IV::watchdog;
PACKAGE interfaceview::IV
PUBLIC
WITH interfaceview::IV::Controller;
WITH interfaceview::IV::User;
WITH interfaceview::IV::stm32_debug;
WITH interfaceview::IV::watchdog;
WITH Taste;
WITH DataView;
WITH TASTE_IV_Properties;
......@@ -509,7 +543,7 @@ END interfaceview;
SYSTEM IMPLEMENTATION interfaceview.others
SUBCOMPONENTS
Controller : SYSTEM interfaceview::IV::Controller::Controller.others {
Taste::coordinates => "74958 58108 111964 89761";
Taste::coordinates => "74486 57636 111492 89289";
};
User : SYSTEM interfaceview::IV::User::User.others {
Taste::coordinates => "140941 58424 168342 91966";
......@@ -517,45 +551,48 @@ SUBCOMPONENTS
stm32_debug : SYSTEM interfaceview::IV::stm32_debug::stm32_debug.others {
Taste::coordinates => "145192 99211 169758 135430";
};
watchdog : SYSTEM interfaceview::IV::watchdog::watchdog.others {
Taste::coordinates => "83462 123934 111493 135115";
};
CONNECTIONS
Controller_PI_Button_User_RI_Button : SUBPROGRAM ACCESS Controller.PI_Button -> User.RI_Button {
Taste::coordinates => "140941 63464 126216 63464 126216 62833 111964 62833";
Taste::coordinates => "140941 63464 126216 63464 126216 62361 111492 62361";
};
Controller_PI_Initialize_User_RI_Initialize : SUBPROGRAM ACCESS Controller.PI_Initialize -> User.RI_Initialize {
Taste::coordinates => "140941 76696 126216 76696 126216 76537 111964 76537";
Taste::coordinates => "140941 76696 126216 76696 126216 76065 111492 76065";
};
User_PI_Color_Controller_RI_Color : SUBPROGRAM ACCESS User.PI_Color -> Controller.RI_Color {
Taste::coordinates => "111964 67558 126216 67558 126216 68189 140941 68189";
Taste::coordinates => "111492 67086 126216 67086 126216 68189 140941 68189";
};
User_PI_Info_User_Controller_RI_Info_User : SUBPROGRAM ACCESS User.PI_Info_User -> Controller.RI_Info_User {
Taste::coordinates => "111964 70709 126216 70709 126216 71340 140941 71340";
Taste::coordinates => "111492 70237 126216 70237 126216 71340 140941 71340";
};
stm32_debug_PI_Green_On_Controller_RI_Green_On : SUBPROGRAM ACCESS stm32_debug.PI_Green_On -> Controller.RI_Green_On {
Taste::coordinates => "106452 89761 106452 108978 145192 108978";
Taste::coordinates => "105192 89289 105192 108978 145192 108978";
};
stm32_debug_PI_Orange_On_Controller_RI_Orange_On : SUBPROGRAM ACCESS stm32_debug.PI_Orange_On -> Controller.RI_Orange_On {
Taste::coordinates => "97476 89761 97476 111183 145192 111183";
Taste::coordinates => "93224 89289 93224 111183 145192 111183";
};
stm32_debug_PI_Red_On_Controller_RI_Red_On : SUBPROGRAM ACCESS stm32_debug.PI_Red_On -> Controller.RI_Red_On {
Taste::coordinates => "86768 89761 86768 114018 145192 114018";
};
stm32_debug_PI_Switch_Leds_OFF_Controller_RI_Switch_Leds_OFF : SUBPROGRAM ACCESS stm32_debug.PI_Switch_Leds_OFF -> Controller.RI_Switch_Leds_OFF {
Taste::coordinates => "111964 88033 128342 88033 128342 120314 145192 120314";
};
stm32_debug_PI_Switch_Leds_ON_Controller_RI_Switch_Leds_ON : SUBPROGRAM ACCESS stm32_debug.PI_Switch_Leds_ON -> Controller.RI_Switch_Leds_ON {
Taste::coordinates => "111964 86458 128342 86458 128342 122833 145192 122833";
Taste::coordinates => "83146 89289 83146 114018 145192 114018";
};
stm32_debug_PI_Blue_On_Controller_RI_Blue_On : SUBPROGRAM ACCESS stm32_debug.PI_Blue_On -> Controller.RI_Blue_On {
Taste::coordinates => "111964 84883 128184 84883 128184 126616 145192 126616";
Taste::coordinates => "111492 85355 128184 85355 128184 126616 145192 126616";
};
stm32_debug_PI_Blue_Off_Controller_RI_Blue_Off : SUBPROGRAM ACCESS stm32_debug.PI_Blue_Off -> Controller.RI_Blue_Off {
Taste::coordinates => "111964 83308 128184 83308 128184 129136 145192 129136";
Taste::coordinates => "111492 82836 128184 82836 128184 129136 145192 129136";
};
stm32_debug_PI_Send_to_UART_watchdog_RI_Send_to_UART : SUBPROGRAM ACCESS stm32_debug.PI_Send_to_UART -> watchdog.RI_Send_to_UART {
Taste::coordinates => "111493 127084 119367 127084 119367 104564 145192 104564";
};
stm32_debug_PI_Switch_Leds_ON_watchdog_RI_Switch_Leds_ON : SUBPROGRAM ACCESS stm32_debug.PI_Switch_Leds_ON -> watchdog.RI_Switch_Leds_ON {
Taste::coordinates => "111493 133384 128342 133384 128342 122833 145192 122833";
};
stm32_debug_PI_Get_Message_Controller_RI_Get_Message : SUBPROGRAM ACCESS stm32_debug.PI_Get_Message -> Controller.RI_Get_Message {
Taste::coordinates => "111964 78583 128184 78583 128184 102045 145192 102045";
stm32_debug_PI_Switch_Leds_OFF_watchdog_RI_Switch_Leds_OFF : SUBPROGRAM ACCESS stm32_debug.PI_Switch_Leds_OFF -> watchdog.RI_Switch_Leds_OFF {
Taste::coordinates => "111493 129132 128342 129132 128342 120314 145192 120314";
};
stm32_debug_PI_Send_to_UART_Controller_RI_Send_to_UART : SUBPROGRAM ACCESS stm32_debug.PI_Send_to_UART -> Controller.RI_Send_to_UART {
Taste::coordinates => "111964 80158 128184 80158 128184 104564 145192 104564";
stm32_debug_PI_Get_Message_watchdog_RI_Get_Message : SUBPROGRAM ACCESS stm32_debug.PI_Get_Message -> watchdog.RI_Get_Message {
Taste::coordinates => "111493 124721 117320 124721 117320 102045 145192 102045";
};
END interfaceview.others;
......
/* CIF PROCESS (250, 150), (150, 75) */
process Controller;
state Green;
substructure
in (short);
out (Go_Orange);
/* CIF START (604, 136), (70, 35) */
START short ;
/* CIF NEXTSTATE (583, 191), (110, 35) */
NEXTSTATE Second_Delay;
/* CIF START (343, 131), (70, 35) */
START;
/* CIF NEXTSTATE (331, 186), (93, 35) */
NEXTSTATE First_Delay;
/* CIF state (583, 191), (110, 35) */
state Second_Delay;
/* CIF input (604, 246), (70, 35) */
input Clock;
/* CIF return (621, 301), (35, 35) */
return Go_Orange;
endstate;
/* CIF state (331, 186), (93, 35) */
state First_Delay;
/* CIF input (206, 241), (70, 35) */
input Clock;
/* CIF PROCEDURECALL (155, 296), (171, 35) */
call Set_Timer (5000, Clock);
/* CIF NEXTSTATE (185, 351), (111, 35) */
NEXTSTATE Second_Delay;
/* CIF input (361, 241), (123, 35) */
input Button (cmd);
/* CIF PROCEDURECALL (336, 296), (171, 35) */
call Set_Timer (5000, Clock);
/* CIF NEXTSTATE (364, 346), (117, 35) */
NEXTSTATE Second_Delay;
endstate;
endsubstructure;
state Red;
substructure
out (Go_Green);
......@@ -42,6 +7,19 @@ process Controller;
START;
/* CIF NEXTSTATE (15, 119), (147, 35) */
NEXTSTATE Everybody_Stopped;
/* CIF state (430, 116), (127, 35) */
state Walking_Is_Over;
/* CIF input (373, 171), (70, 35) */
input Clock;
/* CIF return (391, 226), (35, 35) */
return Go_Green;
/* CIF input (477, 171), (123, 35) */
input Button (cmd);
/* CIF task (453, 226), (172, 35) */
task Walk_Requested := True;
/* CIF NEXTSTATE (504, 281), (70, 35) */
NEXTSTATE -;
endstate;
/* CIF state (237, 112), (73, 35) */
state Walking;
/* CIF input (238, 167), (70, 35) */
......@@ -70,18 +48,40 @@ process Controller;
/* CIF NEXTSTATE (52, 439), (73, 35) */
NEXTSTATE Walking;
endstate;
/* CIF state (430, 116), (127, 35) */
state Walking_Is_Over;
/* CIF input (373, 171), (70, 35) */
endsubstructure;
state Green;
substructure
in (short);
out (Go_Orange);
/* CIF START (604, 136), (70, 35) */
START short ;
/* CIF NEXTSTATE (583, 191), (110, 35) */
NEXTSTATE Second_Delay;
/* CIF START (343, 131), (70, 35) */
START;
/* CIF NEXTSTATE (331, 186), (93, 35) */
NEXTSTATE First_Delay;
/* CIF state (583, 191), (110, 35) */
state Second_Delay;
/* CIF input (604, 246), (70, 35) */
input Clock;
/* CIF return (391, 226), (35, 35) */
return Go_Green;
/* CIF input (477, 171), (123, 35) */
/* CIF return (621, 301), (35, 35) */
return Go_Orange;
endstate;
/* CIF state (331, 186), (93, 35) */
state First_Delay;
/* CIF input (206, 241), (70, 35) */
input Clock;
/* CIF PROCEDURECALL (155, 296), (171, 35) */
call Set_Timer (5000, Clock);
/* CIF NEXTSTATE (185, 351), (111, 35) */
NEXTSTATE Second_Delay;
/* CIF input (361, 241), (123, 35) */
input Button (cmd);
/* CIF task (453, 226), (172, 35) */
task Walk_Requested := True;
/* CIF NEXTSTATE (504, 281), (70, 35) */
NEXTSTATE -;
/* CIF PROCEDURECALL (336, 296), (171, 35) */
call Set_Timer (5000, Clock);
/* CIF NEXTSTATE (364, 346), (117, 35) */
NEXTSTATE Second_Delay;
endstate;
endsubstructure;
/* CIF TEXT (939, 61), (282, 152) */
......@@ -92,74 +92,76 @@ process Controller;
dcl Walk_Requested T_Boolean := False;
dcl Cmd Command;
dcl blue_led t_boolean := true;
/* CIF ENDTEXT */
/* CIF START (155, 40), (70, 33) */
START;
/* CIF NEXTSTATE (152, 90), (75, 35) */
/* CIF NEXTSTATE (152, 93), (75, 35) */
NEXTSTATE Off;
/* CIF state (152, 90), (75, 35) */
state Off;
/* CIF input (121, 145), (134, 35) */
input Initialize (dummy);
/* CIF PROCEDURECALL (100, 200), (178, 35) */
/* CIF state (973, 314), (70, 35) */
state Green;
/* CIF connect (1008, 369), (0, 35) */
connect Go_Orange;
/* CIF PROCEDURECALL (907, 419), (201, 35) */
call Set_Timer (2000, Clock);
/* CIF output (950, 474), (114, 35) */
output Color (Orange);
/* CIF PROCEDURECALL (961, 529), (93, 35) */
call Orange_On;
/* CIF NEXTSTATE (973, 579), (70, 35) */
NEXTSTATE Orange;
endstate;
/* CIF state (773, 61), (70, 35) */
state Orange;
/* CIF input (773, 116), (70, 35) */
input Clock;
/* CIF PROCEDURECALL (719, 171), (178, 35) */
call Set_Timer (1000, Clock);
/* CIF output (142, 255), (92, 35) */
/* CIF output (761, 226), (92, 35) */
output Color (Red);
/* CIF PROCEDURECALL (153, 310), (71, 35) */
/* CIF PROCEDURECALL (772, 281), (71, 35) */
call Red_On;
/* CIF PROCEDURECALL (149, 365), (79, 35) */
call Blue_Off;
/* CIF output (126, 415), (124, 35) */
output Info_User (Wait);
/* CIF NEXTSTATE (158, 465), (61, 35) */
/* CIF NEXTSTATE (773, 331), (70, 35) */
NEXTSTATE Red;
endstate;
/* CIF state (443, 49), (70, 35) */
/* CIF state (548, 49), (70, 35) */
state Red;
/* CIF connect (478, 104), (0, 35) */
/* CIF connect (583, 104), (0, 35) */
connect Go_Green;
/* CIF PROCEDURECALL (389, 159), (178, 35) */
/* CIF PROCEDURECALL (494, 159), (178, 35) */
call Set_Timer (5000, Clock);
/* CIF output (424, 214), (106, 35) */
/* CIF output (529, 214), (106, 35) */
output Color (Green);
/* CIF PROCEDURECALL (435, 269), (85, 35) */
/* CIF PROCEDURECALL (540, 269), (85, 35) */
call Green_On;
/* CIF decision (415, 319), (124, 50) */
/* CIF decision (520, 319), (124, 50) */
decision Walk_requested;
/* CIF ANSWER (364, 389), (70, 24) */
/* CIF ANSWER (469, 389), (70, 24) */
(True):
/* CIF NEXTSTATE (339, 433), (119, 35) */
/* CIF NEXTSTATE (444, 433), (119, 35) */
NEXTSTATE Green via Short;
/* CIF ANSWER (533, 389), (68, 24) */
/* CIF ANSWER (638, 389), (68, 24) */
(False):
/* CIF NEXTSTATE (530, 433), (74, 35) */
/* CIF NEXTSTATE (635, 433), (74, 35) */
NEXTSTATE Green;
enddecision;
endstate;
/* CIF state (686, 61), (70, 35) */
state Orange;
/* CIF input (686, 116), (70, 35) */
input Clock;
/* CIF PROCEDURECALL (632, 171), (178, 35) */
/* CIF state (152, 93), (75, 35) */
state Off;
/* CIF input (118, 148), (134, 35) */
input Initialize (dummy);
/* CIF PROCEDURECALL (97, 203), (178, 35) */
call Set_Timer (1000, Clock);
/* CIF output (674, 226), (92, 35) */
/* CIF output (139, 258), (92, 35) */
output Color (Red);
/* CIF PROCEDURECALL (685, 281), (71, 35) */
/* CIF PROCEDURECALL (150, 313), (71, 35) */
call Red_On;
/* CIF NEXTSTATE (686, 331), (70, 35) */
/* CIF PROCEDURECALL (146, 368), (79, 35) */
call Blue_Off;
/* CIF output (123, 418), (124, 35) */
output Info_User (Wait);
/* CIF NEXTSTATE (155, 468), (61, 35) */
NEXTSTATE Red;
endstate;
/* CIF state (828, 314), (70, 35) */
state Green;
/* CIF connect (863, 369), (0, 35) */
connect Go_Orange;
/* CIF PROCEDURECALL (762, 419), (201, 35) */
call Set_Timer (2000, Clock);
/* CIF output (805, 474), (114, 35) */
output Color (Orange);
/* CIF PROCEDURECALL (816, 529), (93, 35) */
call Orange_On;
/* CIF NEXTSTATE (828, 579), (70, 35) */
NEXTSTATE Orange;
endstate;
endprocess Controller;
\ No newline at end of file
......@@ -276,8 +276,6 @@ package body STM32_Debug is
begin
STM32.Board.Initialize_LEDs;
All_LEDs_Off;
Blue_On;
Initialize_Hardware;
All_LEDs_On;
end STM32_Debug;
/* CIF PROCESS (250, 150), (150, 75) */
process Watchdog;
/* CIF START (408, 21), (70, 35) */
START;
/* CIF NEXTSTATE (408, 71), (70, 35) */
NEXTSTATE Off;
/* CIF state (408, 71), (70, 35) */
state Off;
/* CIF input (408, 126), (70, 35) */
input pulse;
/* CIF PROCEDURECALL (379, 181), (126, 35) */
call Switch_Leds_ON;
/* CIF PROCEDURECALL (367, 236), (150, 40) */
call Send_to_UART('Ping
');
/* CIF NEXTSTATE (408, 296), (70, 35) */
NEXTSTATE On;
endstate;
/* CIF state (612, 43), (70, 35) */
state On;
/* CIF input (612, 98), (70, 35) */
input pulse;