Installation
We currently support Linux and Apple Silicon MacOS.
You can use any distro but you will need to install the following:
libhidapi
libusb
docker
Optionally, if you are using the EVK2 cable-attached-dev kit, you will need the appropriate firmware to run it in cable-attached mode. Please consult our online firmware guide for information on how to obtain this firmware and how to flash it.
Ubuntu
We will give Ubuntu as an example.
We need to install hidapi packages and a udev rule.
sudo apt install libhidapi-hidraw0 libhidapi-libusb0
You will also need the teensy udev rule.
Download the 00-teensy.rules
file from the link and put it in /etc/udev/rules.d/
.
Then you will need to run
sudo udevadm control --reload-rules && sudo udevadm trigger
Apple Silicon Mac
brew install hidapi libusb
Then you will need to add to your zshrc and restart all open terminals.
export DYLD_LIBRARY_PATH=/opt/homebrew/lib
You could do this by running
echo 'export DYLD_LIBRARY_PATH=/opt/homebrew/lib' >> ~/.zshrc
Python 3.10 is required (Note: Only 3.10 is supported explicitly. YMMV with newer versions.). Femtocrux requires docker to be installed (see other instructions for femtocrux).
From PyPI:
pip install femtodriver
This will install the femtodrive
and pull_femtocrux_image
executables.
Docker Installation
You will need to install docker to run our compiler and simulator. Please refer to the docker installation instructions to do this.
Docker Image Password Authentication
Femtodriver relies on running a docker container (called femtocrux) which contains the compiler to compile your model for the EVK2 SPU-001. In order to download the docker container you will be prompted for a password on your first run on the commandline whether you use the CLI or the Python API.
In order to do this before your first run, you can run:
pull_femtocrux_image
This will trigger the password prompt and allow you to download the docker container. You only have to do this once per femtocrux version release. You may have to do it again if we update the version and you want to get a newer version of femtocrux.