digraph Pages { node [shape=rect, style=bold, color=black, height=0.7, penwidth=2]; overlap=false; splines=true; sep="+30"; nodesep=0.9; ranksep=0.6; newrank=true; // landscape=true; // // Blocchi speciali // User [label="User", shape=oval]; EndUser [label="User\nHandler", shape=oval]; Uuid [label="UUID", color=red, fontcolor=red, shape=none]; Cccd [label="Char\nValue\nHandle", color=red, fontcolor=red, shape=none]; Source [label="Value\nAcquisition", color=red, fontcolor=red, shape=none]; Connect [label="ConnectToServerAndCharRead()"]; ConnectToServer [label="ConnectToServerAndNotifyEn()", color=green]; ConnectHandler [label="CharReadHandler()"]; UuidJob [label="CharDiscForReadJob()"]; aci_gatt_disc_char_by_uuid [label="aci_gatt_disc_char_by_uuid()", color=grey]; DiscHandler [label="CharDiscForReadHandler()"]; DiscComplete [label="CharDiscForReadComplete()"]; ReadJob [label="ValueReadJob()"]; aci_gatt_read_char_value [label="aci_gatt_read_char_value()", color=grey]; ReadHandler [label="CharValueReadHandler()"]; ReadComplete [label="CharValueReadComplete()"]; // // Collegamenti tra le funzioni // User -> Connect -> ConnectToServer; ConnectToServer -> ConnectHandler [penwidth=4, color=black]; ConnectHandler -> Uuid [label="push", color=red, fontcolor=red, penwidth=2]; ConnectHandler -> Source [label="push", color=red, fontcolor=red, penwidth=2]; Uuid -> UuidJob [label="pop", color=red, fontcolor=red, penwidth=2]; Source -> ReadHandler [label="pop", color=red, fontcolor=red, penwidth=2]; ConnectHandler -> UuidJob [penwidth=4, color=black]; UuidJob -> aci_gatt_disc_char_by_uuid; aci_gatt_disc_char_by_uuid -> DiscHandler [penwidth=4, color=cyan]; aci_gatt_disc_char_by_uuid -> DiscComplete [penwidth=4, color=cyan]; DiscComplete -> UuidJob [penwidth=4, color=black]; UuidJob -> ReadJob [penwidth=4, color=black]; ReadJob -> aci_gatt_read_char_value; ReadComplete -> ReadJob [penwidth=4, color=black]; // aci_gatt_read_char_value -> Complete [penwidth=4, color=cyan]; aci_gatt_read_char_value -> ReadHandler [penwidth=4, color=cyan]; aci_gatt_read_char_value -> ReadComplete [penwidth=4, color=cyan]; DiscHandler -> Cccd [label="push", color=red, fontcolor=red, penwidth=2]; Cccd -> ReadJob [label="pop", color=red, fontcolor=red, penwidth=2]; ReadJob -> EndUser; { rank=same; Uuid; ConnectHandler; Source; } { rank=same; User; Connect; } { rank=same; Cccd; ReadJob; } }