collin80 / GEVCU6

Generalized Vehicle Control Unit for version 6 boards
MIT License
25 stars 14 forks source link

Problems with 6.35 #2

Closed bsculley closed 6 years ago

bsculley commented 6 years ago

The current version of the software (downloaded from the EVTV website) is 6.35. It does not compile due to apparent naming issues with Adafruit library. (BLE.h vs. Adafruit_BLE.h).

I installed the current Adafruit library and changed the names of the .h files to include the Adafruit_ prefix, but then got some very ugly errors regarding missing methods, unknown types, etc.

There seems to be nothing here that matches version 6.35. Can you provide any guidance on what version to use and where to get it?

collin80 commented 6 years ago

When in doubt, get the version from my github repos, not any versions from elsewhere. Last I knew the bluetooth library I have does work with GEVCU. You will probably need to update all libraries including due_can and can_common.

bsculley commented 6 years ago

Hi, thanks for the response.

I downloaded your GEVCU6 repo. It compiles and seems to support the current hardware, maybe... GEVCU user guide says 6.22, but the comments in the code specify 6.23c. It would be nice to know what the offset represents, if you know.

I will also get current copies of the due_can and can_common libraries as you suggest.

Anything else you can think of that might be helpful will be greatly appreciated.

Thanks again,

Bob

From: Collin Kidder notifications@github.com Sent: Monday, August 20, 2018 3:09 PM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

When in doubt, get the version from my github repos, not any versions from elsewhere. Last I knew the bluetooth library I have does work with GEVCU. You will probably need to update all libraries including due_can and can_common.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/collin80/GEVCU6/issues/2#issuecomment-414310581 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M4dVHB9cuegVyKxl-eoVbXNinPi0ks5uSrThgaJpZM4WC2wq . https://github.com/notifications/beacon/AFN-M5GWMuQZbT0zvUtSIie6yR14_ZmVks5uSrThgaJpZM4WC2wq.gif

collin80 commented 6 years ago

The BLE library needs to be the "development" branch from my repo, not master branch. I just found this out. Apparently I forgot about this from 2 years ago when it was done. This the link for the proper version: https://github.com/collin80/Adafruit_BLE_SPI/tree/development

Sorry for the inconvenience.

bsculley commented 6 years ago

Hi Collin,

I downloaded the correct libraries (including current versions on can_due and can_common) as well as FirmwareReceiver.

I am now left with only one error: 'EMAFilter' does not name a type

Hopefully you can shed some light on this.

Thanks,

Bob

From: Collin Kidder notifications@github.com Sent: Tuesday, August 21, 2018 4:47 PM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

The BLE library needs to be the "development" branch from my repo, not master branch. I just found this out. Apparently I forgot about this from 2 years ago when it was done. This the link for the proper version: https://github.com/collin80/Adafruit_BLE_SPI/tree/development

Sorry for the inconvenience.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/collin80/GEVCU6/issues/2#issuecomment-414700677 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-Mxb7-Rttr2cr_Ky-DgY66WnHxiXbks5uTB1lgaJpZM4WC2wq . https://github.com/notifications/beacon/AFN-M9zWxGrV_W6xvqbhIgPnU905a1jSks5uTB1lgaJpZM4WC2wq.gif

collin80 commented 6 years ago

Pardon, it's been about 2 years since I had last set up to compile the code and had forgotten a few libraries. You need this one too: https://github.com/collin80/Microsmooth

I will add this to the readme.

bsculley commented 6 years ago

All good now.

Thanks for the timely support.

Bob

From: Collin Kidder notifications@github.com Sent: Tuesday, August 21, 2018 8:09 PM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

Pardon, it's been about 2 years since I had last set up to compile the code and had forgotten a few libraries. You need this one too: https://github.com/collin80/Microsmooth

I will add this to the readme.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/collin80/GEVCU6/issues/2#issuecomment-414768937 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M35aF2eTx9ODTYAnjG4k8nb4iIWXks5uTEyfgaJpZM4WC2wq .

bsculley commented 6 years ago

Hi Collin,

One last? question. Does the software support J1939 (29 bit ID) messages?

I plugging through the low level code but haven’t found anything yet.

Thanks,

Bob

From: Collin Kidder notifications@github.com Sent: Tuesday, August 21, 2018 8:09 PM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

Pardon, it's been about 2 years since I had last set up to compile the code and had forgotten a few libraries. You need this one too: https://github.com/collin80/Microsmooth

