15
UMLSpecialState
450
150
30
30
type=initial
UMLState
390
240
150
60
STCA_WAIT
Relation
450
165
120
105
lt=->
evCAinit
10.0;10.0;10.0;50.0
Relation
450
285
165
105
lt=->
evCAnewMsg
10.0;10.0;10.0;50.0
UMLState
315
360
285
105
STCA_READ
-
-.
/entry: processCan
Relation
480
255
225
360
lt=->
m1=[queue empty]
10.0;210.0;130.0;210.0;130.0;10.0;40.0;10.0
UMLSpecialState
435
540
60
60
type=decision
Relation
450
450
135
120
lt=->
evCAdone
10.0;10.0;10.0;60.0
Relation
210
375
255
240
lt=->
m1=[else]
150.0;130.0;10.0;130.0;10.0;10.0;70.0;10.0
UMLNote
90
630
615
270
_*How to use*_
*In Factory_build: *
ECAN_SetRXBnInterruptHandler(CANINTERFACE_newMsg);
CANINTERFACE_onProcessCan(&processCan);
*Somewhere:*
void processCan(uint32_t canId, uint32_t canData) {
.....
}
Relation
900
225
90
105
lt=->
evInit
10.0;10.0;10.0;50.0
UMLSpecialState
900
210
30
30
type=initial
UMLState
840
300
150
60
STCS_WAIT
UMLState
810
420
210
90
STCS_SEND
--
-.
/entry sendCan
Relation
900
345
135
105
lt=->
evCSsend
10.0;10.0;10.0;50.0
Relation
900
315
270
270
lt=->
evCSdone
10.0;130.0;10.0;160.0;100.0;160.0;100.0;10.0;60.0;10.0
UMLNote
765
630
645
150
_*How to use*_
CANSENDER_send(uint32_t id, uint32_t data);
or
CANSENDER_send(CANSENDER *me, uint8_t id, uint32_t data);