From 94b900d3c5d092e6457f928b5d016d44c8470dfc Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 5 Mar 2025 06:39:44 +0100 Subject: add draft diagram for ballotbox --- ballotbox/ballotbox.puml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 ballotbox/ballotbox.puml (limited to 'ballotbox/ballotbox.puml') diff --git a/ballotbox/ballotbox.puml b/ballotbox/ballotbox.puml new file mode 100644 index 0000000..d03c650 --- /dev/null +++ b/ballotbox/ballotbox.puml @@ -0,0 +1,38 @@ +@startuml +start +partition init { +:setup serial connection; +:setup Bluetooth + * init server background task + * add hook to capture votes; +:setup ballot + * resolve nextVotingTime + * clear votes; +:print "ready"; +} +while (repeat every few millisecond) +partition loop { +:resolve currentTime; +if (currentTime >= nextVotingTime?) equals (yes) then +:count and print ballot; +switch (voterCount?) +case (< 5) +:print "ALARM: Too few voters!"; +kill +case (<= 8) +:resolve votesPositive; +if (votesPositive < 5 ?) equals (yes) then +:print "ALARM: Bad water quality!"; +kill +endif +:setup ballot; +case (> 8) +:print "ALARM: Too many voters!"; +kill +endswitch +endif +} +endwhile +-[hidden]-> +kill +@enduml -- cgit v1.2.3