I will add this to the readme.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/collin80/GEVCU6/issues/2#issuecomment-414768937 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M35aF2eTx9ODTYAnjG4k8nb4iIWXks5uTEyfgaJpZM4WC2wq . https://github.com/notifications/beacon/AFN-M21xZuAYMptxt-qQ6Mh5xPjbxaGOks5uTEyfgaJpZM4WC2wq.gif

collin80 commented 6 years ago

It should but that has not been well tested. Everything we've been using has been standard IDs.

bsculley commented 6 years ago

Hello again,

I have a need to send and receive multi-frame messages. It doesn’t appear that the can_due library supports this. Can you suggest a way to proceed?

Thanks,

Bob

From: Collin Kidder notifications@github.com Sent: Wednesday, August 29, 2018 2:00 AM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

It should but that has not been well tested. Everything we've been using has been standard IDs.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/collin80/GEVCU6/issues/2#issuecomment-416778497 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M3p-8yhHfy7J-jmMC8HYBIYhf2FMks5uVdlbgaJpZM4WC2wq . https://github.com/notifications/beacon/AFN-My--6zW-RrcrYSIe6FY4cRi-j8zLks5uVdlbgaJpZM4WC2wq.gif

bsculley commented 6 years ago

Hi Collin,

Thanks for your previous help.

I now have the GEVCU working to some extent, but am having the following problem:

If I upload the pre-compiled binary from the EVTV site, everything works as advertised.

If I compile the code, it uploads and appears to run ok (heartbeat LED is flashing), but the serial port doesn’t work.

I have tried uploading from the IDE and also tried creating a binary file and using the binary uploader, all with the same result:

The file uploads fine, but when I reset the GEVCU I get a composite USB device in the device manager with status 10 (Device cannot start) and no serial port.

I have tried both the 6.35 source from the EVTV site and the source from your GEVCU6 GitHub repo.

Hopefully I’m doing something stupid, in which case sorry to bother you, but I would appreciate any thoughts you have on this.

Thanks,

Bob

From: Collin Kidder notifications@github.com Sent: Wednesday, August 29, 2018 2:00 AM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

It should but that has not been well tested. Everything we've been using has been standard IDs.

— You are receiving this because you authored the thread. Reply to this email directly, https://github.com/collin80/GEVCU6/issues/2#issuecomment-416778497 view it on GitHub, or https://github.com/notifications/unsubscribe-auth/AFN-M3p-8yhHfy7J-jmMC8HYBIYhf2FMks5uVdlbgaJpZM4WC2wq mute the thread. https://github.com/notifications/beacon/AFN-My--6zW-RrcrYSIe6FY4cRi-j8zLks5uVdlbgaJpZM4WC2wq.gif

bsculley commented 6 years ago

Further to this issue, it seems that any sketch developed from source has the same symptoms, so it seems to be some issue between the Arduino IDE and the GEVCU board. I am using v1.8.5 of Arduino. Any idea what could be causing this?

collin80 commented 6 years ago

Well, it's good news that the precompiled binary from EVTV works with the hardware. That seems to prove that the hardware itself is fine. But, not so good news that compiling it yourself breaks every time. I must confess, there's a reason the files in this project are about 3 years old. They haven't been touched in that time. It's possibly a library issue. Though now I'm seeing you posted that any sketch breaks but the previously pre-compiled binary works. Hmmm... Have you tried very simple sketches just to prove that your Arduino installation isn't broken? Maybe just:

void setup()
{
}

void loop()
{
    SerialUSB.println("This is working");
    delay(1000);
}
bsculley commented 6 years ago

Hi Collin,

Yes, I have tried dirt simple sketches, but with the same results.

Other microprocessors. Teensy, etc. work fine, so I think the basic environment is Ok.

Somehow, the USB device ID is changing, from USB\VID_2341&PID_003E&MI_00\6&7B4334&1&0000, which works, to USB\VID_2341&PID_003E\5&2c705bfe&0&1 which doesn’t work.

This is driving me crazy!

Bob

From: Collin Kidder notifications@github.com Sent: Tuesday, September 4, 2018 2:38 PM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

