Hi all, I've been tinkering with OVMS and Opel Ampera these few past months, and the I've made some progress with the SWCAN support. As you know, the SN65 transceiver cannot do High-Voltage Wake Up, so many of the nice-to-have polling and remote controlling functions are not available on those cars that rely on it, such as Volt/Ampera. So I've created an add-on SWCAN board that attaches to the internal OVMS extension header. The board uses TH8056 transceiver, which is specifically designed for SWCAN bus. As for the controller, same MCP2515 is used as in OVMS. Here's the link to the boards GitHub page: https://github.com/mjuhanne/OVMS-SWCAN For the firmware patches, here's my OVMS branch: https://github.com/mjuhanne/Open-Vehicle-Monitoring-System-3 There are a lot of changes, especially MCP2515 code add-ons and refactoring, of which some are specific to the new swcan-bus, but some could be beneficial otherwise as well. Then there's the support for the new board and TH8056. On the other hand, if a car can be woken up without HV WakeUp, the board is not really needed and the SN65 can be used with 33.3 kbps speed to communicate on SWCAN bus. Since ESP32 supports only 3 hardware CS on one SPI bus and all the CS lines are now already used, there's also patches for software CS (that's what the additional MCP2515 is using). With my OBD cable I wire SWCAN to use CAN2 lines and put the 2nd MCP2515 on OVMS to sleep, but there's no reason why all the 4 CAN controllers couldn't work independently at the same time (untested at this time). There's also patches to the Ampera/Volt module code base to include SWCAN support, add handling of several new CAN messages (still work in progress, more to come!), as well as VoltStar-like capabilities (locking/unlocking doors, remote preheat) similar to Brian Batista's MyVolStar app/OBDLink MX-combo. Sadly, I haven't been able to get the VoltStar-specific functionality to work on my 2014 Ampera, but other non-Voltstar SWCAN messages do work (waking up the car, controlling windows etc.). This is is similar to other reports of MyVolStar on 2014 Volt/Ampera, so maybe something has changed in the ECU behaviour between MY13 and MY14. It would be really nice to get other OVMS developers with SWCAN/GMLAN enabled cars to test these. SWCAN specific patches can be tested also without the board, but naturally the HV Wakeup functionality is not available. Let me know if you're interested so I can send a PCB or two for testing (I have bunch of leftovers). Best regards, Marko
On 2019-07-17 23:14, Marko Juhanne wrote:
I've been tinkering with OVMS and Opel Ampera these few past months, and the I've made some progress with the SWCAN support.
As you know, the SN65 transceiver cannot do High-Voltage Wake Up, so many of the nice-to-have polling and remote controlling functions are not available on those cars that rely on it, such as Volt/Ampera. So I've created an add-on SWCAN board that attaches to the internal OVMS extension header. The board uses TH8056 transceiver, which is specifically designed for SWCAN bus. As for the controller, same MCP2515 is used as in OVMS.
I recently started playing with the single wire can in my 2014 CTS-V. I currently have my ovms module connected too both the high speed and single wire buses so I'm guessing I'll be able to wake the car up using the high speed bus? I've seen that TH8056 part before; I want to swap the mirror in my Cadillac with the 6th gen Camaro "rimless" mirror (see attached). But since my car has the nav radio (which can be used for the backup camera display) it does not use the can bus mirror. Which doesn't really matter because the Camaro mirror is clearly expecting can frames my Cadillac does not generate. Also the stock mirror has hard onstar buttons and the Camaro mirror sends can frames when you press the (touch screen) buttons. So I want to build something to sit between the Camaro mirror and car bus (and hard button lines). Anyway the 6th gen Camaro mirror uses the TH8056. Craig
Hi Marko, wow, now that's an intro :) Great work! If your MCP2515 driver changes are fully compatible with the base hardware, or can be switched on by a config, we can merge them into the master. Send a pull request when you think it's time for that. Some testing from developers using the MCP2515 buses would be good. Regards, Michael Am 18.07.19 um 10:14 schrieb Marko Juhanne:
Hi all,
I've been tinkering with OVMS and Opel Ampera these few past months, and the I've made some progress with the SWCAN support.
As you know, the SN65 transceiver cannot do High-Voltage Wake Up, so many of the nice-to-have polling and remote controlling functions are not available on those cars that rely on it, such as Volt/Ampera. So I've created an add-on SWCAN board that attaches to the internal OVMS extension header. The board uses TH8056 transceiver, which is specifically designed for SWCAN bus. As for the controller, same MCP2515 is used as in OVMS.
Here's the link to the boards GitHub page: https://github.com/mjuhanne/OVMS-SWCAN
For the firmware patches, here's my OVMS branch: https://github.com/mjuhanne/Open-Vehicle-Monitoring-System-3
There are a lot of changes, especially MCP2515 code add-ons and refactoring, of which some are specific to the new swcan-bus, but some could be beneficial otherwise as well. Then there's the support for the new board and TH8056. On the other hand, if a car can be woken up without HV WakeUp, the board is not really needed and the SN65 can be used with 33.3 kbps speed to communicate on SWCAN bus.
Since ESP32 supports only 3 hardware CS on one SPI bus and all the CS lines are now already used, there's also patches for software CS (that's what the additional MCP2515 is using). With my OBD cable I wire SWCAN to use CAN2 lines and put the 2nd MCP2515 on OVMS to sleep, but there's no reason why all the 4 CAN controllers couldn't work independently at the same time (untested at this time).
There's also patches to the Ampera/Volt module code base to include SWCAN support, add handling of several new CAN messages (still work in progress, more to come!), as well as VoltStar-like capabilities (locking/unlocking doors, remote preheat) similar to Brian Batista's MyVolStar app/OBDLink MX-combo. Sadly, I haven't been able to get the VoltStar-specific functionality to work on my 2014 Ampera, but other non-Voltstar SWCAN messages do work (waking up the car, controlling windows etc.). This is is similar to other reports of MyVolStar on 2014 Volt/Ampera, so maybe something has changed in the ECU behaviour between MY13 and MY14.
It would be really nice to get other OVMS developers with SWCAN/GMLAN enabled cars to test these. SWCAN specific patches can be tested also without the board, but naturally the HV Wakeup functionality is not available. Let me know if you're interested so I can send a PCB or two for testing (I have bunch of leftovers).
Best regards, Marko
_______________________________________________ OvmsDev mailing list OvmsDev@lists.openvehicles.com http://lists.openvehicles.com/mailman/listinfo/ovmsdev
-- Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
Everyone, I've merged Marko's first set of enhancements, which covered some more themes (see pull request #259 for details). Please test & report. Regards, Michael Am 18.07.19 um 10:14 schrieb Marko Juhanne:
Hi all,
I've been tinkering with OVMS and Opel Ampera these few past months, and the I've made some progress with the SWCAN support.
As you know, the SN65 transceiver cannot do High-Voltage Wake Up, so many of the nice-to-have polling and remote controlling functions are not available on those cars that rely on it, such as Volt/Ampera. So I've created an add-on SWCAN board that attaches to the internal OVMS extension header. The board uses TH8056 transceiver, which is specifically designed for SWCAN bus. As for the controller, same MCP2515 is used as in OVMS.
Here's the link to the boards GitHub page: https://github.com/mjuhanne/OVMS-SWCAN
For the firmware patches, here's my OVMS branch: https://github.com/mjuhanne/Open-Vehicle-Monitoring-System-3
There are a lot of changes, especially MCP2515 code add-ons and refactoring, of which some are specific to the new swcan-bus, but some could be beneficial otherwise as well. Then there's the support for the new board and TH8056. On the other hand, if a car can be woken up without HV WakeUp, the board is not really needed and the SN65 can be used with 33.3 kbps speed to communicate on SWCAN bus.
Since ESP32 supports only 3 hardware CS on one SPI bus and all the CS lines are now already used, there's also patches for software CS (that's what the additional MCP2515 is using). With my OBD cable I wire SWCAN to use CAN2 lines and put the 2nd MCP2515 on OVMS to sleep, but there's no reason why all the 4 CAN controllers couldn't work independently at the same time (untested at this time).
There's also patches to the Ampera/Volt module code base to include SWCAN support, add handling of several new CAN messages (still work in progress, more to come!), as well as VoltStar-like capabilities (locking/unlocking doors, remote preheat) similar to Brian Batista's MyVolStar app/OBDLink MX-combo. Sadly, I haven't been able to get the VoltStar-specific functionality to work on my 2014 Ampera, but other non-Voltstar SWCAN messages do work (waking up the car, controlling windows etc.). This is is similar to other reports of MyVolStar on 2014 Volt/Ampera, so maybe something has changed in the ECU behaviour between MY13 and MY14.
It would be really nice to get other OVMS developers with SWCAN/GMLAN enabled cars to test these. SWCAN specific patches can be tested also without the board, but naturally the HV Wakeup functionality is not available. Let me know if you're interested so I can send a PCB or two for testing (I have bunch of leftovers).
Best regards, Marko
_______________________________________________ OvmsDev mailing list OvmsDev@lists.openvehicles.com http://lists.openvehicles.com/mailman/listinfo/ovmsdev
-- Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
participants (4)
-
Craig Leres -
Greg D. -
Marko Juhanne -
Michael Balzer