Lines Matching refs:em
41 CO_EM_t *em; in CO_EM_receive() local
45 em = (CO_EM_t*)object; in CO_EM_receive()
47 if(em!=NULL && em->pFunctSignalRx!=NULL){ in CO_EM_receive()
50 em->pFunctSignalRx(CO_CANrxMsg_readIdent(msg), in CO_EM_receive()
130 CO_EM_t *em, in CO_EM_init() argument
147 if(em==NULL || emPr==NULL || SDO==NULL || errorStatusBits==NULL || errorStatusBitsSize<6U || in CO_EM_init()
153 em->errorStatusBits = errorStatusBits; in CO_EM_init()
154 em->errorStatusBitsSize = errorStatusBitsSize; in CO_EM_init()
155 em->bufEnd = em->buf + (CO_EM_INTERNAL_BUFFER_SIZE * 8); in CO_EM_init()
156 em->bufWritePtr = em->buf; in CO_EM_init()
157 em->bufReadPtr = em->buf; in CO_EM_init()
158 em->bufFull = 0U; in CO_EM_init()
159 em->wrongErrorReport = 0U; in CO_EM_init()
160 em->pFunctSignal = NULL; in CO_EM_init()
161 em->pFunctSignalRx = NULL; in CO_EM_init()
162 emPr->em = em; in CO_EM_init()
171 em->errorStatusBits[i] = 0U; in CO_EM_init()
185 (void*)em, /* object passed to receive function */ in CO_EM_init()
190 emPr->CANdev->em = (void*)em; /* update pointer inside CAN device. */ in CO_EM_init()
205 CO_EM_t *em, in CO_EM_initCallback() argument
208 if(em != NULL){ in CO_EM_initCallback()
209 em->pFunctSignal = pFunctSignal; in CO_EM_initCallback()
216 CO_EM_t *em, in CO_EM_initCallbackRx() argument
223 if(em != NULL){ in CO_EM_initCallbackRx()
224 em->pFunctSignalRx = pFunctSignalRx; in CO_EM_initCallbackRx()
238 CO_EM_t *em = emPr->em; in CO_EM_process() local
245 if(em->wrongErrorReport != 0U){ in CO_EM_process()
246 …CO_errorReport(em, CO_EM_WRONG_ERROR_REPORT, CO_EMC_SOFTWARE_INTERNAL, (uint32_t)em->wrongErrorRep… in CO_EM_process()
247 em->wrongErrorReport = 0U; in CO_EM_process()
255 if(em->errorStatusBits[5]){ in CO_EM_process()
259 if(em->errorStatusBits[2] || em->errorStatusBits[3]){ in CO_EM_process()
263 for(i=6; i<em->errorStatusBitsSize; i++) { in CO_EM_process()
264 if (em->errorStatusBits[i]) { in CO_EM_process()
278 (em->bufReadPtr != em->bufWritePtr || em->bufFull)) in CO_EM_process()
287 em->bufReadPtr[2] = *emPr->errorRegister; in CO_EM_process()
290 CO_memcpy(emPr->CANtxBuff->data, em->bufReadPtr, 8U); in CO_EM_process()
291 CO_memcpy((uint8_t*)&preDEF, em->bufReadPtr, 4U); in CO_EM_process()
292 em->bufReadPtr += 8; in CO_EM_process()
295 if(em->bufReadPtr == em->bufEnd){ in CO_EM_process()
296 em->bufReadPtr = em->buf; in CO_EM_process()
301 if(em->bufFull == 2U){ in CO_EM_process()
302 em->bufFull = 0U; /* will be updated below */ in CO_EM_process()
303 CO_errorReport(em, CO_EM_EMERGENCY_BUFFER_FULL, CO_EMC_GENERIC, 0U); in CO_EM_process()
306 em->bufFull = 0; in CO_EM_process()
307 CO_errorReset(em, CO_EM_EMERGENCY_BUFFER_FULL, 0); in CO_EM_process()
337 void CO_errorReport(CO_EM_t *em, const uint8_t errorBit, const uint16_t errorCode, const uint32_t i… in CO_errorReport() argument
343 if(em == NULL){ in CO_errorReport()
346 else if(index >= em->errorStatusBitsSize){ in CO_errorReport()
348 em->wrongErrorReport = errorBit; in CO_errorReport()
352 errorStatusBits = &em->errorStatusBits[index]; in CO_errorReport()
367 if(em->bufFull){ in CO_errorReport()
368 em->bufFull = 2; in CO_errorReport()
381 CO_memcpy(em->bufWritePtr, &bufCopy[0], 8); in CO_errorReport()
382 em->bufWritePtr += 8; in CO_errorReport()
384 if(em->bufWritePtr == em->bufEnd) em->bufWritePtr = em->buf; in CO_errorReport()
385 if(em->bufWritePtr == em->bufReadPtr) em->bufFull = 1; in CO_errorReport()
389 if(em->pFunctSignal != NULL) { in CO_errorReport()
390 em->pFunctSignal(); in CO_errorReport()
398 void CO_errorReset(CO_EM_t *em, const uint8_t errorBit, const uint32_t infoCode){ in CO_errorReset() argument
404 if(em == NULL){ in CO_errorReset()
407 else if(index >= em->errorStatusBitsSize){ in CO_errorReset()
409 em->wrongErrorReport = errorBit; in CO_errorReset()
413 errorStatusBits = &em->errorStatusBits[index]; in CO_errorReset()
425 if(em->bufFull){ in CO_errorReset()
426 em->bufFull = 2; in CO_errorReset()
440 CO_memcpy(em->bufWritePtr, &bufCopy[0], 8); in CO_errorReset()
441 em->bufWritePtr += 8; in CO_errorReset()
443 if(em->bufWritePtr == em->bufEnd) em->bufWritePtr = em->buf; in CO_errorReset()
444 if(em->bufWritePtr == em->bufReadPtr) em->bufFull = 1; in CO_errorReset()
448 if(em->pFunctSignal != NULL) { in CO_errorReset()
449 em->pFunctSignal(); in CO_errorReset()
457 bool_t CO_isError(CO_EM_t *em, const uint8_t errorBit){ in CO_isError() argument
462 if(em != NULL && index < em->errorStatusBitsSize){ in CO_isError()
463 if((em->errorStatusBits[index] & bitmask) != 0){ in CO_isError()