17
  
    UMLSpecialState
    
      646
      51
      34
      34
    
    type=initial
    
  
  
    Relation
    
      646
      68
      153
      153
    
    lt=->
evBLInit
    10.0;10.0;10.0;70.0
  
  
    UMLState
    
      510
      187
      306
      85
    
    ST_WAIT
--
remainBlinks = 3;
    
  
  
    UMLState
    
      510
      374
      306
      102
    
    ST_ON
--
if(blink3) remainBlinks--
-.
/ entry: turnOn()
    
  
  
    Relation
    
      646
      459
      153
      136
    
    lt=->
evTimer
    10.0;10.0;10.0;60.0
  
  
    UMLState
    
      544
      561
      238
      102
    
    ST_OFF
--
-.
/ entry: turnOff()
    
  
  
    Relation
    
      646
      646
      153
      153
    
    lt=->
evTimer
    10.0;10.0;10.0;70.0
  
  
    Relation
    
      527
      255
      272
      153
    
    lt=->
m1=evBlinkN
m2=/ nBlinkIsOn = true
    10.0;10.0;10.0;70.0
  
  
    Relation
    
      765
      255
      289
      153
    
    lt=->
m1=evBlink
m2=/ nBlinkIsOn = false
    10.0;10.0;10.0;70.0
  
  
    UMLSpecialState
    
      629
      765
      68
      68
    
    type=decision
    
  
  
    Relation
    
      442
      408
      221
      442
    
    lt=->
m1=[else]
    110.0;230.0;10.0;230.0;10.0;10.0;40.0;10.0
  
  
    Relation
    
      680
      204
      391
      646
    
    lt=->
m1=[remainBlinks==0]
    10.0;350.0;210.0;350.0;210.0;10.0;80.0;10.0
  
  
    UMLClass
    
      1462
      0
      952
      527
    
    BLINKER
--
+state: BLINKER_STATES
+tON: uint16_t
+tOFF: uint16_t
+blink3: bool
+nBlink: uint8_t
+turnOn: blinkerCallBack
+turnOff: blinkerCallBack
--
+BLINKER_init(me: BLINKER*): void
+BLINKER_defineCallBack(f: fBlinkerCallBack, param: void*): blinkerCallBack
+BLINKER_starBehaviour(me: BLINKER*): void
+BLINKER_setTurnOn(me: BLINKER*, callBack: blinkerCallBack): void
+BLINKER_setTurnOff(me: BLINKER*, callBack: blinkerCallBack): void
+BLINKER_blink3(me: BLINKER*): void
+BLINKER_blink(me: BLINKER*): void
+BLINKER_processEvent(mev: Event*): bool
+BLINKER_endBlink(me: BLINKER*): void