src/emcy.c
changeset 296 03f2b8b8cb0b
parent 288 26015ee2c2c9
child 314 68e83c3ffbb5
--- a/src/emcy.c	Sun Sep 30 22:41:12 2007 +0200
+++ b/src/emcy.c	Mon Oct 01 14:43:01 2007 +0200
@@ -123,7 +123,7 @@
  ** @param errRegister Bits of Error register (1001h) to be set.
  ** @return 1 if error, 0 if successful
  */
-UNS8 EMCY_setError(CO_Data* d, UNS16 errCode, UNS8 errRegMask)
+UNS8 EMCY_setError(CO_Data* d, UNS16 errCode, UNS8 errRegMask, UNS16 addInfo)
 {
 	UNS8 index;
 	UNS8 errRegister_tmp;
@@ -151,7 +151,7 @@
 	}
 	
 	d->error_data[index].errCode = errCode;
-	d->error_data[index].errRegMask = 1;
+	d->error_data[index].errRegMask = errRegMask;
 	d->error_data[index].active = 1;
 	
 	/* set the new state in the error state machine */
@@ -165,7 +165,7 @@
 	/* set Pre-defined Error Field (1003h) */
 	for (index = d->error_history_size - 1; index > 0; --index)
 		*(d->error_first_element + index) = *(d->error_first_element + index - 1);
-	*(d->error_first_element) = (UNS32)errCode;
+	*(d->error_first_element) = errCode | ((UNS32)addInfo << 16);
 	if(*d->error_number < d->error_history_size) ++(*d->error_number);
 	
 	/* send EMCY message */