Well, it's good news that the precompiled binary from EVTV works with the hardware. That seems to prove that the hardware itself is fine. But, not so good news that compiling it yourself breaks every time. I must confess, there's a reason the files in this project are about 3 years old. They haven't been touched in that time. It's possibly a library issue. Though now I'm seeing you posted that any sketch breaks but the previously pre-compiled binary works. Hmmm... Have you tried very simple sketches just to prove that your Arduino installation isn't broken? Maybe just:

void setup() { }

void loop() { SerialUSB.println("This is working"); delay(1000); }

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/collin80/GEVCU6/issues/2#issuecomment-418351020 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-M3fw_7Yp61nB1uMVqu8RJPaUPGAvks5uXnQRgaJpZM4WC2wq . https://github.com/notifications/beacon/AFN-M3Ty7_t9C2gjUxNSx7FwatJTn0u2ks5uXnQRgaJpZM4WC2wq.gif

collin80 commented 6 years ago

Yes, that sounds pretty irritating. I'm sorry you're having such trouble. Unfortunately each microprocessor has its own core and sometimes even a different compiler. So, it can be hard to prove that it is working properly by compiling for other systems. If you had an Arduino Due of some sort to test against that would help - maybe an EVTVDue or a plain Due or something like that. Then we could rule out the device itself as being the culprit though the fact that the binary updater works would tend to suggest that the hardware is functional. That simple sketches don't even work points toward it not being an issue with GEVCU code or the other hardware support libraries for things like CAN. All of this circles back around to there being some sort of brokenness with the Arduino installation. It wouldn't be the first time I've heard of that happening. Lame as this is going to feel, you might need to see if you can borrow time on another machine and clean install Arduino with the Due files and then try out something as simple as the sketch I posted to make 100% sure it isn't your computer or the Arduino installation on that computer. It can be pretty irritating. Arduino is supposed to make it easier for novices to get started with development but sometimes it makes it easier for obscure errors to manifest behind the scenes with no clearly defined cause. Hopefully all of this helps.

bsculley commented 6 years ago

Sadly, I don’t have another machine.

I tried reverting to Arduino 1.5.4, but it won’t compile for some stupid reason:

In file included from /adafruitBLE.h:39,

             from adafruitBLE.cpp:29:

/config.h:36: fatal error: due_can.h: No such file or directory

compilation terminated.

The library is there…

The Arduino installation is just the zip/copy version so there’s not a lot to go wrong.

What version of the IDE was used to compile the bin on the EVTV site?

Bob

From: Collin Kidder notifications@github.com Sent: Tuesday, September 4, 2018 6:55 PM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

Yes, that sounds pretty irritating. I'm sorry you're having such trouble. Unfortunately each microprocessor has its own core and sometimes even a different compiler. So, it can be hard to prove that it is working properly by compiling for other systems. If you had an Arduino Due of some sort to test against that would help - maybe an EVTVDue or a plain Due or something like that. Then we could rule out the device itself as being the culprit though the fact that the binary updater works would tend to suggest that the hardware is functional. That simple sketches don't even work points toward it not being an issue with GEVCU code or the other hardware support libraries for things like CAN. All of this circles back around to there being some sort of brokenness with the Arduino installation. It wouldn't be the first time I've heard of that happening. Lame as this is going to feel, you might need to see if you can borrow time on another machine and clean install Arduino with the Due files and then try out something as simple as the sketch I posted to make 100% sure it isn't your computer or the Arduino installation on that computer. It can be pretty irritating. Arduino is supposed to make it easier for novices to get started with development but sometimes it makes it easier for obscure errors to manifest behind the scenes with no clearly defined cause. Hopefully all of this helps.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/collin80/GEVCU6/issues/2#issuecomment-418441292 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-Mx5z-WGqpmGT8Q1A5C7YdV1beJoXks5uXrBggaJpZM4WC2wq . https://github.com/notifications/beacon/AFN-M8Q63z3K6yyW3hLvmTRS-gU5Qk3nks5uXrBggaJpZM4WC2wq.gif

collin80 commented 6 years ago

Somewhat annoyingly, they changed the way libraries work, I think for the 1.6 and newer IDE releases. So, the likely possibility is that the libraries go somewhere else for that version. No, I don't remember specifics. But, so long as you've got it installed, try out 1.5.4 with a simple program and see if the GEVCU still locks up. You might be able to fix things as simply as deleting everything related to the Arduino IDE and starting over. Yeah, perhaps that doesn't sound very simple but sometimes it does have to happen. I'm pretty sure it has happened to Jack before and it happened to me once a couple of years back. Sometimes you have to nuke it from orbit to be sure then rebuild it.

