src/emcy.c
changeset 365 9b76e0881beb
parent 314 68e83c3ffbb5
child 370 6fecf36df407
equal deleted inserted replaced
364:17edd8a028fa 365:9b76e0881beb
    98 {
    98 {
    99 	Message m;
    99 	Message m;
   100   
   100   
   101 	MSG_WAR(0x3051, "sendEMCY", 0);
   101 	MSG_WAR(0x3051, "sendEMCY", 0);
   102   
   102   
   103 	m.cob_id.w = *d->error_cobid;
   103 	m.cob_id = *d->error_cobid;
   104 	m.rtr = NOT_A_REQUEST;
   104 	m.rtr = NOT_A_REQUEST;
   105 	m.len = 8;
   105 	m.len = 8;
   106 	m.data[0] = errCode & 0xFF;        /* LSB */
   106 	m.data[0] = errCode & 0xFF;        /* LSB */
   107 	m.data[1] = (errCode >> 8) & 0xFF; /* MSB */
   107 	m.data[1] = (errCode >> 8) & 0xFF; /* MSB */
   108 	m.data[2] = errRegister;
   108 	m.data[2] = errRegister;
   231 	
   231 	
   232 	MSG_WAR(0x3055, "EMCY received. Proceed. ", 0);
   232 	MSG_WAR(0x3055, "EMCY received. Proceed. ", 0);
   233   
   233   
   234 	/* Test if the size of the EMCY is ok */
   234 	/* Test if the size of the EMCY is ok */
   235 	if ( m->len != 8) {
   235 	if ( m->len != 8) {
   236 		MSG_ERR(0x1056, "Error size EMCY. CobId  : ", m->cob_id.w);
   236 		MSG_ERR(0x1056, "Error size EMCY. CobId  : ", m->cob_id);
   237 		return;
   237 		return;
   238 	}
   238 	}
   239 	
   239 	
   240 	/* post the received EMCY */
   240 	/* post the received EMCY */
   241 	nodeID = m->cob_id.w & 0x7F;
   241 	nodeID = m->cob_id & 0x7F;
   242 	errCode = m->data[0] | ((UNS16)m->data[1] << 8);
   242 	errCode = m->data[0] | ((UNS16)m->data[1] << 8);
   243 	errReg = m->data[2];
   243 	errReg = m->data[2];
   244 	(*d->post_emcy)(nodeID, errCode, errReg);
   244 	(*d->post_emcy)(nodeID, errCode, errReg);
   245 }
   245 }
   246 
   246