kentindell/canhack

“canis” directory files

Closed this issue · 5 comments

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!

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.

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

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

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.

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