gs_usb: CAN - USB Adapter #75207
-
Dear Zephyr RTOS community, I was able to (re-)implement gs_usb CAN-Bus to USB adapter Firmware based in Zephyr RTOS, which (still in development) can be found here: https://github.com/KozhinovAlexander/zephyr/tree/gs_usb use following command to build:
GS_USB is a OpenMoko Geschwister Schneider CAN adapter system including Linux CAN-USB driver. It has also VID and PID from it. The great thing about it, there is a pretty a lot of SW sub-projects doing: and there are also a lot of STM32 based HW available:
With my FW Zephyr RTOS based clone I have already all the funbctionality (except, find-my-device and generic support of multiple CAN-Endpoints). What I plan to do? I need your advice and/or support in following questions:
From my point of view the right persons to answer this questions may be @jfischer-no @henrikbrixandersen @martinjaeger @alexanderwachter If I putted falsily your name here, please let me know, I will remove it. I will also be happy to get in touch if necessary and/or to discuss additions. Basically with some minor clean-ups I shall be ready release this work soon. I appreciate your help. Thanks a lot. |
Beta Was this translation helpful? Give feedback.
Replies: 7 comments 21 replies
-
I wish you had reached out before embarking on this. I have a fully functional, multi-endpoint gs_can implementation ready to be submitted after the current feature freeze ends. |
Beta Was this translation helpful? Give feedback.
-
@henrikbrixandersen Do you plan also to update gs_usb linux kernel driver to be able to discover in/out bulk pipe addresses at probe time to be compatible with Zephyr's USB stack too? |
Beta Was this translation helpful? Give feedback.
-
Do you have an idea when you will push a PR? I would benchmark the solution with a PEAK product :) |
Beta Was this translation helpful? Give feedback.
-
Now publicly available: https://github.com/CANnectivity/cannectivity As you can see, I opted to put the gs_usb protocol implementation in a Zephyr module, at least for now while it matures. The upside is, that the repository above contains a full fledged firmware implementation compatible with the gs_usb protocol (and e.g. the gs_usb Linux kernel SocketCAN driver). Comments and feedback is most welcome! |
Beta Was this translation helpful? Give feedback.
-
@henrikbrixandersen I would say we can close the discussion as soon as we have one of the changes merged to zephyr itself? Do you see it like this? |
Beta Was this translation helpful? Give feedback.
-
I see this discussion as closed, since most of the questions were answered. |
Beta Was this translation helpful? Give feedback.
As said earlier, I don't think that goal necessarily makes sense. A gs_usb USB protocol implementation is not a generic functionally needed by many firmware applications (unlike e.g. USB HID, DFU, etc).
Not all software functionality needs to reside within the main Zephyr tree, especially when it's already provided as a reusable implementation by a module.
As the CAN maintainer, I would vote against merging it upstream from the reasons given above (and earlier in this discussion).