kentindell / canhack

The Yes We CAN project of Canis Labs
MIT License
344 stars 64 forks source link

“canis” directory files #11

Closed donnellca closed 2 years ago

donnellca commented 2 years ago

I want to say first of all, I’m thoroughly impressed with the CANPico hardware and Micropython SDK. I’m a student with @WURacing, an FSAE design team at WashU in St. Louis. I originally bought one as basically an overpowered CAN reader – letting us easily probe the car’s CAN system and also potentially insert test frames without changing the car’s software. And it’s done that brilliantly, even in the week we’ve had it it’s already been incorporated as a teaching tool for new members learning about CAN for the first time.

After trying it out, I immediately decided we can actually incorporate these into our sensor network. We have 4 more on the way right now to begin working with, which is why I’m hoping I can get a little bit more information about how some of the firmware works for the board.

Actual question starts here:

In the patch for building the MicroPython v1.16-canpico firmware, there’s reference to some source files that I can’t find anywhere else. It seems that there’s an entire “canis” directory with some essential files, specifically I’m very interested in checking out “canis/rp2_can.c” (line 115 of the patch) and “canis/rp2_can.h” (line 31 of the patch), to get a better idea of how the system is implemented and potentially adapt the firmware to our specific purposes. Are these files publicly available/open source? If not, would you be willing to provide them to us directly? I’m happy to preserve whatever license you’re using, as long as the team has access.

Thanks in advance!

kentindell commented 2 years ago

Thanks for the kind words!

The files should be part of the patch file itself, unless something got screwed up: I did test the instructions in the README on a clean fetch. The drivers are open source - you should be able to build the complete firmware.

kentindell commented 2 years ago

By the way, applying the patch should create the driver files in: ports/rp2/canis

donnellca commented 2 years ago

Ah, I did not realize that! I'll try building tomorrow and I'll close the question if everything's there. Thank you!

kentindell commented 2 years ago

OK, I've worked out what's going on. In the directory OLD there's the v1.15 patch file that contains the source code. The v1.16 patch file is a delta to the v1.15 release. I will think of a better way to do this than incremental patches.

donnellca commented 2 years ago

Oh! That makes a lot of sense. Thanks for your response