2 stable releases

2024.2.1 Jan 21, 2024

#1489 in Hardware support

GPL-3.0 license

18KB
314 lines

Grapple LaserCAN

Welcome to the open-source repository for the Grapple LaserCAN! That's right, everything's open source from the board files to the firmware.

Buy Here

Looking for docs?

Project Directories

  • LaserCAN-Board is the KiCAD project that contains the LaserCAN board files.
  • lasercan-common are common libraries used between the firmware and bootloader.
  • lasercan-bootloader is the CAN bootloader for the LaserCAN, written in Rust. The bootloader allows for over-the-air (or over-the-CAN, rather) firmware updates.
  • lasercan-firmware is the actual firmware for the LaserCAN, including sensor measurement and acquisition, CAN communication, and everything else it does!

Loading your own firmware

If you want to load your own firmware onto the LaserCAN, clone this repository and make your changes to lasercan-firmware. You can flash this image to the board by running python build.py firmware and flashing the target/lasercan-firmware-update-VERSION.grplfw file using GrappleHook. NOTE: Be careful about what firmware you flash - custom firmware may brick the firmware update process if you don't have a ST-Link probe handy.

Flashing a new bootloader

If you for whatever reason need to flash a new bootloader, or if a custom firmware has crashed and the watchdog hasn't picked it up, you can flash a new bootloader and firmware by running python build.py flash. This requires an ST-Link v2 compatible probe and a TagConnect TC-2050-NL cable to connect to the debug pads on the bottom of the LaserCAN.

Dependencies

~1–1.5MB
~33K SLoC