diagram {
/* line-style: sloppy 0.3; */
}
controlflow {
dash-style: 0;
}
cls
Class
LED
(1.0, 0.0, 0.0, 1.0, -16.86376953125, 77.6676025390625)
(0.0, -4.7147216796875)
149.1268310546875
97.0
app
(1.0, 0.0, 0.0, 1.0, 1069.940896681797, 416.86964642560037)
(-20.0, -10.926101684570312)
345.57411193847656
267.4396667480469
board
(1.0, 0.0, 0.0, 1.0, 194.51162135748234, 340.3298957730515)
(-38.06341552734375, 0.0)
352.03679751172467
299.9115084424433
Button
(1.0, 0.0, 0.0, 1.0, 156.0458526611328, 72.952880859375)
(0.0, 0.0)
100.0
57.0
middleware
(1.0, 0.0, 0.0, 1.0, 680.734472957658, 390.0124214078172)
(0.0, 0.0)
344.6523707825464
276.26119919765154
Factory
(1.0, 0.0, 0.0, 1.0, 10.582105756417851, 36.41313020682611)
(0.0, 0.0)
100.0
57.0
mcc_generated_files
(1.0, 0.0, 0.0, 1.0, 150.35154724121094, 12.651458740234375)
(0.0, 0.0)
365.5996780395508
274.2066650390625
xf
(1.0, 0.0, 0.0, 1.0, 687.4381713867188, 12.651458740234375)
(0.0, 0.0)
343.76239013671875
274.2066650390625
XF
(1.0, 0.0, 0.0, 1.0, 22.580078125, 81.90719604492188)
(0.0, 0.0)
243.0
142.0
0
0
init
POST
return
TimerID
executeOnce
return
void
unscheduleTimer
return
void
decrementeAndQueuTimers
return
void
dep
Deployement
ButtonRight
(1.0, 0.0, 0.0, 1.0, 154.74000549316406, -20.810514983371718)
(0.0, 0.0)
100.0
50.0
ButtonLeft
(1.0, 0.0, 0.0, 1.0, 17.161476135253906, -20.810514983371718)
(0.0, 0.0)
100.0
50.0
LedLeft
(1.0, 0.0, 0.0, 1.0, 23.58294677734375, 62.066296690376106)
(0.0, 0.0)
100.0
50.0
LedRight
(1.0, 0.0, 0.0, 1.0, 154.74000549316406, 62.066296690376106)
(0.0, 0.0)
100.0
50.0
PIC
(1.0, 0.0, 0.0, 1.0, 95.4218591603723, 251.8962479309051)
(0.0, 0.0)
231.1570587158203
101.90382385253906
blinkerApp
(1.0, 0.0, 0.0, 1.0, 43.578529357910156, 31.903823852539062)
(0.0, 0.0)
144.0
50.0
1
Outputs
(1.0, 0.0, 0.0, 1.0, 70.41965045065551, 64.82940192412283)
(0.0, 0.0)
288.80470275878906
132.0662966903761
1
Inputs
(1.0, 0.0, 0.0, 1.0, 70.4196504506555, 501.8726102247083)
(-2.8385238647460938, -91.62102996674332)
291.64322662353516
141.62102996674332
0
0
(1.0, 0.0, 0.0, 1.0, 521.4844360351562, 232.03712738188952)
[(-379.138721643979, -76.68594034438368), (-379.138721643979, -151.68648966078985)]
0
0
(1.0, 0.0, 0.0, 1.0, 99.08985137939453, 288.0800961318895)
[(179.41513043731993, -132.72890909438365), (180.83439236969298, -207.72945841078985)]
0
0
(1.0, 0.0, 0.0, 1.0, 236.45684452344688, 392.03709686431137)
[(44.54062014778242, -7.520062516374026), (45.459882080155495, -134.78208597426647)]
0
0
(1.0, 0.0, 0.0, 1.0, 368.7212913407742, 397.7949093643114)
[(-227.97926498836918, -13.277875016374026), (-225.88951633484368, -140.53989847426652)]
PICEBS 2
(1.0, 0.0, 0.0, 1.0, 3.3453258728948505, -96.54506089339928)
(0.0, 8.550464861259798)
433.5519155389814
569.1175630880807
Computer
(1.0, 0.0, 0.0, 1.0, 631.2669198830268, 118.72295033228582)
(0.0, 0.0)
231.66868945044575
175.16029726297927
MPLABx
(1.0, 0.0, 0.0, 1.0, 43.83434472522261, 62.58014863148964)
(0.0, 0.0)
144.0
50.0
0
0
(1.0, 0.0, 0.0, 1.0, 427.9273340044689, 184.59626095168892)
[(8.96990740740739, 24.999999999999943), (203.33958587855795, 24.365587950442546)]
USB
(1.0, 0.0, 0.0, 1.0, 656.9356093334727, 361.12296705594133)
(0.0, 0.0)
206.0
120.0
Rémi Heredero
2023-05-23
Deployement
AGPL 3.0
1.0
uc
UseCase
User
(1.0, 0.0, 0.0, 1.0, 71.57032012939453, 466.35144123075463)
(0.0, 0.0)
50.23046875
86.6796875
pressLeftButton
(1.0, 0.0, 0.0, 1.0, 287.62109375, 317.1328125)
(0.0, 0.0)
139.7421875
48.4140625
pressRightButton
(1.0, 0.0, 0.0, 1.0, 285.09765625, 451.2968444824219)
(0.0, 0.0)
142.265625
48.59375
0
0
(1.0, 0.0, 0.0, 1.0, 123.10938262939453, 375.08203125)
[(-1.30859375, 134.92692164100617), (164.51171112060547, -33.7421875)]
0
0
(1.0, 0.0, 0.0, 1.0, 117.84766387939453, 381.36328125)
[(3.953125, 141.54829735097996), (167.24999237060547, 94.23043823242188)]
releaseLeftButton
(1.0, 0.0, 0.0, 1.0, 329.80078125, 372.73815998075463)
(0.0, 0.0)
137.640625
41.902313232421875
releaseRightButton
(1.0, 0.0, 0.0, 1.0, 329.80078125, 505.5542412947093)
(0.0, 0.0)
144.71875
43.0234375
0
0
(1.0, 0.0, 0.0, 1.0, 128.07029724121094, 380.22265625)
[(-6.269508361816406, 138.74165031359337), (201.73048400878906, 10.859417163481616)]
0
0
(1.0, 0.0, 0.0, 1.0, 98.56250762939453, 526.85546875)
[(23.23828125, 0.21049129470931405), (231.23827362060547, -1.5531492875979893)]
User can physicaly release only after press
(1.0, 0.0, 0.0, 1.0, 296.7069091796875, 235.73048400878906)
(0.0, 0.0)
177.8126220703125
63.0078125
lookLEDs
(1.0, 0.0, 0.0, 1.0, 316.07043457031244, 605.9825480111078)
(0.0, 0.0)
158.4490966796875
52.468719482421875
(1.0, 0.0, 0.0, 1.0, 264.4572450128604, 208.61654796118808)
(0.0, 0.0)
1038.4841929901063
547.3246680024279
0
0
(1.0, 0.0, 0.0, 1.0, 101.1204673605456, 510.47551191018886)
[(20.680321518848928, 24.314757932560667), (214.94996720976684, 121.74139584212986)]
click2times
(1.0, 0.0, 0.0, 1.0, 814.9802720809639, 430.82997594693313)
(0.0, -23.148148148148152)
117.4959716796875
53.97688422765697
(1.0, 0.0, 0.0, 1.0, -1.8460528860381135e-13, -108.02965499748049)
(0.0, 14.931614951512898)
117.4959716796875
47.51202412310292
click
clickButton
(1.0, 0.0, 0.0, 1.0, 584.8487139675335, 397.9397273743847)
(0.0, 0.0)
108.33442896049303
62.26183043009013
0
0
(1.0, 0.0, 0.0, 1.0, 598.5102043413495, 371.15401484048726)
[(-13.661490373816036, 36.52781295829766), (-171.14692309134955, -25.107393200144564)]
0
0
(1.0, 0.0, 0.0, 1.0, 434.03198853606784, 393.4059264734876)
[(150.81672543146567, 31.697778402251572), (33.40941771393216, 7.664739151245822)]
0
0
(1.0, 0.0, 0.0, 1.0, 377.40698756401514, 481.55677927883096)
[(207.44172640351837, -45.77365783154988), (49.95629368598486, -5.963059796409084)]
0
0
(1.0, 0.0, 0.0, 1.0, 419.6195496898978, 535.590615521811)
[(165.22916427763573, -89.38818642992936), (54.89998156010222, -12.679036920830981)]
0
0
(1.0, 0.0, 0.0, 1.0, 690.3597369873139, 425.12940951492783)
[(124.62053509365, -62.07823654699661), (-3.598792679476219, -27.18968214054314)]
0
0
(1.0, 0.0, 0.0, 1.0, 669.3559313656353, 426.46159025134375)
[(145.62434071532834, 3.4450518014277236), (23.8272115623912, 3.4450518014276668)]
clickLong
(1.0, 0.0, 0.0, 1.0, 823.7282579208074, 482.6362192686727)
(-8.747985839843693, -0.35733730627066507)
117.49597167968756
43.02343749999994
0
0
(1.0, 0.0, 0.0, 1.0, 653.6735290152446, 431.81593205732315)
[(161.3067430657191, 71.97466865507874), (19.896546422526058, 28.385625747151664)]
blink
(1.0, 0.0, 0.0, 1.0, 978.6898889228936, 344.487947962517)
(0.0, 0.0)
100.0
34.0
blink3times
(1.0, 0.0, 0.0, 1.0, 978.6898889228935, 419.6702699126135)
(0.0, 0.0)
100.0
30.0
blinkBoth
(1.0, 0.0, 0.0, 1.0, 978.6898889228935, 490.5542412947093)
(0.0, 0.0)
100.0
30.0
0
0
(1.0, 0.0, 0.0, 1.0, 873.4627616103944, 351.92099631479874)
[(59.01348215025675, 11.130176653132537), (105.22712731249919, 9.566951647718213)]
0
0
(1.0, 0.0, 0.0, 1.0, 882.1651147959785, 436.27840514678803)
[(50.31112896467289, -1.608135234174597), (96.52477412691496, -1.608135234174597)]
0
0
(1.0, 0.0, 0.0, 1.0, 915.2059070639441, 502.94062134473177)
[(17.270336696707204, 2.61361994997759), (63.48398185894939, 2.61361994997759)]
blinkLEDs
(1.0, 0.0, 0.0, 1.0, 1152.8159980526593, 419.05857500802796)
(0.0, 0.0)
100.0
34.0
0
0
(1.0, 0.0, 0.0, 1.0, 1053.9073828403184, 361.34311782903603)
[(111.79437875843524, 57.71545717899187), (24.782506082575196, 0.14483013348097984)]
0
0
(1.0, 0.0, 0.0, 1.0, 1044.8749652048427, 434.35637441709116)
[(107.94103284781659, 1.7022005909367977), (33.81492371805075, 1.7022005909367977)]
0
0
(1.0, 0.0, 0.0, 1.0, 1026.1254144034606, 503.94602489905367)
[(139.57634719529307, -50.88744989102571), (52.564474519432906, 1.6082163956556883)]
0
0
(1.0, 0.0, 0.0, 1.0, 426.62386838136587, 637.0534550416608)
[(47.895662868634076, -4.836547289341979), (627.6649572189249, -4.836547289341979), (776.1921296712935, -183.9948800336328)]
(1.0, 0.0, 0.0, 1.0, 1096.9414380029666, 635.941215963616)
(0.0, 0.0)
206.0
120.0
Rémi Heredero
2023-05-23
UseCase
AGPL 3.0
1.0
sd
Sequence
pbL : Button
(1.0, 0.0, 0.0, 1.0, 190.43357849121088, 215.96482849121094)
(0.0, 0.0)
100.0
50.0
1142.0638207334052
Interaction
chL : ClickHandler
(1.0, 0.0, 0.0, 1.0, 529.0400232111888, 215.96482849121094)
(0.0, 0.0)
149.0696469724145
50.0
1233.8165738780592
1
1
(1.0, 0.0, 0.0, 1.0, 721.0262867848036, 55.29107777941851)
[(-16.926994519569348, 50.307665260309136), (46.84273220047726, 50.307665260309136), (46.84273220047726, 257.3424505916979), (-16.926994519569348, 257.3424505916979)]
evTimeout()
0
0
(1.0, 0.0, 0.0, 1.0, 331.8284218647998, 522.8842634358608)
[(9.129602194249344, -324.54986212797246), (372.27087040043443, -324.54986212797246)]
evRelease()
(1.0, 0.0, 0.0, 1.0, -100.52444556783824, 263.4049607898497)
(-45.1662654094919, 35.947522953017426)
1730.2657621614176
1027.967660745502
User Press left button shortly
0
0
(1.0, 0.0, 0.0, 1.0, 215.6438199706265, 84.42953202911686)
[(125.31420408842261, 13.151018864402118), (488.4554722946077, 13.151018864402147)]
evPress()
0
0
(1.0, 0.0, 0.0, 1.0, 119.52593897502123, 258.3548038873035)
[(0.0, 16.999999999999943), (0.6140536756673782, 1124.7380899279647)]
User
(1.0, 0.0, 0.0, 1.0, 100.52593897502125, 198.35480388730346)
(0.0, 0.0)
38.0
60.0
0
0
(1.0, 0.0, 0.0, 1.0, 119.2280951355325, 361.88389472378566)
[(0.2978438394887917, -33.99956343515652), (121.20548335567838, -33.99956343515652)]
asynchSignal
pressButton
0
0
(1.0, 0.0, 0.0, 1.0, 226.41198321636313, 162.649296166803)
[(-5.998609815617762, 4.627816830164761), (114.546040842686, 4.627816830164761)]
asynchSignal
releaseButton
: BlinkerApp
(1.0, 0.0, 0.0, 1.0, 748.5837699394001, 215.96482849121094)
(0.0, 0.0)
100.0
50.0
1200.833697700353
1
1
(1.0, 0.0, 0.0, 1.0, 332.8828035800215, 46.83712456227371)
[(8.075220479027621, 0.0), (40.0, 0.0), (40.0, 40.801776356559685), (8.075220479027621, 40.801776356559685)]
evCheckInput()
1
1
(1.0, 0.0, 0.0, 1.0, 342.88280358002163, 97.580550893519)
[(-1.9247795209724927, 0.0), (30.0, 0.0), (30.0, 40.801776356559685), (-1.9247795209724927, 40.801776356559685)]
0
0
(1.0, 0.0, 0.0, 1.0, 701.9980961218574, 323.1148199158372)
[(2.1011961433767965, 1.3873104799354792), (197.11011938538093, 1.3873104799354792)]
evSingleClick()
1
1
(1.0, 0.0, 0.0, 1.0, 342.88280358002174, 147.6006635192057)
[(-1.9247795209726064, 0.0), (30.0, 0.0), (30.0, 40.801776356559685), (-1.9247795209726064, 40.801776356559685)]
1
1
(1.0, 0.0, 0.0, 1.0, 342.8828035800217, 198.3344013078883)
[(-1.9247795209725496, 0.0), (30.0, 0.0), (30.0, 40.801776356559685), (-1.9247795209725496, 40.801776356559685)]
ledL : LED
(1.0, 0.0, 0.0, 1.0, 898.3545872314548, 215.9648284912109)
(0.0, 0.0)
100.0
50.0
1093.7421490379827
0
0
(1.0, 0.0, 0.0, 1.0, 881.055712859322, 602.088056441198)
[(-82.47194291992196, -2.102487242861855), (67.29887437213279, -2.102487242861855)]
evBlink()
stm
New State Machine Diagram
(1.0, 0.0, 0.0, 1.0, 297.30078125, 107.33008087310046)
(0.0, 0.0)
20.0
20.0
State Machine
POLL
(1.0, 0.0, 0.0, 1.0, 50.76954650878906, 113.79882537689954)
(0.0, 0.0)
89.59765625
76.91603363188949
0
0
(1.0, 0.0, 0.0, 1.0, 333.19140625, 95.79493988188952)
[(-25.591796875, 147.7480648818895), (-25.890625, 194.1308773818895), (87.1953125, 194.1308773818895), (87.1953125, 108.33203125), (19.20703125, 109.29004806594475)]
after 20ms
poll()
0
0
(1.0, 0.0, 0.0, 1.0, 309.109375, 117.90237976377904)
[(-1.80859375, 9.427701109321418), (-1.509765625, 48.72459136811048)]
button
(1.0, 0.0, 0.0, 1.0, 212.03123474121094, 52.828145754989976)
(0.0, 0.0)
246.12892150878906
302.81251525878906
1
1
(1.0, 0.0, 0.0, 1.0, 947.7655962116562, 609.708084827207)
[(0.588991019798641, 0.0), (40.0, 0.0), (40.0, 33.000129862624306), (0.588991019798641, 33.000129862624306)]
evToggle()
1
1
(1.0, 0.0, 0.0, 1.0, 1048.2900417794945, 391.6266672984333)
[(0.5889910197985273, 0.0), (40.0, 0.0), (40.0, 33.000129862624306), (0.5889910197985273, 33.000129862624306)]
1
1
(1.0, 0.0, 0.0, 1.0, 1048.2900417794945, 441.53324667030404)
[(0.5889910197985273, 0.0), (40.0, 0.0), (40.0, 33.000129862624306), (0.5889910197985273, 33.000129862624306)]