GEVCU Can bus issues

55 views
Skip to first unread message

Vadim Korotchenko

unread,
Mar 14, 2023, 5:40:47 PM3/14/23
to GEVCU-Development
Hi everyone, 

I am wondering if anyone would be able to advise as to what I can try to fix the issues Im facing trying to get can data transmitting on my GEVCU. I am currently not seeing any can bus traffic coming from the GEVCU and it is not registering any can messages either. 

I am running the GEVCU rev 6.2c with a DMOC 645 and Siemens motor ( with a pot accelerator and a pot brake, ( pre charge relay and main relay work fine)) . I have programmed the DMOC and am seeing the following faults from cshell: 

IMG20230310124910.jpg

I have tried uploading the latest version from the Collins GEVCU6 repo to my GEVCU as well as the binary I found on EVTV but I am still not seeing any CAN traffic. I also connected a CANable pro (CAN <->USB adapter) and using cangaroo (https://github.com/HubertD/cangaroo) I can see the DMOC CAN traffic, but not the GEVCU traffic. I also tried to scope the GEVCU can HI/LO when not connected to other devices but didn't see any results. I tried this with both Can1 and Can0 with similar (lack of ) results. 

I looked into the code a bit and it looks like in due_can the frames are getting queued in sendFrame: https://github.com/collin80/due_can/blob/master/src/due_can.cpp#L924  but never dequeued. I am not seeing the software calling `mailbox_int_handler(uint8_t mb, uint32_t ul_status) (https://github.com/collin80/due_can/blob/master/src/due_can.cpp#L1397)` so im not sure if the interrupt handler gets initialized properly. I can see that the interrupt handler should get initialized in https://github.com/collin80/due_can/blob/master/src/due_can.cpp#L912 but Im not sure if its getting called. I tried to see if it goes into the if statement but the Arduino serial monitor start is a bit delayed after the initialization of the hardware so i can never see the first few iterations of the looping. What im seeing is that the sendFrame never gets past "if ( isRingBufferEmpty(txRing)", is there a way to clear the ringBuffer  manually( or is that a bad idea)? 


Does this sound like a software issue or potentially the iso1050 chips being burned out? Any thoughts or ideas as to what to test next would be really appreciated.

Thank you
-Vadim 
Reply all
Reply to author
Forward
0 new messages