Kaynağa Gözat

Added missing type check.

Joeri Exelmans 5 yıl önce
ebeveyn
işleme
5f01be7d40

+ 0 - 527
examples/digitalwatch/statechart_digitalwatch.svg

@@ -1,527 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.40.1 (20161225.0304)
- -->
-<!-- Title: state transitions Pages: 1 -->
-<svg width="3440pt" height="752pt"
- viewBox="0.00 0.00 3440.00 752.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 748)">
-<title>state transitions</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-748 3436,-748 3436,4 -4,4"/>
-<g id="clust1" class="cluster">
-<title>cluster__P</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M20,-8C20,-8 3412,-8 3412,-8 3418,-8 3424,-14 3424,-20 3424,-20 3424,-693 3424,-693 3424,-699 3418,-705 3412,-705 3412,-705 20,-705 20,-705 14,-705 8,-699 8,-693 8,-693 8,-20 8,-20 8,-14 14,-8 20,-8"/>
-<text text-anchor="start" x="1711.9986" y="-686.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">P</text>
-</g>
-<g id="clust2" class="cluster">
-<title>cluster__P_Time</title>
-<polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="3146,-291 3146,-589 3416,-589 3416,-291 3146,-291"/>
-<text text-anchor="start" x="3267.6704" y="-570.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Time</text>
-</g>
-<g id="clust3" class="cluster">
-<title>cluster__P_Alarm</title>
-<polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="2370,-16 2370,-647 3138,-647 3138,-16 2370,-16"/>
-<text text-anchor="start" x="2738.837" y="-628.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Alarm</text>
-</g>
-<g id="clust4" class="cluster">
-<title>cluster__P_Alarm_Blinking</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M2924,-24C2924,-24 3118,-24 3118,-24 3124,-24 3130,-30 3130,-36 3130,-36 3130,-597 3130,-597 3130,-603 3124,-609 3118,-609 3118,-609 2924,-609 2924,-609 2918,-609 2912,-603 2912,-597 2912,-597 2912,-36 2912,-36 2912,-30 2918,-24 2924,-24"/>
-<text text-anchor="start" x="2999.9982" y="-590.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Blinking</text>
-<text text-anchor="start" x="2926.9896" y="-570.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">exit/ set_alarm()⁏ unset_indiglo()⁏</text>
-<polygon fill="#000000" stroke="#000000" points="2923,-584 2923,-584 3119,-584 3119,-584 2923,-584"/>
-</g>
-<g id="clust5" class="cluster">
-<title>cluster__P_Display</title>
-<polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="963,-16 963,-667 2362,-667 2362,-16 963,-16"/>
-<text text-anchor="start" x="1643.335" y="-648.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Display</text>
-</g>
-<g id="clust6" class="cluster">
-<title>cluster__P_Display_EditingTime</title>
-<path fill="none" stroke="#000000" stroke-width="2" d="M1678,-24C1678,-24 2238,-24 2238,-24 2244,-24 2250,-30 2250,-36 2250,-36 2250,-617 2250,-617 2250,-623 2244,-629 2238,-629 2238,-629 1678,-629 1678,-629 1672,-629 1666,-623 1666,-617 1666,-617 1666,-36 1666,-36 1666,-30 1672,-24 1678,-24"/>
-<text text-anchor="start" x="1926.3326" y="-610.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">EditingTime</text>
-<text text-anchor="start" x="1898.66" y="-590.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">entry/ start_selection()</text>
-<text text-anchor="start" x="1899" y="-570.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">exit/ stop_selection()</text>
-<polygon fill="#000000" stroke="#000000" points="1895,-604 1895,-604 2021,-604 2021,-604 1895,-604"/>
-</g>
-<g id="clust7" class="cluster">
-<title>cluster__P_Chrono</title>
-<polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="317,-291 317,-589 955,-589 955,-291 317,-291"/>
-<text text-anchor="start" x="616.8296" y="-570.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Chrono</text>
-</g>
-<g id="clust8" class="cluster">
-<title>cluster__P_Indiglo</title>
-<polygon fill="none" stroke="#000000" stroke-dasharray="5,2" points="24,-160 24,-589 309,-589 309,-160 24,-160"/>
-<text text-anchor="start" x="149.3282" y="-570.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Indiglo</text>
-</g>
-<!-- __initial -->
-<g id="node1" class="node">
-<title>__initial</title>
-<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="16" cy="-738.5" rx="5.5" ry="5.5"/>
-</g>
-<!-- _P -->
-<!-- __initial&#45;&gt;_P -->
-<g id="edge1" class="edge">
-<title>__initial&#45;&gt;_P</title>
-<path fill="none" stroke="#000000" d="M16,-732.932C16,-728.8364 16,-722.6612 16,-715.0133"/>
-<polygon fill="#000000" stroke="#000000" points="19.5001,-714.995 16,-704.9951 12.5001,-714.9951 19.5001,-714.995"/>
-<text text-anchor="middle" x="17.3895" y="-716" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-</g>
-<!-- _P_Time -->
-<!-- _P_Time_initial -->
-<g id="node4" class="node">
-<title>_P_Time_initial</title>
-<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="3193" cy="-545.5" rx="5.5" ry="5.5"/>
-</g>
-<!-- _P_Time_Increasing -->
-<g id="node6" class="node">
-<title>_P_Time_Increasing</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="3231.5,-458 3154.5,-458 3154.5,-422 3231.5,-422 3231.5,-458"/>
-<text text-anchor="start" x="3165.8268" y="-436.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Increasing</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M3166.8333,-423C3166.8333,-423 3219.1667,-423 3219.1667,-423 3224.8333,-423 3230.5,-428.6667 3230.5,-434.3333 3230.5,-434.3333 3230.5,-445.6667 3230.5,-445.6667 3230.5,-451.3333 3224.8333,-457 3219.1667,-457 3219.1667,-457 3166.8333,-457 3166.8333,-457 3161.1667,-457 3155.5,-451.3333 3155.5,-445.6667 3155.5,-445.6667 3155.5,-434.3333 3155.5,-434.3333 3155.5,-428.6667 3161.1667,-423 3166.8333,-423"/>
-</g>
-<!-- _P_Time_initial&#45;&gt;_P_Time_Increasing -->
-<g id="edge2" class="edge">
-<title>_P_Time_initial&#45;&gt;_P_Time_Increasing</title>
-<path fill="none" stroke="#000000" d="M3193,-539.8288C3193,-535.1736 3193,-528.4097 3193,-522.5 3193,-522.5 3193,-522.5 3193,-475.5 3193,-473.1079 3193,-470.6252 3193,-468.1342"/>
-<polygon fill="#000000" stroke="#000000" points="3196.5001,-468.0597 3193,-458.0598 3189.5001,-468.0598 3196.5001,-468.0597"/>
-<text text-anchor="middle" x="3194.3895" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-</g>
-<!-- _P_Time_Editing -->
-<g id="node5" class="node">
-<title>_P_Time_Editing</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="3258,-335 3200,-335 3200,-299 3258,-299 3258,-335"/>
-<text text-anchor="start" x="3210.6622" y="-313.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Editing</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M3212.3333,-300C3212.3333,-300 3245.6667,-300 3245.6667,-300 3251.3333,-300 3257,-305.6667 3257,-311.3333 3257,-311.3333 3257,-322.6667 3257,-322.6667 3257,-328.3333 3251.3333,-334 3245.6667,-334 3245.6667,-334 3212.3333,-334 3212.3333,-334 3206.6667,-334 3201,-328.3333 3201,-322.6667 3201,-322.6667 3201,-311.3333 3201,-311.3333 3201,-305.6667 3206.6667,-300 3212.3333,-300"/>
-</g>
-<!-- _P_Time_Editing&#45;&gt;_P_Time_Increasing -->
-<g id="edge3" class="edge">
-<title>_P_Time_Editing&#45;&gt;_P_Time_Increasing</title>
-<path fill="none" stroke="#000000" d="M3199.9148,-328.8043C3188.9152,-335.3409 3179,-344.7651 3179,-357.5 3179,-404.5 3179,-404.5 3179,-404.5 3179,-406.9596 3179.2944,-409.4524 3179.7979,-411.917"/>
-<polygon fill="#000000" stroke="#000000" points="3176.5336,-413.2089 3182.8256,-421.733 3183.2226,-411.1456 3176.5336,-413.2089"/>
-<text text-anchor="start" x="3179" y="-378" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">edit_done &#160;&#160;</text>
-</g>
-<!-- _P_Time_Increasing&#45;&gt;_P_Time_Editing -->
-<g id="edge5" class="edge">
-<title>_P_Time_Increasing&#45;&gt;_P_Time_Editing</title>
-<path fill="none" stroke="#000000" d="M3231.5989,-430.4339C3252.8672,-423.995 3275,-414.8161 3275,-404.5 3275,-404.5 3275,-404.5 3275,-357.5 3275,-349.819 3271.3424,-343.2495 3266.0898,-337.7754"/>
-<polygon fill="#000000" stroke="#000000" points="3268.0122,-334.8148 3258.1325,-330.9882 3263.4695,-340.1406 3268.0122,-334.8148"/>
-<text text-anchor="start" x="3275" y="-378" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">time_edit &#160;&#160;</text>
-</g>
-<!-- _P_Time_Increasing&#45;&gt;_P_Time_Increasing -->
-<g id="edge4" class="edge">
-<title>_P_Time_Increasing&#45;&gt;_P_Time_Increasing</title>
-<path fill="none" stroke="#000000" d="M3231.6945,-444.8723C3243.8838,-444.7979 3253.5,-443.1738 3253.5,-440 3253.5,-437.7684 3248.7459,-436.303 3241.686,-435.6037"/>
-<polygon fill="#000000" stroke="#000000" points="3241.8497,-432.1076 3231.6945,-435.1277 3241.5166,-439.0997 3241.8497,-432.1076"/>
-<text text-anchor="start" x="3253.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(1 s)/increase_time_by_one() &#160;&#160;</text>
-</g>
-<!-- _P_Alarm -->
-<!-- _P_Alarm_initial -->
-<g id="node8" class="node">
-<title>_P_Alarm_initial</title>
-<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="2412" cy="-545.5" rx="5.5" ry="5.5"/>
-</g>
-<!-- _P_Alarm_Off -->
-<g id="node10" class="node">
-<title>_P_Alarm_Off</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="2550,-458 2494,-458 2494,-422 2550,-422 2550,-458"/>
-<text text-anchor="start" x="2513.9978" y="-436.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Off</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M2506.3333,-423C2506.3333,-423 2537.6667,-423 2537.6667,-423 2543.3333,-423 2549,-428.6667 2549,-434.3333 2549,-434.3333 2549,-445.6667 2549,-445.6667 2549,-451.3333 2543.3333,-457 2537.6667,-457 2537.6667,-457 2506.3333,-457 2506.3333,-457 2500.6667,-457 2495,-451.3333 2495,-445.6667 2495,-445.6667 2495,-434.3333 2495,-434.3333 2495,-428.6667 2500.6667,-423 2506.3333,-423"/>
-</g>
-<!-- _P_Alarm_initial&#45;&gt;_P_Alarm_Off -->
-<g id="edge6" class="edge">
-<title>_P_Alarm_initial&#45;&gt;_P_Alarm_Off</title>
-<path fill="none" stroke="#000000" d="M2412,-539.8288C2412,-535.1736 2412,-528.4097 2412,-522.5 2412,-522.5 2412,-522.5 2412,-475.5 2412,-459.9729 2452.1962,-450.2456 2483.9914,-444.9801"/>
-<polygon fill="#000000" stroke="#000000" points="2484.6166,-448.425 2493.9577,-443.4256 2483.5378,-441.5086 2484.6166,-448.425"/>
-<text text-anchor="middle" x="2413.3895" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-</g>
-<!-- _P_Alarm_On -->
-<g id="node9" class="node">
-<title>_P_Alarm_On</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="2669,-335 2613,-335 2613,-299 2669,-299 2669,-335"/>
-<text text-anchor="start" x="2632.9972" y="-313.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">On</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M2625.3333,-300C2625.3333,-300 2656.6667,-300 2656.6667,-300 2662.3333,-300 2668,-305.6667 2668,-311.3333 2668,-311.3333 2668,-322.6667 2668,-322.6667 2668,-328.3333 2662.3333,-334 2656.6667,-334 2656.6667,-334 2625.3333,-334 2625.3333,-334 2619.6667,-334 2614,-328.3333 2614,-322.6667 2614,-322.6667 2614,-311.3333 2614,-311.3333 2614,-305.6667 2619.6667,-300 2625.3333,-300"/>
-</g>
-<!-- _P_Alarm_Blinking -->
-<!-- _P_Alarm_On&#45;&gt;_P_Alarm_Blinking -->
-<g id="edge14" class="edge">
-<title>_P_Alarm_On&#45;&gt;_P_Alarm_Blinking</title>
-<path fill="none" stroke="#000000" d="M2669.1025,-319.5459C2719.1913,-324.1396 2825.7796,-334.1721 2901.9371,-343.1443"/>
-<polygon fill="#000000" stroke="#000000" points="2901.6588,-346.6358 2912.0031,-344.3458 2902.4885,-339.6852 2901.6588,-346.6358"/>
-<text text-anchor="start" x="2988" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">[check_time()] &#160;&#160;</text>
-</g>
-<!-- _P_Alarm_Off&#45;&gt;_P_Alarm_On -->
-<g id="edge15" class="edge">
-<title>_P_Alarm_Off&#45;&gt;_P_Alarm_On</title>
-<path fill="none" stroke="#000000" d="M2493.7041,-437.4535C2457.6641,-433.4118 2400,-423.9119 2400,-404.5 2400,-404.5 2400,-404.5 2400,-357.5 2400,-337.2127 2534.5302,-324.6325 2602.5651,-319.5676"/>
-<polygon fill="#000000" stroke="#000000" points="2603.162,-323.0335 2612.8826,-318.8192 2602.6555,-316.0519 2603.162,-323.0335"/>
-<text text-anchor="start" x="2400" y="-378" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_left_pressed [INSTATE([&quot;/Display/TimeUpdate&quot;]) or INSTATE([&quot;/Display/WaitingForAlarm&quot;])]/set_alarm() &#160;&#160;</text>
-</g>
-<!-- _P_Alarm_Blinking&#45;&gt;_P_Alarm_Off -->
-<g id="edge10" class="edge">
-<title>_P_Alarm_Blinking&#45;&gt;_P_Alarm_Off</title>
-<path fill="none" stroke="#000000" d="M2912.0023,-537.437C2897.2557,-530.1044 2877,-539.8634 2877,-522.5 2877,-522.5 2877,-522.5 2877,-475.5 2877,-459.7298 2652.2665,-446.5812 2560.416,-441.8659"/>
-<polygon fill="#000000" stroke="#000000" points="2560.3173,-438.3565 2550.153,-441.3458 2559.963,-445.3475 2560.3173,-438.3565"/>
-<text text-anchor="start" x="2877" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">top_right_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Alarm_Blinking&#45;&gt;_P_Alarm_Off -->
-<g id="edge11" class="edge">
-<title>_P_Alarm_Blinking&#45;&gt;_P_Alarm_Off</title>
-<path fill="none" stroke="#000000" d="M2912.0033,-538.8732C2872.4724,-531.4502 2596.8495,-532.9177 2579,-532 2552.2852,-530.6265 2459,-549.2501 2459,-522.5 2459,-522.5 2459,-522.5 2459,-475.5 2459,-461.6597 2470.6831,-453.1563 2483.9869,-447.9599"/>
-<polygon fill="#000000" stroke="#000000" points="2485.4082,-451.1771 2493.8168,-444.7316 2483.2239,-444.5266 2485.4082,-451.1771"/>
-<text text-anchor="start" x="2459" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">top_left_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Alarm_Blinking&#45;&gt;_P_Alarm_Off -->
-<g id="edge12" class="edge">
-<title>_P_Alarm_Blinking&#45;&gt;_P_Alarm_Off</title>
-<path fill="none" stroke="#000000" d="M2912.0015,-538.5324C2882.1432,-530.4274 2747.7683,-533.0771 2728,-532 2696.1993,-530.2673 2585,-554.3478 2585,-522.5 2585,-522.5 2585,-522.5 2585,-475.5 2585,-461.6597 2573.3169,-453.1563 2560.0131,-447.9599"/>
-<polygon fill="#000000" stroke="#000000" points="2560.7761,-444.5266 2550.1832,-444.7316 2558.5918,-451.1771 2560.7761,-444.5266"/>
-<text text-anchor="start" x="2585" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_right_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Alarm_Blinking&#45;&gt;_P_Alarm_Off -->
-<g id="edge13" class="edge">
-<title>_P_Alarm_Blinking&#45;&gt;_P_Alarm_Off</title>
-<path fill="none" stroke="#000000" d="M2912.0012,-538.5822C2881.3863,-531.1986 2734,-541.738 2734,-522.5 2734,-522.5 2734,-522.5 2734,-475.5 2734,-458.0819 2621.2437,-447.1883 2560.196,-442.5667"/>
-<polygon fill="#000000" stroke="#000000" points="2560.3819,-439.071 2550.152,-441.8276 2559.8681,-446.0522 2560.3819,-439.071"/>
-<text text-anchor="start" x="2734" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_left_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Alarm_Blinking_initial -->
-<g id="node12" class="node">
-<title>_P_Alarm_Blinking_initial</title>
-<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="3103" cy="-545.5" rx="5.5" ry="5.5"/>
-</g>
-<!-- _P_Alarm_Blinking_On -->
-<g id="node14" class="node">
-<title>_P_Alarm_Blinking_On</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="3109,-340 2999,-340 2999,-294 3109,-294 3109,-340"/>
-<text text-anchor="start" x="3045.9972" y="-323.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">On</text>
-<text text-anchor="start" x="3004.6608" y="-303.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">entry/ set_indiglo()</text>
-<polygon fill="#000000" stroke="#000000" points="2999,-317 2999,-317 3109,-317 3109,-317 2999,-317"/>
-<path fill="none" stroke="#000000" stroke-width="2" d="M3012,-295C3012,-295 3096,-295 3096,-295 3102,-295 3108,-301 3108,-307 3108,-307 3108,-327 3108,-327 3108,-333 3102,-339 3096,-339 3096,-339 3012,-339 3012,-339 3006,-339 3000,-333 3000,-327 3000,-327 3000,-307 3000,-307 3000,-301 3006,-295 3012,-295"/>
-</g>
-<!-- _P_Alarm_Blinking_initial&#45;&gt;_P_Alarm_Blinking_On -->
-<g id="edge7" class="edge">
-<title>_P_Alarm_Blinking_initial&#45;&gt;_P_Alarm_Blinking_On</title>
-<path fill="none" stroke="#000000" d="M3103,-539.8288C3103,-535.1736 3103,-528.4097 3103,-522.5 3103,-522.5 3103,-522.5 3103,-357.5 3103,-354.4994 3102.4473,-351.6794 3101.4594,-349.0354"/>
-<polygon fill="#000000" stroke="#000000" points="3104.3248,-347.0076 3096.1868,-340.2236 3098.3181,-350.6019 3104.3248,-347.0076"/>
-<text text-anchor="middle" x="3104.3895" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-</g>
-<!-- _P_Alarm_Blinking_Off -->
-<g id="node13" class="node">
-<title>_P_Alarm_Blinking_Off</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="3080,-78 2956,-78 2956,-32 3080,-32 3080,-78"/>
-<text text-anchor="start" x="3009.9978" y="-61.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Off</text>
-<text text-anchor="start" x="2961.99" y="-41.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">entry/ unset_indiglo()</text>
-<polygon fill="#000000" stroke="#000000" points="2956,-55 2956,-55 3080,-55 3080,-55 2956,-55"/>
-<path fill="none" stroke="#000000" stroke-width="2" d="M2969,-33C2969,-33 3067,-33 3067,-33 3073,-33 3079,-39 3079,-45 3079,-45 3079,-65 3079,-65 3079,-71 3073,-77 3067,-77 3067,-77 2969,-77 2969,-77 2963,-77 2957,-71 2957,-65 2957,-65 2957,-45 2957,-45 2957,-39 2963,-33 2969,-33"/>
-</g>
-<!-- _P_Alarm_Blinking_Off&#45;&gt;_P_Alarm_Blinking_On -->
-<g id="edge8" class="edge">
-<title>_P_Alarm_Blinking_Off&#45;&gt;_P_Alarm_Blinking_On</title>
-<path fill="none" stroke="#000000" d="M2955.9396,-71.4974C2947.6824,-77.2639 2942,-85.0343 2942,-95.5 2942,-273.5 2942,-273.5 2942,-273.5 2942,-295.6901 2965.8819,-285.0616 2992.7295,-291.0109"/>
-<polygon fill="#000000" stroke="#000000" points="2991.7311,-294.3655 3002.3152,-293.8876 2993.7432,-287.6609 2991.7311,-294.3655"/>
-<text text-anchor="start" x="2942" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(500 ms) &#160;&#160;</text>
-</g>
-<!-- _P_Alarm_Blinking_On&#45;&gt;_P_Alarm_Blinking_Off -->
-<g id="edge9" class="edge">
-<title>_P_Alarm_Blinking_On&#45;&gt;_P_Alarm_Blinking_Off</title>
-<path fill="none" stroke="#000000" d="M3054,-293.9729C3054,-287.3628 3054,-280.1458 3054,-273.5 3054,-273.5 3054,-273.5 3054,-95.5 3054,-92.6013 3053.4785,-89.8137 3052.561,-87.1524"/>
-<polygon fill="#000000" stroke="#000000" points="3055.5243,-85.271 3047.7293,-78.0954 3049.3482,-88.5659 3055.5243,-85.271"/>
-<text text-anchor="start" x="3054" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(500 ms) &#160;&#160;</text>
-</g>
-<!-- _P_Display -->
-<!-- _P_Display_initial -->
-<g id="node16" class="node">
-<title>_P_Display_initial</title>
-<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="1347" cy="-317" rx="5.5" ry="5.5"/>
-</g>
-<!-- _P_Display_TimeUpdate -->
-<g id="node20" class="node">
-<title>_P_Display_TimeUpdate</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="1429,-209 1265,-209 1265,-163 1429,-163 1429,-209"/>
-<text text-anchor="start" x="1314.33" y="-192.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">TimeUpdate</text>
-<text text-anchor="start" x="1270.995" y="-172.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">entry/ refresh_time_display()</text>
-<polygon fill="#000000" stroke="#000000" points="1265,-186 1265,-186 1429,-186 1429,-186 1265,-186"/>
-<path fill="none" stroke="#000000" stroke-width="2" d="M1278,-164C1278,-164 1416,-164 1416,-164 1422,-164 1428,-170 1428,-176 1428,-176 1428,-196 1428,-196 1428,-202 1422,-208 1416,-208 1416,-208 1278,-208 1278,-208 1272,-208 1266,-202 1266,-196 1266,-196 1266,-176 1266,-176 1266,-170 1272,-164 1278,-164"/>
-</g>
-<!-- _P_Display_initial&#45;&gt;_P_Display_TimeUpdate -->
-<g id="edge16" class="edge">
-<title>_P_Display_initial&#45;&gt;_P_Display_TimeUpdate</title>
-<path fill="none" stroke="#000000" d="M1347,-311.369C1347,-303.077 1347,-287.0938 1347,-273.5 1347,-273.5 1347,-273.5 1347,-226.5 1347,-224.127 1347,-221.6757 1347,-219.2081"/>
-<polygon fill="#000000" stroke="#000000" points="1350.5001,-219.1306 1347,-209.1306 1343.5001,-219.1306 1350.5001,-219.1306"/>
-<text text-anchor="middle" x="1348.3895" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-</g>
-<!-- _P_Display_WaitingForAlarm -->
-<g id="node17" class="node">
-<title>_P_Display_WaitingForAlarm</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="1081.5,-73 970.5,-73 970.5,-37 1081.5,-37 1081.5,-73"/>
-<text text-anchor="start" x="981.839" y="-51.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">WaitingForAlarm</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M982.8333,-38C982.8333,-38 1069.1667,-38 1069.1667,-38 1074.8333,-38 1080.5,-43.6667 1080.5,-49.3333 1080.5,-49.3333 1080.5,-60.6667 1080.5,-60.6667 1080.5,-66.3333 1074.8333,-72 1069.1667,-72 1069.1667,-72 982.8333,-72 982.8333,-72 977.1667,-72 971.5,-66.3333 971.5,-60.6667 971.5,-60.6667 971.5,-49.3333 971.5,-49.3333 971.5,-43.6667 977.1667,-38 982.8333,-38"/>
-</g>
-<!-- _P_Display_EditingTime -->
-<!-- _P_Display_WaitingForAlarm&#45;&gt;_P_Display_EditingTime -->
-<g id="edge17" class="edge">
-<title>_P_Display_WaitingForAlarm&#45;&gt;_P_Display_EditingTime</title>
-<path fill="none" stroke="#000000" d="M1011.1196,-73.0587C1003.1594,-83.9116 994.1594,-98.4116 990,-113 970.4377,-181.6115 993,-202.1542 993,-273.5 993,-522.5 993,-522.5 993,-522.5 993,-538.9039 1455.0888,-543.7199 1655.7765,-545.0379"/>
-<polygon fill="#000000" stroke="#000000" points="1655.9814,-548.5392 1666.0037,-545.1035 1656.0264,-541.5394 1655.9814,-548.5392"/>
-<text text-anchor="start" x="993" y="-314" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(1500 ms)^alarm_edit &#160;&#160;</text>
-</g>
-<!-- _P_Display_ChronoUpdate -->
-<g id="node18" class="node">
-<title>_P_Display_ChronoUpdate</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="1273,-73 1173,-73 1173,-37 1273,-37 1273,-73"/>
-<text text-anchor="start" x="1183.9892" y="-51.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">ChronoUpdate</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M1185.3333,-38C1185.3333,-38 1260.6667,-38 1260.6667,-38 1266.3333,-38 1272,-43.6667 1272,-49.3333 1272,-49.3333 1272,-60.6667 1272,-60.6667 1272,-66.3333 1266.3333,-72 1260.6667,-72 1260.6667,-72 1185.3333,-72 1185.3333,-72 1179.6667,-72 1174,-66.3333 1174,-60.6667 1174,-60.6667 1174,-49.3333 1174,-49.3333 1174,-43.6667 1179.6667,-38 1185.3333,-38"/>
-</g>
-<!-- _P_Display_ChronoUpdate&#45;&gt;_P_Display_ChronoUpdate -->
-<g id="edge19" class="edge">
-<title>_P_Display_ChronoUpdate&#45;&gt;_P_Display_ChronoUpdate</title>
-<path fill="none" stroke="#000000" d="M1273.1354,-60.5478C1285.6477,-60.1598 1295,-58.3105 1295,-55 1295,-52.6723 1290.3764,-51.067 1283.2816,-50.1841"/>
-<polygon fill="#000000" stroke="#000000" points="1283.3613,-46.6809 1273.1354,-49.4522 1282.8576,-53.6627 1283.3613,-46.6809"/>
-<text text-anchor="start" x="1295" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(10 ms)/refresh_chrono_display() &#160;&#160;</text>
-</g>
-<!-- _P_Display_ChronoUpdate&#45;&gt;_P_Display_TimeUpdate -->
-<g id="edge18" class="edge">
-<title>_P_Display_ChronoUpdate&#45;&gt;_P_Display_TimeUpdate</title>
-<path fill="none" stroke="#000000" d="M1172.749,-72.7145C1165.2641,-78.4348 1160,-85.8781 1160,-95.5 1160,-142.5 1160,-142.5 1160,-142.5 1160,-164.0497 1207.7064,-174.9278 1254.9274,-180.417"/>
-<polygon fill="#000000" stroke="#000000" points="1254.6597,-183.9084 1264.9791,-181.5084 1255.4154,-176.9493 1254.6597,-183.9084"/>
-<text text-anchor="start" x="1160" y="-116" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">top_left_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Display_WaitingToEdit -->
-<g id="node19" class="node">
-<title>_P_Display_WaitingToEdit</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="2354,-73 2258,-73 2258,-37 2354,-37 2354,-73"/>
-<text text-anchor="start" x="2268.6638" y="-51.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">WaitingToEdit</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M2270.3333,-38C2270.3333,-38 2341.6667,-38 2341.6667,-38 2347.3333,-38 2353,-43.6667 2353,-49.3333 2353,-49.3333 2353,-60.6667 2353,-60.6667 2353,-66.3333 2347.3333,-72 2341.6667,-72 2341.6667,-72 2270.3333,-72 2270.3333,-72 2264.6667,-72 2259,-66.3333 2259,-60.6667 2259,-60.6667 2259,-49.3333 2259,-49.3333 2259,-43.6667 2264.6667,-38 2270.3333,-38"/>
-</g>
-<!-- _P_Display_WaitingToEdit&#45;&gt;_P_Display_EditingTime -->
-<g id="edge28" class="edge">
-<title>_P_Display_WaitingToEdit&#45;&gt;_P_Display_EditingTime</title>
-<path fill="none" stroke="#000000" d="M2280.7344,-73.4197C2272.2971,-81.7555 2265,-92.4485 2265,-104.5 2265,-151.5 2265,-151.5 2265,-151.5 2265,-190.4202 2259.2064,-216.074 2252.7113,-240.1214"/>
-<polygon fill="#000000" stroke="#000000" points="2249.2716,-239.4302 2250,-250 2256.022,-241.283 2249.2716,-239.4302"/>
-<text text-anchor="start" x="2239" y="-314" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(1500 ms)^time_edit &#160;&#160;</text>
-</g>
-<!-- _P_Display_TimeUpdate&#45;&gt;_P_Display_WaitingForAlarm -->
-<g id="edge31" class="edge">
-<title>_P_Display_TimeUpdate&#45;&gt;_P_Display_WaitingForAlarm</title>
-<path fill="none" stroke="#000000" d="M1264.5783,-183.0891C1166.8346,-178.5078 1017,-167.4208 1017,-142.5 1017,-142.5 1017,-142.5 1017,-95.5 1017,-91.4822 1017.4273,-87.2925 1018.0957,-83.1964"/>
-<polygon fill="#000000" stroke="#000000" points="1021.5319,-83.8631 1020.1478,-73.3591 1014.6794,-82.4337 1021.5319,-83.8631"/>
-<text text-anchor="start" x="1017" y="-116" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_left_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Display_TimeUpdate&#45;&gt;_P_Display_ChronoUpdate -->
-<g id="edge29" class="edge">
-<title>_P_Display_TimeUpdate&#45;&gt;_P_Display_ChronoUpdate</title>
-<path fill="none" stroke="#000000" d="M1295.0008,-162.8124C1289.5779,-157.2742 1286,-150.5645 1286,-142.5 1286,-142.5 1286,-142.5 1286,-95.5 1286,-89.4863 1283.9437,-84.3236 1280.5741,-79.9007"/>
-<polygon fill="#000000" stroke="#000000" points="1282.8399,-77.2205 1273.251,-72.7145 1277.9371,-82.2167 1282.8399,-77.2205"/>
-<text text-anchor="start" x="1286" y="-116" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">top_left_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Display_TimeUpdate&#45;&gt;_P_Display_WaitingToEdit -->
-<g id="edge30" class="edge">
-<title>_P_Display_TimeUpdate&#45;&gt;_P_Display_WaitingToEdit</title>
-<path fill="none" stroke="#000000" d="M1409.9427,-162.9906C1465.9247,-142.695 1541.1677,-115.8944 1555.971,-113 1860.8233,-53.3938 1951.7881,-149.8038 2254,-78 2255.9448,-77.5379 2257.9073,-77.005 2259.8726,-76.4154"/>
-<polygon fill="#000000" stroke="#000000" points="2261.3293,-79.616 2269.6522,-73.06 2259.0575,-72.9949 2261.3293,-79.616"/>
-<text text-anchor="start" x="1555" y="-116" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_right_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Display_EditingTime_initial -->
-<g id="node22" class="node">
-<title>_P_Display_EditingTime_initial</title>
-<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="1848" cy="-545.5" rx="5.5" ry="5.5"/>
-</g>
-<!-- _P_Display_EditingTime_Waiting -->
-<g id="node25" class="node">
-<title>_P_Display_EditingTime_Waiting</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="1878.5,-335 1817.5,-335 1817.5,-299 1878.5,-299 1878.5,-335"/>
-<text text-anchor="start" x="1828.5002" y="-313.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Waiting</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M1829.8333,-300C1829.8333,-300 1866.1667,-300 1866.1667,-300 1871.8333,-300 1877.5,-305.6667 1877.5,-311.3333 1877.5,-311.3333 1877.5,-322.6667 1877.5,-322.6667 1877.5,-328.3333 1871.8333,-334 1866.1667,-334 1866.1667,-334 1829.8333,-334 1829.8333,-334 1824.1667,-334 1818.5,-328.3333 1818.5,-322.6667 1818.5,-322.6667 1818.5,-311.3333 1818.5,-311.3333 1818.5,-305.6667 1824.1667,-300 1829.8333,-300"/>
-</g>
-<!-- _P_Display_EditingTime_initial&#45;&gt;_P_Display_EditingTime_Waiting -->
-<g id="edge20" class="edge">
-<title>_P_Display_EditingTime_initial&#45;&gt;_P_Display_EditingTime_Waiting</title>
-<path fill="none" stroke="#000000" d="M1848,-539.8288C1848,-535.1736 1848,-528.4097 1848,-522.5 1848,-522.5 1848,-522.5 1848,-357.5 1848,-353.6152 1848,-349.5209 1848,-345.4883"/>
-<polygon fill="#000000" stroke="#000000" points="1851.5001,-345.1447 1848,-335.1447 1844.5001,-345.1448 1851.5001,-345.1447"/>
-<text text-anchor="middle" x="1849.3895" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-</g>
-<!-- _P_Display_EditingTime_Increasing -->
-<g id="node23" class="node">
-<title>_P_Display_EditingTime_Increasing</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="2112,-78 1960,-78 1960,-32 2112,-32 2112,-78"/>
-<text text-anchor="start" x="2008.3268" y="-61.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Increasing</text>
-<text text-anchor="start" x="1965.6572" y="-41.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">entry/ increase_selection()</text>
-<polygon fill="#000000" stroke="#000000" points="1960,-55 1960,-55 2112,-55 2112,-55 1960,-55"/>
-<path fill="none" stroke="#000000" stroke-width="2" d="M1973,-33C1973,-33 2099,-33 2099,-33 2105,-33 2111,-39 2111,-45 2111,-45 2111,-65 2111,-65 2111,-71 2105,-77 2099,-77 2099,-77 1973,-77 1973,-77 1967,-77 1961,-71 1961,-65 1961,-65 1961,-45 1961,-45 1961,-39 1967,-33 1973,-33"/>
-</g>
-<!-- _P_Display_EditingTime_Increasing&#45;&gt;_P_Display_EditingTime_Increasing -->
-<g id="edge21" class="edge">
-<title>_P_Display_EditingTime_Increasing&#45;&gt;_P_Display_EditingTime_Increasing</title>
-<path fill="none" stroke="#000000" d="M2112.0169,-60.2511C2125.0029,-59.5336 2134,-57.7832 2134,-55 2134,-53.0431 2129.552,-51.5967 2122.3968,-50.661"/>
-<polygon fill="#000000" stroke="#000000" points="2122.2849,-47.1378 2112.0169,-49.7489 2121.6721,-54.1109 2122.2849,-47.1378"/>
-<text text-anchor="start" x="2134" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(300 ms) &#160;&#160;</text>
-</g>
-<!-- _P_Display_EditingTime_Increasing&#45;&gt;_P_Display_EditingTime_Waiting -->
-<g id="edge22" class="edge">
-<title>_P_Display_EditingTime_Increasing&#45;&gt;_P_Display_EditingTime_Waiting</title>
-<path fill="none" stroke="#000000" d="M2109.3591,-78.0808C2126.5684,-84.5595 2140,-91.0434 2140,-95.5 2140,-273.5 2140,-273.5 2140,-273.5 2140,-302.1217 1909.8594,-281.112 1883,-291 1881.0821,-291.7061 1879.1794,-292.5524 1877.31,-293.5016"/>
-<polygon fill="#000000" stroke="#000000" points="1875.0737,-290.7635 1868.3252,-298.9311 1878.6941,-296.7546 1875.0737,-290.7635"/>
-<text text-anchor="start" x="2140" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_left_released &#160;&#160;</text>
-</g>
-<!-- _P_Display_EditingTime_GoingToNext -->
-<g id="node24" class="node">
-<title>_P_Display_EditingTime_GoingToNext</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="1766,-73 1674,-73 1674,-37 1766,-37 1766,-73"/>
-<text text-anchor="start" x="1684.66" y="-51.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">GoingToNext</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M1686.3333,-38C1686.3333,-38 1753.6667,-38 1753.6667,-38 1759.3333,-38 1765,-43.6667 1765,-49.3333 1765,-49.3333 1765,-60.6667 1765,-60.6667 1765,-66.3333 1759.3333,-72 1753.6667,-72 1753.6667,-72 1686.3333,-72 1686.3333,-72 1680.6667,-72 1675,-66.3333 1675,-60.6667 1675,-60.6667 1675,-49.3333 1675,-49.3333 1675,-43.6667 1680.6667,-38 1686.3333,-38"/>
-</g>
-<!-- _P_Display_EditingTime_GoingToNext&#45;&gt;_P_Display_TimeUpdate -->
-<g id="edge24" class="edge">
-<title>_P_Display_EditingTime_GoingToNext&#45;&gt;_P_Display_TimeUpdate</title>
-<path fill="none" stroke="#000000" d="M1684.7992,-73.0925C1679.9259,-75.0316 1674.9074,-76.7499 1670,-78 1642.1567,-85.0927 1412,-66.7675 1412,-95.5 1412,-142.5 1412,-142.5 1412,-142.5 1412,-146.9555 1410.9321,-150.9835 1409.0702,-154.6203"/>
-<polygon fill="#000000" stroke="#000000" points="1406.0964,-152.7551 1402.962,-162.8757 1411.7236,-156.9186 1406.0964,-152.7551"/>
-<text text-anchor="start" x="1412" y="-116" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(2 s)^edit_done &#160;&#160;</text>
-</g>
-<!-- _P_Display_EditingTime_GoingToNext&#45;&gt;_P_Display_EditingTime_Waiting -->
-<g id="edge23" class="edge">
-<title>_P_Display_EditingTime_GoingToNext&#45;&gt;_P_Display_EditingTime_Waiting</title>
-<path fill="none" stroke="#000000" d="M1703.8585,-73.0857C1699.5171,-79.678 1696,-87.4904 1696,-95.5 1696,-273.5 1696,-273.5 1696,-273.5 1696,-300.009 1789.584,-280.6759 1814,-291 1815.7966,-291.7597 1817.5822,-292.6369 1819.3403,-293.5997"/>
-<polygon fill="#000000" stroke="#000000" points="1817.5035,-296.5792 1827.8234,-298.977 1821.2512,-290.667 1817.5035,-296.5792"/>
-<text text-anchor="start" x="1696" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_right_released &#160;&#160;</text>
-</g>
-<!-- _P_Display_EditingTime_Waiting&#45;&gt;_P_Display_TimeUpdate -->
-<g id="edge27" class="edge">
-<title>_P_Display_EditingTime_Waiting&#45;&gt;_P_Display_TimeUpdate</title>
-<path fill="none" stroke="#000000" d="M1828.3284,-298.9003C1823.8991,-295.7347 1819.0154,-292.863 1814,-291 1782.8036,-279.4121 1515,-306.7791 1515,-273.5 1515,-273.5 1515,-273.5 1515,-226.5 1515,-208.5221 1478.182,-198.5008 1439.0179,-192.9264"/>
-<polygon fill="#000000" stroke="#000000" points="1439.4046,-189.4471 1429.0314,-191.6028 1438.4849,-196.3864 1439.4046,-189.4471"/>
-<text text-anchor="start" x="1515" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(5 s)^edit_done &#160;&#160;</text>
-</g>
-<!-- _P_Display_EditingTime_Waiting&#45;&gt;_P_Display_EditingTime_Increasing -->
-<g id="edge25" class="edge">
-<title>_P_Display_EditingTime_Waiting&#45;&gt;_P_Display_EditingTime_Increasing</title>
-<path fill="none" stroke="#000000" d="M1869.2188,-298.7382C1873.5544,-295.748 1878.2503,-292.9836 1883,-291 1906.6504,-281.1227 1997,-299.1301 1997,-273.5 1997,-273.5 1997,-273.5 1997,-95.5 1997,-92.5808 1997.5322,-89.7909 1998.4724,-87.14"/>
-<polygon fill="#000000" stroke="#000000" points="2001.659,-88.61 2003.4401,-78.1659 1995.5348,-85.2198 2001.659,-88.61"/>
-<text text-anchor="start" x="1997" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_left_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Display_EditingTime_Waiting&#45;&gt;_P_Display_EditingTime_GoingToNext -->
-<g id="edge26" class="edge">
-<title>_P_Display_EditingTime_Waiting&#45;&gt;_P_Display_EditingTime_GoingToNext</title>
-<path fill="none" stroke="#000000" d="M1848,-298.7983C1848,-291.007 1848,-281.8073 1848,-273.5 1848,-273.5 1848,-273.5 1848,-95.5 1848,-79.3774 1810.6192,-68.8527 1776.2591,-62.5841"/>
-<polygon fill="#000000" stroke="#000000" points="1776.6604,-59.1017 1766.2109,-60.8509 1775.4704,-65.9998 1776.6604,-59.1017"/>
-<text text-anchor="start" x="1848" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_right_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Chrono -->
-<!-- _P_Chrono_initial -->
-<g id="node27" class="node">
-<title>_P_Chrono_initial</title>
-<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="457" cy="-545.5" rx="5.5" ry="5.5"/>
-</g>
-<!-- _P_Chrono_Stopped -->
-<g id="node29" class="node">
-<title>_P_Chrono_Stopped</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="490,-458 424,-458 424,-422 490,-422 490,-458"/>
-<text text-anchor="start" x="434.6542" y="-436.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Stopped</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M436.3333,-423C436.3333,-423 477.6667,-423 477.6667,-423 483.3333,-423 489,-428.6667 489,-434.3333 489,-434.3333 489,-445.6667 489,-445.6667 489,-451.3333 483.3333,-457 477.6667,-457 477.6667,-457 436.3333,-457 436.3333,-457 430.6667,-457 425,-451.3333 425,-445.6667 425,-445.6667 425,-434.3333 425,-434.3333 425,-428.6667 430.6667,-423 436.3333,-423"/>
-</g>
-<!-- _P_Chrono_initial&#45;&gt;_P_Chrono_Stopped -->
-<g id="edge32" class="edge">
-<title>_P_Chrono_initial&#45;&gt;_P_Chrono_Stopped</title>
-<path fill="none" stroke="#000000" d="M457,-539.8288C457,-535.1736 457,-528.4097 457,-522.5 457,-522.5 457,-522.5 457,-475.5 457,-473.1079 457,-470.6252 457,-468.1342"/>
-<polygon fill="#000000" stroke="#000000" points="460.5001,-468.0597 457,-458.0598 453.5001,-468.0598 460.5001,-468.0597"/>
-<text text-anchor="middle" x="458.3895" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-</g>
-<!-- _P_Chrono_Running -->
-<g id="node28" class="node">
-<title>_P_Chrono_Running</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="546,-335 480,-335 480,-299 546,-299 546,-335"/>
-<text text-anchor="start" x="490.6602" y="-313.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Running</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M492.3333,-300C492.3333,-300 533.6667,-300 533.6667,-300 539.3333,-300 545,-305.6667 545,-311.3333 545,-311.3333 545,-322.6667 545,-322.6667 545,-328.3333 539.3333,-334 533.6667,-334 533.6667,-334 492.3333,-334 492.3333,-334 486.6667,-334 481,-328.3333 481,-322.6667 481,-322.6667 481,-311.3333 481,-311.3333 481,-305.6667 486.6667,-300 492.3333,-300"/>
-</g>
-<!-- _P_Chrono_Running&#45;&gt;_P_Chrono_Running -->
-<g id="edge33" class="edge">
-<title>_P_Chrono_Running&#45;&gt;_P_Chrono_Running</title>
-<path fill="none" stroke="#000000" d="M546.0221,-322.6164C558.1032,-322.7686 568,-320.8965 568,-317 568,-314.3212 563.3222,-312.5992 556.4728,-311.834"/>
-<polygon fill="#000000" stroke="#000000" points="556.1636,-308.3175 546.0221,-311.3836 555.8621,-315.311 556.1636,-308.3175"/>
-<text text-anchor="start" x="568" y="-314" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(10 ms)/increase_chrono_by_one() &#160;&#160;</text>
-</g>
-<!-- _P_Chrono_Running&#45;&gt;_P_Chrono_Stopped -->
-<g id="edge34" class="edge">
-<title>_P_Chrono_Running&#45;&gt;_P_Chrono_Stopped</title>
-<path fill="none" stroke="#000000" d="M479.8064,-318.4044C431.3634,-321.3738 347,-330.4309 347,-357.5 347,-404.5 347,-404.5 347,-404.5 347,-419.1937 382.9968,-428.6934 413.8063,-434.1332"/>
-<polygon fill="#000000" stroke="#000000" points="413.5583,-437.6398 423.9964,-435.824 414.7042,-430.7342 413.5583,-437.6398"/>
-<text text-anchor="start" x="347" y="-378" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_right_pressed [INSTATE([&quot;/Display/ChronoUpdate&quot;])] &#160;&#160;</text>
-</g>
-<!-- _P_Chrono_Stopped&#45;&gt;_P_Chrono_Running -->
-<g id="edge36" class="edge">
-<title>_P_Chrono_Stopped&#45;&gt;_P_Chrono_Running</title>
-<path fill="none" stroke="#000000" d="M490.125,-437.8117C549.75,-433.4251 669,-422.4126 669,-404.5 669,-404.5 669,-404.5 669,-357.5 669,-334.0876 602.3403,-323.9781 556.1699,-319.7838"/>
-<polygon fill="#000000" stroke="#000000" points="556.3431,-316.2861 546.0836,-318.9305 555.7529,-323.2611 556.3431,-316.2861"/>
-<text text-anchor="start" x="669" y="-378" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_right_pressed [INSTATE([&quot;/Display/ChronoUpdate&quot;])] &#160;&#160;</text>
-</g>
-<!-- _P_Chrono_Stopped&#45;&gt;_P_Chrono_Stopped -->
-<g id="edge35" class="edge">
-<title>_P_Chrono_Stopped&#45;&gt;_P_Chrono_Stopped</title>
-<path fill="none" stroke="#000000" d="M490.0221,-444.8676C502.1032,-444.9995 512,-443.377 512,-440 512,-437.6783 507.3222,-436.1859 500.4728,-435.5228"/>
-<polygon fill="#000000" stroke="#000000" points="500.1458,-432.0082 490.0221,-435.1324 499.8845,-439.0033 500.1458,-432.0082"/>
-<text text-anchor="start" x="512" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">bottom_left_pressed [INSTATE([&quot;/Display/ChronoUpdate&quot;])]/reset_chrono() &#160;&#160;</text>
-</g>
-<!-- _P_Indiglo -->
-<!-- _P_Indiglo_initial -->
-<g id="node31" class="node">
-<title>_P_Indiglo_initial</title>
-<ellipse fill="#000000" stroke="#000000" stroke-width="2" cx="113" cy="-545.5" rx="5.5" ry="5.5"/>
-</g>
-<!-- _P_Indiglo_Off -->
-<g id="node34" class="node">
-<title>_P_Indiglo_Off</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="141,-458 85,-458 85,-422 141,-422 141,-458"/>
-<text text-anchor="start" x="104.9978" y="-436.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Off</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M97.3333,-423C97.3333,-423 128.6667,-423 128.6667,-423 134.3333,-423 140,-428.6667 140,-434.3333 140,-434.3333 140,-445.6667 140,-445.6667 140,-451.3333 134.3333,-457 128.6667,-457 128.6667,-457 97.3333,-457 97.3333,-457 91.6667,-457 86,-451.3333 86,-445.6667 86,-445.6667 86,-434.3333 86,-434.3333 86,-428.6667 91.6667,-423 97.3333,-423"/>
-</g>
-<!-- _P_Indiglo_initial&#45;&gt;_P_Indiglo_Off -->
-<g id="edge37" class="edge">
-<title>_P_Indiglo_initial&#45;&gt;_P_Indiglo_Off</title>
-<path fill="none" stroke="#000000" d="M113,-539.8288C113,-535.1736 113,-528.4097 113,-522.5 113,-522.5 113,-522.5 113,-475.5 113,-473.1079 113,-470.6252 113,-468.1342"/>
-<polygon fill="#000000" stroke="#000000" points="116.5001,-468.0597 113,-458.0598 109.5001,-468.0598 116.5001,-468.0597"/>
-<text text-anchor="middle" x="114.3895" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000"> </text>
-</g>
-<!-- _P_Indiglo_Released -->
-<g id="node32" class="node">
-<title>_P_Indiglo_Released</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="222,-204 150,-204 150,-168 222,-168 222,-204"/>
-<text text-anchor="start" x="160.6602" y="-182.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Released</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M162.3333,-169C162.3333,-169 209.6667,-169 209.6667,-169 215.3333,-169 221,-174.6667 221,-180.3333 221,-180.3333 221,-191.6667 221,-191.6667 221,-197.3333 215.3333,-203 209.6667,-203 209.6667,-203 162.3333,-203 162.3333,-203 156.6667,-203 151,-197.3333 151,-191.6667 151,-191.6667 151,-180.3333 151,-180.3333 151,-174.6667 156.6667,-169 162.3333,-169"/>
-</g>
-<!-- _P_Indiglo_Pushed -->
-<g id="node33" class="node">
-<title>_P_Indiglo_Pushed</title>
-<polygon fill="transparent" stroke="transparent" stroke-width="2" points="94,-335 32,-335 32,-299 94,-299 94,-335"/>
-<text text-anchor="start" x="42.657" y="-313.2" font-family="Helvetica,sans-Serif" font-size="12.00" fill="#000000">Pushed</text>
-<path fill="none" stroke="#000000" stroke-width="2" d="M44.3333,-300C44.3333,-300 81.6667,-300 81.6667,-300 87.3333,-300 93,-305.6667 93,-311.3333 93,-311.3333 93,-322.6667 93,-322.6667 93,-328.3333 87.3333,-334 81.6667,-334 81.6667,-334 44.3333,-334 44.3333,-334 38.6667,-334 33,-328.3333 33,-322.6667 33,-322.6667 33,-311.3333 33,-311.3333 33,-305.6667 38.6667,-300 44.3333,-300"/>
-</g>
-<!-- _P_Indiglo_Released&#45;&gt;_P_Indiglo_Pushed -->
-<g id="edge38" class="edge">
-<title>_P_Indiglo_Released&#45;&gt;_P_Indiglo_Pushed</title>
-<path fill="none" stroke="#000000" d="M149.9304,-189.9289C110.8477,-195.2148 54,-206.3643 54,-226.5 54,-273.5 54,-273.5 54,-273.5 54,-278.5369 54.5858,-283.8351 55.4585,-288.9335"/>
-<polygon fill="#000000" stroke="#000000" points="52.0844,-289.898 57.557,-298.97 58.9363,-288.4654 52.0844,-289.898"/>
-<text text-anchor="start" x="54" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">top_right_pressed &#160;&#160;</text>
-</g>
-<!-- _P_Indiglo_Released&#45;&gt;_P_Indiglo_Off -->
-<g id="edge39" class="edge">
-<title>_P_Indiglo_Released&#45;&gt;_P_Indiglo_Off</title>
-<path fill="none" stroke="#000000" d="M222.2481,-195.9674C256.7429,-207.3707 300.8041,-228.1283 282,-256 258.763,-290.442 218.554,-256.558 195.317,-291 174.2988,-322.1534 199.9438,-337.7611 205,-375 205.7176,-380.2848 207.6689,-382.3825 205,-387 193.2681,-407.298 170.4847,-420.5092 150.527,-428.6651"/>
-<polygon fill="#000000" stroke="#000000" points="149.1264,-425.4529 141.0174,-432.2717 151.6087,-431.998 149.1264,-425.4529"/>
-<text text-anchor="start" x="195" y="-314" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">after(2 s)/unset_indiglo() &#160;&#160;</text>
-</g>
-<!-- _P_Indiglo_Pushed&#45;&gt;_P_Indiglo_Released -->
-<g id="edge40" class="edge">
-<title>_P_Indiglo_Pushed&#45;&gt;_P_Indiglo_Released</title>
-<path fill="none" stroke="#000000" d="M94.0381,-309.169C130.4758,-299.5282 186,-283.2396 186,-273.5 186,-273.5 186,-273.5 186,-226.5 186,-222.6152 186,-218.5209 186,-214.4883"/>
-<polygon fill="#000000" stroke="#000000" points="189.5001,-214.1447 186,-204.1447 182.5001,-214.1448 189.5001,-214.1447"/>
-<text text-anchor="start" x="186" y="-247" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">top_right_released &#160;&#160;</text>
-</g>
-<!-- _P_Indiglo_Off&#45;&gt;_P_Indiglo_Pushed -->
-<g id="edge41" class="edge">
-<title>_P_Indiglo_Off&#45;&gt;_P_Indiglo_Pushed</title>
-<path fill="none" stroke="#000000" d="M84.8824,-434.1884C69.6863,-429.2249 54,-420.2797 54,-404.5 54,-404.5 54,-404.5 54,-357.5 54,-353.4822 54.4273,-349.2925 55.0957,-345.1964"/>
-<polygon fill="#000000" stroke="#000000" points="58.5319,-345.8631 57.1478,-335.3591 51.6794,-344.4337 58.5319,-345.8631"/>
-<text text-anchor="start" x="54" y="-378" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">top_right_pressed/set_indiglo() &#160;&#160;</text>
-</g>
-</g>
-</svg>

+ 2 - 1
src/sccd/action_lang/cmd/prompt.py

@@ -24,8 +24,9 @@ if __name__ == "__main__":
         memory.current_frame().storage.extend([None]*diff)
 
       if isinstance(stmt, ExpressionStatement):
+        expr_type = stmt.expr.init_expr(scope) # expr already initialized but init_expr should be idempotent
         val = stmt.expr.eval(memory)
-        print(val)
+        print("%s: %s" % (str(val), str(expr_type)))
       else:
         stmt.exec(memory)
 

+ 2 - 0
src/sccd/action_lang/static/expression.py

@@ -104,6 +104,8 @@ class FunctionCall(Expression):
         return_type = function_type.return_type
 
         actual_types = [p.init_expr(scope) for p in self.params]
+        if len(formal_types) != len(actual_types):
+            raise StaticTypeError("Function call, expected %d arguments, but %d were given." % (len(formal_types), len(actual_types)))
         for i, (formal, actual) in enumerate(zip(formal_types, actual_types)):
             if formal != actual:
                 raise StaticTypeError("Function call, argument %d: %s is not expected type %s, instead is %s" % (i, self.params[i].render(), str(formal), str(actual)))