bsculley commented 6 years ago

I think I have solved this by re-installing the latest version of the Due board.

Hopefully I have not worn out my welcome here, as I’m sure I will still have some hurdles to overcome.

Thanks,

Bob

From: Collin Kidder notifications@github.com Sent: Tuesday, September 4, 2018 6:55 PM To: collin80/GEVCU6 GEVCU6@noreply.github.com Cc: bsculley bsculley@IntegratedSoftwareSvcs.com; Author author@noreply.github.com Subject: Re: [collin80/GEVCU6] Problems with 6.35 (#2)

Yes, that sounds pretty irritating. I'm sorry you're having such trouble. Unfortunately each microprocessor has its own core and sometimes even a different compiler. So, it can be hard to prove that it is working properly by compiling for other systems. If you had an Arduino Due of some sort to test against that would help - maybe an EVTVDue or a plain Due or something like that. Then we could rule out the device itself as being the culprit though the fact that the binary updater works would tend to suggest that the hardware is functional. That simple sketches don't even work points toward it not being an issue with GEVCU code or the other hardware support libraries for things like CAN. All of this circles back around to there being some sort of brokenness with the Arduino installation. It wouldn't be the first time I've heard of that happening. Lame as this is going to feel, you might need to see if you can borrow time on another machine and clean install Arduino with the Due files and then try out something as simple as the sketch I posted to make 100% sure it isn't your computer or the Arduino installation on that computer. It can be pretty irritating. Arduino is supposed to make it easier for novices to get started with development but sometimes it makes it easier for obscure errors to manifest behind the scenes with no clearly defined cause. Hopefully all of this helps.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/collin80/GEVCU6/issues/2#issuecomment-418441292 , or mute the thread https://github.com/notifications/unsubscribe-auth/AFN-Mx5z-WGqpmGT8Q1A5C7YdV1beJoXks5uXrBggaJpZM4WC2wq . https://github.com/notifications/beacon/AFN-M8Q63z3K6yyW3hLvmTRS-gU5Qk3nks5uXrBggaJpZM4WC2wq.gif

collin80 commented 6 years ago

Don't worry about it, I know the Arduino IDE is like that. Sometimes it gets into a weird state and for reasons no one can explain it just plain ruins everything it touches until you delete everything and start over. Sometimes you can use the board manager to remove the files then install the new version, sometimes you have to nuke the whole IDE and find where it stores its files and zap those too. Hopefully you've shown it who's boss now and things will work better.

bsculley commented 6 years ago

Thanks.

Yaweh1957 commented 4 years ago

Hi Collin, Really require your expertise! I am new to this game but willing to learn! My headache is such, a week ago I could communicate with the GEVCU through Arduino but had major hiccup communicating with the DMOC through CCShell. The role has now reversed and I have comm's with the DMOC, but for some unknown reason, I simply cannot connect with the GEVCU. The Arduino software correctly loads/recognizes the board type ( Arduino Due native usb) and port. Running version 1.8.12. Opening the serial monitor shows no heartbeat. I have two of these boards, both giving the same result. I did try out a test sketch,( File, Examples, Basic, Blink,upload) The return message said, that the thread was successful and the CPU had been reset? Did I inadvertently Nuke he programme??? If so, how do I go about downloading the software, what version and where would I locate such? Really in a sticky spot! Will appreciate any advice/guidance from anyone on the forum. Kind Regards from SA! Fred. fred@yawehelectrical.co.za

collin80 commented 4 years ago

When you flashed the test sketch, did it do anything? GEVCU has it's only software switchable LED on digital pin 13 just like the blink sketch is expecting. As such, you should see the LED blink when you run that sketch. If it does then you can successfully compile and upload sketches which is good to know. Now, this DOES erase the normal GEVCU program. So, you'd then have to re-upload GEVCU6 to get back up and running. EVTV has a link to a binary updater that can be used to replace the firmware on the board without having to get everything set up to compile it yourself: http://media3.ev-tv.me/GEVCUupdate6.zip

larsrengersen commented 3 years ago

Last week I had issues with 1.8.12 while working on CAN-BUS. Small sketches loaded fine, but bigger ones were not successfully uploaded and only partially worked. Very strange. Upgraded to IDE 1.8.13 and it now works fine again. Hope that works for you too.