15
  
    UMLNote
    
      645
      75
      750
      765
    
    _*How to use CAN interface*_
*In Factory_Init: *
CAN_init();
*In Factory_build: *
ECAN_SetRXBnInterruptHandler(CAN_newMsg);
CAN_onReceiveCan(&receiveCan);
CAN_setSender(idSender);
*In Factory_start:*
CAN_startBehaviour();
*Somewhere for process input can message:*
void receiveCan(uint8_t idSender, uint8_t idMsg, bool rtr, uint32_t canData) {
    .....
}
*For send can message: *
CAN_Send(uint8_t idRecipient, uint8_t idMsg, uint32_t data);
CAN_send_4_bytes(
        uint8_t idRecipient,
        uint8_t idMsg,
        uint8_t byte0,
        uint8_t byte1,
        uint8_t byte2,
        uint8_t byte3);
CAN_send_2_bytes(uint8_t idRecipient, uint8_t idMsg, uint16_t data);
CAN_send_1_byte(uint8_t idRecipient, uint8_t idMsg, uint8_t data);
CAN_send_0_byte(uint8_t idRecipient, uint8_t idMsg);
CAN_send_rtr(uint8_t idRecipient, uint8_t idMsg);
    
  
  
    Relation
    
      375
      255
      90
      135
    
    lt=->
evInit
    10.0;10.0;10.0;70.0
  
  
    UMLSpecialState
    
      375
      240
      30
      30
    
    type=initial
    
  
  
    UMLState
    
      255
      360
      270
      90
    
    PROCESS
    
  
  
    Relation
    
      465
      390
      180
      180
    
    lt=->
m1=evSend
m1=\n/sendCan()
    10.0;40.0;10.0;100.0;100.0;100.0;100.0;10.0;40.0;10.0
  
  
    Relation
    
      150
      390
      300
      180
    
    lt=->
m1= evNewMsg
m1= \n/receiveCan()
    100.0;40.0;100.0;100.0;10.0;100.0;10.0;10.0;70.0;10.0